воскресенье, 1 января 2006 г.

CMS-2006-P06. CMS для интранет. Bitrix

(С) Владислав Боркус

Дата актуальности: февраль 2006

!Данный материал защищён авторским правом и любое его копирование не допускается.



Содержание


[убрать]


Архитектура и техническое описание


Bitrix -- довольно типичная система на базе PHP. В ней применяется смешанная архитектура построения сайта, включающая объектные и не объектные принципы.

Сайт делится на разделы, внутри которых содержатся страницы. Страницы формируются из трех областей: верхней, центральной и нижней, причем нижняя область захватывает и правую колонку. Заполнение верхней и нижней части страницы определяется шаблонами cайта, которые пишутся на языке PHP и HTML. По большей части эти области страницы -- модульные и формируются из блоков, оформленных в виде самостоятельных PHP-файлов (компонентов), вызываемых с параметрами.

Внутренние области страниц представляют собой отдельные HTML/PHP-файлы, создаваемые средствами системы в визуальном редакторе. В этой области может находиться просто текст или текст компоненты, скажем информационные блоки.

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

PHP-компоненты добавляют в систему некоторую объектность. Это видно на примере модуля «Информационные блоки»[#sdfootnote1sym 1] -- наиболее мощной части Bitrix из тех, что ориентированы на публикацию информации. Инфоблоки по сути представляют обобщенные списки.

Каждый инфоблок ассоциируется с несколькими шаблонами представления информации, применяемыми по умолчанию: шаблон для просмотра списков, сгруппированных по информационным блокам, шаблон для показа списка записей одного информационного блока, шаблон для детального просмотра новости, шаблон для экспорта и импорта RSS новостей. Для каждого нового инфоблока эти файлы помещаются в выделенную папку в файловой системе. Эти файлы создаются в визуальном редакторе, где на пустую или заполненную HTML-страницу помещаются стандартные компоненты модуля «Инфоблоки» и настраиваются их свойства – сортировки и перечень показываемых в шаблоне полей. После этого подобные страницы можно вставлять внутрь других страниц или же использовать самостоятельно.

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

Записи могут объединяться в группы – фактически подразделы раздела, содержащего инфоблок. Эти подразделы могут быть видны в меню раздела, например, раздел «Новости» может содержать «Новости ТЭК», «Новости регионов».

Таким образом некоторая объектность присутствует, но несколько по иному организованная, по сравнению с чисто объектными системами типа Optimizer или QP7 Framework. В результате возникают некоторые ограничения, например, сложно описывать связанные объекты. А методы объектов в Bitrix эмулируются -- через файлы страниц-компонентов, помещаемых в папки разделов.

Отличительной чертой Bitrix является то, что код наиболее часто требующихся модулей написан, включен в систему, и более того, интегрирован с другими инструментами администрирования. Например, таковы меню сайта, строка навигации, «левое меню» (список материалов раздела). Скажем, когда редактор добавляет материал в раздел, он может выбрать, чтобы ссылка на этот материал была автоматически добавлена в «левое меню», а новый создаваемый информационный блок автоматически добавляется в административное меню модуля.

Визуальное управление структурой сайта используется довольно активно. Например, если администратор просматривает публичное представление сайта, то ему доступен toolbar, позволяющий внести в просматриваемую часть сайта изменения – блок на текущую страницу или новую страницу в текущий раздел, изменить состав меню, создать новый раздел и пр. Можно также подсветить все включаемые блоки на странице и немедленно перейти к их редактированию. Если же эти блоки являются частями модулей, то система автоматически создаст их копию. Это позволяет практически мгновенно создать адаптированную версию информационного блока и интегрировать ее в дизайн.


Оценка по основным требованиям


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

В системе не найдено никаких средств, позволявших бы сделать полный backup сайта и его восстановление как шаблона. Данные можно скопировать частично, например, те, что хранятся в файловой системе. Эту возможность предлагает использовать, например, «магазин» шаблонов Bitrix для продаваемых им шаблонов. Но все равно, привязывать модули к сайту и настраивать их связь с БД придется отдельно.

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

Разработка структуры сводится к созданию разделов сайта (папок с документами) в модуле «Файловый менеджер», настройке меню, разработке страниц. Система в существенной степени ориентирована на визуальную разработку страниц, в том числе визуальное добавление на страницы новых компонент, а также автоматическое формирование основных навигационных меню. Конечно, для создания нетиповой функциональности потребуется программирование на PHP.

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

Авторинг. Система поддерживает как непосредственно редактирование страниц сайта, так и ввод контента через формы (для динамически генерируемых страниц и их частей, например, новостей). Для всех этих случаев возможно использование визуальных инструментов. Эти инструменты выполнены на DHTML и не требуют серьезного ослабления настроек безопасности браузера, как в «Сайтистике».[#sdfootnote2sym 2]

Из недостатков следует отметить, что WYSIWYG редактор HTML не позволяет очищать текст от тегов Microsoft Word. Также нет инструментов для работы с изображениями -- их можно вставлять в тексты и поля, но не редактировать, в частности, нет генерации thumbnails.

Кроме того, для авторинг больших материалов может быть сопряжен с созданием многостраничных документов, а это значит, что редактор должен создавать новые страницы в разделе системы. Для этого ему нужно дать права на запись в эту папку. В нормальной ситуации – это уже привилегии администратора. Сложность в том, что рядом лежит код PHP, отвечающий за генерацию представления всего раздела, и администратор должен быть крайне бдителен, чтобы не забыть отобрать права доступа к этим файлам. Отдельное неудобство представляет и URL-связывание многостраничных документов.

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

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

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

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

Очень хорошее журналирование действий редактора – видно когда и как менялась запись в Инфоблоках.

Возможна интеграция с Active Directory для авторизации в системе средствами Windows. В этом случае пользователь при входе на сайт вводит свой логин и пароль Windows. Также интеграция с AD позволяет задать соответствие между группами AD и группами Bitrix. В этом случае возможен механизм автоматического добавления авторизованного пользователя Windows к реестру пользователей Bitrix.

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

Модули системы. Bitrix содержит наиболее широкий набор готовых модулей, хотя их состав больше заточен для использования на публичных сайтах, нежели в интранет. Наиболее часто используемым будут, вероятно, два модуля -- «Информационные блоки» и «Веб-формы», обладающие функциональностью достаточной, чтобы закрыть основные требования.

Потребуется разработка некоторых дополнительных шаблонов, например, шаблона Календаря. Также потребуется отдельное создание модуля Графической карты. По модулям возможны незначительные расхождения с Требованиями.

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

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


Другие замечания


У Bitrix имеется достаточно простая система автоматического апгрейда. Но она работает только с сайта Bitrix.


Основные выводы


В принципе Bitrix -- очень развитая система, обладающая типовыми достоинствами и недостатками PHP-систем. Она имеет много функциональных модулей и относительно легко адаптируема. Используя только базовый функционал можно построить любой из сайтов, в рамках заявленных для исследования требований.

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

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

Поддержка многоязычия в ней удовлетворительная, но генерация новых сайтов сложна. Готовой интеграции с SharePoint можно сказать нет. А вот интеграция с Active Directory вполне грамотно выстроена.

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

[#sdfootnote1anc 1] Модуль «Информационные блоки» позволяет управлять и каталогизировать различные типы (блоки) однородной информации. Информационные блоки могут иметь иерархическую структуру, т.е. быть разбиты по древовидным разделам и подразделам. Такая организация элементов может быть применена, например, для группировки товаров по группам или классификации растений по родам, видам и т.п. Bitrix характеризуется тем, что таких модулей для нее написано много.

[#sdfootnote2anc 2] Для того, чтобы редактор не блуждал по всем закоулкам системы управления сайтом, можно делать ссылки «избранное» на главной странице административного интерфейса.


Рассмотрение по метрике



Раздел/Параметр/Некоторые ключи




Bitrix


1. Важные возможности
1.1 Архитектура системы. (Объектные возможности, управление страницами)

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


#


Система ориентирована на управление статическими и динамическими страницами. Шаблон сайта делится в ней на три логические зоны (верхняя, нижняя, средняя). "Окаймляющий" шаблон может состоять из блоков (параметризованных включаемых PHP-компонент, хранящихся в отдельных файлах), а центральная часть также -- либо из статической страницы, либо страницы также собираемой из блоков. Частично всю компоновку внешнего вида можно произвести при помощи средств системы, не прибегая к программированию PHP. Реализация типовых задач упрощается за счет использования модулей. Так как модули поставляются в открытом коде PHP, то включенные в них компоненты можно настраивать под свои нужды.

1.2. Многосайтовость в пределах системы

- Возможность функционирования независимых сайтов в рамках одной инсталляции CMS


+


Система позволяет создать несколько сайтов на одной копии продукта, где каждый сайт может характеризоваться собственным доменным именем, внешним видом, языком интерфейса и информационным наполнением; Технически многосайтовая версия продукта может работать в двух конфигурационных режимах. Вариант 1: продукт и все сайты работают под управлением одной копии веб-сервера Apache. Вариант 2: каждый сайт работает под управление отдельной копии веб-сервера Apache или отдельного виртуального веб-сервера. (на другом хостинге). Дистрибутив программного продукта поставляется сконфигурированным для работы по первому варианту.


- возможность добавления (генерации) нового сайта командой администратора системы


+-


Требуется некоторый набор операций для конфигурирования Web-севера и системы. Последовательность для Варианта 1 выглядит следующим образом. 0) Настраивается DNS. 1) Каждый сайт должен быть размещен в отдельном подкаталоге внутри единого каталога, например: #1 - /home/www/allsites/s1/ #2 - home/www/allsites/s2/ Принципиально важно, что сайты разделены по подкаталогам и структура файлов не пересекается. В конфигурационный файл httpd.conf веб-сервера Apache вносятся соответсвующие записи для виртуальных хостов. Для каждлого из них указывается папка сайта -- она должна указывать на реальный каталог, в котором расположен сайт.


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


+


(ПРОДОЛЖЕНИЕ СОЗДАНИЯ САЙТА) 3) Конфигурирование сайтов в программном продукте. Настройка сайтов выполняется в административном разделе любого из сайтов в подкаталоге /bitrix/, например www.site1.com/bitrix/ Сайт заводится через меню «Настройки системы» - пункт «Сайты» 4) ПОСЛЕ этого настраивается механизм выбора сайта на главной странице проекта в документе /index.php. Посетитель каждого из сайтов, набирая доменное имя сайта, попадает фактически на документ /index.php. В многосайтовой конфигурации роль этого документа немного меняется, и в нем необходимо разместить уже не содержимое одного из сайтов, а алгоритм выбора сайта на языке PHP. КАК это сделать указано в документации системы.


