Синхронизация комментариев ЖЖ->MovableType

У меня уже более полугода работает скрипт синхронизации комментариев из ЖЖ в MovableType. Мне тут даже попеняли, что не делюсь с народом...

За полгода он никаких значимых проблем не создал, работает, а значит можно и опубликовать и даже версию 1.0 присвоить:

ljcomments2mt-1.0.tar.gz

Копия Readme прилагается.

ljcomments2mt

набор скриптов для переноса комментов из LJ в MovableType

Copyright © 2008 Alex Tutubalin <lexa@lexa.ru>

Лицензия:
Софт предоставляется AS IS, поддержка не гарантируется. Коммерческое использование - по согласованию с автором, использование в личных целях - без согласования. Распространение этого скрипта, установка на хостингах и т.п. - по согласованию с автором.

Для чего это

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

К сожалению, в текущей реализации "блогосферы" такое просто не делается - нет средств (и, кажется, нет понимания у владельцев сервисов, что такое нужно).

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

На сегодняшний день осилен только импорт комментариев из LiveJournal в MovableType (блоговый движок, используемый автором на blog.lexa.ru)

Ограничения

Автор делал этот набор скриптов для себя, поэтому есть ряд ограничений

  • никаких инсталляторов, придется ручками поправить одно и то же в 4-х местах;
  • база данных - PostgreSQL, если у вас что-то другое, то придется поправить руками мои запросы;
  • никаких красивостей. Для доступа к объектам MT используется тамошний OO-interface, для доступа к моим данным - plain SQL;
  • данные о кросспостах извлекаются из данных MTLJPost, если вы используете Crossposter или что-то подобное, то придется переписать несколько строчек кода в скрипте create_mapping.pl (нам нужно строить таблицу соответствий ID movable type -> ID LJ)
  • для поддержки Threaded comments используется SimpleThreaded, если у вас что-то другое, то придется поправить несколько строк в copy_comments.pl
  • в multiblog-случае все должно работать, но автор не проверял

Установка

Как и указано выше, это не для слабых духом:

  1. если вы используете базу, которая называется не movabletype, то поправьте параметр DATABASE во всех четырех pl-скриптах
  2. поправьте параметр WRKDIR в тех трех скриптах, в которых он есть (должен указывать на ваш каталог с MovableType)
  3. Поправьте параметр BLOGS в sync_users.pl, в нем перечислены ID блогов для которых нужна синхронизация.
  4. Доставьте необходимые Perl-модули, пока скрипты не перестанут ругаться на недостающее
  5. перед началом упражнений - все побэкапьте. Ибо я предупреждал!
  6. запустите psql movabletype < ljdata.sql (создадутся таблицы в базе данных)
  7. запустите ./run.sh логин-в-ЖЖ пароль первый запуск может занять несколько минут т.к. ребилдится множество записей (к которым были комментарии)
  8. если предыдущий шаг сработал - поставьте запуск этого в crontab В виде
        (cd /path/to/lj2mt; ./run.sh lj-login lj-passwd)
    
    (пустой запуск занимает около 10 секунд, половину этого времени занимает логин в ЖЖ, у автора запускается из крона раз в час)

Известные проблемы

все известные - залечены, идет тестовая эксплуатация (по результатам нескольких месяцев эксплуатации - работает)

Comments

Ошибка в посте в жж - полезли теги в тексте.

Благодарствую. Вроже исправил.

Спасибо большое!