- This Zimlet for Zimbra 8.8.x allows the reservation of Lifesize virtual rooms with integration of login credentials directly in the text of the meeting message.
- It was made based on code from Barry de Graaff https://github.com/Zimbra-Community/startmeeting.
-
You can download, deploy and test vesrion 1.0.0 directly: fr_cd21_startmeetiing.zip
-
It is configured in simulation mode (no call to the web service).
-
You can also download the sources with the command:
bash git clone https://github.com/Zimbra-Community/startmeeting
``
-
The configuration of the zimlet is carried out through the intermediary of the file: config_template.xml. This file defines, among other things, the key lifesize API for connection with the lifesizecloud.com reservation web service. virtual room
<global> <!-- Url de connexion vers lifesizecloud.com --> <property name="lifeSizeCreateMeetingURL">https://meetingapi.lifesizecloud.com/meeting/create</property> <property name="lifeSizeConnectMeetingURL">https://call.lifesizecloud.com</property> <property name="lifeSizeConnectSkypeMeetingURL">https://skype.lifesizecloud.com</property> <!-- API key pour l'utilisation du webservice lifesizecloud.com --> <property name="lifeSizeMeetingAPIKey">123456789</property> <property name="lifeSizeConnectAudio">01 01 01 01 01</property> <!-- Code extension de l'utilisateur lifesize pour lequel la réservation est associée --> <property name="lifeSizeUserExtension">123456</property> <!-- Nom généric apparaissant dans le libellé de la réservation côté lifesizecloud.com --> <property name="lifeSizeMeetingOwner">Zimlet</property> <!-- Configuration du type de réservation de salle virtuelle --> <property name="lifeSizeTempMeeting">true</property> <property name="lifeSizeHiddenMeeting">false</property> <property name="lifeSizePrivateMeeting">true</property> </global>
- All messages are saved in templates/Startmeeting.template. It is an xml file that will be compiled by zimbra during deployment to produce a javascript interface that will be used to extract and expand messages from the fr_cd21_startmeeting.js zimlet.
- Each template is identified by a unique id containing text (html or text / plain), and variables identified by the syntax <$=data.param$> which will be replaced automatically during calls to the zimbra function :
AjxTemplate.expand("fr_cd21_startmeeting.templates.Startmeeting#about",
{name:"Zimlet",description:"MaZimlet",version:"1.0.0"});
<template id="about">
<img class='img_cd21_startmeeting_dlg' src='<$=data.image$>'/>
<div>
<p>Zimlet : <$=data.name$></p>
<p>Description : <$=data.description$></p>
<p>version : <$=data.version$></p>
</div>
</template>
-
the template identified: "startmeeting" represents the text / html message which will be used to format the text zone of the meeting with the connection identifiers.
-
the template identified: "startmeeting_text" represents the text / plain version of the previous message which will be used if the Zimbra editor is in text / plain mode.
-
It is possible to define 3 zimlet operating modes from the keys of the fr_cd21_startmeeting.properties file, as well as the response time granted to the lifesize webservice.
# 0 : désactivé (valeur par défaut si non précisé), # 1 : debug (simulattion pas d'appel au websertvice) # 2 : running (en fonctionement) StartMeetingZimlet_lifeSizeRunning=2 # # Temp de réponse du webservice lifesize en ms StartMeetingZimlet_lifeSizeTimeout=5000 ```t_lifeSizeTimeout = 5000 `` ``
-
The simulation mode allows you to debug the zimlet without calling the webservive and reserving virtual rooms unnecessarily.
-
This property file does not require an uninstallation of the zimlet to be taken into account if modifications are made in production. A simple deployment is enough.
-
Changing the zimlet operating mode can be done directly from the browser in the developer tools console with the command: StartMeeting.lifeSizeRunning = 0,1 or 2
- All files must be encoded in UTF-8 without bom, except jsp, which use ISO-8859-1 encoding.
- This zimlet was developed for the Departmental Council of Côte-d'Or. The names of files and objects are prefixed with cd21. It is advisable to adapt it by changing all or part of the name according to the context of use.
- I personally have a preference for Eclipse (version 2020-12 - Eclipse IDE for Enterprise Java Developers) to benefit from a suitable development environment.
- Any other text editor respecting the recommended encoding.
- Deployment for zimbra requires building an archive (zip) which will be uploaded to the server via the administration interface.
- Warning the structure of the generated archive must respect the standardization of zimlets. see https://wiki.zimbra.com/wiki/Zimlet_Developers_Guide:Getting_Started
-
The package.xml file describes the structure as well as the files to be incorporated into the archive. It is executable from a console or Eclipse using Ant to produce a zip. This script will have to be adapted to the context for the generation of the final file.
- Installing the zimlet requires configuring zimbra to allow clients to call the lifesizecloud.com webervice through the zimbra proxy.
- This configuration is performed directly from the Zimbra command line server.
- Note: Authorization to use domain for an account does not seem to work with our version of Zimbra. Authorization is defined at the COS level.
su - zimbra
zmprov mc cos-domaine-dsi +zimbraProxyAllowedDomains *.lifesizecloud.com
# pour une personne (mais ne fonctionne pas)
# zmprov ma [email protected] +zimbraProxyAllowedDomains *.lifesizecloud.com(ne fonctionne pas!)
# vérification :
zmprov gc cos-domaine-dsi | grep zimbraProxyAllowedDomains
zimbraProxyAllowedDomains: *.lifesizecloud.com
su - zimbra
zmmailboxdctl restart
- The deployment will be carried out directly from the administration interface. With the deploy option in the Zimbra server configuration, Zimlet section.
- Note: If modifications are made to the config_template.xml file after deployment, and for them to be taken into account, the configuration will have to be reloaded with the zimbra command:
su - zimbra
# extraction de la configuration
zmzimletctl getConfigTemplate fr_cd21_startmeeting.zip
# installation de la configuration
zmzimletctl configure config_template.xml