Difference between revisions of "LIJ"
(http://b.habahaba.im) |
(Новая система нумерации постов) |
||
Line 13: | Line 13: | ||
Команды к регистру нечувствительны, к языку раскладки нетребовательны. Частично или полностью могут копировать команды, используемые в [[Juick]]. | Команды к регистру нечувствительны, к языку раскладки нетребовательны. Частично или полностью могут копировать команды, используемые в [[Juick]]. | ||
− | Вместо "#1 | + | Вместо "#1 ответ" можно написать "№1ответ", и это нормально воспримется. "s binary@" и "S binary@" это одно и то же. Для мобильных пользователей это подразумевает возможность использовать Ы или 7, которые вводятся с той же кнопки, что и s. |
;Публикация | ;Публикация | ||
Line 27: | Line 27: | ||
;Чтение | ;Чтение | ||
− | * #x — просмотреть пост х, работает так же №x и .x | + | * #x — просмотреть пост или комментарий х, работает так же №x и .x |
* <nowiki>#</nowiki>5+ получить пост вместе с комментариями | * <nowiki>#</nowiki>5+ получить пост вместе с комментариями | ||
− | |||
* #X+ [page_num] - листание длинной темы, разделенной автоматически на страницы по ? комментариев. | * #X+ [page_num] - листание длинной темы, разделенной автоматически на страницы по ? комментариев. | ||
;Ответ | ;Ответ | ||
− | * #202 | + | * #202 текст ответа |
;Подписка | ;Подписка | ||
Line 63: | Line 62: | ||
* Отсутствие веб-интерфейса | * Отсутствие веб-интерфейса | ||
* Нельзя подписываться больше чем на одного человека за раз, например, так ''s blondy@ comrade_dos@'' | * Нельзя подписываться больше чем на одного человека за раз, например, так ''s blondy@ comrade_dos@'' | ||
+ | |||
+ | === Нумерация постов === | ||
+ | В отличии от [[Juick]], нумерация постов и комментариев для каждого пользователя своя и несёт лишь функцию упрощения управления через текстовый интерфейс. Каждый раз при просмотре поста или комментария, ему назначается номер, который используется как ярлык. Реальным идентификатором является ссылка на него. Не имеет значения, пост это или комментарий, всё обозначается просто натуральным числом. Вся разница между ними в том, что комментарий кладётся в тред ответов, а пост — в личный тред постов каждого. | ||
== Как это устроено == | == Как это устроено == |
Revision as of 11:47, 17 March 2011
Эта страница содержит черновик описания открытого распределённого сервиса микроблогга для XMPP-серверов (или instant blogging), базирующегося на PubSub.
При разработке используется Python, XMPP-сервер - ejabberd, но в дальнейшем любой, поддерживающий подключение сервисов. Рабочее название - LiJ (LiveJabber). В данный момент единственная тестовая копия lij запущена в виде сервиса по адресу xmpp:lij.habahaba.im. Регистрация на нём пока закрыта, но вы можете её запросить (см. ссылку внизу). Автор - Binary. В перспективе, когда появятся xmpp-клиенты с нативной поддержкой PubSub этот сервис, как интерфейс к нему, перестанет быть нужен - программы-клиенты смогут напрямую общаться с ним.
Тестовый веб-интерфейс будет через некоторое время доступен по адресу http://b.habahaba.im. Пока его можно увидеть по вот этой прямой ссылке.
Просим всех участников тестирования пополнять эту страницу информацией. Регистрация (в отличие от trac-а проекта) не требуется.
Автор может оставлять её где-то в комментах или тестовых постах на самом лыже, а также жуйке. Смысл существования этой страницы на данный момент - собрать имеющуюся информацию, не затрудняя автора этим и не отвлекая его ресурсы. Пусть он лучше разрабатывает новую функциональность, чем тратит время на поддержку пользователей.
Contents
Справочник
Команды к регистру нечувствительны, к языку раскладки нетребовательны. Частично или полностью могут копировать команды, используемые в 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, нумерация постов и комментариев для каждого пользователя своя и несёт лишь функцию упрощения управления через текстовый интерфейс. Каждый раз при просмотре поста или комментария, ему назначается номер, который используется как ярлык. Реальным идентификатором является ссылка на него. Не имеет значения, пост это или комментарий, всё обозначается просто натуральным числом. Вся разница между ними в том, что комментарий кладётся в тред ответов, а пост — в личный тред постов каждого.
Как это устроено
- Описание
Почему что-то сделано так, а не иначе.
Почему используется 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-клиент.
- Возможность разрешать другим пользователям (поименно или всем желающим) размещать сообщения у себя в микроблоге. Таким образом возможно создание групповых блогов или просто групп, где общение будет происходить по определенной тематике.
Снимки экрана
Черные рамки на скриншотах это следствие неправильной работы у меня утилиты 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