vitus_wagner: My photo 2005 (Default)
Извел, наконец, неработоспособную ikiwiki на wiki.wagner.pp.ru. Теперь там осталась только статическая первая страница, которая послает в разные места, куда конвертирован тот же контент.

Вики по Ясмине и Галактической федерации. теперь будут лежать в fossil-е, что позволит мне из деревни или еще какого места с хреновой коннективити работать с локальными копиями.

Теперь, бы, правда, надо эти две вики отдизайнить. В галактическую можно тупо скопировать дизайн со spacians.net. (да и вообще перекинуть этот репозиторий на этот домен).

А вот для Ясмины нужно какой-нибудь красивый CSS нарисовать.

Ежели кому нужен скрипт для конвертирования ikiwiki в fossil wiki, могу выложить. Он у меня, правда, плагинов поддерживает раз-два и обчелся. Только линки на википедию и картинки.
vitus_wagner: My photo 2005 (Default)
И все-таки при апгрейде дебиана на сервере у меня кое-что сломалось. А именно - ikiwiki. При попытке редактирования через web-интерфейс говорит

cannot decode string with wide characters.

Где-то случилось двойное преобразование из байтов в юникод.

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

Видимо, так и надо поступить. Тогда можно будет с этими wiki offline работать.
vitus_wagner: My photo 2005 (Default)
Внимательное изучение ситуации с NNTP-софтом показало, что трудоёмкость задачи реализации оффлайнового web-а в виде "мультимедийного usenet" несколько выше, чем мне казалось. Software rot о котором предупреждал в одной из первых дискуссий на эту тему [livejournal.com profile] qkowlew в этой области зашел довольно далеко, и мне не удалось, например, найти ни одного современного ньюсридера который бы поддерживал url схему news: (как сейчас помню - в Netscape 2.0 же работало).

Задача от этого не становится совсем неподъемной, но возникает мысль попробовать рассмотреть другие возможности реализации оффлайнового веба.

Самое простое решение, которое приходит в голову, это большой статический web-сайт, хранящийся в распределенной VCS, например GIT и оснащенный продвинутой browser-based системой управления контентом.

Соответственно, живет этот вебсайт у каждого на localhost, синхронизация выполняется посредством git pull (а то и git push, но pull делается по тому же http и не требует авторизации).

Системы управления контентом, работающие с VCS в качестве бэкэнда существуют. Например. ikiwiki, на которой сейчас работает wiki.wagner.pp.ru. ikiwiki в принцпие поддерживает и агрегацию RSS-фидов и ведение блогов с комментариями. А в MoinMoin есть уже готовый механизм синхронизации wiki

Старые читатели моего журнала помнят, что год назад я пробовал перенести свой блог из ЖЖ на ikiwiki как раз с git-овским бэкэндом. Уже через три месяца постинг комментария стал занимать десяток секунд. Скорее всего это проблемы ikiwiki и могут быть довольно легко исправлены. Но всё же для оффлайнового веба нужно гораздо больше контента, чем один блог за три месяца.

Кроме того, у git существует стандартная схема генерации патчей. Которая позволяет использовать для синхронизации перенос данных на пассивных устройствах (флэшках). В рамках идеи offline web ее можно рассматривать как замену uucp-шных бэтчей в Network News.

Какие проблемы возникают у такой схемы:

1. Место. Нам придется хранить рабочую копию всего контента, плюс еще репозиторий для синхронизации. В то время как в NNTP у нас предусмотрена возможность синхронизации не всего дерева групп а только групп по некоторому шаблону. Что позволяет делить информацию на оперативную и объемную и на разные устройства синхронизировать их по-разному.

2. Контроль целостности сообщений. В основе Network News лежит тот же формат сообщений, что и в электронной почте. Для него предусмотрены разные форматы электронной подписи. Поэтому читая подписанное сообщение мы можем быть уверены, что написано там ровно то, что имел в виду владелец соответствующего ключа. VCS предназначены для того, чтобы файлы редактировались. Да, есть история. Да, в git-е есть подпись коммитов. Но организовать подпись каждого комментария на форуме - несколько сложнее, чем организовать подпись каждого письма в ньюсридере.

3. Защита от спама. Средства защиты от спама тоже в основном развивались вокруг RFC 2822 и 5322. В ньюссерверах предусмотрено достаточно простое написание фильтров на входящий транзитный траффик (нам еще долго предстоит обсуждать какие именно должны быть критерии фильтрации транзитного траффика, я думаю что, если все пойдет по плану, копья по этому поводу будут скрещиваться еще долго после того, как сеть начнет работать. Тогда-то мы сможем обсуждать это не голословно а со статистикой в руках). В VCS этого нет. Как максимум - втаскивание чужого репозитория в отдельную ветку и ручной merge.
vitus_wagner: My photo 2005 (Default)
Двухмесячный эксперимент по ведению блога на платформе ikiwiki признан провалившимся.

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

