Re: [greenstone-users] Using customized DTD for import, user access levels

From Michael Dewsnip
DateWed, 26 Jan 2005 11:40:38 +1300
Subject Re: [greenstone-users] Using customized DTD for import, user access levels
In-Reply-To (41F616C2-1040304-univie-ac-at)
Hi Birgit,

>> What changes do you need to make to the metadata.xml format?
>>
>
> This is what one record in my metadata.xml currently looks like:
>
> <FileSet>
> <FileName>Poussin_L_1906_1730.PDF</FileName>
> <Description>
> <Metadata name="Type" >Journal article</Metadata>
> <Metadata name="Author" >de La Vallee Poussin, Luis#</Metadata>
> <Metadata name="AuthorJapanese"></Metadata>
> <Metadata name="ArticleTitle">Bodhicaryāvatāra</Metadata>
> <Metadata name="Journal">Revue d&apos;histoire et de litterature
> religieuses</Metadata>
> <Metadata name="Volume">tome XI</Metadata>
> <Metadata name="Pages">59-117</Metadata>
> <Metadata name="Year">1906</Metadata>
> <Metadata name="Place"></Metadata>
> <Metadata name="Publisher"></Metadata>
> </Description>
> </FileSet>
>
> As you can see, the kind of fields I need to add are all
> bibliography-related. There are a few more for different publication
> types, but this example should suffice to give you a general idea.

This is definitely possible with the current GLI: you can design your
own metadata sets to include whatever fields you like. Greenstone v2.52
includes the Greenstone Editor for Metadata Sets (GEMS) for creating
your own metadata sets. For more information on GEMS and metadata sets
in general, see the "Metadata Sets" element in the Design pane of the GLI.

>> Yes, this functionality is available in Greenstone. One of the
>> documented example collections, the "authentication and formatting
>> demo" (http://www.nzdl.org/cgi-bin/library?a=p&p=about&c=authen-e)
>> describes how this works.
>
>
> Thank you. It's not quite what I was looking for, for non-authorised
> users still get the document information displayed in search results,
> even though they are then prompted for a password upon accessing the
> document. Ideally, I'd like to be able to *completely* hide non-public
> documents from non-authorised users. But if that's not possible, I can
> live with the way the demo works, too.

I'm sure it's possible to hide the non-public documents from the query
results for non-authorised users, but it will involve editing the C++
receptionist code (start in src/recpt/queryaction.cpp). You'll have to
be careful where you remove the non-public documents so you don't mess
up the "next/previous query results" etc.

A simpler option is to just have two collections: one containing
everything (and "authenticate collection"), and the other containing
just the public documents (and no authentication).

> I now rebuilt my collection, adding the following options to collect.cfg:
>
> authenticate document
> auth_group istb_users
> public_documents HASH010096b4c15403ca9ebfeebf
>
> I rebuilt the collection twice, with -removeold, but it doesn't seem
> to work: all documents are still accessible. With "authenticate
> collection", however, authentication works.
> Does authentication on a per-document basis require setting any
> further options in a particular way (like "public false", perhaps?)

No, this is all you need. Check that you have created a user in the
"istb_users" group and the HASH value you specified is correct.

Regards,

Michael