Difference between revisions of "ESciDoc Cache"
Jump to navigation
Jump to search
m |
|||
Line 1: | Line 1: | ||
==Purpose== | ==Purpose== | ||
*Efficient delivery of list of resources generated based on a user query | *Efficient delivery of list of resources generated based on a user query and user privileges | ||
==Present use cases== | ==Present use cases== | ||
*filtering (methods retrieveItems, retrieveContainers) based on filter criteria | *filtering (methods retrieveItems, retrieveContainers) based on filter criteria |
Revision as of 10:33, 23 October 2009
Purpose[edit]
- Efficient delivery of list of resources generated based on a user query and user privileges
Present use cases[edit]
- filtering (methods retrieveItems, retrieveContainers) based on filter criteria
- filter criteria are further translated to a query expression
Basic list requirements[edit]
- list contains full escidoc-xml representation of resources (i.e. mixture of item or container accordingly to item.xsd, container.xsd)
- list contains only authorized resources i.e. the resources the user who requests the list is able to see
- total number of list entries must be known
Tools[edit]
Berkeley DB[edit]
- high performance
- high availability
- embedded into the application code (server-less)
- java api
- http://www.oracle.com/database/berkeley-db/index.html
- open source for open source projects
- check integration with Lucene for administrative searches additionally
Lucene[edit]
- separate index for all latest versions (instead of DBCache) (feasible)?
- for items: an item contain all attributes needed to cross-check the authorization
- instead of appending SQL to filter, would it be possible to append query to the user query that deals with auth data?
- is the problem how to actually derive this query?
- is this also valid for containers? (i.e. an item may be a member of several containers, but i think this has nothing to do)
If this would be possible, no additional cache would be needed?