- возможность присвоения сайту доменного имени


+





- настройка нового сайта администратором по готовому «шаблону» -- прототипу, включая автоматическое определение модулей, состава рубрик и способов отображения данных




-


Все не просто. В принципе можно скопировать каталог с данными сайта в новое место. Но сайт потребуется еще зарегистрировать в системе, настроить Apache, DNS и сконфигурировать саму систему -- связь с базами данных Инфоблоков, настроить права доступа и пр.


- сохранение имеющегося сайта как шаблона для новых сайтов силами администратора системы


-




1.3. Многоязычность сайтов



- Поддержка UTF-8 как гарантия многоязычности контента


-


Не значится в числе возможных кодировок сайта. Поддерживаются KOI8, CP1251, ISO-8859-5


- Двуязычность страниц сайта (русская и английская версии Интранет-сайта). Возможность переклечения между языковыми версиями с одной и той же страницы;


+


Во многом определяется архитектурой сайта при его проектировании. Формально возможности заложены. <<Каждый язык образует языковое зеркало сайта. Язык - это учетная запись в базе данных, доступная для редактирования в административном меню "Языки" со следующими полями: Идентификатор, Название, Формат даты, Формат времени , Кодировка. Как в публичной, так и в административной частях, язык используется в первую очередь для выбора того или иного языкового файла. В административной части язык определяет формат времени, даты, кодировку страниц. В публичной части - данные параметры определяются настройками сайта.>> << Форма редактирования языка сайта предназначена для установки параметров языка. В ней задается активность языка (языкового зеркала), язык по умолчанию, папка публичной части сайта, в которой лежит языковое зеркало сайта для данного языка, краткий форматы даты и времени, кодировка, а также элементы дизайна -- «шапка» или верхняя часть дизайна (prolog_main.php),


Примечания





нижняя часть дизайна (epilog_main.php), файл стилей (styles.css) для данного языка, форма авторизации (authorize.php), форма изменения пароля (change_password.php), форма высылки пароля по почте (forgot_password.php), форма регистрации нового пользователя (registration.php).>> <<Все сообщения (заголовки таблиц, ссылки, текст кнопок и т.п.), используемые в системе Битрикс: Управление сайтом, хранятся в специальных файлах. Для удобства перевода данных файлов для нескольких языков в комплект поставки системы входит модуль перевода.
Если ваш сайт имеет несколько языковых сайтов-зеркал, вы можете публиковать новости и создавать каталоги на этих же языках. Материалы будут автоматически размещены в соответствующем сайте. Например, если при создании новости вы укажете, что сообщение публикуется на английском языке, данная новость будет показана только в английском сайте-зеркале.>>
/// Административный интерфейс также двуязычный, пользователь может выбирать предпочтительный его язык>>



1.4. Персонализация контента

- Изменение вида сайта в зависимости от конкретного регистрационного имени пользователя или входа на сайт как анонимного пользователя


-


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


- Изменение предпочтительного языка документов и интерфейса в зависимости от регистрационного имени пользователя


+-


Выбор языковой страницы может настраиваться в index.php <<Если ваши сайты являются, по сути, разными международными языковыми зеркалами, вы можете использовать закомментированный вариант: MainPage::RedirectToSite(CMainPage::GetSiteByAcceptLanguage()); Функция CMainPage::GetSiteByAcceptLanguage() проверяет переменную Accept-Language в настройках браузера пользователя, сравнивает с идентификатором сайта (в этом плане желательно разноязыковым версиям давать идентификаторы соответствующие коду языка ru, en, de) и возвращает подходящий сайт. Если функция не находит нужный язык, то возвращается сайт по умолчанию. Если присутствует несколько языков в браузере, которые поддерживает ваш сайт, то возвращается тот сайт, который стоит у пользователя выше по приоритету.>>


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


-


Базово ничего такого нет. Конечно, это можно настроить кодированием PHP

2. Инструменты администратора и разработчика (Настройка структуры сайта, разработка структуры страниц и настройка их внешнего вида)

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


+


