С шашкой на Drupal: LiveJournal Sync Ugly Hack

Синхронизация Drupal с ЖЖ оказалась гораздо более простым делом, чем в случае Movable Type:

Ну, если быть точным, то для LJ Sync нужно поставить еще патч из его pending patches, а то синхронизированное туда приезжает тут же обратно, второй копией.

А если быть совсем точным, то LJ Sync не работает с PostgreSQL. REPLACE INTO {table}, убил бы нафиг....

Но. LJSync делает куда больше чем не нужно:

  • Вытаскивает из ЖЖ записи, которые там появились независимо. Это хорошо, если есть адын standalone-блог и адын ЖЖ, но у меня два стандалона гадят в один ЖЖ.
  • Темизирует look-and-feel Друпала "под ЖЖ". С синенькими заголовками комментариев и заголовками записей в ЖЖ-шном духе.
  • Для всех ЖЖ-шных комментаторов заводится аккаунт на Друпале. Оно так и на MT у меня было, но на MT эти аккаунты были бесправные, а тут в них можно авторизоваться (если OpenID включить) ну и типа писать.
Всего этого я ну никак простить не мог. Прилагаемый патч: ljsync-ugly-hack.diff.gz делает все в одной куче:
  • Инкорпорирован вышеуказанный патч из pending patches.
  • REPLACE INTO заменены на более привычные конструкции (не лучшим способом, явной проверкой SELECT, а не проверкой результата UPDATE, но думать не хотелось).
  • В jbackup.pl добавлена binmode FILE,"::utf8" известно для чего
  • Вся темизация пущена под нож.
  • Все заведение новых аккаунтов пущено под нож.
  • Импорт записей (а не комментариев) из ЖЖ пущен под нож.
Понятно, что последние три пункта надо было сделать конфигурируемыми и я сделаю когда нибудь (или просто рожу свой LJ Comment Sync), а пока - большой и очень грубый хак,

Comments

Скажите пожалуйста, а как поставить этот патч? Нельзя ли скачать уже пропатченный?

Нет, пропатченный я не раздаю, тем более что я вынес этот модуль у себя совсем и более его судьба мне неинтересна.

А патч накладывается программой patch

Вообще, если вам только комментарии синхронизировать (а остальное я оторвал), возьмите лучше мой ljcomments2drupal, оно ровно для этой цели и работает.

Add new comment