Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Оргвопросы об инструменте для совместных разработок.


краткое содержание

Оргвопросы об инструменте для совместных разработок.

Рассматриваем движок wiki как вариант интерактивности для сайта. В нём практически всё есть - публикации, комментарии, вёрстка. Несколько смущают обширность и специфичность его функций редактирования. Но даже для общего развития стоит посмотреть и попробовать.
Существует дней: 89
Автор: 12345c
Другие выпуски:
Рассылка 'Упражнения по яванскому письму. Javascript.'
 
Новости.
14.07.06

Постепенное развитие и интерактивность сайта.

Итак, некоторый сайт, например, этот, с которого мы ведём рассылку, существует, дополняется, имеет форум, список статей и ссылок разных категорий (статьи, примеры кодов, описания ссылок, упоминания о новостях). Вполне достаточно для классики сайта, но весьма неудобно для свободного коллективного развития. В такой системе сайт удобно развивать группой авторов, отдельно неформально общающихся между собой. Но каждый посетитель чувствует себя гостем даже в районе форума. Есть разные мысли, как это обойти - CMS с комментариями к страницам, блог-система, форум-сайт, но идеала всё равно нет. Он должен быть простым и мощным, защищающим публикатора и не мешающим читателям. Одна из ветвей этих технических средств - wiki-движок. Попробуем его не только рассмотреть теоретически, но и поприменять.

Сначала - в связи с чем возникла такая задача. Вместо очередной статьи об очередном алгоритме мы отходим от тематики сайта и рассылки и говорим не об алгоритмах, а об оргвопросах - как пользоваться и зачем. На самом деле, особо удивительного в этом нет - нужно определиться с направлением развития сайта. Для этого нужен интерактивный инструмент. Ни один из традиционных не подходит, поэтому взялись за более подходящий нетрадиционный. Устанавливаем и пробуем движок для совместного обсужения статей алгоритмов, задач и всего, что будет связано с тематикой сайта.

Время для этого пришло вот по какой причине. Рассылка к настоящему 11-му выпуску приобрела довольно много подписчиков - около 1200 для всех 3 систем рассылки. Судя по статистике, даже летом хотя бы заглядывают в письма около половины (в мае было процентов 80), а процентов 10 просматривает работу примеров. Вроде бы хорошо, но с другой стороны, состав и цели аудитории мне как автору совершенно не знакомы. Понятно лишь, что среди них есть люди разной квалификации и все они интересуются скриптами. Но нет ответов на то, какими скриптами кто как бы заинтересовался. Поэтому нужна интерактивность, чтобы каждый не просто легко, а очень легко мог бы высказать свой интерес. Что помогло б и сайт наполнять, и рассылки вести точнее.

С другой стороны, и читатели не представляют, из каких интересов я пишу статьи, веду рассылку, сайт и выкладываю примеры скриптов. Попробую в нескольких словах, но максимально точно описать их. Первое: мне интересно показать, как я умею решать задачи; второе: систематизировать знания; третье: выполнять сложные, но общественно значимые проекты на скриптах (в перспективе). Четвёртое: наверное, не отказался бы от сбора сообщества, умеющего делать то же самое и не отказлся бы от решения серьёзных задач плана скриптовой автоматизации, но скорее концептуальных, теоретических задач, чем имеющих приземлённую практическую ценность. Грубо говоря, не движок магазина, но систему совместной публикации. То есть, я вижу в перспективе развитие 1) базы знаний на сайте, 2) базы примеров, 3) справочников (а куда без них, если база знаний под боком?), 4) проектов концептуальных систем (движок совместной публикации, онлайновый редактор, динамическая подсветка синтаксиса, ассоциативный поиск по БД с онлайновым представлением).

Поэтому и среди подписчиков найдутся заинтересованные в будущем, чтобы 1) получить знания, 2) решать или научиться решать задачи, 3) получать справки. Или выявятся другие группы заинтересованных. Пока же, кто что ждёт от приходящей информации, ни я, ни вы, читатели, достоверно не догадываемся. Следующий шаг - интерактивность, поэтому я особенно жду её от тех 100-120 читателей, которые делают клик и переходят на сайт. Следующий их шаг - написать отзыв, я стараюсь сделать максимально облегчённым, поэтому ставлю на сайт wiki-движок.