Файловый менеджер позволяет делать все эти операции. Создание в нем папки эквивалентно созданию нового раздела. При создании документа ссылку на него можно автоматически включить в меню (верхнее или левое). Можно также редактировать любое меню. Раздел может быть стандартной страницей или блоком, предназначенным для включения на другие страницы. Можно даже настраивать видимость тех или иных блоков в шаблоне или страницах.


- инструмент для настройки оформления сайта (логотипов, цветов, стилей)


+


<<Синонимом термина "шаблон сайта" можно считать -- "дизайн сайта", "скин сайта". Для показа одного сайта можно использовать несколько различных шаблонов. В шаблон сайта входят: учетная запись в базе данных - создается в административном меню "Шаблоны сайта"; набор файлов в каталоге /bitrix/templates/ID шаблона сайта (ID задается в форме редактирования свойств шаблона сайта в административном интерфейсе). Этот каталог содержит: header.php (пролог шаблона), footer.php (эпилог) шаблона, styles.css (стили шаблона), .тип меню.menu_template.php (шаблон вывода меню соответствующего типа), chain_template.php (шаблон по умолчанию для вывода навигационной цепочки), /ID модуля/ (каталог с компонентами принадлежащими тому или иному модулю), /lang/ (языковые файлы принадлежащие как данному шаблону в целом, так и отдельным компонентам), /images/ (каталог с изображениями данного шаблона сайта), /page_templates/ -(каталог с шаблонами страниц и их описанием хранящимся в файле), .content.php и ряд вспомогательных произвольных файлов. Применить тот или иной шаблон к сайту можно в административном меню "Сайты", в настройках сайта, раздел "Внешний вид".>>


- «мгновенная» смена всего дизайна уже созданного сайта путем автоматического изменения (обновления) используемых шаблонов


+


Смена рамочного шаблона приводит к смене вида сайта. <<Шаблоны выбираются по условию. Алгоритм выбора шаблона для данной ситуации осуществляется функцией CSite::GetCurTemplate в теле PHP. Он следующий -- Выбираются все шаблоны сайта, для которых выполняется PHP-условия, устанавливаемое в настройках списка шаблонов сайта, из них отбираются те, что имеют более низкий индекс сортировки. .(Например, Шаблон “Версия для печати” будет использован, если в адресе указан параметр print=Y. Также можно настроить срок действия шаблона) Критерии вводятся в Web-интерфейсе, но имеют синтаксис PHP, они могут содержать любой программный код на языке PHP, в том числе вызовы функций API продукта.
Выбранные шаблоны перебираются в цикле по одному. Если у шаблона есть PHP условие, то оно выполняется и если результатом будет "true", то проверяется физическое существование пути /bitrix/templates/ID шаблона сайта/. Если такой путь существует, то перебор шаблонов останавливается и функция CSite::GetCurTemplate возвращает данный ID шаблона сайта. В случае если ни один из шаблонов не подошел, то возвращается шаблон по умолчанию - .default.php.>>


- возможность задания разных шаблонов для страниц в разных разделах сайта


+-


В принципе это возможно через условия выбора шаблона. В целом это ограничение не важно, так как главных разделов с уникальными шаблонами обычно не много. << При задании PHP условия для выбора шаблона сайта необходимо учитывать, что использование свойств разделов допустимо, но при этом не допустимо использование свойств страниц. Связано это в первую очередь с тем, что свойства раздела хранятся в отдельном файле - .section.php, а свойства страницы задаются как правило в теле страницы и в любом случае после подключения служебной части пролога. Определение же текущего шаблона сайта осуществляется в самом конце служебной части пролога (prolog_before.php).>>


- инструмент для разработки макета (шаблонов) страниц на основе блочной структуры (snippets).


+


Страница представляет из себя PHP файл, состоящий из пролога, тела страницы и эпилога. Соответствующие визуальные области дизайна сайта -- это верхняя часть (header), рабочая область, в которой размещаются информационные материалы сайта, компоненты или любой другой программный код, и нижняя (и правая) часть дизайна (footer). Конечно, страницы и шаблоны страниц в первую очередь различаются содержанием центральной части. Но благодаря технологии отложенных функций часть визуальных элементов выводимых в прологе может быть задана в теле страницы -- это заголовок страницы, навигационная цепочка, CSS стили, Мета-теги.
Содержание страницы может редактироваться в визуальном редакторе в системе. В рабочую область можно добавлять любой HTML-текст и PHP-компоненты системы.
Новые страницы могут создаваться на основе уже готовых шаблонов страниц -- PHP файлов, содержимое которого соответствует правилам формирования структуры страницы.


- инструмент для добавления готовых визуальных блоков (портлетов) на страницы, возможность импорта блоков пр.


+


Веб-компоненты представляют собой функционально законченные блоки PHP и HTML кода, которые можно использовать при разработке страниц не имея каких-либо знаний в веб-программировании или верстке. Все размещенные в шаблоне сайта области и компоненты доступны для быстрого редактирования и управления параметрами, если включен специальный ВИЗУАЛЬНЫЙ режим показа включаемых областей. Включаемые компоненты могут иметь различные элементы управления, представленные различными иконками. Так, например, с помощью элементов управления рекламного банера можно перейти к редактированию текущего банера или же перейти к списку банеров в административной части, отфильтрованному по выбранному типу баннера. С помощью элементов управления, доступных для меню, можно перейти к редактированию пунктов данного меню для текущего подраздела, либо перейти к редактированию шаблона меню.


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


+


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


- виды элементов на странице, возможность изменения порядка следования и взаимозависимостей элементов страницы (портлетов). Возможность вложенности блоков страницы.


+-


Элементы могут располагаться на странице в произвольном порядке, но связей между ними не поддерживается (Возможна связь через события в модулях, но она требует перезагрузки страницы). Так как компоненты представляют собой PHP-скрипты, то они изнутри себя могут вызывать другие компоненты, т.е. быть вложенными.


- инструмент для разработки новых элементов страниц и блоков (портлетов)


-+


Текстовый редактор. <<Часто используемые области на сайте могут быть оформлены как программные компоненты. Практически любой программный скрипт может быть представлен компонентом. Основная особенность компонентов – возможность управлять не только программным кодом, но также определенными параметрами, которые определяют поведение компонента.>>

3. Базовые инструменты редактора (Базовые механизмы публикации и обновления содержимого)

- Помещение нового контента, документа на сайт средствами CMS


+


Возможно помещение новых страниц, файлов, изображений, новостей и пр. Возможна также автоматизация добавления ссылок в меню сайта <<Чтобы включить файл в меню, следует открыть диалог Добавить в меню. Укажите тип меню, в которое нужно добавить пункт. Отметьте, будет ли этот пункт добавлен как новый, либо будет вставлен в существующий пункт. Введите название нового пункта и укажите место в меню, куда будет добавлен данный пункт. В результате сохранения страницы с новым пунктом меню будет создана новая страница и в структуре сайта появится новый пункт меню, ссылающийся на данную страницу.>>


- Возможность редактирования существующего на сайте документа


+





- Использование средств WYSIWYG для редактирования новостей, документов, страниц.




+


Контент может быть двух типов -- статические страницы внутри разделов, хранимые в папках этих разделов. а также динамический контент из БД, скажем в Информационных блоках. В обоих случаях может использоваться WYSIWYG редактор. Оформление, работа с таблицами на уровне "вставить удалить колонку", использование стилей, вставка изображений, редактирование мета-информации, добавление веб-компонент (PHP-блоков). В редакторе можно создавать обычные страницы, а также включаемые (на другие страницы) блоки.


