Я сравниваю управление сайтами с кипячением воды. Воду можно вскипятить несколькими способами. Можно разогреть в котелке на костре в полевых условиях, что сравнимо с редактированием сайта используя редакторы кода и ftp-доступ. И как показывает современная жизнь, этот способ пригоден только в ситуациях, когда иных возможностей нет. Другие способы - это кипячение в чайниках и нагревателях. Сайт с тремя страницами кипятим в чайнике, а большой контентный портал кипятим в нагревателе.
Логически я делаю вывод, что удобнее кипятить все-таки с помощью прибора, даже если воды нужно всего лишь на одну чашку чая. Если это сделать удобнее и быстрее с помощью костра и котелка, значит, прибор плох, не соответствует своему назначению или же разработан учеными в целях экспериментов над людьми.
Причин не использовать на сайтах CMS и обходиться другими инструментами я не вижу. Вижу лишь адекватный и грамотный подход к их разработке. Буквально это выглядит так: при покупке машины мы не покупаем к ней водителя и механика, также хотим, как можно реже лезть "внутрь" и под машину. И управление машины доступно практически любому здоровому человеку. А авто-разработчики стремятся сделать машины максимально надежным, плюс обеспечивают сервис, гарантийный ремонт и иное обслуживание по принципу "один ключ для разборки всей машины".
А затраты? Для сайта в три страницы можно использовать CMS себестоимостью 5 евро, на полном серьезе. Для сайтов с объемной и обновляемой информацией CMS должна включаться разработчиком сайтов по умолчанию или со значительной скидкой (50-80%).
Безусловно, есть сайты, которые не нужно обновлять и редактировать вообще, но полезность таких сайтов под вопросом.
Да, кстати, CMS категорически не имеет право и не обязан разрабатывать программист, если он не умеет мыслить как пользователь и как менеджер проекта одновременно. У программиста совсем иная работа и совсем другие задачи. Критическая ошибка требовать от строителя проектировать дом, а уж тем более интерьер (интерфейс) квартир (cms).
Требования к системе управления сайтами
Для начала опишу те требования, которые предъявляю лично я к CMS. Рассматриваю со стороны разработчика и со стороны владельца сайта (или обслуживающего персонала). Порядок требований произвольный.
Со стороны разработчика сайта
1. Текст и код должны быть максимально отделены друг от друга.2. Весь дизайн сайта должен состоять из шаблонов. Обычный случай два шаблона - главная и внутренняя страница.
3. Блоки текста, заголовков, новостей и вся информация, которая редактируется, должна вставляться в шаблон просто, не требуя никаких кардинально новых знаний и изучения новых языков. Например, так: Text - и все, теперь шаблон знает: здесь будет блок основного текста страницы.
4. Навигация для всех страниц сайта редактируется в одном месте.
5. Установка дополнительных модулей к системе не должна вести за собой изменение шаблонов дизайна сайта.
6. Редизайн - это лишь смена шаблонов сайта и ничего более.
7. Один и тот же движок системы для любых сайтов.
8. Работа системы во всех популярных браузерах.
Со стороны пользователя сайта
Сначала пара слов о разработке систем в частности и о разработке чего-либо вообще. Правило номер один гласит: при работе с чем-либо вопрос пользователя: "А что же там внутри?" может или должен возникнуть только из чувства восхищения системой или из любопытства. Если этот вопрос возникает из других побуждений - система разработана плохо или не соответствует своим задачам. Вопросы первого случая, как правило, риторические и не требуют решений. Вопросы второго случая, обычно превращаются в негодования, жалобы и недовольство разработчиком.
На примере. Вам приходит в голову вопрос, что внутри качественного видеомагнитофона? Нет, потому что он работает.
Итак, требования со стороны пользователя: 1. Быстрая ориентация в интерфейсе и обучаемость. Достижимый идеал - вошел в систему и сразу стал работать. Именно работать, а не изучать интерфейс.
2. Доступность максимального количества ключевых информационных блоков на одном экране без прокрутки.
3. Ясность и четкое разделение блоков.
4. Возможность перехода от экрана к экрану, используя кнопки браузера "вперед" и "назад".
5. Дизайн интерфейса.
6. Причем единый для всех страниц.
7. Доступ к любой функции программы в кратчайшее время, используя максимум "два клика".
8. Предсказуемость, ясность и информативность происходящих действий и их результата.
9. Объяснение ошибок и их причин. Т.е. если ввел неправильно пароль, то должно быть сообщено: "Вы неверно ввели пароль", а не так: "Данные заполнены неверно".
10. Возможность настроить все, что можно под свои требования.
11. Возможность исправить свою ошибку.
12. Не учить никакой новый язык для работы с системой, и вообще не задумываться о системе при работе с ней. (Это не значит, что у пользователя не должно быть никаких знаний).
13. Никогда не обращаться в службу поддержки и не читать помощь.
14. Получать удовольствие от работы.
15. Все требования к системе должны быть сведены к одному пункту: "Пистолет нужен для того, чтобы из него стрелять".
Система Netcat 2.3.
Сначала общие замечания, а потом конкретика. Причем они иногда будут перекликаться, но так и должно быть.
Общие замечания
1. Сложная, непонятная навигация, в которой иногда без справки не разобраться.2. Мелкий шрифт заголовков и ссылок на разделы.
3. Неинформативные иконки. Без альтернативного текста их назначение угадать сложно.
4. Трудно читаемые формы-заполнения практически во всех разделах.
5. Разделение пользователей по правам без скрытия недоступных функций.
6. Доступ к редактированию контента слишком сложный и долгий (по количеству нажатий кнопки мыши). Да и вообще по своей сути.
7. Редактирование новостей - это предел неудобства. Форма добавления новостей - сплошная ошибка. Самое простое и показательное объяснение этой проблемы: засеките время, за которое вы сможете добавить, например, 8 новостей и отредактировать 5 новостей, без учета набора текстов. (Я знаю, как сделать добавление и редактирование новостей с затраченным временем в 10-20 раз меньшим). В принципе все это касается и редактирования всей информации на сайте.
8. Для работы с шаблонами и дизайном сайта требуются специальные знания разметки и как минимум знание основ PHP или же глобальное и вдумчивое изучение технической документации системы (не факт, что она написана доступно и понятно).
9. Негибкие и скудные базовые настройки системы и настройки сайтов. Фактически это можно назвать отсутствием настроек. Настройки также есть у каждого модуля, но практически все они требуют специальных знаний. На удобство работы с системой не направлены.
10. В системе примерно 100 ошибок и проблем интерфейса, которые вполне исправимы. Возможно, что некоторые из них спорные и субъективные. Критических ошибок, которые могут повлиять на выбор системы, даже без учета альтернативных, порядка 20. Ниже часть из них разобрана конкретно.
Конкретика
1. Вход в систему. Первая незадача, при вводе неправильных данных не получаем сообщение об ошибке. А введенный пароль исчезает.2. "Запоминать логин и пароль" - функция не совсем удовлетворяющая правилам безопасности. Компьютером может воспользоваться, допустим, любой сотрудник компании. Или просто мимо проходящий. Как я понял отключить эту функцию нельзя.
3. Зашли в систему. Перед нами главный экран. В первой строке написано: "Пользователь: demo (гостевой доступ)". Информация равносильна: "Вас зовут Вася, вы администратор этой системы". Может быть это все эмоции, но подобные вещи цепляют и бросаются в глаза, понижая общий уровень системы.
4. Ссылка "выход из системы" - просто ссылка, не указывающая на действие и точно такого же цвета как все другие ссылки, что означает - пользователю придется каждый раз задумываться об идентификации этой ссылки среди других и о ее действиях, это, конечно, доли секунд, но все же. Характерное положение этой ссылки справа в верхнем углу для идентификации не достаточно.
5. Под ссылкой "выход из системы" два кружочка - зеленый и синий. Абсолютно не очевидно, что это кнопки.
6. Далее горизонтальное меню. Пункты "Управление" и "Инструменты". Их названия вызывают как минимум замешательство. Потому что получается, инструменты не входят в управление сайтом. А куда же они входят?
7. "Отчеты" - эта информация второстепенная и необходимость такого пункта в главном меню очень спорная.
8. "Техническая поддержка" - в главном меню указывает на то, что пользователь будут часто к ней обращаться.
9. Ниже горизонтального меню - блок со ссылками на разделы, функции и инструменты. Как видим в этом блоке инструменты - это есть управление.
10. Шрифт заголовков таких как "Управление структурой и контентом" очень мелкий. Быстрым взглядом эту информацию уже не найти. Приходиться быть внимательным, и каждый раз проверять, что это за раздел. Большой минус удобства пользования системой.
11. В разделе "Управление структурой и контентом" буквально все ссылки неинформативны и пока полностью не изучил систему, понять, куда они приведут и что выведут не очень просто.
12. Ссылка "Визуальный HTML-редактор" - ведет не на визуальный редактор. И зачем она? Что будем редактировать? Надеюсь, что эта ссылка есть только в демо-версии.
13. Раздел "Управление". Форма сайтов:

Столбец "ID" не несет полезной информации. Столбец "Приоритеты" - легко ли понять что это вообще за столбец? Иконка похожа на "крутилку", хотя ей вовсе не является. Самый справедливый вопрос для этого столбца: "Какой приоритет вообще возможен?" Я смог ввести пятизначное число. Второй вопрос: "Какой приоритет нужен тому или иному сайту?". Риторический вопрос: "Зачем приоритеты нужны?".
Удаление сайта выбором галочки в чекбоксе и последующим нажатием "Сохранить(!) изменения" - такая формулировка удивляет.
Иконка "Настройки" - неинформативна. Иконка "В режим просмотра" (подозрительное название) - неинформативна. Я раньше думал, что чистый лист это создание документа.
14. Раздел "Полный рубрикатор". Если работа идет с сайтом, который стоит не первым в выпадающем списке, каждый раз при входе в систему его придется выбирать? А если их 10, а я каждые полчаса обновляю информацию?
Нажатие красной и синей иконки-крестика ведет к одному и тому же действию - к удалению, а цветом они разные. Ясно, что синюю иконку отличить от других синих иконок не просто, тоже касается и иконки "Добавление раздела". Промахнуться элементарно, а знакомыми и привычными они станут не скоро. Почему же они все синие?

15. Раздел "Списки". Что за списки? К чему они относятся? К каким разделам?
16. Раздел "Пользователи и права". Форма выборки - для чтения сложна. К чему поле "ID"? А кнопка "Осуществить выборку" находиться далеко внизу и приходиться ее искать прокруткой экрана, да еще и справа, после редко используемой формы "Дополнительные поля". В форме есть такие варианты ответа: неважно, да, нет. С последними двумя все понятно. Но "неважно" заставляется задуматься. Допустим вопрос из формы "Получать новости проекта" - к чему же приведет ответ "неважно"?
17. На разделе "Шаблоны данных" внимание можно не заострять, потому что это тихий ужас, по двум причинам: а) их куча; б) без специальных знаний (как минимум HTML и PHP) в них не разобраться.
18. Раздел "Макеты дизайна" - после "Шаблона данных" уже не пугает.
19. Раздел главного меню "Инструменты". Оказывается здесь затаились настройки сайта. Базовые настройки - очень скудные. Хотя для меня, очевидно, что полнота и гибкость настроек - это огромный плюс любой системы. Особенно для той, в которой требуются специальные знания, т.е. созданной для опытных разработчиков.
20. Остальные настройки "Системные таблицы" и "Переадресация" загадочны. Без справки понять их назначение затруднительно.
21. Одноименный подраздел "Инструменты". Как следовало ожидать по нажатию на первый пункт в нем - "Командная строка SQL" выскакивает злобное сообщение о том, что у нас нет прав доступа к этой функции. Ну, это уже стандартная проблема CMS и не только их. Проблема эта называется "Права пользователя". Ее решение очень простое, если у меня нет прав на что-либо, то для меня этой функции и ссылки на нее не должно быть вообще.
22. Назначение в "Инструментах" HTML-редактора, по-прежнему остается загадкой.