Актуализация wiki на linuxoid.in

Как-то подзабросил я свои wiki-проекты в последние годы – что http://jabberworld.info, что http://linuxoid.in.

В первом случае – вики более-менее в завершенном состоянии. Задача создания руководств для новичков выполнена; стоило бы актуализировать ряд технических статей – например, отсутствие необходимости в современном мире в ресурсах и приоритетах; наличие message archive; получивший популярность http_fileupload, а также появившиеся в последние годы аудио/видеозвонки. Наверное, при наличии времени можно будет даже все это поделать – в том числе актуализировать списки ботов и транспорты. В идеале бы чуть актуализировать список клиентов – например, Conversations упоминается без наличия какой-либо статьи о нем – а ведь на сейчас это один из лучших мобильных клиентов для jabber.

Но даже без всех этих изменений вики может служить отличным ресурсом для тех, кто действительно хочет разобраться в теме и приобщиться к jabber’у – пусть даже скриншоты в некоторых руководствах уже не сильно актуальны.

Что касается http://linuxoid.in – тут чуть иначе. Изначально вики была для создания полезных руководств, заметок, размещения скриптов и конфигов для участников конференции linuxoid@conference.linuxoid.in. Поначалу так и было; на сейчас уже потеряло актуальность. В конференции остался минимум людей. То, что есть на вики – что-то потеряло актуальность (какие-нибудь конфиги xorg, например); где-то иссяк энтузиазм (я давно уже не собираю списки событий в категории “Вендекапец” и тому подобное); ряд скриптов и их код по прошествию лет кажутся забавными и сейчас бы это все уже писал по-другому. Однако оно уже написано, лежит на вики и есть не просит – пусть там и остается. Хотя бы как памятник :).

Однако совсем забрасывать вики не хотелось бы – это весьма удобное хранилище информации. У меня в последнее время активность в плане размещения наработок сместилась в этот блог. Однако тут не всегда удобно размещать исходники скриптов и программ – особенно когда они дописываются и бывает несколько ревизий. Честно говоря, даже не всегда помню про плагин, реализующий тег “pre” с указанием языка для подсветки кода – больше по привычке жму Alt+Shift+x чтобы хоть как-то выделить код. Код для проектов с микроконтроллерами обычно прикрепляю к статье просто в виде архива. Так почему бы не оживить немного wiki и не использовать каждый инструмент по назначению?

“Оживление” начал с актуализации движков – сначала на linuxoid.in, а потом и на jabberworld.info. Как оказалось на сейчас, обновления не делал 6 лет. Поначалу – из-за особенностей софта на сервере: новые движки требовали новый PHP; новый PHP требовал обновить систему на веб-сервере, что приводило к косякам с использованием хостинг-панели. Дальше сервисы переехали на VPS’ку, панель стала неактуальной, но движки так и оставил – просто потому что работают, да и гнаться особо было больше не за чем – в общем, читаем снова первые несколько абзацев. На linuxoid.in несколько лет висела плашка “пофиксить шаблон-хайдер (спойлер, другими словами) и плагин Category Tree” – наконец-то пришло время разобраться с этим.

Движки обновил практически без проблем, косяк был лишь при наполнении таблицы actor (я так понимаю, туда заносится список тех, кто делал хоть какие-то правки на вики, но не обязательно является пользователем) – движок дважды пытался внести одно и то же пустое значение и на этом обламывался — пришлось ассистировать ему, удаляя через консоль mysql “неправильные” строки и нажимая после этого “Далее” в установщике. Позже выявился еще один скрытый баг: если запускать скрипт maintenance/update.php, то тот, не находя таблицу bot_passwords, считал, что движок старее версии 1.27 и отказывался продолжать работу. Пришлось найти схему таблицы (есть в maintenance/tables-generated.sql), создать таблицу (попутно проверил наличие всех остальных таблиц), после чего скрипт отработал. Почему соответствующих проверок и исправлений нет в инсталляторе – не ясно.

LocalSettings.php я поправил под актуальные требования. С расширениями — точнее, с одним расширением – SyntaxHighlight – возникла проблема. Суть в том, что раньше оно использовало для подсветки синтаксиса код на PHP – GeSHi, однако с какой-то версии начало использовать Pygments. Судя по всему, это было еще в те времена, когда я не забросил вики, но тогда я просто скопировал старый плагин вместо нового и все продолжило работать дальше. На сейчас GeSHi уже заброшен и пришлось наконец-то сделать “правильно”: не сказать, что мне это понравилось, однако для возможности вызова из PHP внешнего бинарника пришлось в настройках PHP разрешить proc_open. С обновлением движка Category Tree починился сам собой, а вот с шаблоном-спойлером вышла загвоздка: он перестал работать в том числе на JabberWorld’e. Пришлось активно перепробовать разные варианты, в итоге переделал шаблон по мотивам кода с этой страницы. На сейчас все хорошо, все работает.

В итоге есть актуальный движок с необходимым минимумом плагинов. В движке блога добавил пару плагинов для интеграции с Mediawiki: один для включения контента страницы с вики целиком; второй для упрощенного создания ссылок на страницы вики. Осталось завести привычку всем этим правильно пользоваться :).

Несмотря на то, что вики, согласно описанному выше, вроде как теперь является больше приложением к персональному блогу, желающие из конференции (да и просто знакомые) могут также использовать ее для размещения каких-либо своих материалов.

Update: еще один баг вылез. В 1.27 добавили колонку в таблицу watchlist. Получил ошибку при попытке переименования файла. В Mediawiki держать архив патчей для базы по изменению схемы не модно, поэтому пришлось выковыривать нужную строчку непосредственно из архива с 1.27:

alter table lxw_watchlist   ADD COLUMN wl_id int unsigned NOT NULL AUTO_INCREMENT FIRST,   ADD PRIMARY KEY (wl_id);

 

Одна мысль про “Актуализация wiki на linuxoid.in”

Добавить комментарий