Our friends at Smartsheet have just posted a new Zimlet application tab in the Gallery that looks very promising; we have a few uses in mind already for our team and internal Zimbra deployment. Here is a summary they kindly provided:
Manage Any Kind of Work with the Smartsheet Zimlet
Add the Smartsheet tab to your Zimbra solution and manage your projects, sales pipelines and crowdsourcing solutions as easily as you manage your Calendar. Smartsheet puts a familiar spreadsheet-like face on a flexible work automation engine. Integration Overview
Smartsheet is integrated with the following Zimbra features:
Calendar - view key project dates in your Zimbra calendar or key Zimbra calendar dates in your Smartsheet project calendar
Contacts - import Zimbra contacts into Smartsheet for streamlined sharing with colleagues and other collaborators
Briefcase - attach files from your Zimbra Briefcase to any row in Smartsheet
Email - receive Smartsheet notifications and reminders via email
The Smartsheet Zimlet is now available in the Zimbra Gallery. Or watch the brief demo video below for more information.
More About Spreadsheet
Work projects often begin their life as a spreadsheet (e.g. sales pipelines, marketing events, research projects, product plans, candidate tracking,…) that gets emailed around to be updated.
Often, this approach falls short, and companies then invest money and training in converting to a software specific to Project Management, CRM, Marketing Automation, HR, etc. To the millions of Zimbra users – keep the spreadsheet layout you like and gain the additional automation you need. Smartsheet gives you a familiar, flexible spreadsheet interface and enables you to:
Attach any file or Zimbra Briefcase item to any row
Create multiple levels of sub-tasks
Track threaded discussion on any row
See your sheet in Calendar and Gantt views
Set Alerts and Notification on any row that keep you abreast of changes happening
Get discrete updates on pieces of your sheet via email
Get a consolidated report across many sheets
It’s the perfect union between spreadsheets, project tools and file sharing sites.
In final installment of this series we recently had a chance to sit down with Frances Atkinson, the Director of Institutional & Academic Technologies, IT Services at Simon Fraser University, one of the over 500 educational organizations that have deployed the Zimbra Collaboration Suite Network Edition worldwide. Not too long ago, SFU decided to upgrade their collaboration system and investigated several options. No surprise, Zimbra won out! Now, two and a half years later, SFU is seeing how Zimbra is benefiting all of their campus systems.
Highlights from our discussion with Frances are below:
How are SFU’s staff, faculty, and students using Zimbra Collaboration Suite?
Zimbra has become more than just an email and calendaring solution at Simon Fraser – it has evolved into the campus communications “hub” used by all faculty, staff and students. With Zimbra, calendaring and document sharing are available to everyone for the first time, and fewer users are forwarding to external sites like Gmail. Additionally, SFU connected Zimbra to other campus systems increasing campus-wide organization and efficiency. Students and faculty also have the ability to access Zimbra via mobile devices, including BlackBerrys. This mobile access is even more important since we now have the ability to send out notifications to all users for emergencies, weather, downtime, etc.
How are you customizing Zimbra to meet the needs of the SFU student body?
SFU is taking advantage of Zimbra’s open source functionality by using several Zimlets – including Calendar Scheduler, Arcade, Google Translator and Yahoo Local – we are able to extend the product and bring features to people who may not have otherwise found these resources.
We have even generated Zimlets of our own. These SFU Zimlets offer students and faculty a simple way to access course information, alerts/tips & tricks and their mySFU profiles. The course resource Zimlet is definitely the most important Zimlet for the students. It allows them to pull up all their course information for the current, past and next term, including the course description, syllabus, video content and digitized lectures. It helps to keep students organized and on track to graduate. Faculty and staff also utilize Zimlets to reserve rooms and equipment.
Additionally, we have branded Zimbra as SFU Connect, and we got the community involved by holding a naming and logo contest. We’ve personalized SFU Connect by providing users with a tip/trick or message of the day upon startup to help them use the portal to its full capacity.
What are your students and/or faculty saying about Zimbra?
Zimbra satisfied the desire of the students and faculty to have access to a modern, feature-rich, communications environment. Not only is the email and calendaring solution functional and well-suited to serve the entire campus, but its open source nature is lauded by faculty and students alike. By choosing an open source product, SFU has the potential to integrate with other products as the University’s needs continue to evolve.
Every day, when you first login, this Zimlet scans your calendar and sends out a summary email about the current day’s events.
This Zimlet helps both frequent and lite calendaring users in different ways:
1. For power-users, this is like having a personal assistant; who summarizes appointments for the day, providing a concrete idea as to how many meetings you have.
2. For general-users, the Zimlet helps in reminding you that thereis a meeting to prepare for (in case you’ve forgotten)
To make it easier to read, the appointments are sorted and divided along two simple categories: Those that need your immediate attention (e.g confirmed or new events) and others that don’t (those you’ve marked tentative, free, out-of-office, or declined but not yet deleted).
Have you ever found yourself scrambling to find a WebEx meeting invite minutes before the meeting is set to begin? Or if you are scheduling a meeting, you are constantly switching between WebEx and your calendar to create the meeting & calendar invite?
Well, those days are gone with the new WebEx Zimlet. The WebEx Zimlet now brings the power of WebEx right into your Zimbra calendar. To see the WebEx Zimlet in action, checkout this video.
Create WebEx meeting just like you would create a regular meeting.
Typically you would switch between Zimbra and WebEx to create a meeting. With the WebEx Zimlet, when creating your appointment in Zimbra, simply press the “Save as WebEx” button to create a WebEx meeting. The Zimlet automatically selects the configured WebEx account to be use (see below for information on multiple WebEx account setup), creates a WebEx meeting, inserts all the WebEx details (WebEx url, phone, passcode, etc) into the appointment body and saves the meeting.
Create a Quick meeting.
Allows users to quickly invite people and create a WebEx meeting.
Start or Join an existing meeting.
You do not have to scramble to find that WebEx invite or goto the WebEx site to find a meeting. You can view a list of meetings on your Webex Calendar and Start (as a host) or Join (as an attendee).
Manage multiple WebEx accounts.
You can store up to 5 WebEx accounts (with related conference calling information). This is especially useful if you are managing multiple shared calendars. For example, if you create a WebEx meeting in the CEO Calendar, the Zimlet will automatically uses CEO WebEx account information.
Full support for recurring meetings.
The WebEx Zimlet supports all of the WebEx recurring types and end-by patterns. Therefore, you can create virtually any kind of recurring meetings in Zimbra and the WebEx Zimlet creates an exact replica on WebEx.
Automatic time-zone configuration.
The WebEx Zimlet maps the 82 supported Zimbra time zones to the WebEx 61 time zones. This allows users to select a time zone and leave the setup of the WebEx meeting to the Zimlet.
Add meeting and tele-conference information to Subject/Location fields.
Lot of times its useful to just put the WebEx meeting and conference information in the location field itself. The WebEx Zimlet has a preference to select what you want to be appended and Zimlet automatically inserts the information.
As you can see, the WebEx Zimlet provides an awesome integration between Zimbra and WebEx. And will greatly simply your day-to-day online meetings.
Note: due to a technical difficulties, we apologize for the many updates and Tweets to this blog post.
As you may have noticed, we have just posted the recording of the Zimbra Collaboration Suite 6-to-7 and VMware Overview webinar. This was hugely popular — hundreds of customers, partners and community members attended — because it covered three critical areas of Zimbra’s future:
What’s in ZCS 6.0 (powerful new admin features, Enterprise support and usability improvements) as well as near-term additions (such as support for Android, BES 5.0, BES Express, and Outlook 2010).
The roadmap of ZCS 7.0 and beyond: a fascinating discussion of calendar wizards, powerful distribution lists, workspaces, and IM changes.
The future with VMware: how Zimbra fits within the VMware stack and the value it brings to the Zimbra environment (notably an appliance, vSphere integration for DR, HA and site recovery).
We also received many excellent questions – too many to answer during the live session, so we’ll cover the remaining here:
Q: Zimlets, IMHO, should allow push as well as pull; akin to what IM does at the moment. Realtime phone apps require that capability to allow popups in a client session. A: Real-time push and pull updates are fully supported in the ZWC, Zimlet should be able to do the same.
Q: Is the IM server connection change slated for the Network or Open Source Edition? A: External XMPP proxy/interop it is scheduled for both.
Q: Do you have public calendars for appointments or a conference room? And only certain people can reserve timeframe and all others can view? A: The use case here is akin to a “board room” where only certain people have rights to book the room, but everyone can view the availability of that room. The answer is yes: you can create a public calendar for the conference room as a resource, and then permit only specific users to reserve that resource.
Q: Better quarantining of emails, AS/AV stats. and per user prefs. akin to MailScanner and MailWatch A: Zimbra team is expanding its anti-spamming and anti-virus functionality. Stay tuned for more information. In the meantime, you may want to consider using some postfix capable methods.
Q: Any word on per-user read state on messages? A: The use case here is when multiple users have access to a single account, one user clicking on a message will mark it as read for all other future users. The feature enhancement (individual user state on shared messages) takes significant effort, has not been committed yet, but is discussed thoroughly in bugzilla. If this is a feature you feel is crucial, please vote for it or mention so in a support case.
Q: Would email tracking likely to be a feature that will be added back in; since zmmsgtrace was pulled? A: There is a enhancement request for a tracing replacement, but have not yet released a schedule; stay tuned for more details. If you feel this is a key feature, please comment on its implementation in bugzilla.
Q: Which of the features are targeted @ the FOSS or the Network Edition? A: We generally don’t make final decisions until we approach the release date. Check pm.zimbra.com for specific feature release information, and vote for the features you see as most valuable.
Q: Will Zimbra DR allow realtime replication and from a multi-tenant experience allow geo connection to the most appropriate server ? A: We are going to leverag all of the High Availability and Data Recovery options that are provided by vSphere (and partners). We’re also looking at additional capabilities beyond that using direct server sync – stay tuned.
Q: VMware recommends single processor vms for best performance. Looking forward to easier multi-component zimbra installation or guide. A: The VMware team suggests using the fewest number of virtual cpus required to satisfy the workload. If you need four, you should use four. See the new Zimbra on vSphere Recommendations wiki article for more information.
Q: Will VMware Update Manager take care of the updates? A: Look for future announcements – perhaps for a release sometime in 2011.
Q: With respect to the appliance, would one be allowed to tune SA and CLAMAV? A: By design, there is no CLI or shell in the Zimbra Appliance. It’s built for simplicity of management, so all configuration and administration will be done through a new web-based streamlined UI; likewise if something is not in our current admin console it’s probably not built into the appliance yet either.
Q: Could you expand on the AD / External Auth changes that you will be making? In connection with that, will you be able to deploy Zimbra and have it automatically keep in sync with users in Active Directory? A: For the appliance, there will be a one time bulk import.
Here are the RFE’s: 44835 | 45223 | 45174 Please vote for the features that are important to you.
For ZCS, we are not making any AD/ External Auth changes. Zmexternaldirsync does this today.
Q: Any plans to improve the management console for zimbra network edition, i.e. Monitoring and Status tools? I would like to see the kind of admin tools you’d find with mdaemon or other similar apps. Right now it’s slow and doesn’t provide much visual feedback. A: We’re working with Hyperic for additional monitoring and reporting capabilities. We have not released a schedule yet, more details soon.
Q: Are there firm time lines on 32 bit phaseout? A: The end of 7.0 will be the last time 32-bit is supported, and the dates are not yet finalized. Therefore, it will be quite some time before 32-bit is depreciated. We recommend that you move to 64-bit if you are new to Zimbra or planning an upgrade. See the phase out FAQ for more details.
Q: Will migration from physical 32 bit system to Appliance be built in to appliance? or have migration tool to perform this? A: The zimbra-to-zimbra migration tool is completely independent of the hardware. You should be able to migrate from a 32-bit machine to the appliance without a problem.
Q: There has been a lot of contention on the forums about the priority of particular rfe’s/bugs; now with greater resources would Zimbra look at a different type of voting mechanism? A: If you are having trouble with the current methods or a hitting ’show-stopper’ issue please contact the community mangers to help you. (As always, customers also have the option of directing inquires through support to raise their urgency.) Having said this, we’re always open to new ideas for the community process. If you prefer a specific voting mechanism, we’d like to hear about it – and the 7.0 detailed roadmap will be open soon.
Q: Scaling on VMWare… it’s going to be 2011 before we’ll be able to run mailbox servers on VM with thousands of accounts per mailbox? A: Zimbra already supports thousands of mailboxes in a virtualized environment. The Zimbra Appliance, which will require little-to-no configuration or administration — a “cloud in a box” — is slated for small- to medium-sized businesses.
Q: What about official CentOS support? A: Since one cannot get support at the operating system provider level, our technical staff can’t 100% support it. Having said that, it should perform similarly to RHEL.
Q: Is HSM going to change? A: The Hierarchical Storage Management in the Network Edition doesn’t have any major changes targeted till 8.0 server. (We did add the ability to offload other items besides messages in 6.0 with a search type query.) There are no plans on adding HSM to the Open Source Edition.
Q: Are there plans to allow installation on big iron like HP IA64 ? (RX range) A: Not yet, as there does not appear to be a business case to build and test on big iron. You can file this as a feature enhancement and ask others to vote for it.
Q: How do I find new zimlets? A: We have a renewed Zimlet plugins site with more than 80 contributions. Look for future additions such as a revamp social & IM zimlets, additional salesforce integration, webex changes, smart scheduler and many others: gallery.zimbra.com
Q: ZCS web question: Being able to separate windows from Zimbra is nice for emails. How about having that for all of the other apps (contacts, calendar etc)? A: Yes, this is something we are working on. An example is tabbed calendaring, which is slated for version 7.
Q: Will there be tool to bulk loading documents into Briefcase, especially if supporting collaborating workgroups? A: Yes, there will be a migration tool. And at some point in the future, we’ll have multi-file import in the web-client. If you are looking for convenient file sync today, so far we’ve built-in webDAV support.
Q: Looking forward to whitepapers and wiki for vmware/zimbra. Encourage?. mailto is also a problem for us. A: Whitepapers and wikis are soon to come. Were looking into EWS for Entourage. The Zimbra Desktop does work with mailto links. It is defaulted off (to change it, go to the preferences and select zimbra desktop as the default mailto handler).
With over 55 million commercial Zimbra mailboxes deployed worldwide, and millions more on open source, there are many users reaping the benefits of our next-generation collaboration experience. Many factors contributed to our rapid adoption — such as integrated conversation views, tagging, sharing, powerful search, and mobility — but one of the most important is the ability to customize and extend Zimbra.
To promote extensibility, the Zimbra platform exposes powerful Theme, Data and Zimlet APIs. With these APIs, you can customize everything from branding and interface styles…to integrating external applications & services…to implementing new features. And with a vibrant Community continually using these technologies to enhance Zimbra, the customization you are looking for might already be available.
To that end, we have been busy at work leveraging new resources from our friends at VMware and are pleased to announce the new Zimbra Gallery as the destination for sharing Zimbra product extensions.
The new Gallery includes improved navigation and search capabilities so it is easier than ever to find extensions for Zimbra. The Gallery supports ratings and reviews so Community members can share their feedback and experiences. It is also much easier to share extensions, update status and highlight your work with improved extension “landing pages.”
Please visit the Gallery, download extensions, provide feedback and contribute. We look forward to seeing the library of available extensions in the Zimbra Gallery expand in the weeks and months to come. Enjoy!
If you have ever written a Zimlet that includes HTML markup directly in JavaScript, you know that escaping and formatting the HTML can be a cumbersome and error prone process.
There is an easier way: Templates. Templates allow you to separate HTML markup from JavaScript code. This enables you to leverage HTML in your Zimlets without the formatting hassles.
The Problem
A common technique for using HTML markup within JavaScript is to use an Array() and append HTML markup data as array entries. Once you have all of the HTML markup in the Array(), you perform an Array.join() to create a single String that represents the HTML markup.
For example, say you wanted you to use the following HTML in your Zimlet:
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tbody>
<tr>
<td colspan="2">This is a sample table HTML code...</td>
</tr>
</tbody>
</table>
Using the Array() technique, your JavaScript would look like:
var htmlArray = new Array(); var i = 0;
htmlArray[i++] = "<table border=\"0\" cellspacing=\"0\" cellpadding=\"2\" width=\"100%\"><tbody><tr><td colspan=\"2\">";
htmlArray[i++] = "This is a sample table HTML code...";
htmlArray[i++] = "</td></tr></tbody></table>";
htmlMarkup = html.join("");
Even with this simple HTML <table> example, you can see formatting the HTML into an Array() can be tedious. Plus, the extensive use of escaped characters makes it harder to debug the HTML markup. And if you include CSS and style elements with your HTML, the challenge only increases. It’s easy to see that using the JavaScript Array() technique can quickly become out-of-control.
The Solution
With Templates, you separate the HTML markup from your JavaScript code. You create a Template file that contains the HTML markup. That Template file gets compiled into JavaScript and that compiled Template can be referenced from your Zimlet JavaScript.
So instead of the JavaScript Array() technique described above, you can put the HTML markup directly in a Template file (just wrap the HTML in a <template> identification element) and compile.
Here is the same simple HTML <table> example from before in a Template file:
<template id="Simple">
<table border="0" cellspacing="0" cellpadding="2" width="100%">
<tbody>
<tr>
<td colspan="2">This is a sample table HTML code...</td>
</tr>
</tbody>
</table>
</template>
Compiling the Template file converts the HTML markup into JavaScript that can be referenced and used from your Zimlet. No longer do you have to format and escape the HTML markup by hand.
To reference the compiled Template from your Zimlet, first, in your Zimlet Definition File XML, <include> the compiled Template as a resource. Then, in your Zimlet JavaScript, use AjxTemplate.expand() to retrieve the HTML markup from the Template.
var html = AjxTemplate.expand("com_zimbra_template.templates.Simple#Simple");
Now the HTML markup is available for use in your Zimlet as you see fit.
A Word about Compiling Templates
Prior to Zimbra Collaboration Suite 6.0.5, you had to compile your Templates manually and include the compiled Templates with your Zimlet ZIP package. We have tried to make that manual compilation process a little easier by providing a simple Template Compiler utility found here.
But new with is ZCS 6.0.5 is automatic template compilation. Template files included with your Zimlet are compiled at Zimlet deploy time, eliminating the need for manual compilation. This automatic compilation is also supported when using the Development Directory, which makes iterative development even easier.
One More Thing
Your Template can be more than just static HTML markup. You can pass data to the compiled Template when you call AjxTemplate.expand() and reference dynamic data within your Template.
var dataArray = {phone: "123-456-7890"}; canvas.innerHTML = AjxTemplate.expand("com_zimbra_template.templates.Simple#Simple", dataArray);
Useful Links
More information on creating, compiling and using dynamic data with Templates can be found here:
For years, the Zimbra Collaboration Suite (ZCS) has exposed mailbox data via REST. And lately, a few customers have asked about the Zimbra REST API (e.g. How is the API used? What methods are available? How does the Zimbra REST API compare to the Zimbra SOAP API?). So I thought it would be good to revisit the topic.
Some background: REST (REpresentational State Transfer) is an approach for building application services that make application resources available via a URL. There is more than ample information about REST out there on the web so I’ll just point you to the REST Wikipedia article for simplicity.
The Zimbra REST API is a great mechanism for reading user mailbox data and outputting that data in different formats (everything from XML-and-JSON to RSS-and-Atom to iCal-and-VCF). In addition to reading data, we’ve exposed methods to import items — like contacts and appointments — into a mailbox. This capability is very useful when performing a migration (i.e. “how do I import contacts from one system into Zimbra?”)
Here is an example of using the REST API to read mailbox data: if you want an output of messages from the “john doe” inbox folder, you call the Zimbra REST API like this:
http://localhost:7070/home/john.doe/inbox?fmt=xml
You can try this method against a Zimbra server via a browser but more commonly customers use the REST API methods from perl scripts or PHP applications…or even just from the command line using curl.
Here is an example of importing contacts into the “john doe” account: perform a POST of a CSV file to the “contacts” folder. The following command shows importing contacts using curl:
That’s just a couple examples and as you can see, the REST API is a simple yet powerful mechanism for accessing mailbox data. For more information on the Zimbra REST API (i.e. information on authentication, output formats or just a list & syntax for the REST API methods), here is a link to Zimbra REST API Reference document:
One more thing: A very common question is: “why does the SOAP API support so many more functions than the REST API?” Well, the Zimbra REST API is different (in form and function) than the Zimbra SOAP API. At a high level, it’s really an apples-to-oranges comparison. The REST API is for accessing user mailbox data, and the SOAP API is for executing functionality on the server (which can access user mailbox data and also perform account and administrative functions).
The Zimbra SOAP API is the foundational platform service that the Zimbra Web Client uses to communicate between the browser and the Zimbra server. As you can imagine, to create the rich interface experience the Zimbra Web Client delivers, the SOAP API is very complete with advanced and complex functionality, much more than the REST API. To re-create all of this complex functionality in REST API would be a challenge as well as take significant time. So as the alternative, we expose the SOAP API for direct use by our customers & partners.
But that’s another story…I’ll save the Zimbra SOAP API discussion for a different day…until then, enjoy the REST API and happy coding!
New with Zimbra Collaboration Suite 6.0 is the ability to create Zimlets that show-up as tab applications in the Zimbra Web Client. This powerful new feature, unique to the Zimbra platform, enables partners & customers to more easily integrate third-party applications with the Zimbra Web Client. And there are already new Zimlets taking advantage of this feature, like the Social Zimlet or the BroadSoft Zimlet.
Let’s take a look at how to implement some of the basic operations of this new feature…But first, some background: the Zimbra Web Client displays multiple default applications across the top of the interface as “tabs”. These applications include (based on your deployment configuration): mail, address book, calendar, tasks, documents and briefcase. With the Zimlet Tab feature, you can add “tabs” to this array of applications.
Creating the Tab
It starts with creating the tab in your Zimlet JavaScript code. A createApp() method has been added to the ZmZimletBase class. Since all zimlets extend ZmZimletBase, to create a tab, all you need to do is call the this.createApp() method from your Zimlet. The three parameters to createApp() are:
Tab label: the visible text “label” for the tab (for example, “My Tab”).
Tab icon: the CSS class to use for the icon in the tab.
Tab tool tip: the tab tool tip shown when hovering over the tab.
So creating a tab is as simple as calling the following from your Zimlet:
this._tabAppName = this.createApp("My Tab", "zimbraIcon", "A new tab app");
This method returns a unique application name for the newly created tab. You will need this unique name to manage and retrieve the different components of the tab, so it’s best to capture this return value.
Listening for Tab Application Events
Your Zimlet will also receive application events as tab applications are launched for the first time and as a user navigates around the Zimbra Web Client between tab applications. The events will be received in the ZmZimletBase.appActive() and ZmZimletBase.appLaunch() methods. By implementing these methods in your Zimlet, you will be able to know when a user launches and switches between tab applications.
Anatomy of a Tab Application
The layout of a tab application includes the following: the Tab and the Content Areas (i.e. Toolbar, Main and Overview).
The Tab
The row of tab applications across the top of the Zimbra Web Client interface is managed by an application chooser, which is represented by the Zimbra JavaScript class ZmAppChooser. The ZmAppChooser class extends ZmToolBar, making the row of tab applications basically a toolbar with buttons that look like “tabs”.
That means, after tab creation, you can manage the actual “tab” for the application as a ZmAppButton. For example, you can obtain a handle to the tab “button” through the app chooser and set, among other things, the text label & the tool tip.
var controller = appCtxt.getAppController();
var appChooser = controller.getAppChooser();
// change the tab label and tool tip
var appButton = appChooser.getButton(this._tabAppName);
appButton.setText("NEW TAB LABEL");
appButton.setToolTipContent("NEW TAB TOOL TIP");
The Content Areas
You can set the various content areas of the tab to suit your Zimlet needs. The Toolbar area is the area directly under the row of tab applications. This is typically the place where you put toolbar buttons for application control. The Overview area is located on the left-side of the page. This area typically houses a navigation tree but you can set any content you see fit. The Main area is the primary content location for the tab and can be set with whatever application content as needed.
The Toolbar Area can be obtained from the ZmZimletApp and is represented as a ZmToolBar object:
var app = appCtxt.getApp(this._tabAppName);
var toolbar = app.getToolbar();
toolbar.setContent("<b>TAB APPLICATION - TOOLBAR AREA</b>");
The Main Area can be accessed directly from the ZmZimletApp:
var app = appCtxt.getApp(this._tabAppName);
app.setContent("<b>TAB APPLICATION - MAIN AREA</b>");
The Overview Area can be obtained from the ZmZimletApp and is represented as a ZmOverview object:
var app = appCtxt.getApp(this._tabAppName);
var overview = app.getOverview();
overview.setContent("<b>TAB APPLICATION - OVERVIEW AREA</b>");
So that’s the basics of tab applications and Zimlets. As you can see, by leveraging this new Zimlet Tab feature, you will be able to create new & powerful integrations with Zimbra Collaboration Suite.
More information on implementing your own Zimlet tab application can be found in the Zimlet Developer’s Guide at:
And checkout the Zimlet JavaScript API Reference for information on the ZmZimletBase class and tab application methods such as createApp(), appAction() and appLaunch():