- Средства повышающие usability: Drag-N-Drop контента, массовая загрузка, проверка орфографии, очистка тегов Word


+-


Drag-N-Drop есть только для добавления компонент. Есть copy-paste. Массовой загрузки нет. Проверка орфографии возможна, если установлен Office на клиентском ПК. Нет очистки от тегов Word


- Перенос существующего на сайте документа в другой подраздел


+-


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


- Возможность редактору создавать, изменять, переносить и удалять новые страницы, разделы и подразделы сайта


+


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


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


+


Есть специальный флаг "активности" материала. Пока он не установлен документ не будет виден на сайте. Для содержимого инфоблоков задается интервал актуальности


- Возможность задания вручную прямых ссылок на «похожие документы». Наличие средств, облегчающих поиск «похожих документов»


-


Для страниц этого в явном виде нет. Но можно организовать инфоблок со ссылками и выводить его в разделе. Для списков можно задать поля для похожих документов. Конечно, средств поиска документов нет.


- Возможность задать для документа перечень шаблонов его представления (стандартный, «для печати» и пр.)


+


Да, и версия для печати, и другие. Но для сайта в целом. <<Версия для печати представляет собой страницу, открытую в отдельном окне веб-браузера и содержащую информацию в виде, пригодном для печати на принтере. Страница с версией документа для печати создается с помощью специального шаблона сайта. Особенность данного шаблона состоит в том, что он не содержит лишних графических элементов дизайна сайта. Как правило, переход на страницу с версией документа для печати осуществляется по специальной ссылке, расположенной в теле исходной страницы сайта.>>


- Инструмент редактора для подготовки Web-версий изображений средствами системы


-


Все изображения должны быть уже готовы


- Возможность публикации одного документа сразу на нескольких сайтах, без создания его копий


-


Документы привязаны к разделам (папкам). Для инфоблоков возможно через RSS


- Механизм workflow для подготовки документов. Возможность отключения механизма .


+


Включается только если для папки установлен в правах доступа атрибут Документооборот. Есть статусы документа. Доступно также для новостей.










4. Готовые модули системы и блоки на страницах


4.1 Навигационные элементы и поиск
4.1.1. Навигационные элементы страницы

- Меню сайта.


+


<<Как правило, верхнее меню относится ко всему сайту и содержит ссылки на основные разделы сайта. Поэтому файл для него создается только в одной папке (корне сайта). Дополнительное Левое меню относится к разделам сайта и содержит ссылки на страницы и подразделы. Левое меню создается для каждой папки, т.е. для каждого раздела и подраздела. Если меню типа Left в папке отсутствует, то в публичной части будет показано меню вышестоящего раздела. Меню привязывается к разделу с помощью служебного PHP файла с именем "".тип меню.menu.php."".>>
<< Визуально управлять пунктами меню можно с помощью модуля ""Управление структурой"". В модуле управления структурой сайта необходимо выбрать нужный каталог, затем кликнуть по ссылке ""Добавить меню"" и выбрать нужный тип меню. Будет доступно два режима модификации меню: ""упрощенный"" и ""расширенный"". В упрощенном режиме редактирования можно задать название пункта меню, ссылку для перехода при выборе данного пункта меню, а также порядок следования пунктов в меню или, при необходимости, удалить пункты. В расширенном режиме можно указать дополнительные ссылки для подсветки, задать условия отображения и значения параметров пунктов меню.>>
<<Можно также воспользоваться панелью управления в публичной части сайта -- кликнуть на кнопку ""показать включаемые области"", а затем кнопку ""редактировать пункты меню"" рядом с интересующим вас меню.>>"



- Указание пути от вершины сайта до текущего места (портлеты/блоки на странице)


+


<<Навигационная цепочка показывает глубину вложенности текущего раздела сайта. Навигационная цепочка состоит из заголовков разделов сайта с соответствующими ссылками на них. Заголовок раздела сайта задается в служебном файле .section.php, который находится в соответствующем разделе. Визуально задать заголовок раздела сайта можно с помощью модуля "Управление структурой" в административном меню "Структура сайта" -> "Управление", зайдя в свойства того или иного раздела. Либо из публичной части сайта воспользовавшись панелью управления и кнопкой "редактирование свойств каталога". Для определения внешнего вида навигационной цепочки используется специальный PHP файл называемый "шаблоном навигационной цепочки". Путь к этому файлу вы можете задать явно или найти стандартный.>> Навигационную цепочку можно запретить для определенных страниц.


- Карта сайта (блок), генерируемая автоматически


+


Компонент “Карта сайта”, входит в "Главный модуль". Предназначен для вывода карты сайта в публичном разделе.Система позволяет поддерживать актуальность карты в автоматическом режиме: все изменения, вносимые в структуру сайта, автоматически отражаются на представлении иерархии разделов в карте сайта. Для автоматической генерации карты сайта используются пункты различных типов меню сайта. Принцип построения заключается в том, что вами задаются типы меню, пункты которых будут являться вершинами дерева карты сайта, а также типы меню, пункты которых будут представлены в виде ветвей и листьев дерева карты сайта. Данные параметры указываются на странице настроек Главного модуля системы


- Смена отображения в одном портлете в зависимости от состояния другого


-


Без перезагрузки страницы не возможно


- Другие особенности







4.1.2. Ссылки

- Блок показа небольшого списка коротких ссылок на странице.


+


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


- Блок для показа большого списка ссылок.


+




- Форма редактора для добавления ссылок.



+




4.1.3 Поиск



- Наличие системы индексации и поиска. Охват поисковой подсистемой всех страниц сайта.


+


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


- Блок для ввода поисковой строки для размещения на страницах сайта


+


PHP-компонент, который можно ставить на любую страницу. Компонент “Страница поиска”, предназначенный для показа на странице формы поиска и вывода результатов поиска. Посетитель также будет перенаправляться на страницу с данным компонентом для просмотра результатов поиска, осуществленного с помощью формы поиска, расположенной в шаблоне сайта. В параметрах компонента можно задать: область поиска; значения для выпадающего списка “Где искать”; количество результатов поиска для вывода на одной странице; путь к шаблону дополнительной цепочки навигации; время кэширования значений выпадающего списка “Где искать”.


- Выделенная страница для расширенных настроек поиска


-


Только поисковый запрос


- Возможность поиска со словоформами русского языка


 ?


нет информации


- Поиск среди внешних документов, помещаемых на сайт по ссылке


-





- Учет ограничений доступа при показе результатов поиска




+?


по всей видимости, да


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


+





- Возможность поиска внутри документов




-


Четко указывается, что индексируется только HTML документы и запись в БД


- Распознавание системой поиска разных версий одного документа







4.2 Контентные элементы
4.2.1. Обычные страницы и страницы пользователей

- Возможность создавать страницы без "обрамления" шаблоном сайта и показывать их внутри портлетов на других страницах


+


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


- Возможность создавать страницы по шаблонам сайта, но с произвольным набором портлетов внутри страницы


+


Да, такое тоже возможно


- Псевдостатические URL. Генерация для динамических страниц системы URL, имеющих формат, характерный для статических страниц. Это упрощает навигацию для пользователя, индексацию сайта поисковым сервером и управление им.


-


По всем признакам, нет

4.2.2. Новости

- Блок для вывода короткого списка анонсов.


+


