DevelopersGuide
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"
}
}
}
| 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 Modern UI. 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 |
| 23 | Setting email headers from Zimlets using the ONSEND event and Redux | https://github.com/Zimbra/zimbra-zimlet-send-header |
| 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

