Социальный софт: мои хотелки
Итак, возник очередной проект (OpenMeta) и мне опять стало не хватать программного инструментария для его поддержки.
Прошлый раз это было осенью 1998г., когда я замучался от ручного редактирования непомерно разросшегося Московского Либертариума и взалкал какой-нибудь системы поддержки этой редакторской рутины. Либертариум по типу сайта занял промежуточное положение между Библиотекой и Форумом с тредовыми дискуссиями, а учитывая обычную практику треть ресурсов посвящать не решению задачи, а "мета" (создавать инструментарий для решения задачи), был сделан "инструментарий общего вида" -- уже пятилетней давности Коммунивер.сервер, на котором и реализуются пока все проекты-библиотеки. В промежутке был опыт еще парочки коллаборативных систем "интранетного типа" -- поддержки работы многочисленных полуавтономных "рабочих групп" (комиссий, комитетов и т.д.), создаваемых в крупных организациях под различные "долгоиграющие" задачи.
OpenMeta стала проектом другого сорта, исследовательским проектом, в котором до "рабочих групп" как до луны, и, соответственно, нет их "координаторов". Поэтому я задумался: чего бы мне не хватало для полного счастья?
Я неоднократно касался уже обсуждаемых вопросов осенью прошлого года (желающие могут порыться у меня в журнале -- искать нужно про "скрещивание ужа с ежом"), но это было "абстрактное" рассуждение. Теперь же появились насущные потребности, и рассуждения могут быть серьезно конкретизированы.
Я понимаю, что касаюсь весьма обширной области человеческого знания -- collaboration software, social software, annotation software, groupware, knowledge weblog, knowledge bases etc. Желающие подробнее ознакомиться с обширностью и пестротой подходов могут сходить на страничку Collaborative Groupware Software и пролистать ее до конца.
Итак, мечты:
1. Исследовательская библиотека. На данный момент исследовательская библиотека размещена на www.openmeta.org и представляет из себя просто набор шаблонов Стандартного сайта Коммунивер.сервера. Чего в ней не хватает для счастья:
- разных шаблонов для показа одних и тех же текстов (книг, коллекции фрагментов, найденных в результате поиска, рубрик одним файлом, всего сайта одним архивом и т.д.). Конверторы из разных форматов на входе (Мошков хвастался, что у него около 50 разных программулек на эту тему) и в разные форматы на выходе (экспорт-импорт), включая информации о структуре (semantic web).
- развитая структура browsing (рубрикация) и типов текстов, картинок, файлов и т.д.). Хорошо структурированное хранилище -- должны быть чрезвычайно развиты средства структурирования, в которых можно выразить и книгу, и форум (собственно, Коммунивер.сервер это реализовал -- но для каждого типа сайта-Библиотеки допустимые типы единиц хранения и их возможной рубрикации определяются в нем статически. Хотя это и всегда можно переопределить по ходу дела...
- развитого полнотекстового поиска, к тому же вытаскивающего осмысленные фрагменты текста (не всю книгу или огромную главу, в которой нашлись нужные слова, а осмысленные кусочки + контекст специфицированного размера. Собственно, о хорошем полнотекстовом поиске можно слагать легенды, это понятная задача.
- системы аннотирования больших текстов (на самом деле, в каком-то виде это есть: только аннотирование document centered) -- для целей "литературной критики" всяких отцоположников и классиков. Непонятная задача: видел только академические разработки.
- системы коллективной разработки документов, позволяющей написать книжку и издать ее -- начиная от спелчекера, включая версионирование как в CVS, а также механику revision marks, merge и прочие прибамбасы, скорее находимые в Ворде. Возможно, некая "административная система" прямо предписывающая административную политику доступа к коррекции текстов ("управление правами").
- различный встраиваемый "текстовый инструментарий", концепция enhanced reality, применяемая к текстам библиотеки: подсвечивание слов из разных онтологий, автоматические гиперссылки тех или иных видов, делающие из Библиотеки гипертекст, аутлайнеры, инструменты, облегчающие буквализм прочтения, контент-анализаторы и т.д.
- управление видимостью (закрытые части проекта -- например, обеспечение закрытых переговоров внутри core team)