| Welcome to the Zimbra :: Forums! | |
Welcome, if you would like to post a comment please register.
We also encourage you to explore all things Zimbra with our team and members of the community.
|  | | 
09-13-2006, 01:28 PM
| | | Extending Zimbra for Customized Application Hi,
First of all, Zimbra is an awesome piece of software - nicely done.
I just finished talking to Jim, your sales manager, about the possibility of extending Zimbra to meet the needs of my target user base. He suggested posting my technical questions to this forum, so here we go:
All of the existing functionality in Zimbra is exactly what I need; however, my users need some additional functionality (like time tracking, more in-depth contact details, etc.).
I would like some of the extensions to be first-class Zimbra "toolbar" items, in the same way the Inbox, Calendard, Contacts, etc. are.
From what I've learned of Zimlets they're not capable of providing this level of integration, so I would imagine this would involve extending the source code and database schema of Zimbra to match my client's business needs.
Is doing something like this documented somewhere? Is this an intended use of the Zimbra source (as in this is something you would like to see your customers doing? I haven't dug deeply into the source code of Zimbra at this point, and am basically looking for some guidance on how hard such an extension would be. | 
09-15-2006, 11:16 AM
| | | Custom app features +1 I'd like to know how hard this is as well. I too have some custom application features I'd like to seamlessly integrate into the zimbra suite. | 
09-15-2006, 12:08 PM
| | Zimbra Consultant & Moderator | |
Posts: 20,316
| | Perhaps if you both posted something more detailed about what you were intending to do there might be more information people could respond to.
__________________
Regards
Bill
| 
09-15-2006, 12:24 PM
| | | Extending Zimbra... I'm not sure if it matters what the details are of my app, but for the sake of argument let's say I have an app where I can monitor stock quotes. I want to be able to create a tab/module within zimbra to integrate that application alongside the rest of the zimbra features. In my case I'd like to integrate the calendaring part of the app into my custom app. Using my example say I want to be able to click on a link from my stock monitor app and have it bring up the zimbra calendar.
Basically I have some custom database tables for which I have built a webapp and I'd like to be able to write a custom module that allows users to use that functionality in concert with the rest of the Zimbra suite. | 
09-15-2006, 12:25 PM
| | | OK, imagine I wanted to add a Project Management module to Zimbra.
The "Project" would be a first-class module in the way the Inbox, Calendars, etc. are.
A project would have a name, a description, a start date, and end date, and maybe several image attachments associated with it.
Projects could link to calendar items, and inbox/calendar items could link to projects.
How extensible is Zimbra - is developing this kind of an extention something that is properly documented somewhere? Zimlets seem like they do not provide the level of integration I'm looking for.
I believe a large number of people that are interested in Zimbra would like to build these kinds of extensions (as opposed to the "mash-ups" Zimlets make possible). It would be great if someone could provide an in-depth reply to these questions, or point out a resource that I've missed that could help me out in trying to figure out whether I can do this.
If I can clarify or elaborate any further please let me know. | 
09-15-2006, 01:35 PM
| | | Extending Zimbra...? Has anyone gotten a reply on this?
I'm also looking to extend Zimbra in a fashion more seamless than the functionality offered by zimlets, but noone seems interested or able to clarify how this might be accomplished.
I think Jack and Mkovacs, like myself, are speaking to the issue of limited information being made available to developers on how to extend Zimbra outside the scope of zimlets. Answers to "specific" questions won't help the community at large; a general framework would be considerably more useful for those of us trying to bend our development to fit within Zimbra. | 
09-15-2006, 05:37 PM
| | Zimbra Employee | |
Posts: 4,792
| | I'll try to address the general concerns. In general your right, Zimbra today doesn't have an well defined API to add new applications. Zimlets will actually allow to do quite a few undocumented things like adding new buttons and adding entire new apps/forms, but it doesn't provide the level of support needed to dynamically add an app. We plan to make this easier in the next major release but that just in development now.
We have had customers make these major additions but it does require source code changes and creating your own build. So bottom line we don't have any documentation around adding significant applications into Zimbra. It is something we plan to make easier in a upcoming release. | 
09-15-2006, 10:09 PM
| | | Thanks Kevin...
This seems like an odd request...but are the undocumented Zimlet features you're talking about for adding new buttons, etc. ... documented anywhere? Can you put me in touch with someone that will be able to point me in the right direction?
Thanks,
Jack | 
09-18-2006, 12:20 PM
| | | We have successfully done some custom development using Zimlets to add new functionality to Zimbra. We have a button on the compose task bar which allows a user to attach a file from a serverside filesystem and another which adds extra behavior for attachments of particular file types.
In each of these cases the zimlet code makes needs to have a fairly good understanding of the existing Zimbra DWT code and it inserts new elements into the existing code as hook points. Extra event handlers are used it trigger new DWT elements provided by the Zimlets.
So it can be done and it seems to be working fairly well.
Heres the current downsides (at least until an client API is available):
1. Its a bit fragile, Zimbra server upgrades will take a good amount of regression testing.
2. It takes digging through the ZimbraWebClient code to find you hook points. This is not hard, just time consuming. The FireBug plug in for Firefox has made this much, MUCH easier than stepping through javascript.
3. It takes some knowledge of using DWT. Fortunately this is fairly easy to pick up for most developers with some javascript experience. | 
09-18-2006, 07:28 PM
| | | Thanks for the tip Coilcore - I'm confident that what I want to do is possible, so I can start digging through the codebase and see how things go. | | Thread Tools | Search this Thread | | | | | Display Modes | Linear Mode | | Why Join? Registering let's you ask questions, makes it easier to search, displays any files attached to posts, and notifies you about replies.  |