Теперь часть сайта оказывается легко редактируемой. В ней может писать статьи, заметки, комментарии любой читатель. Это примерно то, как я представлял развитие сайта, с той разницей, что на освоение wiki-тегов нужны некоторые усилия. Впрочем, объём знаний о них помещается на одну 40-килобайтовую страницу, а возможностей они дают много - текст, таблицы, коды с подсветкой, ссылки, картинки, файлы.

Уровень: для посетителей сайта
-v---

Статья.
17.07.06

Выбор движка для обсуждений по программированию.

Разнообразие движков довольно велико, осталось выбрать. Различия заключаются в количестве поддерживаемых тегов и в поддержке кириллицы. Будем показывать ссылки на страницы описания синтаксиса, а не на главные страницы движков.

MediaWiki. Самая популярная и мощная (она работает на всем известных сайтах энциклопедий), не имеет поддержки подсветки (но есть плагин), имеет удобную поддержку ограниченного числа тегов, включая таблицы.

WackoWiki. Компактная и не очень сложная по синтаксису - хороший выбор, но таблицы там в стиле Wiki, т.е. не очень разборчивые для людей, привыкшим к тегам. Есть, конечно, возможность включения полной поддержки HTML, но это чревато шутниками, ломающими страницу до невозможности работы с ней (и воровством паролей из куки и буфера обмена). Требует MySQL. Имеет некоторое нарушающее концепцию дополнение - возможность писать комментарии к страницам, тексты которых нельзя редактировать ни чужим, ни самому - автор может только удалить их.

Вообще, на этой странице лежит поучительная дискуссия об удобствах и неудобствах HTML-разметки таблиц. Для неопытных в HTML авторов, оказывается, рисовать правильные HTML-таблицы очень сложно, сложнее, чем опытным выучить эти системы палочек, принятых в Wiki.

PmWiki. На этом движке, не требующем БД, реализована самая обстоятельная система редактирования. Но не имеющая подсветок синтаксиса кодов в базовой конфигурации; имеет 3 дополнения, модули для подсветки (Beautifier, Sourceblock, Codeblock). Поэтому, возможно, перспективна, если не считать того, что язык обширен.

В движках и скриптах есть общая проблема - вероятность обнаружения уязвимостей. На хорошем счету могут быть быстро исправляемые версии. У WackoWiki скорость поддержки на сайте наводит на некоторые сомнения.

Dokuwiki. Имеет подсветку и не требует MySQL, используется, в частности в Базе знаний форума Mozilla.ru . Очень неплохой кандидат, учитывая относительную компактность правил.

Одновременно более 1 языка подсветки нигде не поддерживается (например, HTML+JS или HTML+PHP).

Сравнивать функции движков можно на сайте, где имеется большое число параметров сравнения и большое число Wiki-движков. Большинство из них не поддерживают кириллицу и интерфейс с русским языком, поэтому не рассматривались. Всего имелось для рассмотрения 6 движков, из них у 4 была нормальная документация по редактированию, поэтому они попали в обзор. (Вот вам и важность документирования. :) )

-----

В результате сравнений была выбрана система dokuWiki, установлена на сайт. В ней - предельно простой синтаксис, насколько это возможно, не очень переведённая документация, :) продолжающееся развитие, но в целом она видится вполне законченной и настроенной. Установленная на сайте версия предполагается постоянной, поэтому страницы, пароли, имена останутся на своих местах долгое время. Создаём, таким образом, поле для знакомства с системой, написания недостающих страниц документации на русском, для обсуждения мелких правок движка и оссобенностей инсталляции. Возможно, изменение коснётся в ближайшем будущем в виде перехода с организации на файлах к организации страниц на MySql, что заложено в движке. Дело в том, что тестирование первых дней показало медленную работу движка (5-6 с) на удалённом сервере и не очень быструю на локальном (1.5-2 с). Понятно, что он много данных обрабатывает, историю изменений пишет, но это неудобно, и надо попробовать, вдруг на MySql рабочая версия окажется несколько быстрее.

