This page was moved to https://cwiki.apache.org/confluence/display/CAUSEWAY/Roadmap to Version 2
Click in the link above if you are not automatically redirected in 10 seconds.


You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 2 Next »

This is a summary of features we do have in mind.

Getting ready for Java 11

For now we want Isis 2.x releases to run on JRE 8, but we need to be prepared for the coming long-term-support release of Java 11. We are keeping an eye on experimental builds utilizing the Java module path, while at the same time further try to get rid of 3rd party libraries.

We've started to remove use of guava and began to utilize the Java 8 Stream API. ISIS-1277 - Getting issue details... STATUS is to track work for moving up to Java 11.

Extending persistence layer support

Current version does support JDO on top of DataNucleus (DN). We are considering to also support JPA. Supporting JPA on top of DN as a first initial step should be quite easy, and the first thing to be tackled. Decoupling the framework from DN in order to support Spring Boot is another thing.

Jakarta EE

With version 2.0.0-M1 we enabled the framework to run on JEE platforms. Currently missing is proper documentation on best practices and how to setup your IDE. Though not specific to JEE but related, we also need to push the technique of skinny-war deployment.

Deprecate web.xml deployment descriptors

Since the Servlet 3.0 standard deployment descriptors can be replaced with an alternative solution utilizing annotations.

Improve the metamodel cache management and speed-up bootstrapping

The cache management we have with ObjectAdapter, might be simplified such that we just work with java.lang.Object so far as possible. We would have a "disposable" ObjectAdapter that we instantiate around an Object whenever we need it - to access into the metamodel - and then throw it away after. Or perhaps eventually we might not need ObjectAdapter at all, just simply use #getClass() to look up the ObjectSpecification.

It might also be useful to be able to serialize the metamodel into some sort of flat file, eg XML. One reason for doing this is as a safety net - to allow refactorings of the metamodel building and check that the output is still the same. A serialized metamodel might also be useful for tooling/static analysis.

UI enhancement: support for more complex dialogs

* Background info on [Supporting-Methods](https://github.com/andi-huber/isis-2-roadmap/wiki/Supporting-Methods)  
* Design proposal for [Delegates](https://github.com/andi-huber/isis-2-roadmap/wiki/Delegates)

UI enhancement: allow actions to be invoked for rows on a table

We envisage an additional column which provides "common" actions as a drop-down that can be invoked against the row instance without having to navigate into the object first. A simple modal dialog could suffice.

UI enhancement: allow to "peek" at domain objects

Another idea of saving the user from having to navigate away, is to somehow let the user "peek" at the main details of a domain object. This could be within a fieldset, or it could be in a row of a table. Perhaps this is enabled by the presence of supplementary xxx.layout.xml, eg Customer.row.xml or Customer.peek.xml which identify the properties to be rendered.

UI enhancement: "tab per item" for small collections

For small collections of domain objects, these could be presented as "tab per item" with full details, rather than "row per item" as with current tables.

UI enhancement: allow for entering grids of data

This is typically for bulk entry of data which is then validated all together.


  • No labels