Difference between revisions of "LIJ"

From JaWiki (Jabber/XMPP wiki)
Jump to: navigation, search
(Новая система нумерации постов)
(как получить ссылку и ряд ньюансов)
Line 63: Line 63:
 
* Нельзя подписываться больше чем на одного человека за раз, например, так ''s blondy@ comrade_dos@''
 
* Нельзя подписываться больше чем на одного человека за раз, например, так ''s blondy@ comrade_dos@''
  
=== Нумерация постов ===
+
=== Нумерация и адресация постов ===
В отличии от [[Juick]], нумерация постов и комментариев для каждого пользователя своя и несёт лишь функцию упрощения управления через текстовый интерфейс. Каждый раз при просмотре поста или комментария, ему назначается номер, который используется как ярлык. Реальным идентификатором является ссылка на него. Не имеет значения, пост это или комментарий, всё обозначается просто натуральным числом. Вся разница между ними в том, что комментарий кладётся в тред ответов, а пост — в личный тред постов каждого.
+
 
 +
В отличие от [[Juick]], нумерация постов и комментариев для каждого пользователя своя и несёт лишь функцию упрощения управления через текстовый интерфейс. Каждый раз при просмотре поста или комментария, ему назначается номер, который используется как ярлык. Реальным идентификатором является ссылка на него. Не имеет значения, пост это или комментарий, всё обозначается просто натуральным числом. Вся разница между ними в том, что комментарий кладётся в тред ответов, а пост — в личный тред постов каждого.
 +
 
 +
;Как дать ссылку, если нет уникального номера?
 +
* Когда xmpp-клиент поддерживает XHTML, номера подсвечиваются линками, можно просто щелкнуть правой кнопкой мыши и выбрать ''Скопировать ссылку''
 +
* В веб-интерфейсе есть эти ссылки
 +
* Планируется спецкоманда для plain-text клиентов, которая сможет преобразовывать номер в ссылку.
 +
 
 +
;Как предполагается давать линки на psto и juick?
 +
Сообщения из других сетей будут точно такими же, как родные, но от контактов вида @psto.habahaba.im, напоминая работу icq-транспорта.
  
 
== Как это устроено ==
 
== Как это устроено ==
Line 78: Line 87:
 
== Ключевые отличия от предшественника - [[Juick]] ==
 
== Ключевые отличия от предшественника - [[Juick]] ==
 
* Открытый проект - доступность исходного кода и возможность влиять на разработку напрямую (в качестве программиста) или опосредованно, как рядового участника, используя issue tracker для размещения сообщений об ошибках и пожеланиях.
 
* Открытый проект - доступность исходного кода и возможность влиять на разработку напрямую (в качестве программиста) или опосредованно, как рядового участника, используя issue tracker для размещения сообщений об ошибках и пожеланиях.
* Децентрализованность и возможность запуска собственной копии любым желающим. Пользователи разных узлов могут подписываться друг друга.
+
* Децентрализованность и возможность запуска собственной копии любым желающим. Пользователи разных узлов могут подписываться друг друга. Пока не каждый может запусть.  
* Удобный парсер команд позволяющий сосредоточится на общении, а не на запоминании точного синтаксиса и регистра команд
+
* Удобный парсер команд позволяющий сосредоточится на общении, а не на запоминании точного синтаксиса и регистра команд.
 
* Соблюдение [[RFC]] и [[XEP]] при разработке и участие в разрешении вопросов, возникающих с имплементацией [[PubSub]]  
 
* Соблюдение [[RFC]] и [[XEP]] при разработке и участие в разрешении вопросов, возникающих с имплементацией [[PubSub]]  
 
* {{xep|0071|XHTML-IM}} - поддержка "богатого" форматирования в сообщениях. Чтобы в вашем xmpp-клиенте отобразилось такое форматирование, он должен поддерживать данный XEP. Проверить информацию по вашему клиенту можно на странице [[Сравнение клиентов]].
 
* {{xep|0071|XHTML-IM}} - поддержка "богатого" форматирования в сообщениях. Чтобы в вашем xmpp-клиенте отобразилось такое форматирование, он должен поддерживать данный XEP. Проверить информацию по вашему клиенту можно на странице [[Сравнение клиентов]].
Line 86: Line 95:
 
