RUNCMS представляет собой систему управления контентом - CMS (content management system). RUNCMS написан на PHP и использует базу данных MySQL. RUNCMS основан на модульной модели представления данных. RUNCMS является свободным программным обеспечением с открытым кодом и распространяется под лицензией GNU GPL RUNCMS не требует профессиональной технической подготовки при использовании.
Дополнительно:
Автоматическая установка системы и самостоятельная ее настройка.
Администрирование системы через специальный интерфейс.
Возможность добавлять новости через локальный Windows-клиент w.bloggar
Возможность изменения структуры проекта – конфигурация модулей, свободное расположение блоков с информацией на странице, что способствует созданию самых разнообразных сайтов.
Возможность подключения дополнительных модулей, как от разработчика, так и сторонних программистов, что способствует дальнейшему развитию и наращиванию проекта.
Многопользовательский режим работы. Системой может управлять несколько пользователей, одновременно за сеанс или отдельно.
Разграничение прав доступа к системе, реализованная в виде групп пользователей, имеющих те или иные права на доступ к разделам системы.
Система фильтров – запрет на использование определенных слов на сайте, запрет на имена пользователей, адреса электронной почты, User Agents, IP-адреса.
Общепортальная система поиска.
Динамическая система мета-тегов (генерация в зависимости от модуля).
Рейтинговая система оценки контента сайта (для отдельных модулей).
Общепортальная система приватных (личных) сообщений между пользователями портала.
Встроенный многофункциональный отладчик (для разработчиков)
Возможность апгрейда всех без исключения версий.
Легкость редизайна. Для полной смены дизайна всего сайта нужно лишь изменить графическую тему (шаблон).
Абстракция SQL запросов от конкретной СУБД (на данный момент поддерживается только MySQL)
GZip-сжатие страниц
Функция кэширования страниц сайта
Все это позволяет использовать данную систему для создания:
Сайтов общественных учреждений и организаций,
Информационных сайтов, агентств новостей и справочных онлайновых служб,
Специализированных сайтов по отдельным продуктам, услугам или направлениям бизнеса,
Систем электронной коммерции,
Корпоративных порталов,
Интранет систем и т.д.
Что такое CMS (content management system)?
Система управления контентом (Content Management System — CMS) – это автоматизированный редакторский комплекс, позволяющий управлять содержанием и структурой интернет - ресурса в онлайн режиме.
Системы управления контентом представлены широким спектром программного обеспечения, начиная с набора простых скриптов, позволяющих добавлять новости или пресс-релизы, кончая полноценными системами паблишинга, поддерживающими процессы workflow (цепочки автор-корректор-редактор), обеспечивающих различные схемы разграничения доступа, автоматически создающих "связанные" документы и т.п. С помощью CMS любой человек, не знакомый с интернет - технологиями, может полноценно работать с содержанием портала в пределах выделенных ему прав доступа.
Что такое портал?
CMS часто называют портальными системами. Что же такое Web-портал? Web-портал представляет собой сайт (или группа сайтов), который объединяет в себе разнообразные ресурсы и сервисы в области информации, бизнеса, общения, а также предоставляет своим пользователям возможность продвижения (публикации) собственного контента в рамках портала. Web-порталы как правило предназначены для определенной аудитории и предоставляют доступ пользователей к различным сервисам на основе их персонализации.
Различают вертикальные порталы (посвященные конкретной теме и предоставляющие различные сервисы в ее рамках) и горизонтальные порталы или порталы общего характера, предлагающие набор сервисов, обслуживающих различные темы. Вертикальные порталы обычно представляют собой сайты узкой тематической направленности. Вертикальный портал - сайт, связанный с отраслью или конкретной проблемой. Так же выделяют корпоративные порталы – ресурсы, призванные дать представление об организации и обеспечить взаимодействие сотрудников организации между собой и с ее контрагентами.
История RUNCMS
RUNCMS (Relaible - Unique - Nocost) это новое название портальной системы E-Xoops. E-Xoops выделился в отдельное направление из CMS XOOPS 2 сентября 2002 года. В свою очередь XOOPS (eXtensible Object Oriented Portal System) был создан на основе MyPHPNuke 1.8.5. в конце 2001 года. Вначале он был под-проектом этой системы и носил название myPHPNuke SE. Но потом, так как ядро было переписано практически полностью, несколько разработчиков MyPHPNuke, участвующих в проекте SE, решили развивать свое направление. XOOPS 1.0 RC1 вышел 1 января 2002 года. За основу первой версии E-Xoops был взят XOOPS Version 1.0 RC3.04/CVS3.10.
Официальной причиной выделения E-Xoops в отдельное направление, является усложнение объектной модели нового ядра XOOPS 2 и введение в новой версии XOOPS системы шаблонов SMARTY.
Мы не будем вдаваться в полемику поклонников и противников применения ООП в PHP, а так же поклонников и противников движка SMARTY, но надо заметить, что первое, упрощая разработку компонентов системы, неизбежно влечет за собой потерю производительности. Использование же SMARTY для не очень больших проектов, часто не оправдано.
Эволюцию системы можно представить следующим образом:
для администраторов/редакторов, знание MS Internet Explorer
для web-мастеров, знание HTML и основ PHP
Модульная модель RUNCMS
RUNCMS относится к системам, основанным на модульной модели представления данных. В подобных системах контент разделен на отдельные модули по типам содержимого. Структура данных зависит от модуля, и вся работа с контентом сосредоточена внутри модуля. Модули независимы и полностью отвечают за работу с контентом данного типа. Контент описывается с помощью фиксированного набора характеристик — тип контента строго фиксирован. Расширять функциональность можно за счет добавления нового модуля, замены или редактирования существующего кода.
Стандартный набор модулей в RUNCMS включает:
Новости (модуль news),
Каталог ссылок (модуль mylinks),
Статьи (модуль sections),
Архив файлов (модуль mydownloads),
Форум (модуль newbb или newbb_plus),
Опросы (модуль xoopspoll),
FAQ/Часто задаваемые вопросы (модуль xoopsfaq),
Информация о партнерах (модуль partners),
Публикация RSS заголовков (headlines).
Кроме того, в качестве модулей реализована баннерная система портала (модуль banners), XML-RPC сервер для публикации новостей с помощью локального клиента w.bloggar (модуль phpRPC), форма поиска зарегистрированных пользователей портала (модуль xoopsmembers), а так же модуль контактов (модуль contact), с контактной информацией и формой связи с администрацией.
Модули поддерживают следующие функции (зависит от конкретного модуля):
Многоуровневые разделы/темы
Возможность добавления контента (публикации) пользователями
Поддержка процесса одобрения публикаций администратором
Предварительный просмотр при публикации
Комментарии к элементу (например, к новости).
RDF/RSS канал
Версия для печати страницы.
Поиск в рамках конкретного модуля
Прямая и обратная сортировка элементов
Рейтинг популярных элементов
Сообщить другу (ссылка на e-mail)
Постраничный вывод на экран.
Подсчет просмотров/загрузок
Помимо стандартных, существует большое количество модулей сторонних разработчиков.
Система блоков
Страницы в RUNCMS имеют блочную структуру. В центральной части страницы, располагается основная информация раздела (модуля) к которому эта страница относится (например, лента новостей, список ссылок/файлов, разделы форума и т.д.). Справа и слева, сверху и снизу центральная часть окружена небольшими функциональными блоками (например, главное меню, 10 последних новостей, блок голосования, список последних сообщений на форуме и т. д.). Администратор обладает большими возможностями по управлению блоками – может добавлять свои собственные блоки, удалять стандартные блоки, менять расположение блоков.
В RUNCMS, в зависимости от расположения на странице, выделяют 8 типов блоков. Каждый блок можно располагать в рамках выбранных разделов (модулей). Кроме того, можно выбрать четыре варианта показа блока: 1) показывать блок только на главной странице сайта, 2) только на главной странице выбранного раздела (модуля), 3) на всех страницах, 4) показывать блок на «специальной» странице. Под специальными страницами подразумеваются страницы, не относящиеся к разделам (модулям) - страница поиска, личных настроек пользователя, регистрации, авторизации и т.д.
Для каждого блока можно установить права доступа для различных групп. Пользователи, входящие в группу, доступ которой к блоку будет запрещен, данный блок не увидят.
Графические темы (скины)
Для изменения дизайна портала используются темы. Тема – это набор файлов отвечающих за внешний вид страниц сайта. Туда входят: файл таблиц стилей CSS (Cascading Style Sheets ), задающий цвет, фон, размер шрифта и т.п. для ключевых элементов страницы, файл шаблона основных элементов страницы, а так же графические файлы. Для смены дизайна сайта нужно просто изменить графическую тему в панели администрирования на новую. Кроме того, CSS-классы можно привязывать к конкретным разделам (модулям) сайта. Есть поддержка отдельных таблиц стилей для Netscape
Система прав пользователей
RUNCMS обладает достаточно гибкой системой прав пользователей портала. Это позволяет разрешать или запрещать доступ в различные разделы сайта, делать для одних пользователей видимыми определенные блоки, а для других нет, давать доступ к администрированию отдельных модулей и т.д.
Общепортальная система прав реализуется через добавление каждого пользователя в определенную группу. Каждый пользователь портала может быть зачислен в группу с определенными правами и каждой группе может быть установлен набор прав. Права группы применяются ко всем пользователям, принадлежащим к данной группе.
Система категорий (разделов)
Для упорядочивания контента в модулях RUNCMS (зависит от модуля) используется система категорий (разделов): это позволяет создавать иерархическую структуру разделов (в категории может быть одна или несколько подкатегорий). Если в модуле поддерживается система категорий, то можно создавать новые категории, удалять или менять тип доступа (зависит от модуля) для уже существующих.
Динамическая навигация (динамическое меню)
RUNCMS представляет автоматические средства создания меню разделов сайта. После создания нового раздела (установки нового модуля) он автоматически появляется в навигации и привязывается к соответствующему пункту меню, что позволяет контролировать навигацию на сайте.
Система фильтров
В RUNCMS мы можем запретить использование определенных слов на сайте, запретить определенные имена (ники) пользователей, адреса электронной почты, User Agents, IP-адреса.
Поиск
Сервис, обеспечивает централизованный поиск информации по всем видам текстовой информации системы. Предоставляет пользователям возможность для поиска как по всему контенту сайта, так и по отдельным разделам (модулям)
Кэширование страниц
Если включена опция кэширования страниц, то страницы сайта просмотренные пользователями кэшируются в файлы. Анонимные пользователи, при следующем открытии страницы, получают страницы из кэша, без повторной их генерации. Это снижает количество запросов к базе данных, и увеличивает скорость отдачи страниц.
К сожалению на данный момент, система кэширования в RUNCMS, реализована неудачно. Страницы кэшируются целиком, включая все блоки страницы. Соответственно блоки с постоянным обновление контента, будут отображать устаревшую информацию. Кроме того, постоянные операции с файлами кэша, при большом количестве посетителей могут дать большую нагрузку на сервер, что идет в разрез с самой идеей кэширования – снижением нагрузки.
Использование локального клиента w.Bloggar
w.Bloggar представляет собой локальный клиент для публикации сообщений и новостей в различных блогах и CMS. Использование стандарта XML-RPC делает эту программу межплатформенной. w.Bloggar предоставляет удобный интерфейс для обновления новостей на сайте, позволяет вносить изменения и сохранять их локально, а потом переносить изменения на удалённый сервер в удобное время. В качестве XML-RPC-сервера в RUNCMS выступает модуль phpRPC