Новости публикуются через модуль Информационных блоков, через который публикуются и другие списко-подобные данные. Компонент этого модуля -- "Список новостей". Данный компонент предназначен для вывода списка новостей одного или нескольких информационных блоков. Новости сортируются по дате или по другим признакам. Можно задавать фильтр в настройках компонента, список полей для вывода. Есть также "Лента новостей", где показывается список новостей без разделения по информационным блокам. Возможна выборка из всех или нескольких информационных блоков.


- Простая инициация добавления новостей


+


В целом это просто заполнение полей формы. Форма имеет довольно неэстетичный вид, но функциональна.


- Возможность "богатого" оформления анонса (добавление картинок, использование RichText). Отображение даты новостей. Наличие WYSIWYG редактора.


+


Добавление новостей происходит также, как добавление других информационных блоков -- через их список. Новость всегда имеет поле "Описание" и "Анонс" для которых поддерживается ввод через WYSIWYG поддерживается. Выводить можно любые поля новостей, в том числе даты.


- Установка срока действия новости (момента появления). В анонсе и момента исчезновения из анонса). Архивация новости.


+


Для записи в инфоблоке есть поле "Период активности" (с даты и до)


- Редактор для ввода основного текста новости в "богатом" формате, включения картинок, дат и таблиц. Наличие WYSIWYG редактора, шаблонов для вывода новостей (в том числе разных представлений -- для ПК, печати и пр).


+


WYSIWYG редактор для основного текста новости есть, хотя он упрощен по сравнению со стандартным редактором страниц. Неудобно, что нельзя с его помощью вставить ссылки, не прибегая к кодированию HTML. Он позволяет вставить лишь картинки, таблицы, поменять стили, границы таблиц. Шаблон для вывода новости один, он зафиксирован в модуле, но внешнее "обрамление" может убираться при организации печати за счет применения другого обрамляющего шаблона.


- Возможность размещения анонса новости без ввода ее тела, т.е. новости размещенной на странице с URL


+


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


- Категоризация новостей (новости компании, ТЭК)


+


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


- Рубрики новостей, флаги "важные новости", сортировки и группировки новостей и пр.


+-


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


- Блок/портлет для вывода полного списка новостей. Фильтр новостей в списке по датам, темам


+


Компонент "Все новости". Фильтр в принципе возможен, но на уровне параметров компонента на странице.


- Возможность размещения текста новости во вложении (Word)


+


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


- Особенности модуля





Компонент “Новость детально”. Компонент предназначен для детального просмотра элементов (новостей) информационных блоков определенного типа (например, Новости).



4.2.3. Персональные страницы пользователей, списки пользователей
4.2.4. Синдикация контента

- Генерация сайтом потоков данных RSS В качестве источника данных. Получение (и частичная публикация) сайтом потоков данных RSS с других сайтов


+


Обновления содержания информационных блоков может экспортироваться по RSS. Компонент “RSS новости (импорт)" позволяет организовать импорт новостей в формате RSS с какого-либо удаленного сайта. Компонент “RSS новости (экспорт)” позволяет организовать экспорт новостей, размещенных на сайте, в формате RSS.

4.3 Списки, хранилища документови каталоги
4.3.1. Списки и хранилища документов

- Средства просмотра списка и изменения его элементов редактором. Возможность настраивать шаблон отображения элементов списка. Уровень эстетики отображения


+


Модуль "Информационные блоки" позволяет хранить списки, имеющие любой набор полей (текст, число, файл). Этот набор полей настраивается администратором. Однако, чтобы данные этих полей выводились в блоках на страницах так как того требуют в ТЗ, возможно будет необходимо создание новых PHP-компонент на основе стандартных. Как правило для отображения коротких анонсов можно воспользоваться стандартными компонентами новостей, но для отображения детального вида с нестандартными полями нужно использовать заказную разработку.


- Красочные шаблоны (портлеты) для просмотра списка пользователем


+


Возможны, но если стандартные не подходят, то требуется разработка на PHP под ситуацию . Пример в демо раздел -- "Документы для партнеров"


- Поддержка основных атрибутов документов (датой, аннотацией и вложением)


+


Да, все эти типы полей поддерживаются.

4.3.2. Обобщенные списки

- Форма для ввода информации об элементе списка. Элемент списка формируется из стандартных полей -- число, дата, картинки, приложения (attachment).


+


За списки отвечает модуль "Информационные блоки".


- Фильтрация списка по критериям, сортировка по критериям


+


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


- Инструмент формирования шаблона для короткого отображения данных элемента. Инструмент для формирования шаблона отображения перечня элементов списка.


-


Нестандартные шаблоны нужно оформлять как PHP-компонент

4.3.3. Календари и списки мероприятий

- Блок «календарь», с которого возможен переход на список мероприятий за конкретную дату.


-


Такого блока в дистрибутиве нет. Наиболее вероятная его реализация -- компонент на PHP, задающий нестандартное отображение списка информационного блока


- Блок для отображающая списка мероприятий.


+


Отображение списка -- типовая задача решаемая модулем "Информационные блоки". С программной точки зрения этот список мало отличается, например, от списка новостей.


- Блок для отображения подробной информации о мероприятии на странице


+


В целом реализуется функционалом Инфоблоков. Зависит от набора полей. Если он не стандартный, то, возможно, придется дорабатывать.


- Возможность категоризации мероприятий


+


Все как в блоке Новости. Можно ввести поле, группу, организовать несколько информационных блоков.


- инструмент редактора для ввода информации о мероприятии. WYSIWYG оформление информации. Возможность включения картинок и файлов-вложений.


+


Стандартный редактор для HTML-полей

4.3.4. Каталоги

- Средства создания каталогов редактором (желательно иерархических). Средства управления документами в каталогах (добавления, удаление, изменения). Рубрикация документов в каталогах по нескольким критериям


+


Модуль информационные блоки позволяет заводить любые каталоги. Есть, и типовые компоненты для работы с каталогами в "Информационных блоках". Позволяет выводить каталог с двухуровневой структурой разделов. Вариантов вывода много. Возможен, например, <<вывод элементов раздела в виде табличного списка. Над списком располагается дерево подразделов текущего раздела, позволяющее переходить в другие разделы. Как правило используется на странице, отображающей содержимое того или иного раздела каталога.>>


- Портлеты и списки представления каталогов (Шаблоны)


+




4.3.5. Фотогаллерея



- Портлет для навигации пользователя по фотогаллереи. Thumbnail, Preview.


+


Часть модуля "Информационные блоки". Компонент "Разделы с TOP’ом фотографий" предназначен для вывода TOP’а фотографий каждого раздела фото галереи в табличном порядке. Как правило, используется на главной странице фото галереи. Компонент "Случайное фото" предназначен для вывода случайной фотографии. Используется, как правило, на главной странице сайта. Компонент "Фотографии раздела" предназначен для вывода фотографий раздела в табличном порядке. Как правило, используется на странице, отображающей содержимое того или иного раздела фото галереи. Компонент "Фотография детально" Данный компонент предназначен для показа полной информации по одной фотографии. Выводит также навигационные ссылки Следующая и Предыдущая.


- Инструменты для добавления статических изображений и рубрикации


+




4.4 Интерактивные и динамические элементы


4.4.1. FAQ

- Список просмотра FAQ


+


