Мы предлагаем:У нас есть:
1 базу данных MySQL(50MB)PHP 5
Прикрепление своих доменовMySQL
Предустановленные движки сайтовPerl
Место под файлы(300MB)Ruby
Бесплатно и без рекламы!
Авторизация:
e-mail: Пароль:
Забыли пароль?    Запомнить  
Все блогиМой проект → Необходимые качества современной CMS
Rss

Продолжим начатый разговор для любителей изобретать велосипед. Какими все же должна обладать качествами современная CMS? В свое время мне удалось выделить следующие 17 штук:

1. Простая инсталляция

Самая первая стадия эксплуатации CMS – её инсталляция. Процесс должен быть максимально задокументирован, упрощён и последователен. Это должна быть простая процедура, выполняемая с помощью визарда или скрипта установки. Скачать, распаковать и запустить мастер установки – вот к чему должна сводиться процедура.

2. Быстрый старт

CMS должна быть максимально дружелюбной к пользователю уже с первых шагов использования системы. Задачи настройки должны усложняться постепенно, идти от простого к сложному. К примеру, пользователь сначала авторизуется в системе, далее создает новый web-документ. После чего необходимо добавить несколько стилей CSS (как вариант – выбрать шаблон, тему), затем связать новый документ гиперссылками с другими web-страницами. Далее идет построение системы навигации и добавление всевозможных сервисов, подключение функциональных блоков. Работа осуществляется постепенно, команды выполняются не все сразу – возможность создания приоритета разделов, форумов, пользовательских голосований и опросов.

3. Качественная документация

Инструкции по установке и апгрейду должны быть настолько просты, чтобы нетехнический персонал мог понять их, но достаточно подробны, чтобы их легко было выполнять “пошагово”. Отдельным подпунктом идёт требование отсутствия сленговых выражений. Пользователь может попросту не понять, что такое «portlet», «module» или «snippet». Это может путать людей, сбивать их с толку. Более того, если продукт распространяется бесплатно, с открытым кодом, следует прикладывать к CMS еще документацию для разработчика – структура программы, ее логика, алгоритм функционирования – возможно, этот продукт будут развивать и улучшать, либо же просто править под конкретные нужды.

4. Разделение администрирования и управления содержанием

Практически все открытые CMS различают понятия «администратор» и «пользователь», но пользователь не обязательно должен переключаться между режимами администрирования и управления содержанием, чтобы внести необходимые изменения.
98% пользователей CMS – это люди, которые хотят управлять содержимым своего сайта, а не самой системы. Для оставшихся 2% пока еще нет оптимизированных CMS.

5. Уникальность

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

6. Гибкость использования. Расширяемость.

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

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

Интернет-магазин. Сайт, представляющий собой систему торговли через Интернет, а также системы сопряжения с автоматизацией учета через БД;

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

7. Структура данных

На сайте, обслуживаемом CMS, должны отображаться документы различных типов. Другими словами, разные страницы сайта могут быть различны не только по содержанию, но и по дизайну, и по структуре. Было бы еще лучше, если бы CMS позволяла отображать также и страницы в форматах, отличных от HTML. Например, со временем может понадобиться вывод ленты новостей в формате RSS. Возможно, возникнет необходимость в WAP-версии сайта для мобильных телефонов.

Каждая страница сайта – это документ, имеющий свой персональный интернет-адрес. А сайт представляет собой совокупность таких документов. Документ составляет информация, определенным образом структурированная и оформленная. Для того чтобы сайт был более прост в восприятии, ссылки на документы располагают в многоуровневых навигационных меню по степени их логической взаимозависимости. Т.е. в соответствии с определенной структурой (документной структурой). Кроме того, в этой документной структуре предусматриваются и различные категории документов, идентичных по логической архитектуре и оформлению. Таким образом, в процессе администрирования CMS потребуется интерфейс с перечнем категорий документов и интерфейс, представляющий документную структуру сайта. Первый интерфейс будет содержать шаблоны страниц, задающие логическую архитектуру и оформление документов. Интерфейс структуры, позволит добавлять, изменять и удалять документы, а также задавать логическую зависимость их друг от друга.

8. Простота и прозрачность системы.

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

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

9. Адаптация для SEO

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

Сюда же добавим mod_rewrite. Основным недостатком большинства CMS является динамическая адресация, когда ссылка имеет вид типа:

http://www.wwwww.ru/index.php?option=com_content&task=view&id=2&Itemid=3

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

http://www.wwwww.ru/content/view/2/3/

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

10. Поддержка продукта. Простота обновлений.

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

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

