Щаблоны
Шаблоны в IPB - это насколько сильная, настолько запутанная с первого взгляда система. Когда-то они мне понравились, особо после всяких экспериментов с phpBB подобными форумами. Но время расставляет и двоеточия над ё и скобочки над й
Пока делается кофе, расскажу чем же они нам так надоели.
Шаблоны в базе - это может показаться удобным, особо для разработчиков форума, которые хотят дать возможность редактирования через админку. Да и администраторам форума где-то на хостинге - можно забыть, что такое FTP. Но вообще-то такой способ редактирования назвать удобным очень сложно - убогая textarea не способствует к комфорту. Но и это даже можно было бы пережить...
Работа нескольких людей над одним и тем же проектом подразумевает конфликты. Нет, не крики "а, ты меня подсидел..", а конфликты версий, когда люди меняют один и тот же блок, в случае шаблонов IPB - один шаблон. Проявляться это может более или менее, в зависимости от активности работы, и может не так страшно было бы, но работать мешает. Вторая сторона - не ясно, кто какие изменения внес, т.е. если что - виноватого не найдешь
Но это не единственная причина наших переделок. Возник вопрос синхронизации версии разработчиков и продакшена. Вариант с перегонкой дампов базы мне категорически не нравился. Косяки такой перегонки/загонки ловятся плохо и еще хуже - rollback-чатся, а уж если косяк прошел в базу, то отразится это на всех нодах. А возможность редактировать шаблоны напрямую в продакшене вообще должна быть изнечтожена в зародыше.
Было еше несколько мелочей и совокупность всех этих мелких проблем, с которыми можно жить, но лучше без них, одназначно указали путь к переходу на файлы.
Ну остальное дело техники. Был написан скрипт, создающий структуру директорий skin/group_name и в них XML файлы именованные как шаблоны. Была переписана генерация кеша, дабы брал он все из этих вот файлов, а весь редактор скинов в админке - варварски закоментарен. Конечно, вернуть его к жизни для работы с файлами не сложно - просто он нам не нужен, и даже вреден, если какой-нибудь новичок решит подправить шаблон прямо на продакшене. Отдельный shell скриптик для перегенерации кеша - удобно и для разработчиков и при выкатке в продакшн.
Пожалуй, единственное затруднение, что тут возникло - как быть с дублирующимися шаблоннами в разных группах. Хотели сначала красиво обойти это символьными линками, но тут просто неудобно работать стало на виндовых машинах с виндовым svn клиентом, так что просто оставили пустые xml-ки с указанием - где искать контент.
Такое вот очередное усечение, но все-равно IPB рулит Кофе готов, на следующем кофебрйке посмотрю, можно ли выдрать diff-ы этой переделки.
PS: очень много размытых объемных коммитов... сложно выделить вменяемый дифф.
5 комментариев
Рекомендуемые комментарии