Статьи Новости Контакты

05.02.2008
Валентин Развозжаев

Обзор OpenCMS. Часть вторая

обзор профессиональной системы управления контентом с открытым исходным кодом

OpenCMS – профессиональная система управления содержимым веб-сайтов и интранет-систем любой сложности от сайтов-презентаций до новостных порталов и корпоративных решений. Система написана на Java и может работать на различных серверах приложений Java (в частности, Tomcat), для хранения данных могут использоваться СУБД MySQL, Oracle, PostgreSQL или Microsoft SQL Server (начиная с версии 7.0.3 – также DB2 и HSQL).

Система создана немецкой компанией Alkacon и распространяется бесплатно по лицензии GNU LGPL.

В первой части обзора мы рассмотрели установку системы и рабочую среду OpenCMS, а сегодня поговорим о структуре проекта в OpenCMS и создадим небольшой тестовый проект.

Структура проекта в OpenCMS

Для начала нужно определить понятия шаблона, модуля и сайта.

Шаблон в контексте OpenCMS представляет собой обыкновенную JSP-страницу, которая содержит специальные теги для включения содержимого других страниц.

Вот простейший пример кода шаблона:

<%@ taglib prefix="cms" uri="http://www.opencms.org/taglib/cms" %>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title><cms:property name="Title" escapeHtml="true" /></title>

<meta HTTP-EQUIV="CONTENT-TYPE" CONTENT="text/html; CHARSET=<cms:property name="content-encoding" default="ISO-8859-1" />">

<link type= "text/css" href="<cms:link>../resources/mystyle.css</cms:link>">
</head>
<body>

<h2>My first template head</h2>

<!-- Main pagebody starts here -->

<cms:include element= «body»/>

<!--Main pagebody ends here -->

<h2>My first template foot</h2>

</body>
</html>

За исключением тегов <cms:...>, это обыкновенный HTML-код. На основе шаблонов строится веб-контент. Шаблоны входят в состав модулей.

Управление модулями

Модуль – набор файлов, реализующих определенный функционал. Модуль может реализовывать как целый сайт, так и отдельный элемент сайта (например, форум). Модули OpenCMS находятся в каталоге /system/modules.

Модуль — набор файлов, реализующих определенный функционал
Каждый модуль может содержать файлы следующих типов:
  • Шаблоны (подкаталог templates), о которых мы говорили выше.
  • XML-шаблоны с HTML-вставками для реализации тега <cms:body> (подкаталог default_bodies).
  • Классы (подкаталог classes) – бинарные файлы .class, к которым можно обращаться непосредственно из шаблонов; при добавлении файла класса для него автоматически создается иерархия каталогов по имени пакета (/system/modules/org.opencms.mymodule/classes/com/opencms/mymodule/). Когда модуль публикуется, то все содержимое этого каталога экспортируется в каталог WEB-INF/classes/ сервера приложений.
  • Библиотеки (подкаталог libs) – дополнительные библиотеки в виде архивов .jar; когда модуль публикуется, то все содержимое этого каталога экспортируется в каталог WEB-INF/lib/ сервера приложений.
  • Ресурсы (подкаталог resources) – изображения, скрипты JavaScript, таблицы стилей CSS и другой статический контент.
  • Элементы шаблонов (подкаталог elements) – элементы JSP-шаблонов: меню навигации, формы и т. д.

Предполагается, что для каждого веб-проекта создается свой собственный модуль или несколько модулей.

Для каждого проекта создается собственный модуль
Сайт – веб-содержимое проекта – html-страницы, построенные на основе шаблонов. Веб-содержимое находится в каталоге /sites/default.

Таким образом, каждый проект строится на основе модуля или нескольких модулей, расположенных в каталоге /system/modules/modulename, и веб-содержимого, расположенного в каталоге /sites/default/projectname.

Создание нового модуля

Проиллюстрируем это на простом примере. Начнем с создания модуля org.opencms.test. Для этого зайдем в раздел администратора и выберем пункт меню Module Actions ("Управление модулями") и затем New module ("Новый модуль"). В поле Package Name ("Имя пакета") нужно указать пакет модуля (в данном случае org.opencms.test), в поле Module Name ("Название модуля") – произвольное название. В поле Module Version ("Версия модуля") можно указать версию модуля (в OpenCMS версия модуля состоит из четырех цифр, например 1.2.3.4, и последняя из них увеличивается каждый раз, когда модуль изменяется или экспортируется). В секции Module Folders ("Каталоги модуля") можно выбрать необходимые подкаталоги модуля, которые будут созданы автоматически.

В дальнейшем для редактирования параметров модуля нужно щелкнуть левой кнопкой мыши на иконке слева от названия модуля и выбрать пункт Edit Module ("Редактировать модуль") контекстного меню.

Если модуль содержит классы и библиотеки, то его нужно экспортировать перед публикацией проекта
Пара слов о том, что такое экспорт модуля и зачем он нужен. Экспорт модуля – это запись в соответствующие каталоги сервера приложений файлов бинарных модулей (подкаталог classes) и библиотек (подкаталог lib). Для выбора файлов, которые нужно экспортировать, используется пункт меню Module exportpoints ("Точки экспорта модуля"). После выбора файлов нажмите на кнопку Export Module ("Экспортировать модуль").

Итак, модуль создан. Откройте каталог модуля (/system/modules/org.opencms.test) и создайте подкаталог templates, если его еще нет. Добавим в этот каталог новый шаблон. Для этого нажмите на кнопку New ("Создать") и выберите тип файла JSP. Укажите имя нового файла (например, index.jsp) и имя шаблона (например, TestTemplate). После этого откройте исходный код шаблона, выбрав пункт меню (Edit source code) в контекстном меню шаблона, и вставьте в редактор приведенный выше код. Сохраните файл.

Визуальный редактор

Мы создали файл шаблона для нашего проекта. Теперь нужно создать на его основе html-файл. Для этого в дереве каталогов выберите каталог /sites/default и создайте в нем подкаталог для нового проекта (например, test). Добавьте в этот каталог файл index.html. В следующем окошке выберите созданный ранее шаблон TestTemplate. Готово. Для просмотра страницы щелкните левой кнопкой на имени файла. Должна открыться страничка со стандартным шаблоном OpenCMS. Справа сверху от него расположена кнопка редактирования страницы (см. рисунок). Если щелкнуть на этой кнопке, откроется визуальный редактор, в котором страницу можно отредактировать.

Заключение

Итак, как мы могли убедиться, OpenCMS позволяет быстро, эффективно и с минимальными затратами разрабатывать и поддерживать интернет-ресурсы любой сложности. Ее преимущества — высокая продуктивность, удобство потребителя, независимость от платформы, повышенная надежность и гибкость решений, открытый исходный код и бесплатная лицензия – делают эту систему прекрасным решением для самых разных категорий пользователей.




Скоро на сайте

  • Wordpress

    Серия статей о плагинах к движку WordPrress
  • AJAX

    Проекты и продукты, ориентированные на AJAX
  • Новые сервисы Google

    Обзор новых сервисов Google
 

Copyright © 2003—2018 Все права защищены

При использовании материалов сайта ссылка на hostinfo.ru обязательна

  • хостинг от .masterhost
  • Rambler's Top100