Eclipse Dirigible™ 2.1 Release Review

Type
Release
State
Successful
End Date of the Review Period

Reviews run for a minimum of one week. The outcome of the review is decided on this date. This is the last day to make comments or ask questions about this review.

Release

2.1

Description

The first release after contribution to Eclipse by SAP. Includes major features for:

  • Database management
    • Database Viewer
    • SQL Console
    • Table View
    • Data Import/Export
  • Workspace management
    • Project Creation Wizard
    • Import Sample (Zip/Git)
    • Project Import/Export
    • Data structures modeling
    • Scripting services templates - CRUD JavaScript, Java, Command
    • Intergation services templates - flows and jobs
    • User interface templates - HTML5, Bootstrap and AngularJS for CRUD services
    • Extension Points and Extensions definitions
    • Security constraints definitions
    • Terminal - shell commands execution
  • Editing
    • Orion 9 embedded editor
    • JavaScript support with Tern code analysis
    • Injected API code-completion support
    • Basic WYSIWYG HTML5 form editor
    • HTML/CSS source editing
  • Engines
    • JavaScript (embedded Rhino)
    • Java (in-memory compilation)
    • Command (external shell processes)
    • Flow (built-in workflow engine)
    • Job (embedded Quartz)
    • Wiki (various markup languages by Mylyn)
    • Web (underlying web container)
    • Extensions engine
  • Registry
    • Browse raw content and services
    • Monitoring cockpit
    • Transport cockpit (public content, clone, project import)
    • Sandboxing support
API Certification

The project leadership certifies that the APIs in this release are "Eclipse Quality".

Architectural Issues

There are three major pillars of Dirigible as of now - Repository, IDE and Runtime(Engines).

The Repository mainly plays role of a central content management component. All the artefacts created via IDE and executed by the Runitme engines are kept in the Repository. This makes also the transportation, clonning, and initial setup of an instance simple and straight forward.

IDE part is de-facto Eclipse in a browser by utilizing RAP framework. It leverages all the good practices exisitng in desktop Eclipse and bring them to the Cloud. All the know-how in Eclipse plugin development can be utilized right-away. There is an option to run IDE part also in RCP mode to re-use the available desktop tools still not available in RAP mode (e.g. JDT)

Runtime is a collection of executing engines. As of now built-in engines are Rhino for JavaScript, JDK's in-memory compilation for Java, Shell commands as external processes, Flows and Jobs by home-grown engine (Camel used formerly), Mylyn for Wiki markup transformations and underlying web container for serving the static web content and client site scripts. Ruby, Groovy and Python support are excluded as of now due to not solved IP issues.

The target development model is so-called in-system programming. It leads to very short development turn-around time, which is recognized as the major programmer's requirement nowadays.

 

Security Issues

All components of Dirigible rely on the underlying web container capabilities related to security.

Non-Code Aspects

The user documentation available at: http://help.dirigible.io

The samples and templates at: http://samples.dirigible.io

The list of news and blogs at: http://www.dirigible.io

Usability Details

The IDE part follows standard Eclipse user interface guidelines by utilizing RAP framework.

End of Life

There are no end of life issues to report for this release.

Standards

Standard API used for IDE plugin development  is de-facto Eclipse desktop standard - based on SWT, JFace and OSGi.

For Java and JavaScript support used standard reference implementations of the corresponding languages.

For user interface - HTML5 and CSS3 are the target as well as the related de-facto standard frameworks built on top e.g. jQuery, Bootstrap, AngularJS.

Communities

Dirigible starts gaining traction as publicly available open-source project. Along with the internal usage and support within SAP, it become known and used at high-schools and universities for their trainings and diplomas thesis.

First anoncement of the project as part of the Eclipse family was at EclipseCon NA 2015 during the joined tutorial of ECD projects along with Orion, Che and Flux.