Page MenuHomePhorge

Roundcube Next Shell
Updated 3,043 Days AgoPublic

Version 3 of 10: You are viewing an older version of this document, as it appeared on Nov 3 2015, 4:34 PM.
WARNING: This is a wiki used as a scratch-book. The texts on this wiki are being worked on actively, and are considered to be drafts.

What is the Roundcube Shell?

The Roundcube Shell builds the basic environment for the Roundcube Next client. It's based on Ember.js and provides the following core functionality:

As an application:

  • Authentication UI
  • Top-level navigation between full-page apps
  • User settings page (for simple account tweaks, password changes, etc)

As an API:

  • Access to the data store via the JMAP library
  • UI Toolkit with reusable components
  • Routing system with hooks
  • Pub/sub system for inter-component communication

JMAP data store


UI Toolkit

When working with Ember, most widgets are contained within Components. Components which are expected to be repeatedly used within the various applications that Roundcube Next shall come with, ought to be provided as a reusable set by Roundcube Shell. This would range from simple things like buttons and labels to more complex components like list-views and editor toolbars.

Having all components in one place lets us keep them organized and allows for an easy way to customize the look of the entire application consistently, making it very smooth for designers and developers to work together. Every time a new reusable component is created, it should be added to a living styleguide. For realizing this, we shall use broccoli-livingstyleguide, which is designed for ember-cli backed toolchains.

Routing system


Pub/sub system


User Stories


Last Author
Last Edited
Nov 3 2015, 4:34 PM