Резина Н.М. (nad@imach.uran.ru) - Институт машиноведения УрО РАН, г. Екатеринбург, Шакиров Р.Н. (raul@imach.uran.ru) - Институт машиноведения УрО РАН, г. Екатеринбург, кандидат технических наук | |
Ключевые слова: netcat, разработка сайтов, веб-дизайн, веб-программирование, cистема управления контентом |
|
Keywords: NetCat, site development, web design, web programming, Content Managements Systems |
|
|
В данной статье под CMS будем понимать инструментальную систему, предназначенную для разработки, наполнения и сопровождения сайтов с динамическим содержимым, хранящимся в реляционной или объектной БД; обеспечивающую интерфейс разработчика и редактора сайта (контент-менеджера) в стиле WYSIWYG (What You See Is What You Get); являющуюся самодостаточной, то есть не испытывающей необходимости в систематическом применении нижележащих технологий – модулей веб-сервера, языков веб-программирования и управления БД. Многие CMS (например Joomla!) рассчитаны на применение сайтов непрограммирующими разработчиками. Такие CMS называют системами-сборниками, так как содержат множество готовых настраиваемых модулей для создания различных веб-страниц. В отличие от систем-сборников системы-конструкторы в большей степени ориентированы на программирующего разработчика. Готовых модулей в них меньше или вообще нет, но зато имеется продуманный программный интерфейс (API) для самостоятельной разработки или адаптации различных компонент сайта. Если система-конструктор применяется профессиональным разработчиком, то она значительно (на 1–2 порядка) сокращает объем веб-программирования за счет встроенной в систему реализации рутинных задач. Очевидные концептуальные преимущества CMS частично нивелируются проблемой их правильного выбора. На рынке существуют сотни платных и бесплатных CMS, которые могут иметь ограниченный срок активного существования, плохую техническую поддержку и большое число ошибок с тенденцией к накоплению. Особенно это касается бесплатных CMS, в том числе таких некогда популярных, как PostNuke и Mamba. Поэтому веб-студии склоняются к применению платных CMS (http://www.romver.ru/services/ services.php?razdel=255). По данным каталога CMS (http://www.cmsmagazine.ru/catalogue/) за 2009–2010 годы, более 1000 внедрений было у CMS NetCat, 1С-Битрикс, TYPO3 free, HostCMS, UMI.CMS, AMIRO.CMS, Joomla! Free. Эти же системы сохранили лидирующие позиции и в 2011 году. В число семи лидеров рейтинга CMS попали только две бесплатные системы: TYPO3 и Joomla! (Joomla! имела бы лучшую позицию, если бы рейтинг учитывал непрофессиональных разработчиков). Пять позиций занимают платные CMS отечественной разработки. Из них три – Host, UMI и Amiro – имеют бесплатные редакции с ограниченными возможностями, а лидеры рейтинга – NetCat и 1С-Битрикс – только платные редакции различной стоимости. Остановимся на внедрении CMS NetCat. Особенности и функции CMS NetCat Система управления сайтами NetCat основана на технологии Apache+PHP+MySQL, является одной из ведущих CMS на российском рынке и рассчитана на использование для разработки следующих видов сайтов: корпоративные представительства; интернет-серверы портального типа; библиотеки данных, файлы-архивы; интернет-издания, СМИ; электронные магазины и прочее, в том числе сложные интерактивные веб-системы. Поставляемая система NetCat включает компоненты для разработки типовых страниц, в их числе новости, статьи, фотогалерея, адреса, выполненные проекты, контакты, отзывы, вакансии, персоналии, резюме, заявка, письмо, гостевая книга. Предоставляются возможности параметрической настройки компонент, но весьма ограниченные. Компоненты рассматриваются не как готовые к применению программные модули, а как заготовки, которые разработчики сайтов подгоняют под свои требования. Для этого надо уметь программировать на PHP и знать правила составления запросов к БД. Вариант, когда компоненты не перепрограммируются, а только настраиваются, подходит лишь для простых сайтов. Разработчик может создавать и собственные компоненты с произвольным функционалом. Для этого в до- кументации NetCat декларируется программный интерфейс (API), который поддерживается при переходе к новым версиям системы NetCat по принципу обратной совместимости. То есть NetCat обладает свойствами системы-конструктора и чаще всего применяется именно в этом качестве. Дополнительный функционал реализован в модулях календарь, блог и сообщество, облако тегов, голосование, форум, подписки и рассылки, поиск по сайту и др., которые расширяют возможности ядра системы и устанавливают дополнительные компоненты. При необходимости разработчик может доработать модуль или создать собственный. При любом режиме разработки сайта его заполнение информацией выполняется без программирования при помощи веб-форм (это отличительная особенность всех сайтов с динамическим содержимым). В прежних версиях NetCat возможности по заполнению сайта предоставлялись только редакторам системы через специальный интерфейс редактирования. Внешние посетители сайта, не имеющие доступа к интерфейсу редактирования, могли только добавлять данные, что ограничивало социальные возможности сайтов. Функционал редактирования и комментирования материалов появился в 2009 году с выпуском версии 3.5. В систему был добавлен модуль кэширования, позволяющий в несколько раз сократить нагрузку на процессор хост-системы. В версии 4.1 введена поддержка международной кодировки UTF-8 (Unicode) вместо устаревающих кодовых страниц. Стоимость NetCat зависит от входящего в нее набора модулей. Базовые модули – календарь, кэширование, защита форм – картинкой входят во все редакции системы. Полноценное ядро с открытым исходным кодом, поддержкой иностранных языков и возможностью установки дополнительных модулей поставляется, начиная с редакции Standard стоимостью 5820 рублей. Регистрация посетителей, подписка и комментирование возможны, начиная с редакции Corporate стоимостью 16900 рублей. Техническая поддержка, включая закачку и автоматическую установку обновлений, предоставляется сроком на один год, стоимость ее продления еще на год составляет 40 % от стоимости редакции. Фактор стоимости системы смягчается значительными дилерскими скидками от 20 до 50 %. При появлении брешей в системе безопасности возможен несанкционированный доступ к сайтам системы NetCat, поэтому обновления предоставляются бесплатно для всех актуальных на данный момент версий системы. При установке обновлений функциональность разработанных на NetCat сайтов не утрачивается, так как API обладает обратной совместимостью. Процесс разработки и заполнения сайта в CMS NetCat На одной лицензионной копии NetCat можно создать произвольное количество сайтов. Каждый сайт представляется как дерево разделов, которые выводятся в виде страниц сайта. Оформление сайта. Каждая страница сайта представляется в виде макета дизайна, состоящего из хедера, футера и шаблонов вывода навигации. Макет дизайна создается в любом редакторе HTML, разрезается на хедер и футер и помещается в соответствующие поля формы, предназначенной для ввода макета в систему NetCat. Между хедером и футером располагается поле, в которое выводится динамическое содержимое (рис. 1). Макет дизайна привязывается к сайту или разделу, при этом распространяется по принципу наследования на все его подразделы, кроме тех, к которым привязан собственный макет дизайна. Поэтому на сайте может использоваться произвольное количество макетов дизайна. Для автоматического формирования отдельных элементов страницы применяются вставки PHP-кода. К примеру, следующий код автоматически формирует главное меню сайта, меню по дереву разделов: ".s_browse_level(0, $browse_sub[0])." Преимущество автоматического способа формирования меню в том, что его не надо переделывать при изменении дерева разделов. Возникающая при этом дополнительная нагрузка на сервер снижается с помощью модуля кэширования, который запоминает однажды сформированные динамические элементы страницы. Внешний вид меню задается массивом $browse_sub[0], помещаемым в шаблоны вывода на- вигации. Это вложенный код, который можно написать самостоятельно или скопировать из предустановленного макета дизайна. Например, простое двухуровневое меню задается так: $browse_sub[1][prefix]="
"; $browse_sub[1][active]= "
|
http://swsys.ru/index.php?id=2751&lang=.&page=article |
|