WOPI implementation in Elixir

We have begun adopting Elixir into our development stack here at Kolab Systems. We have two components written in Erlang already, but have bumped up to Elixir for a variety of reasons which I won’t bore anyone here with … as it probably won’t be anything new or interesting.

What is perhaps of greater interest is that we just completed our first Elixir project that will become a part of the Kolab groupware system (mail, contacts, calendaring, notes, todos, files, … … .): an implementation of WOPI (a web API that Microsoft published for Office 365 integration) for the purpose of integrating Collabora’s CloudSuite (libreoffice-on-the-server) with Kolab.

You can find the repository here: WOPI · wopi … and screenshots below :slight_smile:

It is still a WIP, but it does work … and rather nicely at that :smile:

It would be great to have more of the WOPI spec implemented (we have started with the parts of the API actually used by CloudSuite), and it would be nice to have the storage component made generic so it can be used more generally. It currently relies on another bit of software we wrote (some time ago, now) that provides a storage-agnostic API for file cloud access in Kolab. We are seriously considering rewriting that in Elixir in the next year, and merging that functionality with the WOPI implementation (which would give flexibility both on the back-end (storage) and front end (API) access …).

Anyways, just thought I’d share …

(… and we already have our next Elixir project lined up to start next week! Whee!)