ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Journal influence

Higher Attestation Commission (VAK) - К1 quartile
Russian Science Citation Index (RSCI)

Bookmark

Next issue

4
Publication date:
09 December 2024

Development of academic sites on base of cms NetCat

The article was published in issue no. № 2, 2011
Abstract:Content Managements Systems (CMS) is popular tool for development of sites with dynamic content. CMS organizes the development and content management process so that main part of work is fulfilled by visual manipulations and filling of web forms, necessity of programming is greatly reduced or ever excluded. Here we discussed CMS NetCat, which is one most popular CMS among professional Russian web developers.
Аннотация:Системы управления контентом (CMS, Content Managements Systems) являются популярным средством разра-ботки сайтов с динамическим содержанием. CMS позволяет разрабатывать, заполнять и сопровождать сайт путем визуального редактирования и заполнения веб-форм, при этом необходимость писать коды сводится к минимуму или вообще исключается. В данной статье обсуждаются вопросы применения CMS NetCat, которая является одной из самых популярных российских CMS.
Authors: (nad@imach.uran.ru) - , (raul@imach.uran.ru) - , Ph.D
Keywords: NetCat, site development, web design, web programming, Content Managements Systems
Page views: 16858
Print version
Full issue in PDF (5.35Mb)
Download the cover in PDF (1.27Мб)

Font size:       Font:

В данной статье под 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])."

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

Внешний вид меню задается массивом $brow­se_sub[0], помещаемым в шаблоны вывода на- вигации. Это вложенный код, который можно написать самостоятельно или скопировать из предустановленного макета дизайна. Например, простое двухуровневое меню задается так:

$browse_sub[1][prefix]="

  • "; $browse_sub[1][suffix]="

