Xpoint
   [напомнить пароль]

Моя CMS (мы строили, строили...)

Метки: [без меток]
[удл]
2005-03-18 14:17:34 [обр] Сергей Круглов(98/2057)[досье]

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

http://siteskel.kruglov.ru/admin/?login=guest&password=

то, что этим генерится: http://siteskel.kruglov.ru/

Что интересно: общее удобство пользования, интуитивная понятность интерфейса, мысли по оптимизации оного.
Удобство Wysiwyg-редактора (он есть в пунктах раздела "Страницы")
Кроссбраузерность (Официально поддерживаю MSIE 5.5+ (лучше 6) и Mozilla 1.3+)

Что учесть (вернее не обращать внимания):
Это хостинг тормозной, а не скрипт :)
Аутентификация не дописана.
Демоверсия работает под readonly-пользователем. (Хотя, если удастся что-то изменить/взломать, тоже будет интересно).

спустя 45 минут [обр] Алексей В. Иванов(25/2861)[досье]
Успел только бегло пробежаться. Единственное, что бросается в глаза — интерфейс страшный. Его приукрасить — цены не будет.
спустя 6 минут [обр] Алексей Севрюков(13/1280)[досье]
Сергей Круглов[досье] Жму "Структура БД - Блоки" - "Структура БД" - Вкладка "Поля", вижу еще два пустых фрейма, так должно быть?
спустя 1 минуту [обр] Алексей Севрюков(13/1280)[досье]
Алексей Севрюков[досье]
Mozilla 1.7.3, вообще не работают вкладки как выяснилось.
спустя 2 часа 3 минуты [обр] Андрей Брайнин(4/127)[досье]

- весь интерфейс интуитивно непонятен.
- его стуктура также неясна.
- некоторые термины и понятия неясны и подсказки к ним невразумительны. пример "черный ящик" ? "страница представляет собой скрипт и обрабатывает оставшуюся часть URL самостоятельно" (кстати реализация такой подсказки на alert выгялдит весьма убого)
- кнопка "Сохранить" раполагается внизу экрана (не сразу найдешь + "километры мыши")


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


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

спустя 1 час 26 минут [обр] Сергей Круглов(98/2057)[досье]

Тогда одна ремарка:
Все пункты меню, кроме "Структуры БД", "Доступа" (и "Сервиса") можно считать чисто "от балды" сгенеренными структурами данных с волюнтаристскими названиями и полями.

Добавление и переименовывание разных "черных ящиков" - это несколько кликов мышкой в разделе "Структура БД"...

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

Пункт "Новости" - это множество, состоящее их даты, краткого названия и т. д.

спустя 1 день 7 часов [обр] Tony(0/52)[досье]

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

Мое мнение — типичный результат попытки зачесать все под одну гребенку. Ничего нового, неаккуратно, "автоматизация" лезет изо всех дыр (принцип "сейчас на сайте 3 пользователей"). Мне не понравилось ничего.

спустя 12 часов [обр] Сергей Круглов(98/2057)[досье]
Система рассчитана и на админа, и на "помещателя новостей", который видит только раздел "новости", к примеру.
спустя 1 час 10 минут [обр] Алексей В. Иванов(25/2861)[досье]
Сложнова-то все равно, конечно
спустя 56 минут [обр] Сергей Круглов(98/2057)[досье]
Алексей В. Иванов[досье]
Ну вот представьте, что наверху есть только пункт "Контент", в котором "Страницы" и "Новости". По-прежнему сложно?
спустя 1 час 18 минут [обр] Андрей Новиков(7/1242)[досье]
Чувствуется, что в системе есть какие-то изюминки, но ничего непонятно :(
спустя 44 минуты [обр] Сергей Круглов(98/2057)[досье]

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

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

Вот нужно нам, к примеру, у новостей показывать картинку-иллюстрацию - жмем Блоки -> Новости -> Поля, добавляем новое поле типа "Файл" и вуаля - у нас в интерфейсе работы с новостями есть работающая кнопка для загрузки файла.

спустя 39 минут [обр] Дмитрий Попов(8/509)[досье]

Сергей Круглов[досье]

  1. Хм... Дело в том, что моя система использует точно такой принцип. Я вот только не понял - что у Вас с выводом. У меня все-таки не CMS, а CMF, и вывод пишется под проект. Глобальная же разница в том, что само по себе описание списка - не автоматизированно, а описывается банальным XML-файлом.

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

  1. Я вот увидел у Вас множество типов списков: tree,list,set,link,directory. Есть ли смысл? Я, пока, не очень понимаю внутренностей Вашей системы (в частности - опять же наружка). Смотрю по себе - у меня система имеет единственно предназначение - генерация админки, и типа всего три: список, дерево, элемент, причём с точки зрения ядра - дерево и элемент - это тот же список, только элемент в админке сразу кидает на редактирование элемента, а дерево добавляет дополнительные отступы к name-полю.

Соответственно - непонятно зачем нужны остальные типы, а названия их тоже не совсем понятны. В принципе, догадываюсь что такое link =)

