#711: System Collections
-------------------------+------------------
Reporter: skaplun | Owner:
Type: enhancement | Status: new
Priority: minor | Milestone: v1.1
Component: WebSearch | Version:
Keywords: |
-------------------------+------------------
For general repository health monitoring purposes or also to re-factor
certain computational intensive algorithm that are spread-around the
Invenio codebase by pre-computing special collections it would be great to
enhance {{{WebColl}}} and in general the {{{WebSearch}}} module to support
a new type of collection called '''System Collections'''. These
collections would be as normal collections in everything but their
definition which can't be expressed by a normal query and must be
therefore directly be specified in the code base. These System Collections
are:
Empty Records::
containing all the records that have an ID but nothing else (i.e. no
XM)
Deleted Records::
containing all the records that have '''DELETED''' in {{{980__%}}}
(which is the convention in Invenio to marc a record as deleted.
Restricted Records::
containing all the records that belong to at least one restricted
collection (this would greatly speed up the runtime computation for
checking authorizations)
Classified Records::
containing all the records that belong to at least one real collection
(if a record does not belong to such collection will surely not be
available to anyone but its owner or superadmin)
Unclassified Records::
this is the counterpart of Classified Records, and will contain all the
records that do not belong to at least a collection and are therefore
accessible only to their owners or to superadmin
Existing Records::
this is the union of the Classified and Unclassified Records
collections
Public Records::
this will be sort of an alias to the Home collection as it will contain
all the records that are searchable from the home and are a priory
discoverable by a crawler.
Note that a new record will initially not belong to any of the above
collections (as webcoll will still need to be run). Subsequently, after
webcoll will have classified it, it will either belong to the
'''Classified Records''' collection or to the '''Unclassified Records'''
collection
----
In order to make this collection safe, they will be actually called with
an umprobable name such as "''System Collection -- Emtpy Records''" and be
treated in special ways both by WebColl and by the WebSearch Admin
Interface (e.g. it should not be possible to ''delete'' such a collection
and if an admin attach these collections as real child of real
collections, webcoll must ignore them in the computation of the real
collection.)
----
{{{tabcreate.sql}}} can come with a default configuration where there is a
non attached '''System Collection''' with all of the above collections
attached as virtual collections.
--
Ticket URL: <http://invenio-software.org/ticket/711>
Invenio <http://invenio-software.org>