"; $browse_sub[1][active]= "

  • %NAME"; $browse_sub[1][active_link]="
  • %NAME"; $browse_sub[1][unactive]= "
  • %NAME"; $browse_sub[1][divider]=""; $browse_sub[0][prefix]="
    • "; $browse_sub[0][suffix]="
    "; $browse_sub[0][active]= "
  • %NAME" .s_browse_level(1,$browse_sub[1]); $browse_sub[0][active_link]= "
  • %NAME" .s_browse_level(1,$browse_sub[1]); $browse_sub[0][unactive]= "
  • %NAME"; $browse_sub[0][divider]="";

    Вместо %NAME подставляется имя каждого раздела, а вместо %URL – его относительный URL. Другие часто применяемые динамические элементы – содержимое тега title, полей descrip­tion и keywords, путь к текущему разделу, карта сайта. Макет дизайна может содержать любое число настраиваемых параметров, которые задаются при создании разделов. При необходимости в макете дизайна может быть организовано произвольное число дополнительных полей, которые подставляются в хедер и футер с помощью псевдопеременных, наподобие %CSS. Под макетом верхнего уровня могут создаваться дочерние макеты, которые переопределяют или наследуют его поля. Формы отображения и добавления данных. Для вывода данных к разделу привязывается одна или несколько компонент. Компоненты выводятся в свободном пространстве между хедером и футером – все вместе друг за другом или по отдельности с переключением с помощью вкладок. Каждой компоненте соответствует таблица MySQL. Разработка компоненты проводится путем описания полей следующих встроенных типов: 

    Тип NetCat           Реализация в MySQL

    строка –                 поле char(255)

    целое число –         поле int

    текстовый блок –  поле longtext (версия 3.1.1 и выше, иначе text)

    список –                 поле int для left join … where

    логическая переменная –  поле tinyint со значениями 0/1

    файл –                    объект в файловой системе с указанием имени файла и mimetype в поле char(255)

    число с плавающей запятой – поле double

    дата и время –       поле datetime

    связь c другим объектом – поле int для where (версия 3 и выше)

    множественный выбор –   перечень индексов в поле text (версия 3.2 и выше).

    Соответственно полям в БД создается таб­лица. Для отображения объектов в списке и по отдельности, а также добавления, редактирования и поиска объектов создаются HTML/PHP-коды с переменными вида $f_поле. Коды строятся автоматически и при необходимости могут быть отредактированы (обычно редактирование требуется для кодов отображения объектов, так как от них зависит внешний вид сайта). SQL-запросы к БД также строятся автоматически, включая все необходимые операции объединения таблиц. Если возникает необходимость, SQL-запросы могут быть дополнены и переопределены.

    При подключении компоненты к разделу для нее выбирается тип действия (просмотр, добавление, поиск или подписка), а также выбираются категории посетителей (все, только зарегистрированные или только уполномоченные), которым предоставляются соответствующие права. Если добавление объектов выполняется без авторизации, то предусмотрена возможность защитить форму добавления картинкой (CAPTCHA). В зависимости от настройки компоненты объекты появляются на сайте немедленно или после их включения модератором.

    При необходимости форма добавления объекта может быть вызвана из списка объектов по внутренней ссылке $addLink, а в NetCat 3.5 появилась важная возможность вызывать форму редактирования объектов по ссылке $editLink и удалять объекты по ссылке $deleteLink.

    Для ввода форматированной текстовой информации и графики применяются BB-коды. Существенным ограничением функционала является отсутствие встроенных средств закачки изображений и файлов, которые надо добавлять путем создания дополнительных полей в компоненте или через встроенный визуальный редактор (который не рекомендуется предоставлять внешнему пользователю во избежание порчи сайта неправильными HTML-кодами).

    Заполнение сайта и система разделения прав. Система управления сайтом вызывается по http://домен/netcat/admin. В системе управления можно создавать сайты, разделы, макеты, компоненты, списки, вводить данные, выполнять различные операции по обслуживанию системы (архивирование, установку обновлений и модулей, управление задачами, создание переадресаций, проверку ссылок, SEO-анализ и т.п.) и назначать права для доступа к сайту.

    Права доступа назначаются на весь сайт или только на поддерево разделов и распространяются  на все данные, которые там содержатся. Отдельно разрешаются следующие типы доступа:

    ·    просмотр закрытых страниц (открытые страницы доступны всем посетителям сайта);

    ·    комментирование (при наличии соответствующего модуля);

    ·    добавление объектов;

    ·    изменение, включение и удаление своих объектов;

    ·    подписка;

    ·    модерирование – возможность изменять и удалять любые объекты на сайте;

    ·    администрирование – возможность изменять структуру сайта.

    Для входа в подсистему редактирования применяется ресурс http://домен/netcat. В этом режиме сайт отображается в своем естественном виде с добавкой административных панелей для создания, включения, изменения и удаления объектов. Административные панели выводятся в том случае, если у редактора есть соответствующие права, иначе вместо панели будет выведено сообщение об отсутствии прав.

    Собственно сайт http://домен не имеет административных панелей редактирования, но может быть снабжен своими средствами ввода и коррекции данных. Например, средства ввода данных представлены ссылкой редактировать. Эта ссылка показывается только автору записи, остальные посетители сайта ее не видят.

    Таким образом, сайт можно заполнять тремя различными способами: через систему управления сайтом, через подсистему редактирования сайта или собственными средствами сайта. Система разграничения прав позволяет назначить любое число лиц, ответственных за наполнение сайта и его отдельных подразделов.

    Разработка сайтов на базе NetCat

      Система NetCat применена авторами для разработки 5 сайтов организаций, входящих в систему РАН (http://www.iep.uran.ru, http://www.ihim. uran.ru, http://www.iegm.ru, http://www.ifp.uran.ru, http://www.imach.uran.ru). Все сайты разрабатывались на едином шаблоне, который был создан в 2004–2006 годах на основе CMS NetCat Standard версий 2.1 и 2.3. Следует отметить, что в версиях NetCat 2.1–2.3 уже имеются развитая система разделения прав и подсистема редактирования, необходимая для заполнения сайта силами сотрудников института. Поддержка социальных сервисов в данном случае не требовалась, поскольку создавались именно сайты, а не порталы. На 2011 год запланировано обновление сайта http://www.imach.uran.ru до NetCat 4.5, которое в перспективе позволит перевести его в категорию порталов.

    С помощью CMS NetCat созданы легкие и в то же время функционально емкие модели сайтов.

    Для их реализации сделаны следующие дополнения в исходный функционал NetCat:

    ·     двуязычный  интерфейс с переключением между внутренними страницами сайта;

    ·     шаблоны двухуровневой навигации с двухлинейным выпадающим меню;

    ·     механизм регистрации на конференции с экспортом данных для Excel;

    ·     механизм автоматической генерации меню по годам и темам;

    ·     механизм пополнения списков из подсисте­мы редактирования;

    ·     механизм простой подписки на рассылку, не требующий авторизации на сайте.

      Методика заполнения сайтов 

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

    Основное требование к подсистеме редактирования – не вводить одну и ту же информацию дважды. Для этого каждый сайт имеет большую сводную БД, включающую сотрудников института, публикации, конференции, разработки, патенты, сведения о каждом подразделении института, фильтры поиска по сотрудникам, публикациям, конференциям, разработкам и патентам. Обеспечиваются выборки: сотрудников – по алфавиту, степеням; публикаций – по сотрудникам и подразделениям; разработок и патентов – по подразделениям. Базы иностранных публикаций, патентов и конференций являются общими в русскоязычной и англоязычной частях сайта (рис. 2, 3).

    Списки сотрудников формируются в разных разделах сайта путем выборки из сводной базы, которая ведется независимо в русскоязычной и англоязычной частях сайта. Для каждого сотрудника заводится персональная информация, например, фамилия, имя, отчество; подразделение; должности и почетные звания; членство в РАН; ученая степень (доктор/кандидат), специализация, код специальности и пр.

    Если сотрудник имеет публикации, то для него заводятся индивидуальные авторские сокращения для связи с базами публикаций на русском и иностранных языках – «Фамилия И.О.» и «Family N.P.» соответственно.

    Списки публикаций формируются для института, подразделений и отдельных сотрудников путем выборки из сводной базы публикаций, которая ведется отдельно для публикаций на русском и иностранных языках. Сводная база публикаций содержит полный список публикаций без разбивки по подразделениям. Для каждой публикации указываются, например, вид публикации, авторы, название публикации, журнал или сборник, место публикации, издательство, аннотация или текст публикации на отдельной странице, описание публикации и пр.

    От вида публикации зависит, попадет ли она в общеинститутский раздел публикаций (обычно туда не включаются тезисы и препринты). Наличие публикации в разделах по подразделениям определяется по списку авторов: если автор работает в подразделении, все его публикации отображаются там автоматически. Если автор перестает работать в подразделении, запись о нем из базы может быть выключена и ее не будет в списках сотрудников, но все его публикации по-прежнему будут отображаться в том подразделении, где он работал.

    В сведениях о разработке или патенте указываются принимающие в ней участие подразделения института. Для патентов уточняется, принадлежат ли они институту (только в этом случае патент будет отображаться в общеинститутском списке, а иначе он будет виден только в подразделениях).

    В сведениях о подразделении указывается заведующий (на страницу лаборатории автоматически попадают его звания и контактная информация).

    Остальная информация, которая не дублируется в различных частях сайта, вводится в свободном текстовом формате в тот раздел, где она должна находиться. Примером могут служить разделы «Историческая справка», «Научные направления» лабораторий и т.п.

      Результаты разработки и наполнения сайтов

      При разработке и внедрении сайтов РАН приходится решать разнообразные вопросы – от приобретения сервера для хостинга сайта до обучения редактора сайта. Разработка сайта проводится в три этапа:

    1)   создание структуры и дизайна сайта разработчиками;

    2)   назначение редактора, ответственного за заполнение сайта, который вводит сведения по исходным данным заказчика, в том числе о заведующих и ведущих сотрудниках подразделений, и основные публикации;

    3)   получение кодов доступа и заполнение соответствующих разделов сайта ответственными сотрудниками подразделений.

    Первый этап выполняется быстро, так как его сроки лимитируются договором. На второй этап уходит больше времени, от нескольких месяцев до двух лет. Тем не менее, во всех случаях удавалось найти лицо, активно занимающееся сайтом, для поддержания его в актуальном состоянии.

    Третий этап, к сожалению, всегда проходит сложно из-за организационных мероприятий в институтах.

    В таблице приведена статистика сайтов РАН на 12 марта 2011 года по данным сайта http://www.pr-cy.ru/.

    Сайт

    Версия NetCat

    Год

    Яндекс

    Google

    Проиндекси- рованных страниц

    разработки

    ввода в эксплуатацию

    ТИЦ

    Rank

    PR

    Яндекс

    Google

    iep. uran.ru

    2.1

    2003

    2004

    275

    4/6

    4/10

    989

    725

    126

    372

    ihim. uran.ru

    2.3

    2004

    2004

    30

    40

    3/6

    4/10

    3893

    5285

    200

    659

    iegm.ru

    2.3

    2005

    2006

    130

    40

    4/6

    3/6

    4/10

    3035

    1661

    354

    150

    ifp. uran.ru

    2.3

    2006

    2008

    20

    2/6

    4/10

    812

    1315

    131

    1980

    imach. uran.ru

    2.3

    2008

    2010

    140

    130

    4/6

    5/10

    4/10

    419

    13000

    631

    1680

    Примечание: изменения, произошедшие за год, выделены жирным шрифтом.

      Показатели для первых четырех доменов в основном или полностью относятся к разработанным авторами сайтам на движке NetCat, так как старая версия сайта частично сохранилась только на домене iep.uran.ru, а на домене ifp.uran.ru ее не было вообще. Иная ситуация на домене imach. uran.ru: там сохранены все внутренние страницы старого сайта, а его новая версия запущена только в 2010 году. Поэтому показатели 2010 года относятся в основном к старой версии сайта imach.uran.ru, а показатели 2011 года учитывают обе версии. 

    Дальнейшее развитие сайтов

      Для более результативной работы по созданию академических сайтов необходимо решить следующие технические и организационные вопросы:

    –    упростить ввод информации о сотрудниках;

    –    обеспечить возможность ввода личных сведений и публикаций отдельными сотрудниками института;

    –    обеспечить возможность импорта публикаций из текстовых источников;

    –    обеспечить поддержку UNICODE для ввода данных на различных мировых языках;

    –    реализовать возможность включения презентаций в структуру сайта;

    –    заинтересовать сотрудников института в заполнении сайта, например, путем реализации подсистемы подсчета ПРНД;

    –    наделить сайт функциями создания отчетов, возможно, перевести всю систему научной отчетности РАН в Интернет, чтобы процесс подготовки отчетов сопровождался общественно значимой работой по наполнению Сети.

    Как видно из перечня задач, сайты институтов будут развиваться в порталы, наделенные разнообразными функциями по организации совместной работы и документооборота [1, 2].

    Функционал, необходимый для создания порталов, имеется в современной версии NetCat 4.

    На основании изложенного можно сделать вывод о том, что система NetCat позволяет в минимальные сроки создавать сайты с широкими функциональными возможностями.

    Авторы выражают благодарность О. Богомаз (OOO «НетКэт», г. Москва) за помощь в работе.

      Литература

      1.   Cеменов С.В. [и др.]. Развитие идеи корпоративных информационных пространств как ответ на новую информационную парадигму // Программные продукты и системы. 2008. № 1. С. 35–37.

    2.   Бездушный А.А. [и др.]. Информационная WEB-система «Научный институт» на платформе ЕНИП. М.: ВЦ РАН, 2007. 124 c.


Permanent link:
http://swsys.ru/index.php?id=2751&lang=en&page=article
Print version
Full issue in PDF (5.35Mb)
Download the cover in PDF (1.27Мб)
The article was published in issue no. № 2, 2011

Perhaps, you might be interested in the following articles of similar topics: