Натолкнулся тут на не очень приятное поведение Prosody, хранящего данные в Посгресе. При перезапуске pg или даже если просто prosody запущен при загрузке раньше, чем pg, он не может найти данные и не работает. К счастью, для CentOS с systemd есть быстрый фикс, уменьшающий неприятности этой проблемы — надо лишь чуть-чуть подправить файл сервиса.
Если бы у нас был новый systemd, мы бы набрали команду
systemctleditprosody
и попали бы на шаг 2
но systemd в CentOS 7 уже староват и там такой команды еще не было, так что делаем всё вручную
Переселил jabber для домена с монструозного ejabberd на легкий Prosody. Высвободил ~200 МБ оперативы на VPS-ке. В принципе, полет нормальный, только хранение истории на сервере теперь через новый стандарт, который ни один клиент не поддерживает :( Пришлось запилить по-быстрому веб-интерфейс.
Был раньше такой удобный напоминальщик — Noty, жил в джаббере по адресу noty@ximik.net. Т.к. он похоже то ли откинул копыта, то ли на него автор забил просто, решил поднять свою копию, благо он опенсорс. Живет на noty@sunhome.im, код взят с github.com/Ximik
Когда-то восхваляемый мной сервис Chesspark.com слил свою базу пользователей порталу Chess.com и приказал долго жить.
Хорошо это или плохо?
Для шахмат… с одной стороны, куда бóльшая база пользователей — это хорошо, но AI дико тормозной. Впрочем, людей всех квалификаций дотстаточно.
Для джабббера же это EPICFAIL. Ибо накрыалсь единственная более или менее известная игра с XMPP как протоколом. Вот так. Хотя еще возможно, что сервак реанимируют, клиент опять прикрутят и будет EPICWIN. Только вот ни слышно, ни вероятно.
Сервер с моим основным аккаунтом лёг. Видимо, наконец решил оправдать своё имя — unstable.nl
Соответственно встал вопрос о переносе контактов на новый сервер. Чем это можно сделать? Конечно же Jabber Roster Utility, чем же еще? Но! JRE сначала должен получить контакты со старого, а сервер-то лежит. Ростер, конечно же, скеширован клиентом, коим у меня является Psi. Но формат-то там неподходящий! Если перебивать ручками, то проще покажется добавить ручками же контакты прямо в клиенте. Не вариант.
Сначала в голову полезла шальная мысль написать парсер, но она была сразу отброшена. Psi хранит настройки в XML, a значит можно поступить проще.
Возьмем нужный нам файл настроек: %psidatadir%/profiles/%profilename%/accounts.xml и применим к нему xslt-стиль. Стиль этот очень прост:
Самый простой способ — браузер. Открываем accounts.xml (рекомендую сделать копию и издеваться над ней, а не резать по живому), вписываем первой строкой