PHPBB 2.0.x
Четверг, 25 января 2007Занялся тут на днях обновлением одного форума основанного на PHPBB 2.0.x , сразу эдак на 10 релизов… чего я только не насмотрелся… Сразу бросается в глаза до боли кривая система надстроек - так называемые моды (mods), это просто ахтунг какой-то. При установке мод сам себя прописывает в исходные коды форума, и, при обновлении форума, если изменился исходный код с которым связан мод, то мод слетает и его надо переустанавливать. Велика вероятность того, что он либо не встанет в принципе, либо встанет не так, как надо. Их реализация изначально была ущербной только потому, что PHPBB в принципе не имел никакой возможности надстройки, а “мировое сообщество” требовало большего. Так появились моды. Моды - это по сути diff’ы, которые накладываются на исходники PHPBB. Однако моды это ещё пол беды, никакой update бы никогда не потребовался, если бы в PHPBB не было столько дыр/ошибок, причём, по diff’ам ошибки весьма и весьма глупые, а всё почему? да потому что никому нет дела до того, что складывается в CVS репозитарий. Если бы изменения вносимые одним человеком просматривались хотя бы ещё одним человеком, уверен, что количества ошибок/дыр было бы меньше процентов на 80%. Когда же придумают систему контроля версий, в которой некоторые файлы можно закрепить за тем, или иным человеком и только после его визы изменения принимались бы. Конечно это можно решить и организационно, но вот почему-то не решено. А теперь немного о технологии, как я “это” делал.
- Создал SVN репозитарий и добавил туда старые исходные коды PHPBB, commit.
- Переписал старые файлы новыми файлами из последнего релиза PHPBB.
- Смотрел каждый изменившийся файл на предмет изменений кода, кое-где добавляя куски кода модов из старых файлов исходных кодов.
- Сравнил структуры баз данных на предмет изменений.
- Всё скоммитил и протестировал.
В этой работе очень помог TortoiseSVN, лучший клиент svn для windows. Может создавать локальные репозитарии. Очень надеюсь что PHPBB 3.x будет избавлен от всего вышеперечисленного, и что к нему в скором времени напишут таки локализацию, ибо самому лень.