Recently, we released version 2.0 of our Case Management platform, edoras one. One of the most significant new features is the experimental support of DMN standard Decision Tables. Experimental, because this is the first release we’ve made them available, but they will soon become a meaningful part of many processes and cases. Decision Tables bring a business user friendly way of working with business rules. Looking like a spreadsheet, they allow complex conditions to be evaluated and conclusions to be determined. Instead of decision logic being hidden for users in code or expressions, Decision Tables make it very easy to both describe and understand the rules being evaluated. The use of Decision Tables will grow throughout many aspects of capturing a business problem, so it’s worth getting some experience with them: you’ll be able to get many benefits from them in future updates.
With edoras one 2.0, we finally bring a new public contract for our REST API. This builds on what we’ve learned with our internal REST APIs, giving everyone a simple, consistent, flexible and stable interface to the edoras one platform. The scope of the new REST API is too wide to go into detail here, but from creating a case and taking it through its full life-cycle, to making queries on all items that make up an edoras one solution, we have it well covered.
A significant change has been made to the configuration API. Up until now, we have used the traditional Spring XML method of configuring an edoras one system. With 2.0 we have moved to the more modern and flexible Spring Java method (with fall-back to XML if needed). This makes it much clearer as to what the supported configuration points are, as well as ensuring stability over releases, and included some new configuration properties, such as controlling CORS for security. We also took this opportunity to rationalize the configuration property names and groupings, again, to make life clearer and simpler for solution builders.
New Work Objects Java API
A new Public Java API for Work Objects is available for the first time. Apart from being formally supported, this API brings many enhancements to the previous internal APIs, including a unified value interface and stable set of serializable datatypes. Something we heard a lot from developers implementing solutions was that the previous typed IDs added a layer of complexity. In 2.0, these are all plain strings, making them much easier to work with. There are a few other simplifications to the APIs, including new Java time classes for timestamps, and a single interface for all Work Object types.
We have also simplified tenant handling, so the system now always runs as potentially multi-tenant, with the default of just one tenant. Previously, there was more work needed to configure the different tenant modes.
Front-end API improvements
The front-end API has also had some additions, once again driven by feedback from customers and projects. From new events and stable command sequences, to easier control over CSS styles, we’re trying to extend the flexibility of customizing the user interface. There’s also ways to control what elements of the UI are loaded, so if you’re embedding the edoras one UI in your own UI, you can control what is actually loaded based on your needs.
Form components redesign
Staying with the UI, we have completely updated the form components that provide select and autocomplete functionality. There are new components that are more configurable and consistent. Existing forms are automatically migrated to the new components.
Better E-Mail support
Working with mail is much easier now, with additional capabilities to switch mail models dynamically (for example, depending on some choice earlier in a process). There is also a new Email Service Task available for CMMN cases.
We’ve upgraded several key libraries as part of this release. We no longer use the Activiti libraries, but the much more powerful Flowable Core 6.1.2. Elasticsearch has also been upgraded to version 5. As Java 7 is no longer supported, we have switched to Java 8. Another key update is Spring, which is now 4.3.7. Naturally, there’s a whole set up library updates beyond these key ones, all of which are documented in the upgrade notes.
You will find more information about the release 2.0 in the documentation.