Zimbra Blog

Zimbra Roadmap and VMware Integration Webinar Plus Q&A

Posted in /etc, Community, News, Zimbra Desktop, Zimbra Server, Zimbra Web Client, Zimlets by Andrew Hawthorn on May 25th, 2010

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).

Q: Can you mention the URL for the new dev Wiki?
A: A good place to start wiki.zimbra.com/wiki/ZCS_6.0:Zimlet_Developers_Guide:Introduction


Links: Video of the above webinar. You can also browse a list of existing or sign-up for upcoming webinars here.



New Gallery Launches for Sharing Zimbra Extensions

Posted in Community, Open Source, Zimbra Desktop, Zimbra Server, Zimbra Web Client, Zimlets by Jeff Sposetti on May 4th, 2010

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.”

Checkout the new Gallery at http://gallery.zimbra.com

Zimbra Gallery

The Gallery includes new Zimlets & Themes as well as some updated favorites such as Appointment Summary, Birthday Reminder, Email Attachment Alert, Email Downloader and Email Quotes.

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!



Using Templates to Simplify HTML and Zimlets

Posted in Community, Zimbra Web Client, Zimlets by Jeff Sposetti on March 9th, 2010

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.

Zimlets and Templates

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:

http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Templates

There are also examples available in the Zimlet Developer’s Guide:

Happy coding!



Adding Tab Applications to the Zimbra Web Client

Posted in Community, Open Source, Zimbra Web Client, Zimlets by Jeff Sposetti on January 20th, 2010

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:

http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Introduction

http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Zimlet_Tab

Zimlet Tab Examples are available at:

http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Example_Zimlets#Tab_Zimlets

And checkout the Zimlet JavaScript API Reference for information on the ZmZimletBase class and tab application methods such as createApp(), appAction() and appLaunch():

http://files.zimbra.com/docs/zimlet/zcs/6.0/jsdocs/index.html



Using the Zimlet Development Directory for Iterative Development

Posted in Community, Open Source, Zimbra Web Client, Zimlets by Jeff Sposetti on January 14th, 2010

When developing a Zimlet, you are constantly making code changes and then packaging and deploying the Zimlet to be able to test those changes. This is the Zimlet development process and is done over & over again until your Zimlet is “ready” for production. An iterative development process like this that involves packaging and deploying with each code change can be quite time consuming and really impact your developer productivity.

That’s where the Zimlet Development Directory comes in.

By using the Zimlet Development Directory, you can develop your Zimlets without having to package and deploy the Zimlet with each code change. You can make your code changes directly in the Zimlet files and just refresh your browser to see the changes take affect. This will greatly reduce your development time and overall, make it much easier to build Zimlets.

To use the Zimlet Development Directory, create a _dev folder in the {zcs-install-dir}/zimlets-deployed directory. In the _dev folder, create your Zimlet folder and file structure that you can modify on the fly. It’s just that easy.

For example, say you want to create a Zimlet named “com_zimbra_myzimlet”:

  1. Create the development directory:
    {zcs-install-dir}/zimlets-deployed/_dev
  2. Create the Zimlet folder:
    {zcs-install-dir}/zimlets-deployed/_dev/com_zimbra_myzimlet
  3. Now put your Zimlet Definition File (com_zimbra_myzimlet.xml) and whatever other resources your Zimlet needs in that directory (like JavaScript files, JSP files, Properties files, etc).
  4. Make code changes to the Zimlet files as necessary and voila, just refresh your browser to see the changes take affect.

There are some limitations, however. If using Internationalization resource properties, you will need to load the Zimbra Web Client in Development Mode (i.e. with “?dev=1″ on the URL). Also, the “allowed domains” setting in the Zimlet Configuration File (config_template.xml) for the Proxy Servlet is not recognized. There is a workaround for this situation described in the Proxy Servlet Setup section of the Zimlet Developer’s Guide.

We still recommend that you package and deploy your Zimlet when you plan to go into production. But as you can see, the Zimlet Development Directory cuts-out the deploy & package development steps and is a convenient way to do iterative Zimlet development.

More information on the Zimlet Development Directory can be found in the Zimlet Developer’s Guide at:

http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Dev_Environment_Setup#Zimlet_Development_Directory



New Zimlet Development Documentation Available!

Posted in Community, Open Source, Zimbra Desktop, Zimbra Web Client, Zimlets by Jeff Sposetti on January 7th, 2010