* Управление нотификациями на основе групп в ростере. Каждый пользователь, на которого вы подписались попадает в ростер учетной записи на [[habahaba.im]]. Перемещение контактов между группам и создание групп через xmpp-клиент.
 
* Управление нотификациями на основе групп в ростере. Каждый пользователь, на которого вы подписались попадает в ростер учетной записи на [[habahaba.im]]. Перемещение контактов между группам и создание групп через xmpp-клиент.
 
* Возможность разрешать другим пользователям (поименно или всем желающим) размещать сообщения у себя в микроблоге. Таким образом возможно создание групповых блогов или просто групп, где общение будет происходить по определенной тематике.
 
* Возможность разрешать другим пользователям (поименно или всем желающим) размещать сообщения у себя в микроблоге. Таким образом возможно создание групповых блогов или просто групп, где общение будет происходить по определенной тематике.
 +
* Поддержка ревизий (обязательные по стандарту [[w:Atom]]). Пока поддержки нет.
  
 
== Снимки экрана ==
 
== Снимки экрана ==

Revision as of 19:45, 19 March 2011

Показан ответ и запрос темы

Эта страница содержит черновик описания открытого распределённого сервиса микроблогга для XMPP-серверов (или instant blogging), базирующегося на PubSub.

При разработке используется Python, XMPP-сервер - ejabberd, но в дальнейшем любой, поддерживающий подключение сервисов. Рабочее название - LiJ (LiveJabber). В данный момент единственная тестовая копия lij запущена в виде сервиса по адресу xmpp:lij.habahaba.im. Регистрация на нём пока закрыта, но вы можете её запросить (см. ссылку внизу). Автор - Binary. В перспективе, когда появятся xmpp-клиенты с нативной поддержкой PubSub этот сервис, как интерфейс к нему, перестанет быть нужен - программы-клиенты смогут напрямую общаться с ним.

Тестовый веб-интерфейс будет через некоторое время доступен по адресу http://b.habahaba.im. Пока его можно увидеть по вот этой прямой ссылке.

Просим всех участников тестирования пополнять эту страницу информацией. Регистрация (в отличие от trac-а проекта) не требуется.

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

Справочник

Команды к регистру нечувствительны, к языку раскладки нетребовательны. Частично или полностью могут копировать команды, используемые в Juick.

Вместо "#1 ответ" можно написать "№1ответ", и это нормально воспримется. "s binary@" и "S binary@" это одно и то же. Для мобильных пользователей это подразумевает возможность использовать Ы или 7, которые вводятся с той же кнопки, что и s.

Публикация

Просто отправка теста добавленному в ростер транспорту. В ответ приходит уведомление о том, что сообщение размещено и его уникальный номер.

Чтобы часть сообщения оформить как цитату, в начале новой строки поставьте угловую скобку, например

Вчера мне шепнуло радио третьей программой своей
>Что гладкая женская кожа отныне запрещена
Тэги
  • тэг1 *тэг2 *тэг3 текст сообщения

Вместо звёздочки можно использовать точку. При просмотре сообщения теги выделяются голубым цветом.

Чтение
  • #x — просмотреть пост или комментарий х, работает так же №x и .x
  • #5+ получить пост вместе с комментариями
  • #X+ [page_num] - листание длинной темы, разделенной автоматически на страницы по ? комментариев.
Ответ
  • #202 текст ответа
Подписка
  • s binary@
  • u binary@

работает также s, ы, 7

  • s #1
  • u #1

работает также u, г, 8

Если пользователь находится на другом сервере, то надо использовать полное имя, например, textary@lij.jabber.ru

При подписке пользователь автоматически добавляется в ростер вашей учетной записи на habahaba.im.

Удаление
  • d #240

Также работает в №241

Прочее

просмотреть информацию о пользователе

  • binary@ - пока вместо нее надо вводить xmpp:binary@

личные сообщения (вам не всегда будет виден JID другого пользователя, поэтому иногда только так возможно p2p-общение)

  • PM user@server, например pm binary@ (для локального сервера) или pm binary@habahaba.im (если пользователь на другом сервере)

Также работают пм, зь, лич, личка, 4. После ввода команды и отправки её, у вас откроется окно чата, где будет предложено ввести текст сообщения.

  • ping - простой тест соединения.
Известные ограничения
  • Отсутствие веб-интерфейса
  • Нельзя подписываться больше чем на одного человека за раз, например, так s blondy@ comrade_dos@

