Hi Benoit!

In data mercoledì 5 maggio 2010 16:53:36, Benoit Thiell ha scritto:
> We also store the bibcode in 970__a. The function
> invenio.search_engine.get_mysql_recid_from_aleph_sysno allows to
> retrieve the recid based on what is stored in that field. If the config
> variable CFG_WEBSEARCH_USE_ALEPH_SYSNOS is set to True, then it is
> possible to have URLs such as http://adsate/record/bibcode instead of
> http://adsate/record/recid.
> 
> What we would like to have is to be able to have the URLs working with
> each identifier and not only the bibcode. 

For this you actually need to customize:

<WebInterfaceSearchInterfacePages._lookup in websearch_webinterface.py>

In the near future to add support for kind of semantic URL (e.g. 
http://cdsweb.cern.ch/record/123-Title-of-the-record) which touches the same 
lines of code, we can as well introduce your request at the same time (unless 
you are quicker in already sending the patch to Tibor :-D ). 

Though what you ask might bring some issue in case a valid recid happens to 
have the same sequence of character of another identifier of another document. 
I guess some precedence must be enforced. (although already today, if two 
records have the same aleph sysno, only the "first" will be returned if 
referenced using the above URL).

> We would also like bibupload
> to match on any identifier as it does today. Do we then have to
> duplicate all the identifiers in the MARC in both 037 and 970?

Well actually BibUpload is recid-centered so if your incoming MARCXML has the 
001 recid tag that it will have precedence. Otherwise it will subsequently 
check for (see bibupload.retrieve_rec_id) for:

* the external sysno (CFG_BIBUPLOAD_EXTERNAL_SYSNO_TAG), 
* the external oaiid (CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG) (which infact does not 
need to be OAI compliant at all)
* the internal oaiid (CFG_OAI_ID_FIELD)

There has been a recent bugfix in master for having a correct provenance check 
being performed for the CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG. This is because you 
can actually put in CFG_BIBUPLOAD_EXTERNAL_OAIID_TAG several identifiers, 
while distinguishing them using CFG_BIBUPLOAD_EXTERNAL_OAIID_PROVENANCE_TAG.

<http://cdsware.cern.ch/repo/?p=cds-
invenio.git;a=commitdiff;h=edf4d08e97b99ca480c8d0bb851867ef1f58a338>

See also the regression tests in:
bibupload_regression_test.BibUploadRecordsWithEXTOAIIDTest

Cheers!
        Sam


-- 
Samuele Kaplun ** CERN Document Server ** <http://cds.cern.ch/>

Reply via email to