Abstract
The goal is to finalize the API and settle for naming and feature set. The documentation, both javadoc and otherwise also needs to be improved.
Design
We should finalize the API in terms of finding the right level of abstraction. The API should guide the app developer and not expose internals.
App Framework
The framework is a set of interfaces and abstract utility classes that assist by implementing typical behaviour.
These interfaces and classes are in magnolia-ui-framework.
The key interfaces are: App AppController AppContext SubAppContext.
The implementation AppController and the location handling are in magnolia-ui-admincentral in the not so appropriate package name info.magnolia.ui.admincentral.app.simple.
Action: Find a better package structure
Action: Clean upp AppContext and SubAppContext from methods used internally only.
Location handling
DefaultLocation is assumed everywhere, a sign that the interface is too generic making it largely irrelevant.
Apps should be able to use Location objects of their own to make it easier to navigate to a specific place. Instead of constructing a fragment string directly you should be able to use a class such as PagesLocation and pass to it the parameters necessary.
Action: Make the Location interface useful by pulling up from DefaultLocation.
Action: Escape location in URL.
Shell Apps
Q: Do we plan any improvements here?
--> No
Q: Should we move it out of the App Framework and into AdminCentral as its not intended to be extended?
--> Yes
Tasks
Documentation
UML diagrams