OpenPaaS Newsletter 7 - September 2017

Laura Royet
Sep 21, 2017 · 10 min read
Image for post
Image for post

In September, OpenPaaS team has a lot of fresh news to share with you :)
On the menu: progress made within our OpenPaaS modules, OpenPaaS French Kick Off and last but not least 2 very good news: we have welcomed the team to the OpenPaaS project and we made a migration of all our working tools toward the open source platform. Let’s go :)


Image for post
Image for post

Welcome on board LinShare!

Becoming a solid software OpenPaaS needs to integrate a file-sharing system and at Linagora we do have such an application: ! This mature software shares with OpenPaaS a technological (, REST API, …) and functional base (User Interface). Moreover, Linagora wishes to launch soon a SaaS (Software as a Service) offer for OpenPaaS and LinShare. For all these reasons, Linagora decided it was the good time to make these two software work together, to the delight of both parties.

Let’s introduce you to LinShare ;)

Born in 2008, is an Open Source secure file sharing application developed and distributed by Linagora.

With a strong security constraint this platform allows file-sharing between the employees of a company and also with external correspondents. Since its beginning, many versions of the software have been released. Among them 1.0.0 and 2.0.0 versions.

1.0.0 version released in 2012 showcases the following main features:

  • the Shared folders, also known as “threads”, allowing files to be shared mainly among internal team members.
  • the File share link which enables users to share files with their external contacts via a download link.
  • the File request, also known as “upload request”, enabling LinShare users to invite external contacts to upload files;

2.0.0 released on 9 May 2017 has been entirely revamped: with a brand new responsive design to access files from any device and a user-friendly interface created with the latest technologies.

Image for post
Image for post
LinShare new version with its responsive design

Additionally, the 2.0.0 version provides the ability to create and manage directories in so called “workgroups” (aka shared folders)!

Today the members of the team are working on the SaaS offer and bug fixes.

LinShare team consists of 6 members - 5 people in France and 1 in Tunisia:

  • is the LinShare Product Owner and Team Leader. He also dedicates his time to the Java backend.
  • , Ismail and Sarra work on the AngularJS frontend.
  • Samia is on the SaaS part, she is currently working on automated and scalable deployment of Linshare product based on new technologies like and .
  • Marwan who works on the Outlook LinShare plug-in.
Image for post
Image for post
Image for post
Image for post
From left to right: Frédéric, Samia, Ismail, Sarra, Kévin (France) & Marwan (Tunisia)

Image for post
Image for post

Inbox team is working on deleting definitely all the emails contained in the trash mailbox. Besides, in Inbox module, 2 ergonomics improvements happened:

  • Distinction between read and unread emails : normal dark grey has been adopted for header of read emails whereas unread emails stay bold black.
Image for post
Image for post
Normal grey header for read emails versus bold black for unread ones
  • Area for selecting an email to do different actions on it has been
    widened on both sides of the avatar.
Image for post
Image for post
Widening of the selection area of ​​an email

Image for post
Image for post

During the summer James team dedicated time to implement a new data-model schema for its storage. In fact, as the team improves the code of James, the team also changes the way we want to store data: data-model has been rethought in order to enhance performance. This change also implied migrating the data we already had in production.

Java 8 migration and keywords were two other topics of this summer:

  • as Java 6 and Java 7 are not supported anymore by the team decided it was the good time to move to and thus to take advantage of its new features.
  • Keywords, previously named “flags”, is a notion making it possible to mark emails as “forwarded”, “answered” and simply “read” for instance. As the specification has been updated the team provided then the corresponding implementation. This specification update allows to be more compatible with IMAP specification and to handle more user defined flags.

JAMES is extensible
Discover through these 2 articles how we use James to implement advanced mail features!

New features in progress

Since its return from vacation the whole team is developing new features such as search in attachments, downloading message as EML, adding more security for attachments and also a web API for creating groups and aliases. October newsletter will allow you to learn more about this ;)


Image for post
Image for post

Just before summer holidays, the Calendar module UI aside has become more user-friendly :)

Image for post
Image for post
1- Mini- calendar fused into the aside, 2- Single new calendar button, 3- Clickable rounds to activate/desactivate the display of a calendar

And what’s new since late August?

Calendar team worked hard to ship new features this month: collected contacts, better alarms and better invitations.

Collected Contacts

First, we implemented a contact collector engine: at the heart of the platform, this new module will be used by others to save contacts in a dedicated address book. The first integration in the platform is to collect attendees in calendar events: if an attendee is not yet registered in any user’s address book, it will be collected and then available in the platform. Next integration will come in the James Mail server component: collect recipient of the emails the user sends.

Better Alarms

We reworked the way the module handles alarms (i.e. event reminders) and killed a lot of bugs: attendees are now inheriting from the event organizer alarms by default. We also worked on a more extensible and scalable system: we will soon be able to implement new ways to send alarms because email ones are not enough and can be better integrated in the platform.

Better Invitations