Нумерация и адресация постов

В отличие от Juick, нумерация постов и комментариев для каждого пользователя своя и несёт лишь функцию упрощения управления через текстовый интерфейс. Каждый раз при просмотре поста или комментария, ему назначается номер, который используется как ярлык. Реальным идентификатором является ссылка на него. Не имеет значения, пост это или комментарий, всё обозначается просто натуральным числом. Вся разница между ними в том, что комментарий кладётся в тред ответов, а пост — в личный тред постов каждого.

Как дать ссылку, если нет уникального номера?
  • Когда xmpp-клиент поддерживает XHTML, номера подсвечиваются линками, можно просто щелкнуть правой кнопкой мыши и выбрать Скопировать ссылку
  • В веб-интерфейсе есть эти ссылки
  • Планируется спецкоманда для plain-text клиентов, которая сможет преобразовывать номер в ссылку.
Как предполагается давать линки на psto и juick?

Сообщения из других сетей будут точно такими же, как родные, но от контактов вида @psto.habahaba.im, напоминая работу icq-транспорта.

Как это устроено

Описание

Почему что-то сделано так, а не иначе.

Почему используется user@ при обозначении пользователя? Это короткая запись полного jid на вашем сервере, т.е. чтобы не писать binary@habahaba.im. Но если пользователь на другом сервере, используется полная запись.

Также можно использовать полную запись URI xmpp:binary@habahaba.im

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

Ключевые отличия от предшественника - Juick

  • Открытый проект - доступность исходного кода и возможность влиять на разработку напрямую (в качестве программиста) или опосредованно, как рядового участника, используя issue tracker для размещения сообщений об ошибках и пожеланиях.
  • Децентрализованность и возможность запуска собственной копии любым желающим. Пользователи разных узлов могут подписываться друг друга. Пока не каждый может запусть.
  • Удобный парсер команд позволяющий сосредоточится на общении, а не на запоминании точного синтаксиса и регистра команд.
  • Соблюдение RFC и XEP при разработке и участие в разрешении вопросов, возникающих с имплементацией PubSub
  • XEP-0071: XHTML-IM - поддержка "богатого" форматирования в сообщениях. Чтобы в вашем xmpp-клиенте отобразилось такое форматирование, он должен поддерживать данный XEP. Проверить информацию по вашему клиенту можно на странице Сравнение клиентов.

Нереализованные возможности (смотрите trac проекта, чтобы узнать их статус):

  • Определение языка отправителя и отображение для него информации от пользователей с тем же языком. Первоначально язык определяется в автоматическом режиме на основе атрибута xml:lang. XMPP-клиенты[1] заполняют значение этого атрибута на основе системной локали или в зависимости от того, какой выбран язык интерфейса (Bombusmod). Если клиент не делает так, то пользователю будет предложено указать язык вручную. Также будет возможность изменить автоматически определенных язык в настройках пользователя[2]. За счет этого возможно более комфортное общение в пределах одного узла разноязычных пользователей.
  • Управление нотификациями на основе групп в ростере. Каждый пользователь, на которого вы подписались попадает в ростер учетной записи на habahaba.im. Перемещение контактов между группам и создание групп через xmpp-клиент.
  • Возможность разрешать другим пользователям (поименно или всем желающим) размещать сообщения у себя в микроблоге. Таким образом возможно создание групповых блогов или просто групп, где общение будет происходить по определенной тематике.
  • Поддержка ревизий (обязательные по стандарту w:Atom). Пока поддержки нет.

Снимки экрана

Черные рамки на скриншотах это следствие неправильной работы у меня утилиты import из состава ImageMagick.

На исправление каких ошибок помогло повлиять

В процессе разработки новой функциональности приходится столкнуться с теми или иными проблемами в существующих XMPP-клиентах и серверах. При помощи сообщества разработчиков эти вопросы получается решить.

  • ejabberd - EJAB-1347 PubSub: implement the "Item Publisher" feature described in 7.1.2.3
  • gajim - Ticket #6045 Do not detect special text (emots & links & formatting) in the XHTML-IM content

Ссылки

См. также

  • Identi.ca - свободный сервис микроблогов на базе StatusNet
  • StatusNet - свободная платформа для микроблоггинга с поддержкой XMPP

Примечание

  1. Доподлинно известно про такое поведение Psi, Tkabber, Gajim
  2. ticket/30