Синхронизация комментариев ЖЖ->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-случае все должно работать, но автор не проверял
Установка
Как и указано выше, это не для слабых духом:
- если вы используете базу, которая называется не movabletype, то поправьте параметр DATABASE во всех четырех pl-скриптах
- поправьте параметр WRKDIR в тех трех скриптах, в которых он есть (должен указывать на ваш каталог с MovableType)
- Поправьте параметр BLOGS в sync_users.pl, в нем перечислены ID блогов для которых нужна синхронизация.
- Доставьте необходимые Perl-модули, пока скрипты не перестанут ругаться на недостающее
- перед началом упражнений - все побэкапьте. Ибо я предупреждал!
- запустите psql movabletype < ljdata.sql (создадутся таблицы в базе данных)
- запустите ./run.sh логин-в-ЖЖ пароль первый запуск может занять несколько минут т.к. ребилдится множество записей (к которым были комментарии)
- если предыдущий шаг сработал - поставьте запуск этого в crontab
В виде
(cd /path/to/lj2mt; ./run.sh lj-login lj-passwd)
(пустой запуск занимает около 10 секунд, половину этого времени занимает логин в ЖЖ, у автора запускается из крона раз в час)
Comments
Ошибка в посте в жж - полезли теги в тексте.
Ошибка в посте в жж - полезли теги в тексте.
Благодарствую. Вроже исправил.
Благодарствую. Вроже исправил.
Спасибо большое!
Спасибо большое!