Zimbra SkillZ: Extending Zimbra 9’s Backend Functionality with Zimlets (2 of 3)

A unique feature of Zimbra is its extensibility. You can customize functionality for both the frontend UI and the backend with Zimlets. The Zimbra frontend can be extended with JavaScript Zimlets and the backend can be extended with Java extension Zimlets.

This post is part of a 3-part series to highlight the Zimbra Development Guides created by Barry de Graaff, Channel Evangelist at Synacor.

Barry has written Guides for Zimlet developers (click the Releases tab on github for the PDF versions):

Instead of recreating the Guides on the blog, we are going to summarize them here.

This post focuses on Backend Zimlets.

In the Guide, Barry gives you all the info and steps to create the Mytest extension. What is the Mytest extension? It’s a Zimlet that makes a single HTTP request that contains JSON and binary files. The extension reads the request, parses the JSON part and adds additional JSON elements containing the (binary) files from the request. The server response is then displayed on the page and if any images where submitted, those are displayed as well.

If that explanation didn’t make much sense, you might want some experience with Java coding. Here is a good online course for Java fundamentals https://www.udemy.com/course/java-essentialtraining/


To create the Mytest extension, you need a Zimbra test server that is accessible over SSH. You can set this up in a Virtual Machine in the cloud, or you can install it on your local computer inside VirtualBox/KVM/Parallels etc. If using a local computer, you need at least an i5 with 16GB of RAM and a SSD.

Zimbra Extensions

Zimbra supports Zimlet backend extensions for the following functionality. There is a lot more info on REST vs SOAP in the Guide.

  • Custom Authentication
  • Change Password on custom authentication

What’s Next?

If you are already a Java developer, head over to the github site to get started. If you want some more information before deciding about creating your own backend Zimlet, here is an overview of what is included in the Guide:

  • Structure of a Zimlet extension
  • Setting up your build system
  • Building the extension
  • Enabling multipart/form-data on Zimbra extensions
  • Deploying the extension
  • The Mytest extension
  • Setting up IntelliJ IDEA
  • Configuring the Java debugger
  • java
  • java
  • Working with IntelliJ debugger
  • Compiling with ant build.xml
  • Git and gitignore

Each section includes step-by-step instructions, screen snapshots, code examples, etc. Everything you need to create the Mytest extension and get started developing your own backend Zimlets.


Your Zimbra Team

, , , , , , , , , , ,

One Response to Zimbra SkillZ: Extending Zimbra 9’s Backend Functionality with Zimlets (2 of 3)

  1. Tayfun Deger May 12, 2020 at 7:51 PM #

    Thanks for sharing. You have explained Zimlets very well.

Copyright © 2022 Zimbra, Inc. All rights reserved.

All information contained in this blog is intended for informational purposes only. Synacor, Inc. is not responsible or liable in any manner for the use or misuse of any technical content provided herein. No specific or implied warranty is provided in association with the information or application of the information provided herein, including, but not limited to, use, misuse or distribution of such information by any user. The user assumes any and all risk pertaining to the use or distribution in any form of any subject matter contained in this blog.

Legal Information | Privacy Policy | Do Not Sell My Personal Information | CCPA Disclosures