Перейти к контенту

Как мы ломали

  • записи
    24
  • комментариев
    147
  • просмотра
    16 233

Щаблоны


MiksIr

186 просмотров

Шаблоны в IPB - это насколько сильная, настолько запутанная с первого взгляда система. Когда-то они мне понравились, особо после всяких экспериментов с phpBB подобными форумами. Но время расставляет и двоеточия над ё и скобочки над й ;)

Пока делается кофе, расскажу чем же они нам так надоели.

Шаблоны в базе - это может показаться удобным, особо для разработчиков форума, которые хотят дать возможность редактирования через админку. Да и администраторам форума где-то на хостинге - можно забыть, что такое FTP. Но вообще-то такой способ редактирования назвать удобным очень сложно - убогая textarea не способствует к комфорту. Но и это даже можно было бы пережить...

Работа нескольких людей над одним и тем же проектом подразумевает конфликты. Нет, не крики "а, ты меня подсидел..", а конфликты версий, когда люди меняют один и тот же блок, в случае шаблонов IPB - один шаблон. Проявляться это может более или менее, в зависимости от активности работы, и может не так страшно было бы, но работать мешает. Вторая сторона - не ясно, кто какие изменения внес, т.е. если что - виноватого не найдешь ;)

Но это не единственная причина наших переделок. Возник вопрос синхронизации версии разработчиков и продакшена. Вариант с перегонкой дампов базы мне категорически не нравился. Косяки такой перегонки/загонки ловятся плохо и еще хуже - rollback-чатся, а уж если косяк прошел в базу, то отразится это на всех нодах. А возможность редактировать шаблоны напрямую в продакшене вообще должна быть изнечтожена в зародыше.

Было еше несколько мелочей и совокупность всех этих мелких проблем, с которыми можно жить, но лучше без них, одназначно указали путь к переходу на файлы.

Ну остальное дело техники. Был написан скрипт, создающий структуру директорий skin/group_name и в них XML файлы именованные как шаблоны. Была переписана генерация кеша, дабы брал он все из этих вот файлов, а весь редактор скинов в админке - варварски закоментарен. Конечно, вернуть его к жизни для работы с файлами не сложно - просто он нам не нужен, и даже вреден, если какой-нибудь новичок решит подправить шаблон прямо на продакшене. Отдельный shell скриптик для перегенерации кеша - удобно и для разработчиков и при выкатке в продакшн.

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

Такое вот очередное усечение, но все-равно IPB рулит ;) Кофе готов, на следующем кофебрйке посмотрю, можно ли выдрать diff-ы этой переделки.

PS: очень много размытых объемных коммитов... сложно выделить вменяемый дифф.

5 комментариев


Рекомендуемые комментарии

А как же темплейты потомки? скорее всего их больше нет оплакиваю их

да рубите на право и на лево

 

Как показывает практика шаблон устаканивается гед-то в етчнеии первого года дальше в нем правки минимальные

 

Кстати заливка шабона из XML-Ки это встроеная же фича движка

вот так и можно готовый шаблон накатывать. Т.е. не городить свой огород а использовать движок форума на полную катушечку.

Ссылка на комментарий

xRay, я так понял фишка в разделении этого xml на отдельные куски.

 

Но с другой стороны, также сложно получается: чтобы увидеть результат, нужно отредактировать xml, потом перестроить кеш. В IPB столько же действий. В итоге из плюсов только то, что xml открывается в редакторе. Но ведь сделать copy&past пару раз не так уж и сложно? А увеличить размер поля в админке один раз ещё проще. Стоило ли городить такой огород? :)

Ссылка на комментарий
А как же темплейты потомки? скорее всего их больше нет оплакиваю их

Структура шаблонов (т.е. наследование) осталось в базе. Сейчас наследования нет, ибо это будет только мешать, но реализовать это не проблема. Только, нам оно не потребуется - мы не планируем работать с большим количеством скинов.

 

 

Но с другой стороны, также сложно получается: чтобы увидеть результат, нужно отредактировать xml, потом перестроить кеш. В IPB столько же действий. В итоге из плюсов только то, что xml открывается в редакторе. Но ведь сделать copy&past пару раз не так уж и сложно? А увеличить размер поля в админке один раз ещё проще. Стоило ли городить такой огород? :)

Ну, на любителя ;) До шаблона еще добраться нужно, кстати, и когда знаешь где он, прощелкать по дереву в виндовсе или в шеле проще. Постоянный кат-н-пейст тоже еще то удовольствие. И вообще, это и правда мелочи, но приятные... основное все же было желание засунуть шаблоны под svn и нежелание выкатывать на базу в продакшене.

Ссылка на комментарий
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.