Hi Zimbra Customers, Partners & Friends,
Integration with Zimbra is easy with the AnyFrame Zimlet. This Zimlet allows you to embed up to 3 websites as a tab in Zimbra Modern UI. You can even choose where you want the integrations to appear in the UI. And you can also limit the visibility of the tabs on a per domain or class of service (CoS) basis.
To install the Zimlet you can download it to your server and run the following command as user zimbra:
zmzimletctl deploy zimbra-zimlet-anyframe.zip
To configure the Zimlet create a file /tmp/config_template.xml with the following content:
<zimletConfig name="zimbra-zimlet-anyframe" version="0.0.1">
    <global>
        <property name="tab1">{"url":"https://embed.windy.com/?52.032,4.310,11","icon":"https://www.windy.com/favicon.ico","name":"Windy.com","route":"/integrations/","allowDomains":"", "allowCOSID":""}</property>
        <property name="tab2">{"url":"https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d46800.96020851833!2d-78.87109739351685!3d42.85046597320593!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89d31234c99a4875%3A0x57bea679387ecece!2sSynacor%2C%20Inc.!5e0!3m2!1sen!2snl!4v1648024277172!5m2!1sen!2snl","icon":"https://www.google.com/images/branding/product/ico/maps15_bnuw3a_32dp.ico","name":"Synacor Office","route":"/chatapps/","allowDomains":"", "allowCOSID":""}</property>
        <property name="tab3">{"url":"https://blog.zimbra.com/","icon":"https://www.zimbra.com/wp-content/uploads/2023/07/cropped-favicon-32x32.png","name":"Zimbra Blog","route":"/cloudapps/","allowDomains":"", "allowCOSID":""}</property>
    </global>
</zimletConfig>
You can configure up to 3 custom integration tabs via the properties tab1, tab2 and tab3. If you only need one tab, just leave the properties for the other tabs empty like this:
<property name="tab3"></property>
Here are the JSON properties explained:
| Property | Description | 
|---|---|
| url | url of the website to be displayed in a tab | 
| icon | url to the icon to be displayed on the tab | 
| name | name to be displayed on the tab | 
| route | see below table | 
| allowDomains | comma separated list of domains to allow or empty to allow for all | 
| allowCOSID | comma separated list of Zimbra CoS ID’s to allow or empty to allow for all | 
For route property you can choose one of the following for each of the tabs:
| Value | Description | 
|---|---|
| /briefcase/ | Will appear in the briefcase/suitcase-icon vertical | 
| /calendar/ | Will appear in the calendar vertical | 
| /contacts/ | Will appear in the contacts/addressbook-icon vertical | 
| /chatapps/ | Will appear in the chat/square-speech-bubble-icon vertical | 
| /cloudapps/ | Will appear in the cloud-icon vertical | 
| /email/ | Will appear in the email vertical | 
| /integrations/ | Will appear in the integrations/jigsaw-puzzle-icon vertical | 
To configure the AnyFrame Zimlet with your custom tabs run the following command as user zimbra:
zmzimletctl configure config_template.xml zmmailboxdctl restart
How to get CoS ID
Run the following commands as user zimbra to list all CoS on your server and find the ID.
zimbra@zimbra:~$ zmprov gac default defaultExternal zimbra@zimbra:~$ zmprov gc default zimbraId # name default zimbraId: e00428a1-0c00-11d9-836a-000d93afea2a
Screenshots
Further reading
- AnyFrame Zimlet in the Zimlets Gallery: https://gallery.zetalliance.org/extend/items/view/anyframe-zimlet
Thanks,
Your Zimbra Team





Comments are closed.