В процессе чтения книги Совершенный код(автор Стив Макконнелл) я вдруг понял, что делаю совсем не правильно. Я хотел написать полностью модульную CMS, но уже в самом начале допустил несколько ошибок в коде, структуре и стиле.
Ошибки в структуре
Во-первых, я жестко внедрил MySQL в движок, что уже противоречит моим желаниям написать абсолютную модульность. Также произошло и с контентом страницы и темами. Все эти недочёты были исправлены и в обновлённой версии уже не будет обязательно иметь MySQL соединение и использовать различные темы.
Во-вторых важный недочёт был в коде. Я совершенно не использовал ООП в проекте, где он был-бы уместен. Поэтому часть кода была переписана.
Модульность
Я планирую добавить модулям зависимости, как в любом пакетном менеджере Linux. Например при установке модуля пользователей, вам необходимо будет установить модуль MySQL иначе он не запустится.
Модули будут играть важнейшую роль в развитии CMS. Сама CMS без модулей — это абсолютно ничего. А человек, решивший использовать Cookie CMS, сможет выбрать комплект модулей, нужных для него и ничего лишнего.
О управлении CMS
Ещё я решил сделать совершенно независимую от тела CMS систему администрирования, чтобы в случае повреждения тела CMS(плохим модулем, например), панель администрации была всегда доступна.
О лицензии и публикации
Исходный код CMS будет открыт, но пока не ясно под какой лицензией. Скорее всего это будет GNU GPL, версии 2 или 3. Также ещё не определился с системой управления исходных файлов. Что выбрать, Git или SVN?
Пока исходный код публиковать не имеет смысла, потому что готова очень малая часть всего проекта и его структура может очень сильно изменяться в процессе разработки. Исходники будут опубликованы тогда, когда будет готовы модули авторизации, новостей, комментариев и решено, что структура больше не будет меняться.