OpenPaaS Newsletter 8 - October 2017

Laura Royet
Linagora Engineering
7 min readOct 24, 2017

Dear readers,
Welcome to our October newsletter :)
Among all our news, you will discover current research and development projects such as OpenData, our new data visualization POC module and the scalability improvement work on Hubl.in, our video-conferencing tool. You will also learn about the progress achieved on LinShare, SaaS project offer and on all our awesome modules.

OpenData module

Quang and Tien worked on OpenData, a data visualization POC module. Currently at the stage of research & development, this module is capable of processing data and building charts automatically for them. In a near future it will evolve in the form of an open data portal integrated into OpenPaaS.

Hubl.in is a free and Open-Source video-conferencing tool developed by Linagora. The aim is in the end to have Hubl.in integrated into OpenPaaS as an OpenPaaS module to take advantage of the interconnections between the modules OpenPaaS provides.

Hubl.in is a virtual meeting based on the WebRTC standard and Peer-To-Peer (WebRTC provides browsers tools for real-time communication). Unfortunately Peer-To-Peer (P2P) has some disadvantages: when the number of the participants increases they overwhelm the bandwidth by sending audio and video streams to all participants and they overwhelm processing capacity (i.e. CPU) at the endpoint client by coding and decoding simultaneously all streams. This leads to a degraded quality of the video-conference (frozen video, sound cut-offs, etc.). For this reason, we decided to work on improving the scalability of Hubl.in (Sami’s article describes it well). Hamza, Guillaume and our R&D team are currently progressing on the subject. The results is the following: instead of using P2P mode we switch to Selective Forwarding Unit mode (SFU) mode, which is another way to set up a video-conferencing and we scale from 3/4 users to easily 7/8 users, tested in the same environment.

Discover also here the Hubl.in Scalability Test 2/3 video and the 3/3 one.

On last 29th September, the 5 OpenPaaS::NG partners met for the 5th plenary meeting of the project. Linagora, LIX, Loria, Nexedi and XWiki shared the progress they achieved in recent months in order to prepare the yearly April review (see OpenPaaS May newsletter).
Discover our dedicated Twitter moment.

On 6th October, LinShare 2.0.3 version has been released. In addition to bug fix, this version brings the new Copying files feature allowing users to copy their files between all their storage areas:

SaaS

In our September Newsletter we announced Linagora’s wish to launch a SaaS (Software as a Service) offer for OpenPaaS and LinShare. Today the SaaS team is formed since a few weeks and is currently working on its third sprint!

Discover what has been done since the beginning and what is about to happen soon

Sprint #1 - Bootstrapping the LinShare SaaS (subscription)
On its first sprint the team:

  • created an attractive Home page presenting offer, pricing, marketing, etc. and an entry point allowing any interested user to register on the SaaS with only his email address
  • defined an LDAP directory model and persisted user in it with his email address only.

Sprint #2 - Plug the SaaS portal with LinShare
During this second Sprint, SaaS team:

  • protected the portal with LemonLDAP: it has been configured (LDAP authentication, LDAP sessions), installed and the passwords hash option/feature has been activated.
  • provisioned registered users in LinShare
  • install Linshare on pre-production platform

Upcoming Sprint #3 - Go live with the free version (MVP 1) !
Portal will be in production at the end of the sprint!

What’s up in OpenPaaS?

OpenPaaS website
Content and layout of OpenPaaS website have been updated.

OpenPaaS shortcuts improvement
The sheet is now “module-aware”, it displays only global shortcuts and usable shortcuts of current module that the user is in, the user can click on “Show all” to see all available shortcuts. The shortcuts could be shorted by sub-categories, that allows better shortcuts arrangement and helps the user find the shortcuts easier.

What’s new inside Inbox module?

  • you can now download an email in .eml format:
  • in the sidebar, for each mailbox, a new dropdown component allows direct access to its settings:
  • 2 kinds of massive actions have been added:
    - empty the Trash mailbox:
Empty trash

- mark all the emails as read in a given mailbox:

What’s new on James side?

Thibaut joined the team as a security trainee. The specific purpose of his internship is to audit the security of the James Server, i.e. research vulnerabilities, take part into team work involving security (design of upcoming features, etc.), integrate tools/processes to improve James security, etc. Thibaut described how to install James from scratch with JSPF verification in an article. Currently, he’s testing tools for static analysis of Java code, that will hopefully be used in the future as part of the James continuous integration workflow.

Linagora is participating to the Hacktoberfest through the James team, a collaborative event organized by Github and DigitalOcean to promote Open Source contributions, and we are already merging some contributions! We especially thank Jasmin Patel, Omar Mujahid and Daniel Trebbien for their participation.

And last but not least, here are the new implemented features:

  • Search in attachments,
  • Download a message as an EML,
  • Web API for handling groups (mail aliases),
  • Sharing mailboxes. Here is the first step ;)
  • Collected contacts.

Since last newsletter, the main topic addressed within Admin module is Reindexing Elasticsearch with zero downtime: team used index alias to implement “smart” reindexing process. This allows the platform administrators to maintain Elasticsearch via Admin Center with zero downtime.

The Admin team has started implementing the Group module which is the beginning of emails groups and other interesting features. Currently, only domain administrators can access the Group module from which they can list, display and create new groups. Group update and members management features will be implemented in coming sprints.

Detail of a group & Creation of a new group

The Social team worked on redefining the private conversation by its members, therefore the teammates chose to redesign the existing model. The first step to achieve this redesign was to create a new MongoDB document which helps to store the subscribed private conversations for each user. Here are the goals of the refactoring:

  • the user will get the same private conversation with the last messages if he creates a new one with the same members,
  • the user will choose the displayed private conversations in the left bar, that means he can remove a private conversation by clicking on the cross,
  • when the user mentions one or more members that does not exist in the conversation, the bot will ask him to create another conversation with adding the new members,
  • if the user clicks on the suggestion message of the bot it will create/find the corresponding conversation that contains the same members.

In addition to this refactoring, the attachment viewer feature has been added to the Chat module. The feature was started by Thu Hiền, a trainee in Linagora Vietnam and is now being finished by Đăng Diên, a member of the Admin team. Currently, Chat module supports attachments which are images and videos and multiple attachments can be displayed as a gallery.

These last weeks have been very productive for the Calendar Team: recurrent event improvement, management of calendar duplication on fetch shared calendar, search event from shared calendar and last but not least: resources! Let’s discover all these features in video.

As a Conclusion

New research and development projects, new SaaS team, lots of features developed in our various awesome modules. As you can see a lot of things are happening within the OpenPaaS project! Keep in touch with us on Twitter, Facebook, GitHub and apply to Linagora job offers to be part of the adventure!

--

--