Вход:  Пароль:  
FreeSource: AltLinux/Sisyphus/Alterator/rails ...
Free Source | Каталог | Изменения | НовыеКомментарии | Пользователи | Регистрация |
Это старая версия AltLinux/Sisyphus/Alterator/rails за 2006-10-26 15:41:25..

Alterator on rails

(alterator fbi)


Меня часто спрашивали, а возможно ли работать с alterator, не занимаясь написанием интерфейсов на Scheme.
Отвечаю. Да, теперь это возможно. Пока работает только для html, но вполне возможно что появится реализация для чистого Qt.


Распределение обязанностей участников проекта становится следующим:


Давайте совместно пройдём все эти шаги и поймём как всё делается:

1. Администратор


Пусть у нас есть бакенд управления пользователями, который предоставляет следующую модель:
/users – пользователи системы
/users/<name> – конкректный пользователь системы


Свойства каждого объекта пользователя:


Возможно протестировать свой модуль при помощи интерфейса командной строки:



При использовании пакета alterator-fbi, возможна прямая работа (и отладка) бакенда через html-интерфейс.
Чтобы механизм, заключённый в alterator-fbi смог понять как надо отображать тот или иной бакенд
(кто есть объект, а кто список объектов), ему надо немного помочь.


Для каждого бакенда с именем <бакенд>, который мы желаем видеть в html интерфейсе, создаём парный бакенд с именем «template-<бакенд>". Он и будет отвечать на все вопросы по отображению своего напарника.


Для users, бакенд template-users, будет выглядеть примерно следующим образом:


Как видите, это самый обыкновенный бакенд, который отвечает на вопросы template и info.
Вопрос template, самый главный. В примере с users мы говорим, что:


Вопрос info, дополнительный. Он может вообще отсутствовать, всё зависит от того что мы попросили в разделе “template”.
В данном случае мы просто перечисляем поля объекта, с которыми хотели бы работать через html-интерфейс.


Для каждого поля сообщается имя поля в команде woo (например home для получения значения домашнего каталога пользователя), а также информация о типе поля. Возможные типы:


Вот в общем-то и всё что требуется от администратора. После того как запускается alterator с раскладкой fbi.layout (alterator -c fbi.layout),
можно направляться по адресу "http://hostname/fcgi-bin/alterator-template.scm/users" и работать с бакендом.


Обратите внимание, что окончание пути совпадает именем объекта внутри woo, например объекту '/users/test' соответствует адрес
http://hostname/fcgi-bin/alterator-template.scm/users/test.


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

Дизайнер


Интерфейсные шаблоны по умолчанию совсем не плохо, но людям свойственно стремиться к прекрасному, особенно когда они собираются потом это прекрасное кому-то продать ;)


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

Конструктор


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


Пусть администратор написал нам бакенд для редактирования общих настроек сети (имя машины, сервера DNS) – net-general, отладил его.
Возможно даже посмотрел как он работает внутри интересующего нас решения с помощью готового шаблона “object”.


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


А html-код устроен таким образом, что нам надо просто «добавить» свои поля к div отмеченным соответствующим классом.


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


 
Файлов нет. [Показать файлы/форму]
Один комментарий. [Показать комментарии/форму]