Сервер с моим основным аккаунтом лёг. Видимо, наконец решил оправдать своё имя — unstable.nl
Соответственно встал вопрос о переносе контактов на новый сервер. Чем это можно сделать? Конечно же Jabber Roster Utility, чем же еще? Но! JRE сначала должен получить контакты со старого, а сервер-то лежит. Ростер, конечно же, скеширован клиентом, коим у меня является Psi. Но формат-то там неподходящий! Если перебивать ручками, то проще покажется добавить ручками же контакты прямо в клиенте. Не вариант.
Сначала в голову полезла шальная мысль написать парсер, но она была сразу отброшена. Psi хранит настройки в XML, a значит можно поступить проще.
Возьмем нужный нам файл настроек: %psidatadir%/profiles/%profilename%/accounts.xml и применим к нему xslt-стиль. Стиль этот очень прост:
<?xml version=”1.0″ encoding=”UTF-8″?>
<xsl:stylesheet version=”1.0″ xmlns:xsl=”http://www.w3.org/1999/XSL/Transform” xmlns=”http://psi-im.org/options”>
<xsl:output method=”text”/><xsl:template match=”/accounts/accounts/*”>
Account <xsl:value-of select=”jid”/><xsl:apply-templates select=”roster-cache”/>
</xsl:template><xsl:template match=”roster-cache/*”>+,<xsl:value-of select=”jid”/>,<xsl:value-of select=”name”/>,none,<xsl:value-of select=”groups/item”/></xsl:template>
</xsl:stylesheet>
В результате мы получим ростеры всех прописанных туда аккаунтов в формате, который хавает JRE
Account jid@domain.tld
+,elem1@dom1.tld,Element 1,none,Group
+,elem2@dom2.tld,Element 2,none,Group
+,elem3@dom3.tld,Element 3,none,Group 2Account jid2@domain2.tld
+,elem1@dom1.tld,Element 1,none,
+,elem4@dom4.tld,Element 2,none,
Вуаля, кормим JRE.
Как применить стиль?
Самый простой способ — браузер. Открываем accounts.xml (рекомендую сделать копию и издеваться над ней, а не резать по живому), вписываем первой строкой
<?xml-stylesheet type=”text/xsl” href=”accounts-xslt.xml”?>
копируем стиль в папку с этим accounts.xml и открываем accounts.xml в браузере.
Если не сработает, удаляем из accounts.xml строку <!DOCTYPE accounts> и элемент xmlns=”http://psi-im.org/options”
Знаю, что не по фэн-шую, но мне почему-то помогло.
Скачать стиль: http://misc.sunchaser.info/software/psi2jre.zip
August 19th, 2009 on 16:47
Умел бы этот JRE работать с Gmail-ростером (TLS) – цены бы ему не было! Но, увы, так и не держит он TLS, а мне порядка 300 контактов переносить вломы, так что сижу жду щастья, пока добавять в JRE поддержку TLS гугловского…
August 20th, 2009 on 08:47
Вывести из гугла можно способом выше. А переходить на гугл… не вижу смысла, если честно. Минусов больше, чем плюсов
August 20th, 2009 on 09:01
А какие минусы?
Для меня основные плюсы такие:
- доступ из любого места через браузер (хоть из инет-кафе) без доп. настроек
- работает с любым жаббер-клиентом
- прикручиваются шлюзы в аську и другие мессенджеры
- хистори всех разговоров (в том числе и через шлюзы в аську) на серваке с удобным поиском (даже с мобилы через wap можно найти например почтовый адрес, который тебе скинули, а ты забыл записать и стоишь на улице у дома вспоминаешь), в результате не надо мучаться с синхронизацией хистори дома, на работе, на ноуте, на сотовом – всё в одном месте и не потеряется.
Какой из других серверов Jabber имеет аналогичный функционал?
August 20th, 2009 on 10:13
мэээ… яндекс?
> работает с любым жаббер-клиентом
поддерживающим TLS. в принципе, не очень актуально, но у меня на телефоне бомбусь с шифорванием не дружит. да, старый телефон, но… всё равно обидно
> прикручиваются шлюзы в аську и другие мессенджеры
почему-то у некоторых с этим часто проблемы
а еще добавляет какой-то аццкий текст к имени ресурса и не принимает мессаги от неавторизованных клиентов
в целом минусы не критичны, но меня раздражают
August 20th, 2009 on 11:32
Хм, надо будет попробовать яндекс, может и правда что-нибудь хорошое состряпали они…
А насчёт минусов – да, сталкивался с ними, немного раздражают но тоже не критично… Если яндекс получше сделал – придётся изменить гуглу с ним ;)
August 20th, 2009 on 15:07
у яндекса стандартный ej с доработками. в результате и плюсы почти те же и с “обычными” серваками конфликтов меньше
September 6th, 2009 on 18:13
О, насчет яндекса – спасибо, надо будет пощупать, вроде много хороших отзывов про него было. Только вот насчет защищённости у меня к нему доверия конешно меньше чем к гуглу, всё ж московская контора – ФСБ прижучит её быстрее при необходимости чем Гугля, если чё-нить из аськохистори про меня накопать захотят… Ну а свой сервак для этого заводить лениво (хотя он и есть) – нет уже готовых решений с удобным вёб-интерфейсом и морфологическим поиском по хистори аля гугл-яндекс, а самому писать как всегда времени жалко ;(