[ 
https://jira.nuxeo.org/browse/NXP-5297?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anahide Tchertchian updated NXP-5297:
-------------------------------------

    Description: 
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...).

  was:
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)



> Define a content view service
> -----------------------------
>
>                 Key: NXP-5297
>                 URL: https://jira.nuxeo.org/browse/NXP-5297
>             Project: Nuxeo Enterprise Platform
>          Issue Type: Sub-task
>            Reporter: Anahide Tchertchian
>
> 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...).

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
https://jira.nuxeo.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        
_______________________________________________
ECM-tickets mailing list
[email protected]
http://lists.nuxeo.com/mailman/listinfo/ecm-tickets

Reply via email to