DevelopersGuide

The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Zimlet Development Guide

This page contains a list with links to all developer guides for Zimbra 10 / Modern UI. These guides are here for your reference but you can also follow them as a self-paced course.

You are free to follow these guides in any order you wish, but guide #2 and #3 are basically Preact Zimlet 101. So if you have trouble understanding guides #4 and higher, please take a look at #2 and #3 first as we are building up the complexity of the guides gradually.

Update: When packaging your Zimlet the file /src/intl/en_US.json needs to be formatted like the example below, some of the guide Zimlets have not yet been updated to include this.

{
  "zimbra-zimlet-custom-mark": {
    "title": "Custom Mark"
  },
  "zimlet": {
    "description": "Custom Mark",
    "label": "Custom Mark"
  }
}
Zimbra 9 Zimlet Development Guide
1 Practical guide to writing Zimbra back-end extensions (Java). https://github.com/Zimbra/zm-extension-guide
2 Practical guide to writing Preact Zimlets for Zimbra 9 and above. Shows how to add a new tab with an iFrame in Zimbra and how to use the more-menu to do something with currently viewed email. Including getting started with Zimlet-CLI. https://github.com/Zimbra/zm-zimlet-guide
3 How to use internationalization and custom metadata to create a Sticky Notes Zimlet. https://github.com/Zimbra/zimbra-zimlet-sticky-notes
4 How to write a Zimlet that allows a user to attach files from a third party service. This way users can attach files from any service you wish to integrate directly from Zimbra. https://github.com/Zimbra/zimbra-zimlet-attacher
5 Create, modify and remove tags in Zimbra, add and remove tags from emails and contacts. How to use GraphQL and Apollo Client from a Zimlet. https://github.com/Zimbra/zimbra-zimlet-tags
6 A Zimlet that can set the Location and Notes fields on a new appointment. Can be used for integrating 3rd party video conferencing solutions in Zimbra. https://github.com/Zimbra/zimbra-zimlet-appointment
7 How to write a Zimlet that can be configured by the administrator. https://github.com/Zimbra/zimbra-zimlet-configuration
8 Fully functional Zimlet that brings email template functionality to Zimbra 9. Learn how to write Zimlets to interact with the email composer. (get/set subject and body of new email) https://github.com/Zimbra/zimbra-zimlet-email-templates
9 Fully functional Zimlet. Use Voice Message Zimlet to record a message from Zimbra. https://github.com/Zimbra/zimbra-zimlet-voice-message
10 Guide on interacting with Zimbra Composer using Zimlets. Signature Template example Zimlet. An alternative to guide 8. https://github.com/Zimbra/zimbra-zimlet-signature-template
11 A guide on using Zimlet User Properties to store per-user Zimlet settings. Demos the use of GraphQL mutations. https://github.com/Zimbra/zimbra-zimlet-user-properties
12 How to add an onkeyup event to the Zimbra Composer, interact with the composer while the user is typing. https://github.com/Zimbra/zimbra-zimlet-social-justice
13 The X-Spam Zimlet displays X-Spam headers in the UI. Introduces @zimbra/api-client a GraphQL client for making SOAP API requests. https://github.com/Zimbra/zimbra-zimlet-xspam
14 The Google Translate Zimlet shows you how to deal with a specific message in conversation view mode of Zimbra. https://github.com/Zimbra/zimbra-zimlet-google-translate
15 Create a Milter extension for Zimbra. Add or replace email headers, filter out specific email content. Automatically add BCC recipients, add disclaimers, etc. https://github.com/Zimbra/custom-milter
16 Zimlet Events when the user logs-out or sends an email https://github.com/Zimbra/zimlet-cli/wiki/Capture-Zimbra-events-inside-a-Zimlet
17 A Zimlet that alerts you when forgetting to attach an attachment when sending an email. (Implementation of guide 16) https://github.com/Zimbra/zimbra-zimlet-attachment-alert
18 Empty subject Zimlet, alerts you when sending an email without subject. Introducing a new way to create a modal dialog and also introduces the use of Event Handlers using useCallback to improve performance. https://github.com/Zimbra/zimbra-zimlet-emptysubject
19 Implement a CSRF token check in a Zimbra extension. https://github.com/Zimbra/zm-extension-guide/blob/master/Implementing%20a%20CSRF%20check%20on%20a%20Zimbra%20extension.md
20 How to implement Custom Authentication using a Zimbra extension. https://github.com/Zimbra/zimbra-custom-authentication
21 How to use DOMPurify in your Zimlet for XSS sanitizing https://github.com/Zimbra/zimlet-cli/wiki/XSS-Sanitizing
22 Admin Console Zimlets and extensions guide https://github.com/Zimbra/admin-console-zimlets-and-extensions-guide


Related open-source Zimbra Modern Zimlets
1 Zimlet that shows how to set the default cloudapp, can be modified for setting default Chat/Cloud vertical. https://github.com/Zimbra/zimbra-zimlet-apps-redirect
2 Integrate 3rd party web-apps in Zimbra with the AnyFrame Zimlet. No coding needed, add a frame as a tab. https://github.com/Zimbra/zimbra-zimlet-anyframe

See also: https://wiki.zimbra.com/wiki/ModernUI-Zimlets you can also search Zimbra's Github for all open-source Modern Zimlets via https://github.com/orgs/Zimbra/repositories?q=%22zimbra-zimlet%22

Zimlet Zimlets ModernUI React Preact Zimlet-CLI ZimletCLI

Jump to: navigation, search