This is one people have asked about a lot. Starting with Zimbra Collaboration Suite 6.0, we will be providing a formal Zimlet Developer’s Guide and API Reference. The goal of this documentation is to make it easier for partners and customers to build Zimlets and to integrate with the Zimbra platform. As we’ve built this documentation, here are some of our guiding principles:

  • Easy to find. Make the documentation online and “wiki-based” for easy access.
  • Reduce “wondering” between versions. Maintain documentation with each ZCS release so when new major versions of ZCS are delivered (and changes are made to the APIs), people on older ZCS releases can still access their “version specific” documentation.
  • Lower overhead to get started. Make developing Zimlets possible without having to download the entire product source. Of course, product source will still be available for those who want it but we want to make even advanced Zimlet tasks (for example, compiling templates) possible without needed the entire source tree.

Here are links to the new developer documentation:

Zimlet Developer’s Guide for ZCS 6.0
http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Introduction

Zimlet Definition File Reference for ZCS 6.0
http://wiki.zimbra.com/index.php?title=ZCS_6.0:Zimlet_Developers_Guide:Zimlet_Definition_File_Reference

Zimlet JavaScript API Reference for ZCS 6.0
http://files.zimbra.com/docs/zimlet/zcs/6.0/jsdocs/index.html

These are living documents and we will be adding content & more information over the coming weeks. With this first-launch, we are looking for your thoughts on the best ways you enjoy learning and making use of the new material, as well as ideas and suggestions about Zimlet topics that you think we should cover. Please provide feedback and comments in the forums at:

http://www.zimbra.com/forums/zimlets/35951-new-zimlet-developer-documentation-zcs-6-0-available.html

Pay attention to the extra bar at the top to navigate around the wiki pages:

Whether you just want dozens of examples, a list of all the elements in the Zimlet Definition File…or want to dive into advanced topics like Templates and Portals, we plan to leave no stone unturned.

  

Happy coding!



Inbox Innovation: Zimbra Adds New Gadgets and Gallery

Posted in Community, PowerTips - Users, Zimbra Web Client, Zimlets by Greg Armanini on June 5th, 2009

Process-maker-in-ZimbraZimbra’s open source roots have always been of great importance to both the company and the Zimbra Collaboration Suite (ZCS).  When we set out to build a new collaboration system over five years ago, we wanted to bring a fresh perspective to the market, and a big part of that was our commitment to being open source.  We understood sharing ideas within the open source community keeps you a one step ahead of competitors by iterating faster to give users what they want.  A great example demonstrating how the community has flourished is the Zimlet development program.

Zimlets are simple but powerful extensions of ZCS that connect users’ email, calendar, and contacts with any number of outside services (for a couple of recent examples see Alfresco and Peru and TripIt).  Zimlet development growth in the community has been strong and steady, and we are excited to continue supporting the community’s work by providing a place where developers can feature the best of their integrations to share with other Zimbra users.   So, today we are launching an updated Zimlet Gallery where you can pick and choose from many handy new ZCS extensions.

At the same time, we also love seeing our Yahoo! friends continue to embrace openness as part of the Yahoo! Open Strategy. In addition to this announcement today, a number of our Yahoo! brethren are extending their platforms to become more open. Today, Yahoo! Mail is introducing applications which enable people to make online payments, access personal photos and more easily send large files directly from their inbox. In addition, My Yahoo! is adding even more third-party applications, driving enhanced personal productivity for users directly from their My Yahoo! start page. You can read more about the Mail and My Yahoo! updates on the Yodel and YDN blogs.

As part of the Zimlet Gallery launch today, we’d like to introduce you to a few new third-party Zimlets, including:

Xythos Zimlet – The Xythos Zimlet allows you to drag and drop email messages and file attachments directly into Xythos’ Enterprise Document Management System.  Secure document management is popular in the enterprise and universities; integration in email is key for ubiquitous adoption.

Processmaker Zimlet – The Processmaker Zimlet helps streamline workflows, like time-off requests, all within Zimbra email (see above).  This Zimlet is already becoming popular and is being deployed at Access America Transport and Ministerio de Vivienda by our Zimbra Partners.

Sticky-Notes-in-ZimbraIn addition, Zimbra developers have created a handful of new Zimlets, including:

Place Sticky Notes on Email – The new Sticky Notes Zimlet allows you to attach and tag emails with “notes.” One can leave comments, reminders, additional info about the email and more. And Zimbra’s powerful search can search through emails based on the contents of the tags/notes attached to the email.

Email Highlighter – The Colored Emails Zimlet allows you to apply personally assigned colors to emails from specific senders such as a family member, your boss, etc. You can identify senders by color, but you can also create colored emails through tags, making it easier to prioritize any inbox.

Save Email as Documents – With one click, the Email-2-Doc Zimlet lets you save an important email as a Zimbra Document; it will automatically save any attachments as links in the Document as well. The email can then be edited and shared with others.