Как сделать из банального юзера личность?

Условно, создаём Василия Пупкина из чудесного веб-интерфейса администрирования Зимбры. И всё бы хорошо, у него есть почта, а ещё IM, но... дело в том, что Вася Пупкин - он хоть и стереотип ходячий, но он тоже человек. А значит, он имеет право на то, чтобы кроме почты иметь ещё кучу причиндалов, атрибутов и возможно даже маленький счёт в банке. Но тут возникает небольшая проблема: Zimbra не умеет ни счета в банке заводить, ни даже название отдела пользователя спрашивать (кстати, с организацией тоже дело швах).
И тут встаёт дилемма: с одной стороны, нам хотелось бы добавлять в каталоге, который по определению содержит полноценные объекты (мама, собака, дача, машина, Рыжий лес, Чернобыль....), не какие-то куцые схемы, похожие на записи обычной базы данных, а всё же нормальные описания людей. С другой стороны - собственно, непонятно, как это сделать своими средствами, ведь Zimbra должна формировать и массу своих собственных значений атрибутов. Ну хорошо, положим даже, мы в самописном веб-интерфейсе воспользовались zmprov для первоначального создания пользователя, а потом из того же веб-интерфейса ему добавили массу полезных атрибутов. Но здесь есть одно НО: в итоге получится весьма неказистый веб-интерфейс (поскольку я, например, вообще ни разу не веб-разработчик) аля автономный модуль админ-панели. Так сделать можно, но это костылеподобно с точки зрения архитектуры как минимум, да ещё требует отдельной авторизации (стотысячпервая форма ввода логина-пароля или kerberos-аутентификация при том, что большинство админов сидят под nix'ами).
Есть и другой путь: админ-интерфейс Зимбры, добавив в формы редактирования информации о пользователе и в мастер создания нового пользователя все необходимые для заполнения поля.
Я бы предпочёл вот этот последний путь, и пусть он значительно более тернист, зато это грамотное решение с точки зрения общей IT-архитектуры.
Сакраментальный вопрос: что следует изучить, дабы создать такой, как я понимаю, далеко не тривиальный зимлет, модифицирующий административный интерфейс Зимбры?

Буду признателен за любые советы-рекомендации-ссылки - в общем за любую помощь :) А для начала планирую модифицировать зимлет zimlets-admin-extra/zimbra_posixaccount.zip...

Комментарии

avasyukov аватар

Задача действительно нетривиальная. С ходу и из здравого смысла действительно получается так:
- Расширить схему каталога своими полями. Благо это нормальный LDAP, которому схему можно подкинуть легко.
- Сделать кастомные зимлеты для управления пользователями, в которые добавить свои новые поля. Благо вся админка - это набор зимлетов, так что на архитектуру это ляжет четко.

Сделать по аналогии с zimbra_posixaccount или zimba_samba будет логично - они включают и то, и другое. Скорее всего, описание вы уже нашли, но если вдруг нет, то вот ссылка с общим описанием логики - http://wiki.zimbra.com/wiki/UNIX_and_Windows_Accounts_in_Zimbra_LDAP_and_Zimbra_Admin_UI И вот конкретно про зимлеты в админке более подробно - http://wiki.zimbra.com/wiki/Extending_Admin_UI

Только при таком подходе получится, что поля-то в Zimbra появятся и править их будет можно, но видно их будет только администратору. Это нормально? Или их как-то еще использовать надо? Что хочется в конечном итоге достичь?