Posts Tagged ‘ZCS’

The Zimbra merry-go-round

Friday, August 21st, 2015

I’ve been a big fan of the Zimbra email collaboration system for many years, using it since version 4.5 or 5.0 (I can’t remember exactly). However, in recent years the product has been falling further and further behind competitors such as Microsoft Exchange, particularly in the all important area of redundancy and availability.

Email and collaboration are critical to modern businesses and so every effort needs to be taken in order to ensure that they are always available. Microsoft clearly recognise this as Exchange has had Database Availability Groups (DAG) since Exchange 2010 and before that had a number of other High Availability options.

Zimbra however still does not have this as of the current version (8.6). Zimbra were supposed to be addressing this with a 9.0 release scheduled for the second half of 2015, however now that has been pushed back to the first half of 2017 at the earliest!

Instead, we aren’t getting any more releases in 2015 and all we are getting in the first half of 2016 is version 8.7, which will start to bring back the chat feature that was previously dropped! Zimbra aren’t even providing the chat server to start with – just an XMPP client and you will have to run your own server until version 8.8 arrives in the second half of 2016! This will also bring some much needed anti-spam improvements (although it seems that this will be by integrating an as yet unspecified third party product) and two factor authentication. This seems a long time to wait for not a great deal of new functionality!

I can’t help but feel that this is in a large part due to the constant change of ownership of Zimbra. Back in 2007 Yahoo bought Zimbra for $350m (https://yodel.yahoo.com/blogs/partnerships/zimbra-damn-cool-592.html) but then sold it on to VMware in 2010 (http://www.vmware.com/company/news/releases/zimbra.html). The exact amount paid wasn’t disclosed, but it was generally reported to be around $100m.

VMware then sold Zimbra to Telligent in 2013 (http://www.vmware.com/company/news/releases/zimbra-telligent-071513.html), again for an undisclosed amount, who promptly renamed themselves to Zimbra Inc. (https://blog.zimbra.com/2013/07/telligent-acquires-zimbra-from-vmware/) with the products becoming Zimbra Collaboration (formerly Zimbra) and Zimbra Social (formerly Telligent).

Telligent then acquired Mezeo (https://blog.zimbra.com/2014/07/zimbra-acquires-mezeo-adds-cloud-based-secure-file-sharing-capabilities/) for their MezeoFile sync-and-share technology in 2014, with the MezeoFile product becoming Zimbra Sync and Share, which was then discontinued in 2015 (https://blog.zimbra.com/2015/07/discontinuing-zimbra-sync-share/).

Shortly after discontinuing Zimbra Sync and Share, Zimbra made the wooly statement of (https://blog.zimbra.com/2015/07/register-free-webinar-zimbra-quarterly-partner-update/):

“As many of you know, Zimbra made a few strategic decisions over the past few months in order to ensure the company’s stability and achieve an increase in EBITDA”

Not long afterwards, the Zimbra Social product was sold off to a company called Verint (https://blog.zimbra.com/2015/08/verint-acquires-telligent-zimbra/) and renamed back to Telligent, leaving Zimbra Inc. with just Zimbra Collaboration.

At this point I was naturally wondering if Zimbra Inc. was running out of money and concerned as to what the future holds for Zimbra Collaboration and its customers given all these recent announcements, but I didn’t have to wait long as then a couple of days later Zimbra is sold to Synacor (http://news.synacor.com/phoenix.zhtml?c=253437&p=irol-newsArticle&ID=2080463) for $24.5m. Strangely this announcement seems to be missing from the Zimbra blog…

Back when Zimbra was owned by VMware, their answer to any questions about availability, redundancy or disaster recovery/business continuity was to run Zimbra inside a VMware environment and use their HA+DR technologies, but soon after being sold off to Telligent they started talking about a project “Always ON”. This was mentioned in a number of blog posts throughout 2013, but https://blog.zimbra.com/2013/04/zimbra-judaspriest-release-update-1/ and https://blog.zimbra.com/2013/09/project-always-on/ were the most detailed.

Sadly, over 2 years later we are still waiting for this new “Always ON” architecture and it seems that we have to wait at least another year and a half! I’m not holding my breath that things are going to get any better under the new ownership, but right now I’m just glad that my company didn’t buy into Zimbra Social or Zimbra Sync and Share like we considered!

Disabling highlighting of objects in Zimbra web UI

Sunday, February 5th, 2012

Zimbra has a couple of Zimlets (plugins) that highlight parts of messages when viewed in the Zimbra Web Console such as dates, phone numbers and e-mails and turn them into special contextual links. Whilst this functionality is often quite useful, sometimes you just need to see the raw, unadulterated e-mail without your client interfering with the content – particularly if you are testing e-mail designs!

You can either disable Zimlets server wide through the admin console, or on a per-account basis using the preferences. In particular, look for the “Date”, “Email”, “Phone” and “URL Links” Zimlets as these are the four of the default Zimlets in Zimbra 7.x that are responsible for highlighting parts of messages and turning them into contextual links.

Zimbra mailbox import/export and migration of e-mail filter rules

Monday, June 27th, 2011

Zimbra has a fantastically useful built in system for exporting an entire mailbox, including the contents of the entire e-mail inbox, calendar, address book and briefcase ready to be imported on another Zimbra server either via the web interface or using zmmailbox from the command line. This makes migrating mailboxes between separate Zimbra installations incredibly easy.

You can export a chosen mailbox from the source Zimbra server with:

zmmailbox -z -m user@test.com getRestURL “//?fmt=tgz” > /tmp/user_test.com.tar.gz

And then import it into the destination server with:

zmmailbox -z -m user@test.com postRestURL “//?fmt=tgz&resolve=reset” /tmp/user_test.com.tar.gz

You need to make sure that the target account exists before attempting to import the archive on the destination server. Using the “reset” resolve method will ensure that everything is wiped from the target account before importing from the archive.

Simply replace “tgz” with “zip” in order to chose between the two archive formats when importing and exporting, making sure to use the right one on the import!

If you want to download a copy of an account from your browser, just visit the appropriate URL (e.g. http://mail.test.com/home/user/?fmt=tgz where “user” is the account’s username) or use the nice Import/Export GUI in the Zimbra preferences tab, which also gives you the option to upload and import an archive.

The Zimbra preference interface to the export function also allows you to easily specify advanced settings such as date ranges, search filters or limiting the export to a certain data type such as calendar items.

The one problem with Zimbra’s import/export system is that user settings such as signatures and mail filters which are stored in an account’s LDAP attributes aren’t included in the exported data. It’s easy enough to manually move signatures between servers, but anything more than a couple of mail filters can be tedious to manually re-create.

Luckily, you can get the information you need from the zimbraMailSieveScript attribute for a chosen account using the zmprov command line utility:

zmprov ga user@test.com zimbraMailSieveScript

This should give you something a copy of your mail filter rules in the sieve format, for example:

require [“fileinto”, “reject”, “tag”, “flag”];

# No Reply
if anyof (header :contains [“to”] “noreply@test.com”) {
fileinto “Inbox/No Reply”;
stop;
}

You can then easily re-import this into LDAP on the destination server by placing single quotes around the result and using “zmprov ma”:

zmprov ma user@test.com zimbraMailSieveScript ‘require [“fileinto”, “reject”, “tag”, “flag”];

# No Reply
if anyof (header :contains [“to”] “noreply@test.com”) {
fileinto “Inbox/No Reply”;
stop;
}’

You can of course apply the same technique to other account details if you wish, you just need to know the appropriate LDAP attribute, such as zimbraPrefMailSignatureHTML for your signature or zimbraPrefOutOfOfficeReply for your out of office auto reply.