О зимлетах №2: Анатомия зимлетов — компоненты и их роли.
Зимлеты являются очень важным составляющим Zimbra Desktop и Zimbra Server. Благодаря им работа с почтой, контактами, задачами, календарями и всем-всем-всем становится намного проще и приятней. В этой статье рассмотрены основные компоненты любого зимлета - файлы, которые содержать как описание функционала, так и сам функционал, то есть программный код.
Введение.
Зимлет устроен очень просто: всего лишь несколько различных файлов, объединённых в один zip архив. Зимлеты создаются как для Zimbra Desktop (клиентское приложение), так и для Zimbra Collaboration Suite (серверное приложение). Особых различий для конечного пользователя нет — в любой случае Вы используете зимлет в его визуальном отображении. Различие есть для самой системы — зимлеты для рабочего стола обрабатываются локально у каждого пользователя в отдельности, а зимлеты для сервера, соответственно, на сервере для всех пользователей. У каждого варианта есть свои плюсы и минусы: если Вы используете зимлеты для рабочего стола, то никто больше не имеет к ним доступ — это Ваш личный список зимлетов; если же зимлеты обрабатываются сервером, то все они видны всем пользователям системы. Мы будем для начала рассматривать зимлеты для рабочего стола, так как для их запуска потребуется лишь установленная на компьютер Zimbra Desktop. Все, что действительно для них, также действительно и для серверных зимлетов.
Зимлет, раскройся!
Определения.
Из чего же состоит зимлет? Для начала введём некоторые определения, которыми будем пользоваться в дальнейшем:
- {zimlet-name} – имя зимлета, которые Вы создаёте. Оно должно быть уникально в Вашей системе, то есть, чтобы на Вашем компьютере не было второго зимлета с таким же именем. Например the-best-zimlet.
- {zimlet-package-name} — имя пакета с зимлетом. Это всего лишь комбинация {zimlet-name} + “.zip”. Например: the-best-zimlet.zip.
- {zd-install-dir} – место в Вашей файловой системе, где установлен Zimbra Desktop. Например: /home/user/zimbra/zdesktop.
- {zcs-install-dir} – место в файловой системе на сервере, где установлен Zimbra Collaboration Suite. Например: /opt/zimbra.
У Вас должно быть есть абсолютно законный вопрос, зачем нужны такие определения? Я объясню. все компьютеры, все операционные системы и мышление каждого человека — неповторимы. У одного может стоять одна операционная система, у другого — абсолютно другая (кстати это очень большое преимущество Zimbra — она может быть установлена на абсолютно любую ОС). Директория, в которую установлена Zimbra, тоже может быть различаться. Чтобы как-то определить неопределяемое вводятся именно такие обозначения. Для каждого пользователя они будут значить нечто свое (особенно это касается имени зимлета, ведь здесь нас ограничивает только фантазия).
Набор файлов.
Любой зимлет состоит из нескольких файлов, некоторые из них служат лишь для описания его работы, а другие — для описания выполняемых алгоритмов:
- Zimlet Definition File – XML файл описания, который содержит имя зимлета, версию, описание и другие данные, которые необходимы среде исполнения зимлетов для выделения ресурсов и обработки функций;
- Zimlet Configuration File – XML файл, который содержит различные параметры зимлета (необязателен).
- Java Sript File – файл формата JS, содержащий в себе код, написанный на языке программирования Java Script (необязателен).
Вы наверно хотите спросить, почему именно эти файлы, а не какие-нибудь другие, ведь, если писать программу на C, то никто не диктует сколько и каких фалов должно быть в программе. Это очень легко объяснить. Создание программы на C — довольно сложное занятие, которое под силу только настоящим программистам. Создание же зимлета — простое занятие (конечно только на первых этапах, можно создать и очень сложный зимлет). Поэтому некоторые его части заранее строго определены (исключительно для упрощения). Так было решено разработчиками и точка. Ни вправо, ни влево шаги не позволительны — зимлет просто не запустится.
Чтобы не плодить огромное количество сущностей, приведу ниже ссылки на полезные ресурсы (на английском языке):
- более подробная информация о всех файлах, из которых может состоять зимлет;
- Zimlet Definition File Reference;
- Zimlet Configuration File Reference;
- замечательный сайт w3schools.com для изучения основ Java Script;
- прекрасные сайты mckoss.com и javascriptkit.com для изучения основ объектно-ориентированного программирования на Java Script.
Итог.
Мы разобрали основные компоненты зимлетов. Как видите их совсем немного. Конечно, если Вы создадите супер-сложный зимлет, то файлов будет намного больше, но до этого ещё далеко. Хочу сразу обратить Ваше внимание, что торопиться с изучением Java Script не стоит, если Вы хоть чуть-чуть обладаете навыками программирования, то самый простой зимлет (да и не самый простой) Вы создадите очень легко! Смотрите следующую статью цикла «Создание зимлета “Hello, Zimbra”», чтобы попробовать приобретённые знания на практике.