Naming and organisation

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

All presenters must have start methods that return their view. They can take any number and types of arguments.

Sub apps are presenters and don't have to delegate everything to a child presenter.
Q: Do the sub apps have enough responsibility already? If so this separation actually makes sense.
A: We stick to having separate presenters to have a separation of responsibility. 

 

Browser sub app

The browser is a workbench and an actionbar. Previously known as WorkbenchSubApp and containing a ContentWorkbench.

Classes related to the browser sub app should live in package info.magnolia.ui.contentapp.browser

BeforeAfter
info.magnolia.ui.contentapp.workbench.ContentWorkbenchPresenterinfo.magnolia.ui.contentapp.browser.BrowserPresenter
info.magnolia.ui.contentapp.workbench.ContentWorkbenchViewinfo.magnolia.ui.contentapp.browser.BrowserView
info.magnolia.ui.contentapp.workbench.ContentWorkbenchViewImplinfo.magnolia.ui.contentapp.browser.BrowserViewImpl
info.magnolia.ui.contentapp.location.ContentLocationinfo.magnolia.ui.contentapp.browser.BrowserLocation
info.magnolia.ui.contentapp.ContentSubAppDescriptorinfo.magnolia.ui.contentapp.browser.BrowserSubAppDescriptor
info.magnolia.ui.contentapp.ConfiguredContentSubAppDescriptorinfo.magnolia.ui.contentapp.browser.ConfiguredBrowserSubAppDescriptor
info.magnolia.ui.contentapp.ContentSubAppinfo.magnolia.ui.contentapp.browser.BrowserSubApp

All sub apps named main or workbench that are browser sub apps should be renamed to browser, this includes their configuration nodes.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

 

Detail sub app

The detail sub app is the previous item sub app.

Classes related to the browser sub app should live in package info.magnolia.ui.contentapp.detail

BeforeAfter
info.magnolia.ui.contentapp.location.ItemLocationinfo.magnolia.ui.contentapp.detail.DetailLocation
info.magnolia.ui.contentapp.workbench.ItemWorkbenchPresenterinfo.magnolia.ui.contentapp.detail.DetailEditorPresenter
info.magnolia.ui.contentapp.workbench.ItemWorkbenchViewinfo.magnolia.ui.contentapp.detail.DetailEditorView
info.magnolia.ui.contentapp.workbench.ItemWorkbenchViewImplinfo.magnolia.ui.contentapp.detail.DetailEditorViewImpl
info.magnolia.ui.contentapp.ItemSubAppDescriptorinfo.magnolia.ui.contentapp.detail.DetailSubAppDescriptor
info.magnolia.ui.contentapp.ConfiguredItemSubAppDescriptorinfo.magnolia.ui.contentapp.detail.ConfiguredDetailSubAppDescriptor
info.magnolia.ui.contentapp.ItemSubAppinfo.magnolia.ui.contentapp.detail.DetailSubApp
info.magnolia.ui.contentapp.item.ItemPresenterinfo.magnolia.ui.contentapp.detail.DetailPresenter
info.magnolia.ui.contentapp.item.ItemViewinfo.magnolia.ui.contentapp.detail.DetailView
info.magnolia.ui.contentapp.item.ItemViewImplinfo.magnolia.ui.contentapp.detail.DetailViewImpl
info.magnolia.ui.contentapp.item.action.*info.magnolia.ui.contentapp.detail.action.*

All sub apps named item or editor that are detail sub apps should be renamed to detail, this includes their configuration nodes.

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

The intention going forward is to have view/preview of an item being a rendered representation of the item. Possibly using a freemarker template. This is out of scope for this concept.

Q: Does detail sub app need to have configurable views like workbench does?
A: We don't invest in this now. We leave it until we have properly defined how to present items in view mode.

 

Actions

Add support for configuring action availability (hide, disable) based on node type and/or role.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.

 

Workbench

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Extract WorkbenchPresenter and WorkbenchView from the content app framework and place them in workbench module.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Views in workbench (ContentView) should be configurable
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Metadata column is not needed and should be removed.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

ContentViews should have dedicated presenters.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Rename displayInDialog to displayInChooseDialog
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Q: What is a better name for ContentView?
A: We stick with ContentView.

 

New features and improvements

Simplify its use by losing the need to implement WorkbenchSubAppView in every content sub app and change its name to not contain the word workbench.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Setting theme should be done with a property in the app descriptor. No longer with an annotation. The annotation should be removed.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Views should not extend vaadin interfaces, see ContentWorkbenchView.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

SubAppDescriptor should not have configuration of actions, actionbar and image provider. These should be on content sub app descriptors.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Configuration by code

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Add support for passing arbitrary config objects to @App and @Dialog methods. For instance DAM module should be able to install support for passing a DamConfig. Possibly simply using IoC and taking objects by type from the ComponentProvider.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Methods annotated with @App and @Dialog should always return a definition or descriptor instead of being passes a builder.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Add support for configuring actions on content sub apps for the basic actions.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

Add method on builder for adding everything related to supporting folders. I.e. app.supportFolders(). Should build the definition not set a property in the definition.
Unable to locate Jira server for this macro. It may be due to Application Link configuration.  

 

 

 

  • No labels