DevelopersGuide

Revision as of 12:23, 30 April 2024 by Barry de Graaff (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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