Dear Allan,

On 01/03/2013 08:43 AM, Allan Oware wrote:
> I'm attempting to create a custom approval workflow which requires the 
> SBI action of a document type to insert a record into the database but
> should not index it (record shouldnt appear in collection).

The best way to achieve this is to have the record inserted into a 
restricted collection. In this way only the authorized users (for eg. 
admins/validators only) could search/view the record. This can be
done by modifying the metadata created for the record in the SBI 
workflow in order to be matched by such a restricted collection.

Another action (for eg. "APP") would then be granted to the validators 
in order to modify the collection metadata of the record (and match a 
public collection this time) such that the record would be "moved" 
automatically to the adequate public collection (after the record is 
indexed by BibIndex, and the collections refreshed by WebColl).
This step could also be used to assign a report number to the record,
and trigger any action that should only be done once the record is
approved.

> In practice, it's only after a validator "approves" the submission that 
> the record is indexed and appears in the collection.

It is not strictly necessary for a record to be indexed in order to be 
visible. It is why the above-described solution is preferred.

Also in a typical Invenio installation there is a periodical indexing 
task (BibIndex) that should be running in the scheduler (BibSched) to 
index any incoming record (otherwise the record will not be indexed: 
the line you have highlighted in bold in your email is only inserting 
the record, not indexing it). If you would not like records to be 
indexed automatically you would need to remove this periodical task, 
but also add a way to specifically index the records afterwards. 
Without going into the details, it might be easy to miss indexing some 
records in this way.

> This differs from the Demo Book submission(refereed) since it would be 
> helpful that a user can modify the record before it's
> approved and even the validator has to view the entire record contents 
> and then approve it.

There are indeed numerous advantages of having records with pending 
approval inserted, compared to the solution showcased in the Demo Book 
submission. You could for eg. share the records via Baskets, have 
validators discuss the relevance of the record, search/order them, etc.

One disadvantage is the possible cluttering of the DB and generation of 
of holes in the record ID ranges (and possibly report numbers ranges, 
depending on the settings of the submission workflow), especially if
the submission is open to anyone. 

Best regards
-- 
Jerome Caffaro ** CERN Document Server ** <http://cds.cern.ch/>

Reply via email to