Improve ResultProvider API
--------------------------
Key: NXP-2847
URL: http://jira.nuxeo.org/browse/NXP-2847
Project: Nuxeo Enterprise Platform
Issue Type: User story
Reporter: Thierry Delprat
Assignee: Thierry Delprat
Priority: Major
Fix For: 5.2 M4
The Dev Story :
=========
As a developer from a SI that uses Nuxeo.
My Goal :
------------
I want to manipulate lists of DocumentModels inside Nuxeo framework.
I want to be able to define this list :
- by making a search query (QueryModel + QMFarm)
- writting a dedicated factory class (Farm)
Use cases include :
- display / select / paginate in datagrids in JSF
- display / select / paginate in datagrids in WebEngine
- java code direct access to a named list
- Rest access for GWT / Flex
Nice to have
- a cache/invalidation system
(at least for Seam/JSF environment)
- possibility to persist a list
- manage selection
- tree binding
My requirements :
-----------------------
I don't want to write a class to hande parameters handling and invalidation
code.
The caching system must be transparent.
What we have right know in NXP :
===================
QueryModels :
------------------
Execute parametric queries.
Make a query persistent (persist parameters in a DM).
DocumentListManager :
-------------------------------
Define named DocumentModelList with Add/Delete/Remove operation.
Assign named lists to a Seam scope.
Make list (resulting list of DocRef) persistent in a SQL (via Directory).
JSF UI to browse and do CRUD operation on them (ClipBoard).
ResultProviders :
---------------------
Provides
- API for a paginated list of DocumentModel
- Factory (Farm) model (Custom or QueryModel based)
- CacheSystem based on Seam
Design notes :
========
WebEngine :
----------------
Must be easy fetch a PageDocumentList.
Must provide an easy REST API (like listing a Virtual Folder).
GWT :
--------
We can probably find a killer datagrid to make a binding demo.
Flex (low priority):
-------
We should look at granite/tide to see if we can use it for integration.
Seam / JSF :
----------------
Each PagedDocumentProvider must be associated by config to a JSF scope
(Stateless, Event, Page, Conversation ....).
Provide tag to iterate over a named PagedDocumentProvider :
- handle cache lookup
- provide "clever" rendered evaluation (depending on JSF lifecycle state)
Make a doc / tutorial !
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://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