When a user creates an event and add attendees, invitations are sent by email. When an attendee accepts or declines the event, emails are also sent back to the organizer. This is still true, but once again, we reworked this part for better integration in the platform.


Social Team

Image for post
Image for post

The summary of a conversation has been implemented. This means that now, from the Chat module, by clicking on the “more options” button and selecting “show information”, a user is displaying a right aside containing the following information about the opened channel:

  • Title,
  • Details: topic, purpose, creator, date of creation,
  • Members: only the last 25 members who joined the channel,
  • Shared files which gather the last exchanged attachments .

Notes: to display all the members and the shared files a “show more…” link is present in the aside.

Sprint #10 showcases the summary of a conversation

Image for post
Image for post

Since July, Admin team completed various tasks:

  • They upgraded insecure Node.js dependencies, the most notable change is to catch up with the latest update from the template engine.
  • In Admin Center, the platform admin can modify a domain.
  • OpenPaaS provides OAuth workflow allowing external application to connect to OpenPaaS as a 3rd-party application. To do it you need to create an OAuth application from the Application submenu in Control Center and define the access you want to give to this application, thus restricting access to only the necessary OpenPaaS resources.
  • The UX of the users list in Admin Center has been improved.
Image for post
Image for post
Image for post
Image for post
UX of List Users: before/After

In addition, Admin team just achieved an awesome 9th sprint:

  • Keyboard shortcuts in OpenPaaS has been developed: first, hotkeys will be hard coded and thereafter the team will make it configurable so admins and users could change them.
  • Features flipping page which is a features page to allow flipping some features in OpenPaaS, i.e. flipping the Invitation, Password pages in Control Center.
Image for post
Image for post
Features flipping page
  • Ability to maintain Elasticsearch index via Admin Center: sometimes, we have problem with the search feature due to the incorrection of index configuration or missing of index data after a downtime duration. Right now, we support reconfiguring user index and reindexing user data. It is the latest feature added by Admin team in their last sprint.

Image for post
Image for post

A very active Vietnamese Team

In our we introduced you our awesome Vietnamese team working on Admin module, James and System Admin. Apart from their daily contributions to the OpenPaaS project, the Vietnamese team has just launched the animation of events showcasing Open Source technologies events we daily use.

  • Event#1 - Handling data at scale with Cassandra and ElasticSearch
    In this first session held in July, Quynh and Benoit exposed and as 2 technologies meeting the data at scale requirements: low latencies, terabytes of data to store and to query…
    Learn more on , on and watch our video:
  • Event#2 - End-to-end testing using Docker
    For this second event which took place in August, Sang explained that End-to-end testing is not a new concept but it is not adopted much due to implementation difficulties. Recently, the many tools that have emerged help us to adopt it more easily. In his talk, Sang shared the E2E testing infrastructure we built at in order to test Angular based application with the help of , and . Retrieve online the of this presentation.
  • - Discover a modular email server: James 3.0!
    On 21 September 2017 Quynh and Benoit will promote the 3.0 James release. They will present how James can change the way you think about email and unlock some powerful features.
  • Team went to , where Sang presented a talk about Extensible Node.js application in front of 300 people.
Image for post
Image for post
Sang at the Software Freedom Days

Image for post
Image for post

Image for post
Image for post
The entire OpenPaaS Kickoff team!

Every year we organize a French Kick Off, which is a French team building meeting of 2 days in Paris to share our ideas and vision for our OpenPaaS project and to define the target we want to reach for the future.

This year we focused our discussions on: the incoming release of the first version of OpenPaas, the type of delivery we’ll provide as well as the setting up of a knowledge and skills sharing organization within our teams.


Image for post
Image for post

Today we are pleased because we made a significant change in our choice of collaborative tools for our projects management: we migrated all our working tools in the open-source platform in order to match our open source philosophy.

First, among the different tools we were using there is the development tools. We decided to switch to GitLab and it started making all the difference. Just like Atlassian, GitLab includes Git repository management, issue tracking, code review, an Integrated Development Environment (IDE), activity streams, wikis, and more.

Secondly, we migrated our built-in Continuous Integration (CI) and Continuous Deployment (CD) from to GitLab. GitLab has a built-in CI and CD to test, build, and deploy our code. We can easily monitor the progress of our tests and build pipelines. What we love about the CI provided by GitLab is the fact that it supports . Indeed, GitLab allows us to use custom Docker images, spin up services as part of testing, build new Docker images and even run on .

The technical aspects of these two migrations are discussed in Kader’s articles published on !


As a Conclusion

For our awesome OpenPaaS, these last weeks have been very rich: LinShare team integration, migration of our working tools on the open source GitLab platform, implementions of new features in our modules, dynamic Vietnamese team showcases open source technologies events and last but not least a great French Kick Off from which we have withdrawn a lot of new prospects.


Keep in touch with OpenPaaS on , , .
Interested joining Linagora? Apply to .

Linagora Engineering

We are Open Source Engineers, Hacking Awesome Stuff

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store