11. Ориентация на web 2.0

Хорошая CMS должна давать возможность использования в контент-менеджменте всего многообразия медиа-форматов. Можно использовать собственные решения для доставки содержания этих форматов или же популярные флеш-плееры – Youtube.com для видеоподкастов, Slideshare.net для презентаций, Scribd.com для документов MS-Word и т.д. Интеграция в платформу Wiki и блоговые системы, обеспечение единой политики пользовательских прав в рамках всех приложений интранет. Пользовательский интерфейс современной CMS должен быть «обогащенным», но простым в использовании. При нынешнем обилии AJAX-фреймворков “обогатить” пользовательский интерфейс популярными эффектами не представляется особо сложной задачей. Однако, чтобы достичь баланса между эффектностью и практичностью интерфейса можно следовать по одному из двух путей. Либо придерживаться GUI-модели популярных и привычных пользователю настольных приложений, либо разрабатывать аскетичные решения в стиле Google.

12. Безопасность

Сюда входит стойкость к SQL-injection, XSS-скриптингу, защита от подмены передаваемых параметров. Обязательна возможность осуществления резервного копирования и восстановления данных.

Анализатор поведения клиентов с отсеиванием «ботов» (сокр. bot, от англ. robot — робот — программа, выполняющая автоматически и/или по заданному расписанию какие-либо действия, и имеющая в этом некое сходство с человеком.). Возможно ограничение на количество ссылок в одном сообщении, контроль «флуда» (от англ. flood /flʌd/ — «наводнение» — пустословие, сообщения в интернет-форумах и чатах, занимающие (во многих случаях) большие объёмы, либо наоборот — состоящие из одного слова или нескольких символов, и не несущие какой-либо новой, полезной или смысловой информации), «бан» (англ. ban, /bæn/ — запрещать, объявлять вне закона — один из принятых в Интернете способов контроля за действиями пользователей. Как правило, заключается в лишении или ограничении каких-либо прав пользователя) ip и ведение «черного списка» рекламируемых сайтов, а также фильтрация сообщений по подстроке.

13. Usability

Давайте подумаем над тем, насколько способен пользователь в той или иной CMS выполнять простые операции без тренировки, сможет ли он это сделать без обращения к поставщику решения. По определению CMS предназначена для управления содержанием. Таким образом, наиболее типовая операция для пользователя CMS – создание/изменение содержания документов сайта. Эта операция включает в себя нахождение требуемого документа и затем интерфейса для управления его содержанием. Если предположить, что документы на сайте представлены в той же структуре, что и административном интерфейсе, наиболее очевидный путь – пройти по иерархии структуры, выбрать требуемый документ и использовать ссылку перехода к свойствам/содержанию документа. В этом плане наиболее привычными и понятными является пользовательские интерфейсы, напоминающие Проводник Microsoft Windows.

Привычность использования CMS зависит прежде всего от того, насколько ее интерфейс выглядит похожим на популярные приложения. Разработчики могут задаться целью максимально повторить интерфейсные решения, принятые в Microsoft Windows. Интерфейсные элементы, структурное дерево и список могут иметь вид аналогичных элементов интерфейса Windows и поддерживают контекстное меню по правой кнопке мыши и Drag & Drop. Для всех документов и записей в системе доступны организованные в виде закладок интерфейсы управления свойствами.

CMS должна использовать стандартные GUI-элементы (меню, кнопки, элементы форм).

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

CMS должна давать возможность редактирования содержания документов в режиме WYSIWYG.

14. Скорость реакции интерфейса

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

15. Терпимость к провалам

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

16. Масштабируемость.

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

17. Пользовательские надстройки.

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

Заключение

И помните, это относится не только к написанию своей CMS с нуля, но и к подходу проектирования своего сайта удобного для пользователей на базе существующих решений.


Автор: Денис | Дата создания: 18 апреля 2012, 13:34 UTC | +1.58


Комментарии(3)
bartokng  19 апреля 2012, 06:05 UTC  #
0.0
392

Хорошая статья, перевод, или сам писал? или часть дипломной?

Денис  19 апреля 2012, 09:15 UTC  #
0.0
Index

Спасибо. Сам писал, часть дипломной работы на бакалавра.

Введение, анализ проблемной области :)

strayxxxx  20 апреля 2012, 17:03 UTC  #
0.0
149

Очень интересно, спасибо! Из своего очень незначительного опыта могу сказать, что для меня самыми важными пунктами, которые в итоге стали решающими для выбора CMS были 6 и 15.


Простите, Ваш браузер не поддерживает html5
Управление стрелками. Пробел - пауза.