С чем связаны проблемы с дискуссиями, более менее понятно. Более того, они были вполне предвидмы, но я надеялся что найду силы это пофиксить, доработав модули comments и emailnotify в ikiwiki, чтобы было не хуже, чем в ЖЖ-based движках. Не собрался.

Кроме того, замечено что по мере увеличения количества постов время на обработку постинга комментария растёт.
Это, увы, совершенно неприемлемо. Если за два месяца это время выросло примерно вдвое-втрое, что будет через год? За эти два месяца было опубликовано всего 72 поста. В ЖЖ - больше 3 тысяч.

Это, похоже неустранимая бага дизайна ikiwiki. Хотя, по-моему в принципе создание движка на файловой системе, который имеет время обработки поста O(1) от числа страниц вполне возможно. Ну или хотя бы O(log log n).

Возможно, проблема ещё и в том как ikiwiki работает с git. В svn-based вики по детям пространства таких тормозов не замечено.

В общем, из ЖЖ/DW сваливать надо по социальным соображениям, но первый опробованный вариант оказался неудачным по техническим соображениям. Будем продолжать поиск.

P.S. Как вы считаете, нужно ли перепостить в ЖЖ/DW те 72 поста?

Deadlock

Jan. 15th, 2013 11:24 pm
vitus_wagner: My photo 2005 (Default)

Обнаружилось что в ikiwiki возникает какой-то deadlock. Причем, видимо, только с использованием git в качестве бэкэнда, а то бы может давно заметили. Сейчас вот грохнул процесс git push origin (origin и рабочая копия - в одной файловой системе) и в результате смог завершиться десяток процессов и запоститься три комментария.

Но вообще с блокировками они там явно что-то перемудрили. Уж во всяком случае окно комментирования должно на порядок быстрее открываться при данной мощности машины. Причем профайлер ничего интересного не показывает.

blog todo

Jan. 11th, 2013 08:44 am
vitus_wagner: My photo 2005 (Default)

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

  1. Хоть тушкой, хоть чучелком, но древовидные комментарии. (можно опереться на mailbox plugin )
  2. Дизайн. Вероятно, css не обойтись, придется править шаблоны.
  3. Прикрутить поиск.
  4. Нужен свой OpenId провайдер, чтобы в чужие блоги ходить. sreg и ax extension-ы поддержать надо
  5. Опросы не работают на страницах с русскими названиями.
  6. Не нравится мне поведение календаря, показывающего только последний пост за данные сутки. (попробовать jscalendar )
  7. Разобраться с репликацией, чтобы шаблоны и пароли тоже реплицировались.
  8. Из серии хотелок - тянуть юзерпики для OpenID пользователей. Причем не только с lj-based, но и с гугля - DW же это умеет. (включил поддержку libravatar и gravatar)
  9. Запретить регистрацию локальных пользователей (ну где-то как-то)

По выполнении большей части этих пунктов, я, пожалуй, сбэкаплю свой журнал из DW и перееду сюда. Кросспостов делать не буду, попрощу кого-нибудь из френдов с платными аккаунтами втащить RSS-фид этого блога, и пусть на него подписываются.(done)

vitus_wagner: My photo 2005 (Default)
1. Пока я его не закрываю. Прежде чем можно будет съехать на свой собственный blog, там нужно ещё много чего доделать. Поэтому содержательные посты пока будут тут.

2. Правда, когда доделаю, кроспосстов в ЖЖ/DW делать не буду. Попрошу кого-нибудь с платным аккаунтом заимпортировать RSS или atom feed, и пусть все подписываются на него.

3. И вообще, никто не хочет помочь мне с дизайном? (помочь - это патчи к local.css, а не советы)

Upd. В ЖЖ меня уже заимпортировали [livejournal.com profile] vitus_wagner_rs. Можно подпиываться, хотя и пока бессмысленно.
vitus_wagner: My photo 2005 (Default)
поднял блог на ikiwiki. Желащие могут попробовать там что-нибудь откомментировать пользуясь ЖЖ-шным, DW-шным или ещё каким openid-ом. Должны всех пускать.
vitus_wagner: My photo 2005 (Default)
Почему после долгих и продолжительных раздумий я выбрал ikiwiki? Потому что:

1. На мой взгляд ikiwiki обладает главным свойством, требуемым для веб-приложений на домашней машине - не занимает ресурсов, когда не используется.
2. Второй - то что оно устойчиво к кратковременным всплескам посещаемости, связанным с публикацией ссылок на посещаемых ресурсах. Потому что для чтения это - статика.
3. Обладает уже готовой возможностью пускать пользователей по их аккаунтам во всяких прочих системах ЖЖ, Гугль, FB etc. Это очень полезно для маленького, но публичного сайта. Чтобы не заставлять всех желающих регистроваться на yet another сайте.
4. Работает с произвольными системами версионирования.
5. Хорошая поддержка в Debian.
6. Как это ни странно для современного OSS проекта, в команде есть кто-то кто имеет представление об информационной безопасности.