Функционал FAQ реализуется настройкой в интерфейсе администратора модуля веб-форм для отсылки запроса (см. Анкетирование) и через списки (инфоблоки) для публикации ответов. Компоненты "Вывод списка результатов", "Просмотр результата", "Редактирование результата", "Вывод пустой формы"


- Готовая форма для ввода запроса


+


Форма настраивается через Web-интерфейс системы. По сути -- та же анкета


- Инструмент редактирования списка FAQ. Утверждение вопроса и ввода ответа редактором


+




4.4.2. Анкетирование



- Возможность создать развернутую анкету (форму) для пользователя.


+


Возможность реализуется через модуль веб-форм. Он может применяться для: хранения комментариев или запросов посетителей сайта; хранения и поиска анкет посетителей сайта; обработки другой информации, подразумевающей использование форм для ввода данных. Примеры скриптов для хранения и поиска анкет посетителей сайта входят в дистрибутив модуля. При создании вопроса формы указываются: идентификатор; обязательность ответа; порядок сортировки; флаг активности; текст вопроса (в т. ч., используя HTML редактор); комментарий; набор полей ввода (HTTP input). Предусмотрены следующие поля ввода: text (однострочный текст); textarea (многострочный текст); multiselect (множественный выбор); dropdown (одиночный выбор); набор radio кнопок (одиночный выбор - альтернатива); набор checkbox кнопок (множественный выбор); поля для ввода файла; поля для ввода даты с встроенным календарем. Дополнительно можно указать: необходимость выводить ответы на этот вопрос в таблице результатов; параметры и поля фильтрации таблицы по данному вопросу.Предусмотрены следующие виды полей фильтра:однострочное текстовое поле; интервал чисел; интервал дат; выпадающий список с одиночным выбором.


- портлет для отображения анкет на страницах сайта


+


Имеется возможность определять шаблоны, используемые для: отображения формы; вывода результата; печати результата; модификации результата; почтовый шаблон для отправки по почте результата (предусмотрена автоматическая генерация почтовых шаблонов) <<Под результатом понимается совокупность данных, введенных в форме и затем сохраненных в базе данных. Для отображения собранных результатов в публичной части сайта можно воспользоваться API модуля, а также примерами, поставляемыми в дистрибутиве. Отображение результатов форм в административной части сайта осуществляется ядром модуля. При отображении результатов форм возможна фильтрация полей результата, вопросов форм и полей форм, а также сортировка полей результата.>>


- Функционал складирования анкет и отправки их по email


+


Для отсылки результатов формы по e-mail требуется задать конкретный почтовый шаблон в настройках формы.
Для генерации почтовых шаблонов предусмотрена ссылка создать рядом с полем почтового шаблона. После
заполнения и сохранения формы у вас есть возможность использовать функцию CForm::Mail (входящую в API
модуля) для отсылки заполненных данных по e-mail.


- Просмотр списка опросов и списка заполненных анкет в опросе. Средства подсчета статистики


+


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


- Дополнения





Модуль позволяет задать следующие права доступа для каждой формы (каждый последующий вид доступа включает в себя все предыдущие): Доступ закрыт, Заполнение формы, Работа посетителя со своим результатом в соответствии со статусом, Работа посетителя со всеми результатами в соответствии с их статусами, Просмотр параметров формы. Статусы задаются для каждой веб-формы отдельно и определяют документооборот для каждого результата. Каждый результат веб-формы должен находится в определенном статусе (например: принято к рассмотрению, опубликовано, черновик и т.д.). В настройках статуса можно задавать права для различных групп пользователей и создателя результата. Существует четыре вида действий, на которые можно задать права в данном статусе: право на просмотр; право на редактирование результатов; право на удаление результатов; право назначать данный статус.



4.4.3. Банеры

- Наличие «движка» для показа банеров. Блоки для показа банеров на страницах


+


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


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


+


<<Баннер имеет тип, обязательно должен быть приписан к какому либо
контракту и может входить в ту или иную группу. Также баннер может находиться в одном из трех статусов:
"подтвержден" (в данном статусе он может показываться на сайте), "на рассмотрении" (статус не позволяет показывать баннер на сайте и говорит пользователю, управляющему модулем рекламы о том что баннер необходимо либо перевести "подтвержден" или "отклонен"), "отклонен" (в данном статусе баннер не может быть показан на сайте).>> Присутствует возможность создавать и настраивать новые типы банеров, включая изображения и HTML-банеры, задавать их типоразмеры и п.


- Настройка параметров целевого показа


+


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

4.4.4. Голосование

- Форма для задания редактором вариантов выбора, инициации голосования, подведения итогов


+


Голосования проводятся с помощью «Модуля проведения Опросов». Редактор может через Web-интерфейс конструировать форму опроса.
Возможно задавать группы опросов. Они характеризуются тем, что в пределах группы может быть только один активный опрос (регулируется интервалом проведения опросов). Можно регулировать какие группы пользователей в каком качестве принимают участие в опросе (не доступа, голосование, просмотр результатов).
Есть много разных настроек.
Информация по проведенным голосованиям представлена на странице «Голосования». Возможны разные варианты представления информации, включая круговые и столбцевые диаграммы. На странице «Посетители» можно просматривать статистику по всем пользователям, принимавшим участие в опросах.


- Портлет для отображения опций выбора на страницах сайта. Должны поддерживаться варианты ответов: да/нет; один из нескольких; текст;


+


Переход к заполнению опроса происходит по ссылке. Шаблон показа опроса представляет собой PHP скрипт. Путь к данным шаблонам задается в параметре «Путь к шаблонам для показа опросов» в настройках модуля опросов. Данная страница позволяет также непосредственно проводить голосования. Обычно используется стандартный компонент «Форма опроса» (выводит форму опроса для заполнения).
Опрос конструируется уполномоченным пользователей в интерфейсе администрирования из следующих полей (в форме «Список вопросов»): радио-кнопка, checkbox, выпадающий список, список с возможностью множественного выбора, однострочное поле ввода, многострочное поле ввода. Вопросов может быть сколько угодно. Можно также задавать флаг активности, дату окончания, задать отсылку email уведомления о каждом ответе на тот или иной опрос, установить способ отслеживания уникальных посетителей (IP-адрес, куки), подредактировать опрос в HTML-редакторе.


- портлет для просмотра результатов голосования пользователем на страницах сайта.


+


Основной функционал модуля доступен в виде PHP-компонент и может включаться на страницы (правда не через визуальный редактор). Есть компоненты «Диаграммы ответов на вопрос» (диаграмма ответов на тот или иной вопрос), несколько типов компонентов «Результаты опроса», «Форма опроса» (выводит форму опроса для заполнения) «Столбиковая цветная диаграмма» и т.п."

4.4.5. Графическая карта

- Блок «графическая карта»


-


Готового нет, но может легко интегрироваться в систему, можно даже сделать на базе инфоблоков для хранения координат точек. Но код -- на JavaScript


- Форма для настройки редактором действий по щелчку на карте, добавления новых активных зон на карте


-




4.4.6. Отзывы



- Форма для ввода отзыва пользователем.


+


Реализуется через Форум. Или же через модуль веб-форм (см. Анкетирование, FAQ), только результаты публикуются на странице. Требуется минимальная настройка силами разработчика.


- Форма для просмотра отзыва и утверждения редактором


+





- Портлет показа пользователю «Списка коротких отзывов». Обеспечивает ссылку на страницу с «полным отзывом». Портлет для показа полного отзыва




+


