Выпускная квалификационная работа "Модернизация сайта ПРИПИТ с использованием системы управления содержимым сайта (CMS)"
Введение В настоящее время, для разработки интернет-сайтов, широко доступны CMS (системы управления контентом) – программное обеспечение, которое позволяет публиковать и изменять опубликованную на сайте информацию самостоятельно, без привлечения разработчиков сайта. Благодаря возможности конструировать внешний вид страниц из заранее заготовленных дизайн-шаблонов, пользователи CMS (систем управления контентом) теперь меньше зависят от разработчиков их сайтов. Администратор CMS может расположить различные информационные блоки в рамках заданной страницы с помощью мыши, задать их размеры, цвет и прочие атрибуты и сохранить состояние страницы, чтобы пользователи сайта видели ее в заданном виде. Возможно оперативное обновление информации – информацию публикует сотрудник, владеющий информацией, без дополнительных посредников в виде технических специалистов. Предоставление дополнительных сервисов пользователю – часть сервисов – поиск, форумы, голосования и т.д., требуют интерактивного взаимодействия с пользователем. Они уже реализованы в рамках CMS.
Наиболее востребованная функциональность реализована в CMS и может быть сразу использована. При разработке полностью или частично используются готовые модули, которые уже прошли неоднократное тестирование. Так же CMS позволяют разделять данные и их представление, что позволяет изменять внешний вид сайта намного быстрее и с меньшими затратами, чем в случае со статическим сайтом.
Объект исследования данной работы – сайтостроение как информационная технология.
Предмет исследования данной работы – применение технологии CMS (системы управления содержимым сайта) для разработки сайта.
Цель данной работы: модернизация сайта ПРИПИТ с использованием системы управления содержанием сайта (CMS).
Задачи, решаемые в данной работе:
Обзор и сравнительный анализ возможностей и технологических основ различных CMS
Обзор и сравнительный анализ используемых технологий, содержания и дизайна сайтов ВУЗов, в том числе созданных на основе CMS
Исследование имеющегося содержания существующего сайта ПРИПИТ и информационных потребностей различных групп потенциальных посетителей сайта
Разработка дизайна сайта и варианта информационной структуры, рассчитанной на дифференцированный доступ пользователей к информации
Разработка системы регистрации и авторизации пользователей для дифференциации доступа к информации и по работе с ней
Информационное наполнения модернизированного на основе CMS сайта ПРИПИТ
1. Сайтостроение на основе CMS (системы управлением содержимым сайта) как информационная технология 1.1 Технологическая основа CMS Для того, чтобы детально рассматривать отдельные возможности CMS для создания и поддержки сайтов образовательных и коммерческих организаций и различия между ними, следует дать определение CMS и ее функциональности.
Система управления контентом – это программное обеспечение, которое позволяет публиковать и изменять опубликованную на сайте информацию самостоятельно, без привлечения разработчиков сайта. При этом подразумевается, что от пользователей такой системы не требуется специальных знаний технологий, отличающихся от обычно используемых в офисных процессах (текстовый редактор, интернет и т.п.). При этом не следует считать, что такая система не требует обучения персонала, но это обучение касается порядка работы в системе, а не изучение новых технологий. [1]
Большинство CMS можно разделить на back-office, т.е. инфраструктурную систему, обеспечивающую функциональность и хранение информации, и front-office, интерфейс с пользователем. В большинстве современных CMS back-office базируется на той или иной СУБД, может включать сервера приложений и портальное решение, а front-office имеет веб-интерфейс и допускает использование стандартных офисных пакетов редактирования документов (текстовые редакторы, электронные таблицы, средства создания презентаций, почтовые системы и т.п.). При этом вся функциональность, сложность разработки и администрирования сосредоточены в back-office, а пользовательские свойства в front-office.
Благодаря возможности конструировать внешний вид страниц из заранее заготовленных дизайн-шаблонов, пользователи CMS (систем управления контентом) теперь меньше зависят от разработчиков их сайтов. Администратор CMS может расположить различные информационные блоки в рамках заданной страницы с помощью мыши, задать их размеры, цвет и прочие атрибуты и сохранить состояние страницы, чтобы пользователи сайта видели ее в заданном виде. Однако еще большие преимущества администраторам CMS дает Drag&Drop при управлении содержанием сайта. В современной CMS для того, чтобы задать новое положение для документа в структуре или же для записи в списке, достаточно лишь «зацепить» эту позицию мышью и «перетащить» на новое место. Точно так же, как это делается с файлами в Проводнике Microsoft Windows. 1.2 Структура сайта, основанного на CMS В системе CMS присутствует два хранилища. В первом (обычно реляционная СУБД) хранятся все данные, которые публикуются на сайте. Во втором (обычно файловая система) хранятся элементы представления – шаблоны, графические изображения и т.д.
Кроме внешнего представления сайта, каким его видят все пользователи, есть как минимум два специализированных рабочих места.
Первое рабочее место – для разработчиков сайта. С его помощью они задают структуру сайта, структуру контента, определяют внешний вид сайта, настраивают шаблоны представления информации. Этот инструментарий обычно не полностью автоматизирован. Для настройки сайта разработчики частично работают через средства CMS, часть информации размещается напрямую.
Второе рабочее место – для владельцев сайта. Оно позволяет сотрудникам компании самостоятельно размещать информацию на сайте, без участия разработчиков. Менеджеры заказчика работают только через специализированное рабочее место.
В настоящее время большинство организаций имеет в том или ином виде собственный веб сайт. Гораздо меньшее число компаний имеет внутреннюю интранет систему. Большинство современных сайтов компаний созданы на основе статических страниц. В результате процесс размещения информации на таких сайтах скрыто от обычных пользователей. Вместе с тем, эта операция требует знания основ программирования и языка HTML. При этом вероятность ошибок, особенно для обычных пользователей весьма высока.
CMS предоставляет возможность оперативного обновления информации сотрудником – информацию публикует сотрудник, владеющий информацией, без дополнительных посредников в виде технических специалистов. Результатом является снижение стоимости поддержки – обновление информации производится самостоятельно, нет необходимости оплачивать труд собственного или внешнего web-мастера.
Так же в рамках CMS функционально реализованы многие сервисы – поиск, форумы, голосования и т.д., т.е. наиболее востребованная функциональность уже реализована в CMS и может быть сразу использована. При создании сайта на основе CMS полностью или частично используются готовые модули, которые уже прошли неоднократное тестирование. CMS разделяют данные и их представление, следовательно внешний вид сайта меняется с намного меньшими затратами, чем в случае со статическим сайтом.
Когда разработчики CMS заявляют о том, что после создания сайта в дальнейшем обновление информации может осуществлять нетехническими специалистами, это означает, что имеется определенный web-интерфейс, который позволяет размещать информацию, используя определенные визуальные инструменты редактирования, а также импортировать информацию из офисных документов. Под Web-интерфейсом понимается специализированное рабочее место, доступное через интернет, с использованием стандартной программы просмотра Интернет – Internet Explorer.
Ключевыми моментами является то, что возможно визуальное редактирование текста – есть WYSIWYG (What You See Is What You Get) – редактор, позволяющий размещать текст и выполнять простейшее форматирование документа, без наличия специальных технических знаний.
Возможно одновременно с текстом размещать и различные изображения – графики, диаграммы и т.д.
Возможен перенос данных из офисных приложений.
Поддержка визуального редактирования данных во всех системах реализована практически одинаково.
В состав Microsoft Internet Explorer входит элемент управления, который позволяет выполнять подобное редактирование. Разработчики осуществляют вызов этого элемента управления и далее пользуются результатами его труда.
Поскольку используются встроенные возможности Microsoft Internet Explorer (MSIE), то некоторые системы управления накладывают ограничение – для публикации информации желательно использовать Internet Explorer. При этом, поскольку в клиентской части визуальное редактирование не требуется, на него никаких ограничений не накладывается, и пользователи вашего сайта могут использовать любую программу просмотра Интернет-страниц.
Достаточно часто возникает необходимость, одновременно с текстом разместить и изображения – картинку, график, диаграмму. Причем разместить не в фиксированном месте страницы – в начале или в конце, а непосредственно в тексте, рядом с определенным описанием.
Описанный в предыдущем разделе редактор не владеет информацией о том, где и каким образом хранятся изображения. Поэтому он позволяет размещать в произвольном месте текста ссылку на изображение.
При этом необходимо указать адрес на сервере (URL), где находится изображение. Как изображение попадет на сервер – находится вне компетенции данного редактора.
Разработчик может модифицировать данный функционал, позволив пользователю изначально разместить изображения либо в общую библиотеку, либо привязать их к конкретному документу, а далее уже при редактировании выбирать, какое изображение включить.
В случае использования общей библиотеки возможно повторное использование одних и тех же изображений, однако, при большом их количестве затруднен поиск, а также удаление ненужных. В случае связывания изображений с конкретным документом, повторного использования нет (для системы одно и то же изображение, присоединенное к двум документам, будет двумя разными), но это упрощает выбор и гарантирует автоматическое удаление изображений одновременно с самим документом.
Системы управления контентом позволяют нетехническому специалисту публиковать информацию на сайте и выполнять простейшие операции по форматированию текста. Выделить текст курсивом на сайте ничем не сложнее, чем выполнить аналогичную операцию в Microsoft Word. И данная возможность во всех системах реализована практически одинаково.
1.3 Разделение данных и их представления Прежде всего, договоримся об используемой терминологии в применении к CMS:
Документ (статья) – единица публикуемой информации. Документом может быть одного из типов документов, используемых на сайте – новость, статья, товар и т.д.
Атрибут – один из признаков документа. Каждый документ обладает набором признаков – атрибутов. Например, для новости атрибутами являются название, автор, аннотация, текст, дата создания.
Тип документа – обобщенное понятие документов, обладающих одинаковыми характеристиками. Например, «новость». Подразумевается, что ранее было описано, какими атрибутами обладают документы типа «новость» и далее создаем документы этого типа.
Структурированные данные – представление данных, при котором каждый атрибут документа представлен отдельно и с ним могут выполняться независимые операции.
Как было отмечено ранее, одним из преимуществ использования CMS является структурирование информации и разделение содержимого и его представления (данных и дизайна):
Разделение содержимого и его представления предоставляет гарантию сохранения внешнего вида – при разделении информации и ее представления оператор вводит значение каждого атрибута в отдельное поле и может быть уверен, что оно отобразиться в нужном месте, как определено в настройках отображения. Например, мы хотим, чтобы имя автора статьи всегда отображалось под названием, было выровнено вправо и выделено жирным шрифтом. Если оператор вводит только значение, то он уверен, что данные будут отображены где нужно и как нужно. Иначе он обязан помнить о принятом стиле и вручную выполнять данное форматирование.
Разделение содержимого и его представления предоставляет возможность применения дополнительного сервиса – когда атрибуты хранятся отдельно, с ними можно выполнять дополнительные операции. Например, если у нас автор статьи хранится как отдельное поле, то очень легко просмотреть все статьи данного автора. Если имя автора хранится в тексте статьи, то формирование списка статей автора является отдельной ручной операцией.
Разделение содержимого и его представления предоставляет возможность интеграции с внешними системами – быстрый экспорт новостей или товаров для обмена с другими ресурсами – сайтами, внутренними системами и т.д.
Разделение содержимого и его представления позволяет снизить стоимость смены дизайна – для изменения внешнего вида сайта нет необходимости в ручной переработке каждого документа. Изменяются только шаблоны отображения и вся информация может быть быстро представлена в другом виде.
Разделение содержимого и его представления предоставляет возможность использования одной информации в разных дизайнах – это особенно используется последнее время при создании информационных систем холдингов, когда вся информация хранится в центральной системе, но может быть показана, как на сайте холдинга, так и на сайте отдельного предприятия, но в разных дизайнах.
Исходя из вышесказанного сформулируем основные задачи, которые решает CMS (система управления содержимым сайта):
Публикация информации нетехническим специалистом.
Разделение данных и их представления.
Организация совместной работы при публикации информации.
Поисковые возможности.
Дополнительные сервисы – форумы, голосования, анкеты и т.д.
1.4 Существующие решения CMS CMS – один из наиболее конкурентных рынков приложений сегодня. В миру существует несколько тысяч или десятков тысяч подобных приложений. Выделим основные классы таких приложений:
Системы с закрытым исходным кодом
Системы с открытым исходным кодом
Существует множество приложений с закрытым исходным кодом от крупных производителей, в основном предназначенных для крупных предприятий и организаций.
Наиболее известными приложениями такого класса являются Microsoft Content Management Server, Documentum, Plumtree Portal, IBM WebSphere Portal.
Стоимость внедрения проектов на базе данных решений высока. Поэтому сфера их применения узкая и ограничивается в основном созданием интранет-решений для крупных предприятий.
Другим достаточно большим классом являются системы с открытым исходным кодом (Open Source). Преимуществами таких систем является доступность, наличие исходного кода, возможность локализации. Однако их использование связано со следующими проблемами:
Отсутствие техподдержки – системы предлагаются в основном без технической поддержки и все проблемы, связанные с использованием таких систем разработчик должен решать самостоятельно.
Узкая сфера применения – чаще всего продукт явился побочным результатом решения одной из собственных задач.
Например, разработчики создали сайт-сообщество для общения между собой. И далее решение, на котором работает этот сайт, предлагается как CMS.
Очевидно, что подобное решение может хорошо решать задачи создания такого же рода сайтов, но может быть совершенно неприспособленно для решения задач другого плана (электронная коммерция, b2b и т.д.)
Наиболее известными примерами таких систем являются OpenCMS, PhpNuke, PostNuke, Portal Starter Kit и т.д. 1.5 Классификация CMS За несколько лет системы управления содержимым веб-ресурсов значительно усовершенствовались. Классифицируем CMS по областям применения:
Порталы. Используются для информационных ресурсов, основной целью ставят максимальное упрощение публикации статей и новостей. Могут включать в себя нижеперечисленные типы CMS как самостоятельные модули. Наиболее известные представители данного класса: AngelineCMS, Bes-cms, CoolPHP, CPG-Nuke, вебZE, Xaraya, xNuke, XOOPS и др.
Движки без SQL. Это ответвление в разработке CMS развито относительно слабо, так как использование в качестве хранилища информации файлов вместо таблиц базы данных сопряжено с множеством труднорешаемых проблем. Достоинство этих CMS – в доступности для модификации контента и возможности размещения на бесплатных хостингах. Есть несколько реализаций данной идеи: Cute News, DeeLight CMS, Progressive, SAPID.
Блог. Происходит от англ. weblog. Русский термин – «сетевой дневник» – это сайт, на котором находятся личные заметки автора. В основном заметками являются ссылки на сайты, которые кажутся владельцу ресурса наиболее интересными, и комментарии к ним. Блог может содержать не только ссылки, но и просто электронный дневник пользователя. К этой категории можно отнести следующие CMS: b2evolution, bBlog, BLOG:CMS, MyPHPblog, Nucleus, pLog, pMachine Free, Serendipity, Textpattern, WordPress, XHP.
Форумы – это инструмент для общения на сайте. Сообщения в форуме в чем-то похожи на почтовые – каждое из них имеет автора, тему и содержание. Но для того, чтобы отправить сообщение в форум, не нужна никакая дополнительная программа – нужно просто заполнить соответствующую форму на сайте. Принципиальное свойство форума заключается в том, что сообщения в нем объединены в треды (от англ. thread – «нить»). Когда вы отвечаете в форуме на чье-то сообщение, ваш ответ будет «привязан» к исходному сообщению. К форумам, достойным внимания, можно причислить FUDforum, openBB, Phorum, phpBB, PunBB, W-Agora, XMB, Zorum, ExBB, IPB, vBulletin.
Магазины. К магазинам отнесем любой сайт, с которого можно заказать какой-либо товар. В данном случае в определение «товара» может входить абсолютно все, включая время доступа в Интернет, минуты сотовой связи. CMS, позволяющие создать виртуальный магазин: MyMarket, osc2nuke, osCommerce, Zen Cart.
Групповая работа (Groupware) – комплекс программного обеспечения, позволяющий организовать работу предприятия, отношения с клиентами и заказчиками в Интернете. Обычно представляет собой полностью или частично закрытую часть сайта с возможностью отслеживать сроки выполнения поставленных задач, распределение ролей и временных нормативов. Иногда можно выносить вопросы на обсуждения и решения вышестоящего руководства. Как правило, пользуются следующими CMS: dotProject, eGroupWare, MoreGroupware, phpCollab, PHProjekt.
Обучение (e-Learning) – дистанционная форма обучения с использованием Интернета. Онлайновая форма обучения уже не один год является «маяком», на который ориентируются образовательные системы разных стран мира. Главным стратегическим направлением является быстрое обновление знаний и эффективное использование информации. Таких систем немного: ATutor, Claroline, LogiCampus, Moodle, Segue, Site@School.
Базы знаний (KnowledgeBase) позволяют накапливать опыт множества разработчиков. Каждая такая база знаний имеет свою специфичную структуру, поэтому никаких общих решений на данный момент не предложено. Самая известная из существующих баз знаний – RFC [Request For Comment] – запрос на комментирование. Обычно описание работы с каким-либо протоколом и т.п.
Биллинг (Billing). Программное обеспечение, позволяющее провайдерам и реселлерам работать со счетами клиентов. Такие CMS являются неотъемлемой частью крупной системы учета потребления услуг пользователями. Задача же CMS данной категории – в отображении информации о предоставленных услугах, подключении новых услуг, изменении текущих параметров, приеме платежей и т.п. Часто такие системы пишутся своими силами. Для примера можно привести биллинг-панель RuWEB. В ней создано огромное количество тарифных планов, позволяющих платить только за те параметры хостинга (трафик, место на жестком диске, MySQL, PHP, Perl…), которые используются в полном объеме.
Администраторская панель хостинга. К этому классу относятся такие продукты, как Direct Admin и Control Panel.
1.6 Модели представления данных CMS Объектная модель представления данных – оперирует такими понятиями, как класс и объект. Классы определяют структуру данных и представляют собой набор атрибутов (текстовая строка, целое число, изображение и т.д.). Представители класса (объекты) имеют определенную структуру и могут содержать другие объекты, образуя произвольную иерархическую структуру. Объекты могут наследовать свойства, содержание и поведение объектов, которые в них содержатся. Примерами объектов служат документы, картинки, папки и учетные записи пользователей. Класс контента не хранит в себе реальных данных – такую информацию содержат объекты (экземпляры класса). Определив один класс, можно создать множество его представителей (контент объектов).
В CMS-системах данные обычно хранятся в реляционной базе данных. В этом случае объектная модель данных отображается на реляционную модель базы данных. [4] Связи между объектами создаются, например, с помощью таблиц вида id, from_object, from_object_version, to_object.
Как правило, системы, основанные на объектно-ориентированной модели данных, наиболее функциональные, гибкие, но, в то же время, и наиболее сложные.
Сетевая модель представления данных в CMS – опирается на теорию графов: структура информации представляется в виде узлов с помеченными связями между ними. Фундаментом системы может служить как сетевая, так и традиционная реляционная СУБД, на которую отображена сетевая модель описания данных. В реляционных таблицах хранится информация об узлах, их атрибутах и связях между ними. Связь отличается от атрибута тем, что в ней хранится ссылка на другой узел, а в атрибуте – собственно значение. Для извлечения данных из направленного графа обычно используются рекурсивные процедуры обработки, такие как составление списков узлов, определение атрибутов узла по атрибутам родителя и др. Пример системы такого типа – Communiware. Эта система представляет собой инструментарий нового поколения для создания вертикальных Web-сайтов и порталов.
Модульная модель представления данных в CMS – в подобных системах контент разделен на отдельные модули по типам содержимого. Структура данных зависит от модуля, и вся работа с контентом сосредоточена внутри модуля. Модули независимы и полностью отвечают за работу с документами данного типа. Документы описываются с помощью фиксированного набора характеристик – типы документов строго фиксированы. Расширять функциональность можно за счет добавления нового модуля, замены или редактирования существующего кода. Чаще всего нет никакой системы связей между документами разных модулей и между документами одного и того же модуля. Стандартный набор типов контента (модулей) таков: ссылки, статьи, файлы, новости, разделы, форум. Несмотря на очевидную ограниченность модели данных, системы на ее основе наиболее популярны благодаря своей простоте. В качестве примера можно упомянуть такие системы, как PHPNuke, Joomla! и Xoops. У модульных CMS-систем есть общий недостаток – строго фиксированная в пределах модуля структура содержимого. Однако для расширения их функциональности можно воспользоваться внешними модулями. Очевидное преимущество модульных систем – возможность получения почти полностью готового к использованию портала за короткое время. 1.7 Свободно распространяемые CMS-системы В настоящее время существует множество свободно распространяемых CMS-систем. Перечислим некоторые их них: UMI.CMS Free, XOOPS, CuteNews, CuteSITE, Danneo RCMS, DeeLight CMS, eZ publish, DinamikCMS, DotNetNuke, Drupal, eProject Lite, ETOMITE CMS, E-Xoopport, eZ Publish, Е107, Fly. Colibry, Gekko, GuppY, HostCMS. Free, Intellect Board, Irokez CM, Joomla! и т.д.
Исследуем следующие продукты, отобранные по частоте и качеству упоминания в поисковых системах Google.com и Yandex.ru, на специализированных проектах (www.cmslist.ru, www.cmsinfo.ws, www.cmsobzor.ru), а так же согласно данных рейтингов CMS 1 2: Данные системы являются CMS-системами с модульной моделью представления данных. В подобных системах содержимое разделено на отдельные модули по типам содержимого. Структура данных зависит от модуля, и вся работа с содержимым сосредоточена внутри модуля. Модули независимы и полностью отвечают за работу с документами данного типа. Документы описываются с помощью фиксированного набора характеристик – типы документов строго фиксированы. Расширять функциональность можно за счет добавления нового модуля, замены или редактирования существующего кода. Чаще всего нет никакой системы связей между документами разных модулей и между документами одного и того же модуля. Стандартный набор типов содержимого модулей таков: ссылки, статьи, файлы, новости, разделы, форум.
Несмотря на очевидную ограниченность модульной модели представления данных, системы на ее основе наиболее популярны благодаря своей простоте.
У модульных CMS-систем есть недостаток – строго фиксированная в пределах модуля структура содержимого. Однако для расширения их функциональности можно воспользоваться внешними модулями. Очевидное преимущество этих систем – возможность получения почти полностью готового к использованию портала за короткое время. 1.7.1 CMS eZ publish
EZ publish – полностью объектно-ориентированная система с двойной лицензией – профессиональной коммерческой и свободной.
Как правило, первое впечатление о любой CMS складывается на этапе инсталляции. eZ publish в этом плане конкурентоспособна – на этапе инсталляции присутствует мультиязычность (русский язык есть), а очень удобный и продуманный пошаговый инсталлятор позволяет без особых осложнений установить систему на любой хостинг.
EZ publish имеет возможность устанавливаться сразу в настроенной конфигурации, соответствуя предназначению сайта. Система может покрыть почти все потребности – среди конфигураций новостной сайт, и корпоративный портал, интернет-магазин, блог, форум, галерея изображений и интранет-портал. Выбор конфигурации происходит через красивое графическое меню с уменьшенными графическими изображениями первой страницы будущего сайта, правда, они не сильно различаются внешне, только меню и цветовая гамма.
Cистема построена по модульному принципу, и мы никак не ограничены заранее подобранными конфигурациями, в процессе установки инсталлятор поможет выбрать и установить все необходимые модули. Набор модулей отражает, функциональность типовых конфигураций – блог, каталог продукции, интернет-магазин, медиакаталог. Недостатки инсталляции – иногда необходимо вручную выставлять кодировки базы данных и сайта, который может требовать koi8-r, а MySQL выдает кодировку koi8r (без дефиса!). Лучше всего использовать универсальную UTF-8, иначе могут быть сложности в установке.
После установки демонстрационный сайт не производит сильного впечатления, в Xaraya или Mambo он куда привлекательнее. Хотя это не самый важный показатель, а вот панель администрирования (рис. 1.3) сайта очень хорошо выглядит и удобна для работы. Хотя сложность компоновки страниц дает свои результаты – в некоторых браузерах наблюдается «разъезд» блоков, что ухудшает навигацию.
На фоне мультимедийной направленности выглядит странным отсутствие встроенного визуального редактора для создания контента, хотя все другие системы, даже начального уровня, его имеют. Отлично реализована система разграничения прав и проверки материалов перед публикацией – реализуется обычный издательский цикл по работе над материалом.
Удачно реализован механизм шаблонов для настройки внешнего вида сайта, что позволяет легко создавать дизайн даже непрофессиональному пользователю. Ядро eZ publish берет на себя все работы по генерации печатных версий страниц (применяется экспорт в PDF), а также поддерживает RSS-экспорт.
Встроенные модули каталога и магазина реализуют только базовые функции, интегрирована поддержка только экзотической для нас платежной системы PayPal. Как добавочная функция для сайта такой магазин с натяжкой, но можно использовать, но как основной элемент – нет. Тут скорее подойдет что-то специальное, заточенное именно на электронную коммерцию решение, к примеру osCommerce.
Как резюме можно сказать, что отличные способности по работе с мультимедийным содержимым позволяют рекомендовать ее для построения каталогов и библиотек, магазинов для специфических немассовых товаров. Для серьезных контентных проектов система мало парименима из-за отсутствия визуального редактора и некоторых огрехов в реализации административного интерфейса. 1.7.2 Характеристики и элементы сайта на основе CMS eZ publish
Рассмотрим коммерческий сайт, построенный на основе eZ publish – http://electro.owimextrade.ru. Данный сайт представляет из себя представительсий сайт и Internet-магазин компании представляющей на рынке электротехническую продукцию.
Система eZ Publish предназначена также и для создания и управления содержимым Internet-магазина, новостного сайта, фотогалереи или форума.
На данном сайте реализованы функции новостного сайта и Internet-магазина. Так же на сайте реализована возможность регистрации пользователя и выделение ему соответствующих прав в системе. Эта функция позволяет более полно реализовать работу с клиентами, осуществлять их дифференциацию (посетители – партнеры). Каждому пользователю системы может быть приписана своя роль, в соответствии с которой он сможет выполнять определенные действия. Соответственно посетителей можно объединять в группы с соответствующими правами. В eZ Publish весь контент сайта представляется в виде дерева узлов (узлы – это инкапсуляции контент-объектов).
Упорядочивание контента внутри дерева производится с помощью контейнеров (папок), под которые помещаются соответствующие объекты (как в файловой системе). Для задания местоположения объекта (определения узлов, которые с ним ассоциируются) используется свойство «location». С его помощью при создании или редактировании объекта можно определить, где дополнительно будет отображаться объект кроме места его создания. В добавлении к иерархической структуре, дерево контент-узлов может быть разделено на логические разделы (секции).
ЕZ Publish предлагает использовать HTML для разметки документов. Механизм каталогизации eZ Publish кажется более функциональным и развитым, но сложным для понимания. Применение же для этих целей категорий, как в остальных системах, гораздо более привычно и понятно, но не позволяет решить, например, проблему отображения документа одновременно в двух категориях.
В eZ Publish реализована поддержка национальных алфавитов. Каждая версия контента может существовать на разных языках, но при работе с русским языком порой возникают небольшие проблемы. Дело в том, что в коде этих систем прописана кодировка ISO-8859–1, и для создания документов на русском языке ее приходится менять на KOI8-R или WIN-1251.
Реальный контент eZ Publish, который хранится внутри контент-объектов, может существовать в одной или нескольких версиях. Каждый раз, когда контент редактируется, создается его новая версия, а старая остается нетронутой. Эта система версий позволяет пользователям возвращать / отменять изменения, а чтобы предотвратить переполнение базы данных старыми неиспользуемыми версиями, администратор может установить ограничение на количество версий для контент-класса.
Версия документа в eZ Publish описывается с помощью следующих характеристик: номер версии, статус документа (черновик, опубликованный, архивный), язык, создатель, дата изменения. Автоматически контролируется авторство документов: нельзя редактировать чужие документы, можно только создавать их копии и редактировать их. Контролируется и статус документа; несколько версий документа нельзя опубликовать одновременно, поскольку статус опубликованной имеет только одна из них.
Существует возможность создавать для разных языков разные версии документа. Документы со статусом «архивные» нельзя редактировать и публиковать (для редактирования создается их копия – черновик).
Так же данная система позволяет реализовать мультиязычность. На этом сайте можно выбрать язык сайта из двух доступных: русского или английского. 1.7.3 CMS XOOPS
Рассмотрим еще дну из самых популярных на данный момент CMS – систему XOOPS.
Название системы является аббревиатурой от Extensible Object Oriented Portal System, что значит: расширяемая объектно-ориентированная портальная система. Несмотря на громкое название, она может служить как основа для создания не только крупных порталов, но и небольших и средних сайтов. XOOPS выпущена в соответствии с лицензией GNU (GPL) – это значит, что она бесплатна для использования и изменения, если вы соблюдаете положения лицензии.
Система обладает гибкой структурой благодаря своей модульной системе построения. Фактически существует основной модуль System, который отвечает за администрирование и выполняет технические функции, а все прочие модули – новости, форум, статьи и так далее – подключаются отдельно. Это позволяет добиться нужной структуры проекта, а значит, построить любой сайт – от большого корпоративного портала до личного дневника или сайта с семейным фотоархивом. Особо хочется отметить продуманность управления модулями. Например, для подключения нового модуля достаточно скопировать его на сервер в папку modules, а затем в интерфейсе администратора поставить галочку напротив его названия.
Система обладает широким набором настроек. Тем не менее, в дистрибутиве чаще всего уже все настроено и менять ничего не надо, настройки довольно грамотно сгруппированы в разделах меню, а так же все настройки тщательно прокомментированы. Система полностью русифицирована, файлы русификации доступны на сайте системы.
В стандартной комплектации XOOPS поддерживает персонализацию. Помимо того, что посетитель сайта может зарегистрироваться и получить свой профиль пользователя, ему открываются возможности по настройке сайта под себя с возможностью смены темы оформления и настроек форума. Зарегистрированный пользователь может оставлять комментарии, получать уведомления, писать и получать личные сообщения от других участников системы, участвовать в рейтингах. Все это может способствовать формированию сообщества сайта, его постоянной аудитории.
Для администратора такая персонализация открывает широкие возможности по управлению правами доступа для пользователей. Например, можно их разбить на несколько групп и для каждой установить различные уровни доступа: себе оставить полный доступ, модераторам – доступ в администрирование форума, зарегистрированным пользователям дать разрешение читать все разделы сайта и писать сообщения без предварительной модерации, а гостям оставить только общедоступные разделы сайта. Из панели управления можно посылать сообщения как отдельным пользователям лично, так и целым группам.
Вся система построена на шаблонах, каждый из которых доступен для редактирования. Из одного или нескольких шаблонов составляются блоки. Из них, как из кирпичиков, собирается каждая страница. Такая дискретность позволяет управлять размещением каждого элемента, включать или выключать его видимость. Поняв систему, можно настроить систему так, как необходимо.
Все оформление, как и положено, вынесено в CSS и объединено в так называемые темы оформления. Одна тема может быть заменена на другую прямо на лету. Если администратор дал права, то даже рядовой пользователь может выбрать себе из списка доступных тему, подключить ее и пользоваться сайтом в выбранном дизайне.
Существуют готовые темы для XOOPS. Они, как правило, бесплатны. Установка элементарна – достаточно просто скопировать папку темы на ваш сервер. Можно создать свой дизайн. Этот процесс не сложнее, чем для других CMS. Надо прочитать небольшой файл помощи с официального сайта и разметить ваш код страницы определенным образом.
Существует обширное сообщество пользователей XOOPS, насчитывающее десятки тысяч пользователей со всего мира. На официальном сайте системы есть раздел модулей, библиотека тем, сборник документации и раздел для разработчиков. Есть также и русское сообщество со своим собственным русскоязычным форумом и переводами документации и FAQ.
Недостатки системы:
Сложная система чтобы разобраться, что и как работает, нужно затратить уйму времени.
Повышенная нагрузка на сервер и, как следствие, не высокая скорость работы. В системе существует встроенная система кеширования и оптимизации работы модулей, но она не всегда помогает снизить нагрузку на сервер. Низкая скорость генерации страниц.
Потенциальная угроза взлома, хотя код и пишут опытные программисты, и все ошибки оперативно исправляются патчами. Система очень популярно, следовательно для нее все время появляются новые способы взлома. Возможно появление новых эксплойтов. К сожалению, этот недостаток применим ко многим популярным CMS. 1.7.4. Характеристики и элементы сайта на основе CMS XOOPS
Рассмотрим сайт, построенный на основе XOOPS http://www.museum.murom.ru. Данный сайт представляет из себя сайт Муромского историко-художественного музея. Выполняет функции новостного сайта, фотогалереи а так же информационного сайта о городе Муром.
На главной странице сайта можно перейти на следующие страницы: музей (здесь дана информация о музее), новости, фотогалерея, гостевая книга, партнеры, карта сайта. Так же доступны с главной страницы следующие разделы: про Музей, про Муром.
В системе, использованной для построения данного сайта, все типы контента строго фиксированы. В Xoops применяются системы категорий, но поскольку эти продукт построен по модульному принципу, наличие или отсутствие системы категорий зависит от модуля.
В системе Xoops поддержка русского языка вполне удовлетворительна, но в сами эти системы поддержка многоязычности не входит. Русскоязычному пользователю удобнее работать с Xoops, но надо подготовиться к тому, что с появлением новых, непереведенных, модулей в системе будут возникать слова на английском языке.
В системах Xoops нет общей системы категорий и унифицированного способа описания документов. Описание зависит от модуля (тип контента), к которому принадлежит документ. Но таких понятий, как версия документа, нет.
В Xoops не применяется и понятие статуса документа, но некоторые документы (в зависимости от модуля) можно заносить в архив. В целом описание документов в Xoops недостаточно полное и не удовлетворяет даже основам стандарта Dublin Core (один из наиболее распространенных наборов элементов для описания структуры и смысла документов, который создается уже в течение нескольких лет международной группой The Dublin Core Initiative, dublincore.org).
Таким образом, для этих систем «отрезан» один из путей решения проблем совместного и повторного использования контента, организации распределенных хранилищ данных. 1.7.5 CMS Joomla
Joomla! бесплатна и выпущена по лицензии программ с открытым исходным кодом – GNU/General Public License v 2.0. Joomla! не сложна в обращении, т. к. была разработана для широкой публики, спроектирована для работы с другим открытым ПО – программным обеспечением типа PHP, MySQL, и Apache, не требует от администратора знаний HTML для управления сайтом.
В первую очередь Joomla! – это инструмент для создания сайтов, данная система строит каждую страницу из базы данных, когда посетитель запрашивает ее. В Joomla! можно изменять контент из панели управления, прямо в браузере.
Joomla! предлагает три уровня организации контента: разделы, категории и статьи. Их иерархия выглядит примерно так:
|