Движок можно использовать для ведения совместно разрабатываемых страниц с кодом программ (очень удобно, когда изменения можно делать в любом месте страницы), в течение месяца, например, напишу пару несложных статей по вопросам javascript, результаты покажу в рассылке. Статьи можно будет легко дополнять всем приходящим, поэтому алгоритм надо выбрать для такой формы изложения многовариантный или спорный. Например, способы перехвата событий на ссылках. Их существует не менее 3 способов, у каждого свои особенности. Или сейчас пришла идея - описать ресурсы сайта javascript.aho.ru на wiki-странице, чтобы каждый мог оставить рядом со ссылками на них мнение в 2 словах.

Насколько удалось заметить, разделения прав доступа по группам пользователей для разных страниц в системе нет, поэтому я не могу зафиксировать одни, главные страницы и разрешить правку других. Это можно делать правами доступа к файлу, но тогда для собственной правки надо временно разрешать правку. Система PmWiki, как говорили в комментариях в и-нете, эту возможность имеет. Самая большая трудность использования будет, конечно, в медленности системы. Примерно как движок на Мамбе, только в 3 раза медленнее. Для более сложных систем есть способ ускорения работы за счёт кеширования генерируемых html-страниц, но здесь его, по всей видимости, нет. Какие-то кеши в файлах существуют и участвуют в работе, но результат таков.

Ссылка на начальную страницу системы dokuWiki.

Сейчас имеются такие начатые "общественно полезные" заделы работ со страницами wiki, в которых могут поучаствовать желающие, одновременно получив знания по правилам редактирования wiki-документов.

  • Приведение к более компактному и наглядному виду страницы правил синтаксиса wiki-документов.
  • Страница описания особенностей инсталляции системы.
  • Список пожеланий о том, что бы подправить в движке. Если вдруг именно эта система приживётся и руки дойдут до её правки, под рукой будет список доработок.
  • Уровень: для пользователей

    Новости сайта.
    16.07.06

    Недавно включённые изменения и сервисы сайта.

    Для просмотра, тестирования и отзывов.
  • "Вопрос-ответ". Форум, где можно задать вопрос по скриптам.
  • Виды Шеньженя - сделанный на 25% отчёт, репортаж "из страны непуганных драконов". За последнюю неделю обновлений не было.
  • Тестирование движка DokuWiki. Пробуем вариант облегчения интерактивности на сайте. На самом деле, это трудно, особенно когда видишь хорошо оформленную wiki-страницу, что-то сразу взять и написать в неё. Тут же возникает вопрос об изучении мануала по правилам редактирования, а это 1 час как минимум. Поэтому нужно придумать что-то значительно более простое, чем wiki-разметка. И поэтому не будем делать сразу сложные страницы (с таблицами).
  • Новости веб-технологий - избранные заинтересовавшие ссылки, которые пополняются примерно раз в неделю. Далеко не все новости попадают в этот список, а которые обещают быть значимыми для разработчиков и продвинутых пользователей.
  • Книга "Регулярные выражения", Дж.Фридл. в HTML-варианте (на русском). Имеет размер 380К в архиве, но желательна доработка вёрстки. Приглашаются желающие внести вклад в общее достояние - открытые источники информации.
  • Уровень: для всех
    -v---

     javascript.aho.ru , © I.Svetlov, 2005-2006 
    Текущая очерёдность плана статей (подписчики могут корректировать через голосование).
    8. Ключевые слова новых технологий, которые нужно знать разработчику веб-страниц.
    3. Как писать тексты с доступом через JS без экранирования специальных символов (< и другие).
    4. select и list - в них есть много общего. Как и с меню навигации. Эмулятор селекта.
    5. Древовидное меню, подход к данным, отделение данных от представления.
    6. Многонедельный календарь со ссылками. (По списку строится календарь.)

    Если обнаружилось, что приходили не все письма, пожалуйста, сообщите об этом автору рассылки, чтобы помочь разобраться, какие коды некоторые почтовые серверы не пропускают. Предложения о темах, вопросы по Javascript, замечания по рассылке сообщайте на форуме или отправляйте на почту автора.

     


    В избранное