Есть готовый в модуле Форума -- Компонент "Отзывы о продукте" (<<Компонент служит для ввода и показа отзывов о продукте (элементе инфоблока). В инфоблоке, к элементам которого пристегиваются отзывы, должно существовать целочисленное свойство с мнемоническим кодом FORUM_TOPIC_ID.>>)


- Возможность привязки отзыва к материалу, размещенному на сайте


+


Есть готовый в модуле Форума -- Компонент "Отзывы о продукте"

4.4.7. Подписки и рассылки.

- Механизм подписки пользователем на автоматически генерируемые рассылки-объявления. Готовые формы для подписки (ввод E-mail и реквизитов подписки)


+


Имеется "Модуль подписок и рассылок". Рассылки -- это тематические рубрики, на которые могут подписаться посетители сайта. Возможна одновременная подписка на несколько рассылок. Почтовые рассылки отсылаются группам зарегистрированных подписчиков или пользователей сайта. Подписчики могут быть как зарегистрированными пользователями, так и не зарегистрированные (анонимные).
Рассылаемые сообщения группируются в Выпуски. Один Выпуск может быть направлен как адресатам определенных рассылок, так и пользователям определенных групп прав или же вообще на произвольные адреса.
Можно задавать формат рассылки (тест или HTML), использовать визуальный редактор для редактирования подготавливаемых сообщений.
Все выпуски формируются руками, автоматическое формирование стандартными средствами не предусмотрено. Пользователь подписывается на подписку на странице, путь к которой задан в параметре «Публичный раздел, где находится
страница редактирования подписки». Есть форма для настройки прав доступа к модулю разных пользователей (чтение, запись и пр.)


- Возможность задания профиля по интересам при подписке на рассылку


+


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


- Редактирование списка подписчиков, его экспорт и импорт


+


Есть форма "Подписчики", в которой выводится таблица с данными подписчиков. Из нее можно создавать новых подписчиков, редактировать параметры подписчиков, удалять подписчиков.
Есть форма "Импорт адресов", предназначенная для добавления адресов рассылки сообщений из внешних источников (файлов) или из явно задаваемого списка адресов. С ее помощью можно добавить в систему большое количество адресов электронной почты (например, при смене системы управления сайтом на систему Битрикс), не прибегая к ручному вводу адресов.


- Формы инициации рассылки. Автоматическая рассылка. Рассылка подборки по команде («разослать»)


+


Форма "Список выпусков" предназначена для управления новостными сообщениями. С помощью этой формы можно в форме таблицы просматривать имеющиеся сообщения, создавать новостные сообщения (выпуски) с чистого листа или путем копирования существующих сообщений, редактировать сообщения, удалять сообщения, отправлять сообщения рассылки подписчикам. Форма "Шаблоны сообщений" служит для управления шаблонами почтовых сообщений. При возникновении на сайте события на отправку какого-либо письма, система ищет подходящий шаблон для такого письма. Если шаблон найден, то письмо отправляется в соответствии с этим шаблоном. Шаблоны почтовых сообщений различаются по типам сообщений и сайтам, для которых шаблоны предназначены. Каждый шаблон почтового сообщения может содержать два типа данных: неизменяемые данные (константы) и изменяемые данные (параметры).


- Дополнения





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



4.4.8. Форум

- Возможность общения по темам. Трехуровневость. Название форума – Тема форума – Вопрос/ответ по теме. Заведение новых тем форума, как администратором сайта, так и пользователем. Создание произвольного количества форумов


+


Модуль "Форум" обеспечивает все эти функции. Хотя на мой взгляд он выполнен не эстетично (в демо версии системы). Возможно также группирование форумов по близким темам администратором.


- Оформление. Возможность RichText, вложений, картинок, смайликов, аватаров. Ограничение максимального размера сообщения;


+


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


- Автоуведомление пользователей и администраторов о добавленной теме/сообщении. Фильтры уведомлений. Настройка почтовых шаблонов для уведомлений;


+


Можно подписаться на новые сообщения, новые темы.


- Автоматическое создание архивов сообщений; ограничение количества тем для одного архива;


-


Не найдено


- Пост-модерация форума; удаление, изменение, создание сообщений в форуме администратором/модератором;


+


Возможна пре и постмодерация форума в зависимости от его настроек.


- Разрешение добавления тем пользователями;


+





- Просмотр истории сообщений по конкретному пользователю.




+-


Нет. Отображается только три последние темы данного пользователя

4.4.9. Частные объявления

- Модуль для просмотра каталога частных объявлений








- Форма для публикации на сайте частных объявлений сотрудниками








- Модерирование и предварительный просмотр объявлений администратором








- Архивирование старых объявлений, удаление из доступа







4.5 Вывод данных
4.5.1. Работа с данными

- Инструмент проектирования формы ввода данных и шаблона отображения данных, привязка форм к таблице СУБД.


+-


Базовая функция PHP. В системе есть форма "SQL Запрос", позволяющая протестировать результат исполнения SQL


- Представление элементов, заполняемых через форму, в виде списка. Фильтр списка.


+-


Требует несложного программирования на PHP. В принципе есть пояснения в руководстве разработчика


- Возможности импорта списка


-


Готового нет (только в модулях Интернет Магазина)

4.5.2. Модуль «Глоссарий»

- Управление списком глоссария редактором. Форма для ввода элемента глоссария


+-


Глоссария нет. Частично его можно организовать на базе Информационных блоков -- новостей или каталога. Но навигатор по глоссарию потребуется настраивать. Например, его можно организовать как блок коротких анонсов, но придется изменять дизайн готовых компонент


- Портлет для размещения оглавления глоссария и приложенного к нему списка терминов на страницах сайта


+-




4.6. Другие готовые элементы страниц



- Предопределенные разработчиком интерактивные элементы страницы








- Элементы для отображения в браузере документов стандартных типов (форматы Microsoft Word, RTF, Microsoft Excel и т. д.)


-


Нет


Дополнения







5. Безопасность
5.1. Администрирование, разграничение доступа к контенту, ролевой доступ

- Поддержка иерархии доменов администрирования (система сайтов в целом, сайт, раздел сайта)


+


Права доступа можно установить на каждый раздел сайта или отдельным модулям и документам. В программном продукте реализована двухуровневая система разграничения прав доступа: 1) к каталогам и файлам; Настройка данного уровня прав осуществляется в административном разделе сайта в меню Структура сайта -> Управление. 2) доступ к модулям системы и операциям в модулях. Права второго уровня настраиваются при создании или редактировании группы (здесь в частности задается доступ на управление . модулями -- через список этих модулей). Исключение составляет модуль Информационные блоки, настройка прав групп пользователей для которого для каждого инфоблока в отдельности на страницах редактирования информационных блоков. Таким образом можно ограничить доступ и к разделам, и к отдельным функциям системы. Статические страницы принадлежат модулю Управление структурой


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


+


Система позволяет создавать произвольное количество групп пользователей с разными правами доступа к ресурсам сайта. Права выставляются через менеджер файлов. Они включают разрешения на чтение, запись, наследование от более высоко лежащего контейнера, полный запрет доступа. Для папок есть еще атрибут Документооборот, показывающий, что пользователь может поместить туда документы только через workflow. Что касается модулей, то для каждого из них имеется уникальный набор ролей, и каждой из ролей ставится в соответствие свои пользователи и группы.


- Поддержка работы анонимных и зарегистрированных пользователей


+