Недостатки у ikiwiki тоже есть.

1. Отсутствие внятной introductory documentation. (восполнить этот недостаток отчасти призван этот пост)
2. Я пока так и не понял как кастомизировать внешний вид сайта. Для сайта вида "личная записная книжка" это и не важно.
3. Внятного руководства "что делать, если что-то не работает" тоже нет.

Поехали )
vitus_wagner: My photo 2005 (Default)
Комментаторы в предыдущем посте таки сподвигли меня продолжить рассмотрение дистрибутива.

B и нарыл я там ikiwiki.. Насколько я понимаю, это примерно тот зверь, которого я хотел создать под названием stilllife, но так и не доделал.

То есть это движок, который по окончании операции редактирования/комментирования генерирует статическую HTML-ку.
И поддерживает еще тут же копирование ее rsync-ом куда надо.

И openid аутентификация выглядит у почти ровно так, как мне бы хотелось.

И поддерживают они еще и блог, помимо wiki. Так что поразбираюсь, может быть реализую наконец давнюю мечту и пошлю далеко-далеко американские блогсайты с ихними жесткими ToS.

Upd На сайте имеет место 22-килобайтная страница Security в которой помимо всего прочего написано "Note that ikiwiki runs with perl taint checks on". И при каждом исправленном security баге указывается не только версия самого ikiwiki где оно пофиксено, но и версии пакета из Debian stable, куда фикс бэкпортирован.
vitus_wagner: My photo 2005 (Default)
Решил тут опять (после 5 или 6-летнего перерыва) завести собственную Wiki.
С тех пор, правда, много байтов в memory leaks утекло, поэтому выбор движка пришлось осуществлять заново.

Требования к движку у меня были следующие

1. Чтобы был в дистрибутиве.
2. Чтобы не php
3. Чтобы не требовал никаких долгоживущих процессов. Если никто с wiki не работает, то оно ресурсов и не кушает, Поэтому чистый CGI.
4. Чтобы умел пускать по OpenID. А то заставлять всех знакомых по DW и LJ регистрироваться еще раз - это как-то жестоко.

В прошлый раз у меня был TWiki. Тогда он не прокатывал по 4-му пункту, но с тех пор к нему OpenID плагин даже написали. Правда, из дистрибутива его за патологическую несекьюрность выпилили. Пришлось искать что-то другое. Исследую сейчас MoinMoin.

Сайт в индийском национальном домене, конечно. Это как бы намекает. Но вроде все фамилии в ченджлоге нормальные, немецкие, польские и прочие европейские.

Python. С точки зрения возможностей движка wiki как wiki. Поддерживает WYSIWYG через FCKEditor, интегрируется с Xapian для поиска. В отличие от многих известных мне движков, прекрасно понимает CamelCase с русскими буквами. Хотя CamelCase mustdie и надо пользоваться [[двойными квадратными скобками]] которые оно тоже умеет.

Работу с аттачментами пока не исследовал внимательно.

Очень развитая система плагинов аутентификации.

Правда, как работает OpenID плагин мне не понравилось. При первой регистрации с OpenID предлагает ввести имя. Вместо того, чтобы просто тупо прописать в качестве имени URL. Что несколько проще и понятней для юзера, чем
многоэтажный OpenID SignIn в DW, но все же не comme il faut.

На мой взгляд, любые действия, которые требуют для комментирования с внешней аутентифиацией какого-то дополнительного ввода - это плохо. Даже ввод E-Mail как в DW. Хотя E-Mail имеет собственую ценность - на него комменты слать можно. А OpenID-провайдеры его не отдают.

Зато позволяет привязать к wiki-аккаунту несколько OpenID-ов. Какую модель использвания OpenID имели при этом в виду разработчики, я совсем не понимаю. Примерно то же самое, кстати в diary.ru сделано. Там ты обязан зарегистрироваться, но зато потом можешь привязать к своему аккаунту OpenID и аутентифицироваться по нему.
Зачем тогда OpenID? Если информация о тебе все равно хранится на этом сайте, то можно и пароль вводить.


На мой взгляд, OpenID нужен для того, чтобы минимизировать (а лучше совсем ликвидировать) необходимость регистрироваться на сайте.

Так что надо попробовать moinmoin-овский плагин доточить. Чтобы не задавал лишних вопросов. Пока не доточил, и не напихал туда всякого контента, в гости туда не приглашаю.

Profile

vitus_wagner: My photo 2005 (Default)
vitus_wagner

May 2025

S M T W T F S
    1 2 3
4 56 7 8 9 10
11 12 131415 1617
18192021222324
25262728293031

Syndicate

RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated May. 23rd, 2025 06:58 am
Powered by Dreamwidth Studios