Универсальный админ-интерфейс

Rammstein

PHPClub::News
Универсальный админ-интерфейс

Появилась тут у меня интересная идея :)
Обчно возникает много возни с админ-интерфейсом. По сути всегда выполняются задачи:
* Добавление объекта
* Редактирование объекта
* Удаление объекта
* Настройка модуля
Просто меняются объекты и модули. Вот я и задумался о том, что можно написать универсальный админ-интерфейс, в задачи которого, входило бы автоматическая компановка разного рода форм и т.п. по описанию объектов. К примеру так можно было бы описывать модуль:
<module>
<name>Super-Puper News</name>
<description>News Managment Module</description>
<version>1.0</version>
<author>Vasya Pupkin</author>
<www>http://www.vpupkin.com/spn/</www>
<objects>
<object name="news">
<field name="id" auto=1 show=0 />
<field name="title" type="textfield" show=1 />
<field name="text" type="textbox" show=1 />
</object>
</objects>
<req module="BasicObj" version="1.0" />
<req module="Super-Puper Articles" version="1.1" />
</module>
Думаю всё более или менее понятно.
Но это далеко не проработаная идея. Следует учитывать, что нужна будет общая система прав пользователей. Так же потребуется брать переменные из среды. Например, можно было бы сделать поле author, значение которого бралось бы из $_SESSION['login']. Ещё нужно подумать о том, как обозначить место хранения данных. К примеру как в PEAR::DB указывается uri. + указать имя таблицы БД.
Достоинств у этого решения много. По сути, все приложения, которые будут поддерживать эту технологию, автоматически вольются в своего рода framework. При этом не нужно заботится о правах доступа и т.п.
Как вам такое?
 

Bred Vilchec

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

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Интерфейс всё равно придётся "после сборки обработать напильником", потому стоит просто написать генератор кода по описанию, а потом править результат его работы ручками.
 

Crazy

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

Чем больше различий -- тем больше геморрой.

Да и в случае совпадения специально спланированный интерфейс обычно дает повышение производительности на 50-100%.

Но как интерфейс конфигурирования системы, ориентированный на администратора, это годится.
 

Screjet

Новичок
Rammstein
Ключевая фраза:
ментальная модель -- то, как пользователь представляет себе данные -- совпадает с реальной структурой данных.
И ответь на вопрос: кто админить будет?: програмер, оператор, бывалый юзер, ламер (купивший ПК на прошлой неделе).
 

master_x

Pitavale XXI wieku
Вот блин почему-то в последнее время в этом форуме стали появлятся вопросы: "Использовать шаблоны или нет", "Идеальная архитектура сайта", этот топик... Как будто у всех по очереди возникают "гениальные" идеи и надо ту же нестить с ними в форум.

да никак. я только и прочитал у тебя в топике какой-то кусок xmlя. Вот и все. То что ты описал, МОЖЕТ БЫТЬ будет частью какого-то фреймворка... Ну и что? Используй его. Напиши код теперь. Потом посмотри как это все работать будет. Если будут вопросы приходи. А то ведь так и будешь с каждой идеей приходить в форум :) и спрашивать
:) самостоятельней надо быть. и читать больше как другие хорошие дяди делают.
 

Voffka

Guest
пытался написать чтото подобное , для прсотых вещей довольно удобно , но для чегото сложного получается очень неюзабельное и всёравно приходится делать всякие "дотягивания" так что если и делать чтото подобное то это должен быть генератор кода админки (по написаным правилам / дампу базы ) но никак не огромная / модульная система тк все необходимые возможности админок всёравно не предусмотреть а писать модули на 1 раз нерационально
 
Сверху