На протяжении многих месяцев мы упорно работали над новой версией системы и над вспомогательными сервисами такими как:
- bugs.kasseler-cms.net – Баг трекер системы
- diff.kasseler-cms.net – Сервис сравнения версий, который помогает пользователям своевременно получать все обновления и обновлять только новые файлы.
- build.kasseler-cms.net – Сервис сбора новых версий. Теперь пользователи могут собрать самостоятельно любую версию непосредственно с репозитория и не ждать пока это сделает администрация проекта.
Все эти сервисы можно найти на странице service.kasseler-cms.net.
Кроме запуска сервисов мы много исправили и добавили в системе. С гордостью можем сообщить, что на момент выхода системы мы закрыли все заявки, связанные с ошибками и неточностями работы, так же закрыли около 90% всех заявок – "предложений пользователей" и воплотили их в жизнь в новой версии системы. С момента выхода предыдущей версии выполнено более 120 изменений, с которыми Вы сможете более детально ознакомиться на diff.kasseler-cms.net.
А так же немаловажная новость - была пересмотрена политика версионности системы, убраны ненужные цифры и внесена ясность в понимание новой версии. Мы отказались от версионности вида 2.х.х, отныне все версии будут обозначатся [версия ядра] r[номер ревизии в журнале репозитория], к примеру: Kasseler CMS 2 r808.
Кратко о нововведениях:
1. Добавлено ajax удаление сообщений форума.
2. Добавлены атрибуты rel=“next” и rel=“prev” для поисковых машин.
3. Разработан механизм обновления системы.
4. Изменено разграничение прав доступа на форуме.
5. Добавлено автоматическое определение часового пояса при регистрации пользователя.
6. Выполнена коррекция часовых поясов в соответствии с новым законодательством РФ.
7. Добавлена возможность закрепить новость.
8. Добавлена возможность указания шаблона для модуля сообщений.
9. Реализованы пинги при генерации sitemap.
10. В модулях добавлен фильтр по категориям.
11. Реализована система хуков.
12. Добавлена возможность закрепления первого сообщения темы форума.
13. Изменен шаблонизатор, отныне практически все шаблоны поддерживают вставки PHP.
14. Добавлена возможность создания подфорумов.
Хочу отдельно отметить пункт 11. "Реализована система хуков" – это нововведение в системе – первый шаг в сторону создания плагинной структуры системы.
Все мы знаем, как часто бывает необходимо что-то изменить в работе системы, потому что под наши нужды функционала или недостаточно, или же функция должна работать по-другому. В результате мы получаем сайт, который практически невозможно обновить после выхода новой версии системы. Приведу пример как можно решить данную проблему.
Рассмотрим на примере модуля новостей.
Предположим, Вас не устраивает вывод новостей, который реализован в стандартном модуле новостей.
Раньше:- Вам приходилось открывать модуль новостей, к примеру, функцию main_news, полностью ее переписав, Вы получите нужный результат, но после обновления все или перезапишется, или же перестанет работать.
Теперь:- не нужно править сам модуль или другую функцию. Мы можем написать hook для заранее известной функции. Для примера возьмем функцию main_news модуля новостей и напишем для нее hook.
function myhook(){
global $main;
$result = $main->db->sql_query("SELECT * FROM ".NEWS." ORDER BY id");
if($main->db->sql_numrows($result)>0){
while(($row = $main->db->sql_fetchrow($result))){
open();
echo $row[\'title\'];
close();
}
} else info($main->lang[\'noinfo\']);
}
Данная функция выведет все заголовки новостей, обрамленных в шаблон open_table.
Но для того, чтобы наш хук заработал, вместо стандартной функции main_news, нам необходимо зарегистрировать хук следующей функцией:
hook_register(\'функция, которую хукаем\', \'функция, которой хукаем\', [флаг вызова родительской функции]);
Для нашого примера это будет выглядеть так:
hook_register(\'main_news\', \'myhook\');
Внимание спойлеры! ;)
Что нас ждет в новой версии системы, которая уже не за горами.
- Реализация полностью плагинной структуры.
- Модуль управления плагинами.
- Модуль управления органайзером.
- Модуль оптимизации БД.
- Хуки не только функций, но и хуки подключаемых файлов.
Официальный сайт системы www.kasseler-cms.net