-
Type: Sub-task
-
Status: Resolved
-
Priority: Minor
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 5.4
-
Component/s: Seam / JSF UI, Web Common
As other notions already exist, there should be a service to manage content
view registration.
1. Content view descriptor:
<contentView name="document_children" category="default">
<resultProvider>CURRENT_DOC_CHILDREN"</resultProvider>
<selectionList>CURRENT_SELECTION</selectionList>
<pagination>numbered</pagination>
<availableActions category="CURRENT_SELECTION_LIST" />
<searchLayout="search_layout" />
<resultLayout="document_listing" />
</contentView>
<contentView name="document_listing_compact_2_columns" category="default">
<resultProvider>CURRENT_DOC_CHILDREN"</resultProvider>
<selectionList>CURRENT_SELECTION</selectionList>
<pagination>simple</pagination>
<availableActions category="CURRENT_SELECTION_LIST" />
<searchLayout="search_layout" />
<resultLayout="document_listing_compact_2_columns" />
</contentView>
<contentView name="document_trash_listing" category="trash">
<resultProvider>CURRENT_DOC_DELETED_CHILDREN</resultProvider>
<selectionList>CURRENT_SELECTION_TRASH</selectionList>
<pagination>simple</pagination>
<availableAtions category="CURRENT_SELECTION_TRASH_LIST" />
<resultLayout="document_listing" />
</contentView>
<type id="Workspace">
<label>Workspace</label>
<icon>/icons/workspace.gif</icon>
...
<layouts mode="listing">
<layout>document_listing</layout>
<layout>document_listing_compact_2_columns</layout>
<layout>document_listing_icon_2_columns</layout>
</layouts>
<contentViews>
<contentView>document_listing</contentView>
<contentView>document_listing_compact_2_columns</contentView>
<contentView>document_trash_listing</contentView>
</contentViews>
</type>
The result provider configuration implies a query model configuration behind
it, with an attached document model so that it can be stateless and
persisted. See chapter for result providers for more details about things to
improve.
The selection list makes it possible to define in which document list the
selection will be kept. It may imply document list configuration (to define
persistence of the list for instance).
The pagination is just here for convenience and would accept 2 values:
"simple" (first, prev, next, last), and "numbered" (page 1, 2... 28).
The result actions category is used to generate buttons in the page.
Need also to set "max" notions on content view (max number of results
+ max number of pages) so that we can change it dynamically.
2. ContentView API
getters/setters for all descritor configuration
3. service API (ContentViewService)
ContentView getContentView(String name)
4. compatibility with current code and templates
For now the "content view" notion can be applied, in Nuxeo DM, to:
- folderish document content
- search form + results (although we have to take care of the csv export)
- virtual navigation
For search and virtual navigation, it is just a matter of updating the xhtml
files performing the rendering.
For folderish document content, the configuration is done at the document
type level, because listing layouts are defined on it (layouts defined in
the mode "listing") => if some content views are present on the document
type definition, let's use it, and if not, let's use the layouts defined in
the mode "listing".
=> on workspace, select content views defined on the type and filter
on the category to get different kinds of lists of content views
available in a given context (document content, document trash
content, etc...).