Изрядную часть воскресенья убил на попытку организовать на
Маоизм.ру wiki-проект с помощью модуля
Wikitools. Точнее, я его установил и настроил раньше, и думал, что всё с ним в порядке, а тут попробовал написать на пробу - и убедился, что wiki-нотация не работает.
Не всё так просто. Потребовалось прикрутить ещё модуль
Flexifilter для создания настраиваемых фильтров текста, а к нему импортировать фильтр
Mediawiki Extended Format (весело, что последняя его версия просто не рабочая, нужно брать предпоследнюю). И после всего этого… не заработало!
После упорного дебаггинга над модулем обнаружилась банальная вещь: для теста я вводил, знамо дело, кириллицу, а проект в UTF-8,- а разработчики флексифильтра использовали в PHP-коде однобайтные строковые функции, и даже то, что среди них затесался один поляк по происхождению, ещё не утративший язык предков, этому не помешало. На моём тесте это приводило даже не к просто некорректной отработке скрипта, а к его зацикливанию, пока сервер не убивал процесс.
Рядом используются Юникод-безопасные функции drupal_substr и drupal_strlen. Пошукал drupal_strpos, но, как ни удивительно, такой нету. Пришлось обойтись многобайтной mb_strpos, благо, заменять пришлось только в нескольких местах.
После этого wiki-нотация заработала, но я пришёл к радикальному выводу, что нужно ставить отдельный движок
MediaWiki, со всеми уже заведомо работающими и отлаженными wiki-фичами, а к основному сайту его интегрировать с помощью модуля
Mediawiki auth bridge. Почему я раньше об этом не подумал? …А, модуль интеграции для 7-й версии «Друпала» выпущен только 1 июня.
P. S. Нет, не поэтому. А потому что расширение для интеграции на стороне MediaWiki
AuthDrupal устаревшее и не рассчитанное на работу с Postgre. Пришлось теперь его вразумлять с большим трудом.