Skip to content

Zimbra-Community/zimbra-zimlet-lifesize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

zimbra-zimlet-lifesize

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

Zimlet reservation

Download

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

Zimlet configuration

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

Configuration of text messages

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

Activation, deactivation and simulation 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

Zimlet operating mode

Encoding

  • All files must be encoded in UTF-8 without bom, except jsp, which use ISO-8859-1 encoding.

Naming convention

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

Development tools

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

Creation of the archive

Zimlet deployment

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

Zimbra configuration

  • 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
  • or from the administration interface Zimlet permission

  • Reloading the mailstore to take into account the changes

  su - zimbra
  zmmailboxdctl restart

Deployment and update

  • The deployment will be carried out directly from the administration interface. With the deploy option in the Zimbra server configuration, Zimlet section.

Zimlet reservation

  • 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

Zimlet reservation

About

Lifesize Virtual Room Booking Zimlet for Zimbra

Resources

License

Stars

Watchers

Forks

Releases

No releases published