Итак, что нового в версии 1.6? Первое, что бросается в глаза – это новый, опрятный вид панели управления. Разработчики учли вопрос юзабилити, сделав интерфейс более дружественным пользователю, что повышает скорость работы в панели управления и, следовательно, экономит время на разработку сайта.
Версия 1.6 претерпела значительные изменения на уроне ядра и API – целью новшеств является тотальная оптимизация кода, а также его чистка от некоторых функций прошлых версий, ныне не используемых. Переписаны некоторые плагины и улучшен код системы меню.
Ускорена обработка языковых файлов, а в качестве формата хранения различных параметров и настроек выбран формат JSON, что в совокупности с оптимизацией кода и объектной конструкции памяти повышает производительность системы, делая фреймворк более гибким, что особенно важно в случае реализации сложных проектов с высокой посещаемостью. В результате проведённой работы вес дистрибутива удалось сократить ориентировочно на 30% по сравнению с Joomla! 1.5. Авторы Joomla! также припасли ряд вкусных конфет для разработчиков расширений, но об этом мы расскажем несколько позже.
Давайте рассмотрим подробнее новые возможности Joomla! 1.6.
Система Управления Доступом – ACL (Access Control System)
Система контроля прав доступа претерпела самые большие изменения. Реализация новой ACL позволяет администраторам сайта создавать новые группы пользователей, управлять правами доступа в группах, контролировать и назначать права доступа на определённые материалы, компоненты, а также назначать пользователю несколько разных групп, в т.ч. созданных самостоятельно!
Вложенные категории
Теперь более нет разделения на разделы и категории. В версии 1.6 остались только категории, понятия разделы более не существует. Категории имеют неограниченную древовидную вложенность, что позволит организовать материал любой иерархии – то, чего так не хватало во всех предыдущих версиях Joomla! с её двухуровневой системой вложенности.
Многоязычность и интернационализация
API программного ядра системы, начиная с версии 1.6, позволяет обеспечить полную поддержку международной кодировки UTF-8, что снимает последние ограничения в вопросе создания сайтов, имеющих материал на нескольких языках. Для создания многоязычных сайтов теперь достаточно стандартных средств, входящих в дистрибутив Joomla! И больше никаких проблем с кодировками.
Реализована поддержка т.н. RTL (Right-to-Left) языков - языков, использующих правостороннее написание (арабский, иврит и т.п.)
Изменения в SEO
При работе над версией 1.6 большое внимание было уделено взаимодействию с поисковыми системами. В этом направлении сделан целый ряд полезных усовершенствований:
- К заголовкам (title) страниц теперь автоматически добавляется название сайта;
- Алиасы страниц (имена, отображаемые в адресной строке) полностью поддерживают стандарт Unicode, благодаря чему можно создавать страницы с адресами на русском языке (пример: yoursite.ru/о-компании.html);
- Адреса страниц обрабатываются на уровне плагина, что упрощает интеграцию со сторонними расширениями для обеспечения ЧПУ;
- В дистрибутив включен компонент, позволяющий отслеживать все случаи обращения пользователей к несуществующим страницам сайта (ошибка 404) и перенаправлять их на правильные адреса.
Библиотека Mootools
Верные собственным традициям, разработчики по прежнему отдают предпочтение библиотеке Mootools для работы с JavaScript кодом. Поскольку Mootools 1.1 является давным давно устаревшей версией, уже не имеющей официальной документации в сети, разработчиками Joomla! было принято решение не отставать от мчащейся колесницы прогресса и перевести CMS на более свежие версии Mootools. При этом пользователям предоставить возможность выбрать какую из версий Mootools использовать в системе по умолчанию (1.2 или 1.3).
Авандгард вебмастеров, борящийся за ускорение и оптимизацию сайта, может хлопать в ладоши - теперь в лицевой части сайта фреймворк Mootools грузится тогда, когда нужно. Другими словами, библиотека подключается в том случае, если она используется каким-либо расширением. (в предыдущей версии Mootools подключалась по умолчанию, а это дополнительные 70 кб.)
Приверженцы jQuery могут также использовать эту библиотеку, однако подключить её нужно будет самостоятельно (об этом в специальной главе).
Широкие возможности API
Во избежание проблем с правами доступа к файлам и папкам при различных действиях, выполняемых пользователем или расширением, в фреймворк Joomla были интегрированы функции для работы с файлами через протокол FTP.
У разработчиков сторонних расширений появилась возможность контролировать процесс установки расширений посредством создания обработчиков для различных этапов установки. Теперь при установке расширения без каких-либо танцев с бубном можно точно определить, является ли текущая установка первой или это обновление уже установленного компонента. Появилась возможность выполнять произвольные действия (например проверки на совместимость расширений или наличие необходимых библиотек) еще до непосредственной установки расширения, но уже после того, как архив дистрибутива распакован.
Новые шаблоны
- Atomic - шаблон лицевой части сайта
- Beez2 - шаблон лицевой части сайта
- Bluestork (замена Khephri) - шаблон панели управления
- Hathor - шаблон панели управления
Гибкая система многоуровневого кэширования
Кэширование внедрено во все компоненты и модули, которые поддерживают такую возможность. Добавлен специальный плагин очистки файлов кэша, выполняющийся отдельно от Joomla (cron). Это очень полезный плагин, не позволяющий папке cache “распухать” до невероятных размеров.
Теперь компонент, отображающий список закэшированных элементов, берет массив из параметров ссылок и их типов для создания Cacheid. Подобное изменение повышает безопасность системы, так как предыдущая реализация кэширования сайта более была уязвимой, поскольку ссылки на объекты использовались целиком, что открывало дверь для DOS атак посредством применения случайных url параметров, добавленных к ссылке.
Кэширование внедрено в наиболее важные и частые вызовы фрейморка Joomla!
Юзабилити (англ. usability — дословно «возможность использования», «удобство пользования», термин из области эргономики). В профессиональной среде веб разработчиков обозначает удобство использования программы, интуитивно понятный графический интерфейс.
Графический интерфейс пользователя, GUI (от англ. Graphical user interface) - система средств, позволяющих пользователю взаимодействовать с компьютером, основанная на представлении всех доступных пользователю системных объектов и функций в виде графических компонентов (окон, кнопок, меню, списков и т. п.).
Фреймворк (англ. framework) — в информационных системах структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта. В его состав могут входить вспомогательные программы, библиотеки кода, язык сценариев и прочее.