И то и другое. Если разрешено сохранение данных в cookie, то пользователь может сохранять между сессиями логин и пароль.


- Механизмы авторизации


+


По паролю и логину. Если используется интеграция с Active Directory, то пользователь при авторизации на сайте вводит логин и пароль, используемый им для авторизации в корпоративной сети. Для разработчика есть возможности по организации авторизации на базе списков во внешней таблице СУБД


- Интеграция системы разграничения доступа CMS со стандартными сервисами обеспечения безопасности, в первую очередь, Microsoft Active Directory


+


С помощью AD / LDAP модуля можно установить соответствие между группами пользователей корпоративной сети и группами CMS. Соответствие групп задается в специальной Таблице Соответствий в административном разделе сайта. При этом возможно несовпадение имен групп пользователей сайта с именами групп пользователей корпоративной сети. Группы пользователей внутри компании обладают правами на доступ к определенным ресурсам корпоративной сети, а сопоставленные им группы пользователей на сайте обладают правами на доступ к ресурсам сайта. При этом возможно автоматическое добавление бюджета авторизующегося пользователя к списку пользователей на сайте, если он заведен в AD.


- Настройка доступности отдельных подразделов или документов сайта.


+




5.2. Журналирование операций



- Ведение лог-файлов по всем действиям пользователей, ведущих к изменению стояния сайта


+


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

5.3. Журналирование действий конечных пользователей

- Журналирование действий пользователя


+


Модуль статистики дает возможность: вести учет хитов, хостов, сессий, посетителей сайта; вести учет посетителей, добавивших сайт в «Избранное»; регистрировать все ссылающиеся сайты; фиксировать поисковые фразы внешних поисковых систем и встроенной системы поиска; анализировать посещения разделов и документов сайта;§ вести учет посетителей по дням с выделением постоянной аудитории сайта; Модуль регистрирует системные события. <<Примерами событий могут служить: скачивание файла, уход на внешнюю платежную систему, оплата заказа, отмена заказа, клик по баннеру, уход на любой другой сайт по ссылке с вашего сайта, переход на тут или иную страницу вашего сайта.>>


- Встроенные средств анализа журналов посещений сайтов


+


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


- Возможности экспорта данных о посещениях в стандартном виде для анализа специализированным ПО


-


Не найдено готового

5.4. Backup

- Наличие средств архивирования и восстановления сайта, возможность архивирования без останова работы сайта


-


Средств backup не найдено. Имеется система автоматической установки обновлений с удаленного сайта, в том числе обновлений ядра системы.

6.Удобство системы (эргономика)

- Удобство инструментария по описанию структуры сайта


+-


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


- Удобство средств проектирования страниц


+-


Визуальный редактор приемлемого удобства.


- Удобство инструментария редактора контента


+-


Инструмент добавления контента в целом работоспособный, есть WYSIWYG и прочее, но хотелось бы более четкого разделения инструмента добавления контента от инструмента проектирования сайта


- Общая красота и настраиваемость интерфейса


+


Настраиваемость сайта высокая.

7. Технология
7.1. Технологическая база

- Среда исполнения (PHP, ASP.Net, Java и т.п.)


+


PHP, Apache.


- Требования к операционной системе


+


Windows, Unix, Linux


- Требования к СУБД


+


Oracle DB, MySQL


- Требования к аппаратуре







7.2. Интерфейс

- Тип интерфейса инструментария по проектированию и управлению сайтом (Web-интерфейс, прикладная графическая программа, специальный язык, API). Управление документами через другие программные продукты


+


Web-интерфейс для всех задач (кроме создания нового сайта)

7.3. Конфигурации инсталляции

Разные конфигурации сайта (рабочая, для разработка, тестовая, для авторинга и пр.)


-


Инструментов для переноса конфигурации сайта не найдено

7.4. Производительность, кэширование, масштабируемость и обеспечение бесперебойной работы

- Возможность исполнения на многопроцессорных комплексах


+


Свойство Apache/PHP


- Возможность создания кластеров высокой производительности


+


Веб-сервер и СУБД могут быть разнесены на разные машины. Возможно вынесение веб-сервера на несколько машин.


- Возможность создания кластеров высокой надежности


-


Нет базово


- Применение кэширования


+


Рекомендовано применение для фронт-энда кэширующих серверов SQUID (http://www.squid-cache.org/), OOPS (http://www.oopscache.org/), NGINX (http://sysoev.ru/nginx/) или любого аналогичного продукта. <<Практика эксплуатации продукта под большой нагрузкой показывает, что при правильном подходе к распределению ресурсов и конфигурированию, производительность одного и того же оборудования может отличаться в несколько раз.>>


Оценка производителем оценки максимального количества работающих пользователей (сессий)


+


Теоретически до 1 000 000 посетителей в сутки -- нужно несколько машин под веб-сервер и одна машина под базу данных. При использовании СУБД Oracle возможно распараллеливание и базы данных и увеличение нагрузки выше 1 000 000 посетителей в сутки.


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







7.5. Интеграция с другими программами системами

- Интеграция с Microsoft SharePoint Portal Server (портлеты, возможность включения сайтов CMS в поиск SPS, размещение ссылок на SPS с переходом без дополнительной авторизации)


-


Стандартно нет


- Возможность offline-импорта данных из различных программных систем и В различных форматах, В том числе XML


+


Для итогового модуля. CommerceXML и пр.


- Публикация данных из внешних СУБД


+


Через PHP


- Использование Web-сервисов


-


Стандартно нет


- Интеграция с системами интеграции приложений и сходных с ними систем


-




8. Организационно-ценовые вопросы


8.1. Поставщик, поддержка

- Местонахождение производителя


+


BitrixSoft, Москва


- Оценка надежности компании-производителя


+


Высокая


- Количество внедренных проектов в мире


+


Десятки внедрений на сайтов средней сложности


- Наличие российских партнеров, их надежность


+




8.2. Отчуждаемость системы и поддержка



- Степень отчуждаемости («коробочности») CMS


+


Продукт коробочный


- Наличие поддержки пользователя и ее полнота


+


Да, любая форма поддержки производителем


- Возможность получения системы в виде исходных кодов


+


Система поставляется в исходных кодах

8.3. Ценовые условия

- Типы стоимости лицензий





При приобретении лицензий на дополнительные сайты вам выдаются купоны на дополнительные сайты (один купон - одна дополнительная лицензия). Цены для Oracle-версий. 1 копия системы класса «Эксперт» (без э-магазина) -- $6000. Модуль Active Directory -- $1999. В стандартную поставку продукта включена лицензия на создание двух сайтов на основе продукта. Лицензии на каждый доп. сайт: от $1800 (покупка одного) до $1530 (10 сайтов). Возможна неограниченная лицензия (для версии MySQL $8 730, для Oracle -- по договоренности, но в среднем лицензия на Oracle в 4-5 раз дороже). http://www.bitrixsoft.ru/buy/sites.php




- Годовые затраты на поддержку





Покупатель продукта получает: год бесплатной технической поддержки; возможность в течение года бесплатно обновлять продукт и скачивать новые модули; право участвовать в специальном форуме между клиентами и сотрудниками компании для корректировки приоритетов в разработке новых модулей для будущих версий продукта; право размещать заявки на создание специализированных модулей на льготных условиях; возможность заказывать обновление между версиями продукта; дополнительный год технической поддержки за 30% от стоимости купленного продукта.




- Стоимость апгрейда системы





см. выше.