спустя 50 минут [обр] Сергей Круглов(98/2057)[досье]

Ну, поскольку интерфейс "описания списка" тот же самый, которым мы работаем с новостями и страницами, то мне это не особо много стоило.

Администрирование "Системы" написано на ней же.


Признаться честно, link и directory пока не реализованы, причем, возможно, за ненадобностью и не будут. Link - это отношение n<->n, а directory - папка для хранения файлов.

Итого 3 типа - tree (имеет parent и number), list (только number) и set (неупорядоченное множество, например новости.)

Тип "Элемент" как множество из одного элемента? Интересная мысль...


Назначение у меня тоже "генерация админки".

спустя 39 минут [обр] Алексей В. Иванов(25/2861)[досье]
Сергей Круглов[досье]
Сложно, Сергей, поверьте :) При создании Вы явно руководствовались из соображений разработчика — не пользователя. Дружелюбного интерфейса нет. Что за слово такое "контент" для менеджера :) ?
спустя 20 минут [обр] Дмитрий Попов(8/509)[досье]

Сергей Круглов[досье]
По поводу set - то же я счел не целесообразным. Посчитал за правило - обязательное наличие у любого списка столбцов ID. Лишним это не бывает - а от третьего типа не отходим.

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

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

спустя 14 минут [обр] Сергей Круглов(98/2057)[досье]

Алексей В. Иванов[досье]
Слово "Контент" переименовывается в 2 клика.
Дмитрий Попов[досье]
set имеет id, но не имеет порядкового номера (сортируется, к примеру, по алфавиту, а не по полю "порядковый номер", по которому сортируется list)

Менеджер увидит, к примеру, только менюшку "Контент" и не будет видеть вкладку "Доступ" у записей.

спустя 15 минут [обр] Дмитрий Попов(8/509)[досье]

Сергей Круглов[досье]
Хм... Здесь второй момент... Вы не против, если мы по оффтопим-теоретизируем?

Дело в том, что я несколько разделяю "блок" на две сущности: Список и элемент списка.
И описание у меня строится по такому же принципу. Есть свойства списка, есть свойства элемента списка (в том числе поля элемента и их свойства).
Так вот - сортировка - это то же свойство списка. Можно к списку дописать поле с типом order, и тогда список будет сортироваться по нему, а можно ничего не делать, тогда сортировка будет идти по ID. А можно указать ему специально: orderby=поле ordertype="DESC", и тогда, будет сортироваться по этому списку.
Это я к тому - что наверное, всё-таки нету смысла плодить сущности, ради, на самом деле, небольших ошибок - ибо расплодившиеся сущности несут за собой уменьшение универсализации.

Ну и клонирование сущностей применинмо к link'ам. У меня есть такой тип поля, называется select_class (ну, у меня все описыватся по другому, но можно сказать и так). Он позволяет выбрать в админке при помощи селекта или радио кнопок (в зависимости от настроек) позволяет выбрать значение из другого "блока". ТАким образом, создав обычный список, с единственным полем элемента select_class мы получаем как раз таки тот самый link.

Ну и select_class еще в других случаях полезен.

З.Ы. Пример, когда подход с set'ом не оправдан, либо я его не понял. А если Вам надо сделать дерево, но на сортирующееся по алфавиту?

спустя 24 дня [обр] Антон Дюжев(0/4)[досье]
А где меню редактирования шаблонов ?
спустя 19 часов [обр] Сергей Круглов(98/2057)[досье]
Контент -> Текстовые блоки...
Powered by POEM™ Engine Copyright © 2002-2005