Dear Ferran, Alexander,

I will try to explain you how Invenio is evolving and let's see if my 
understanding is correct, and if this will satisfy your MARC needs (Tibor, 
Esteban, please correct me anytime I am wrong).

Invenio master uses the MARC structure as a master container for its record 
representation. I am talking about container because, in the end that's how 
Invenio sees MARC: a simple way to arrange metadata as fields and subfields. 
What is the semantic of each of these fields? It's given by the constraint of 
these fields, by how you build indexes to search over them and how you can 
represent them when exporting them (e.g. in HTML or in other metadata 
formats). That's it. Unfortunately, due to how Invenio evolved so far, several 
semantic aspects of MARC have been hardcoded into Invenio source code, and 
sometimes, it was hardcoded some CERN convention (making Ferran desperate with 
us :-) ), rather than MARC21 standard. So in the source code (and not just in 
the configuration) you can find special treatment of 100/700, of 773 etc.

How Invenio is evolving? Well, we recognized MARC is not the only standard, 
and that we felt restricted by its tabular structure of fields and subfields.  
(how can you map the variety of METS into MARC? How do you map UNIMARC?). 
Invenio is growing to gain a new degree of freedom: it is now possible to 
store something different than MARC as its master format. And MARC? Well you 
can still store it of course! And in the way Invenio is being redesigned I 
believe Alexander and Ferran will be happier because there will be less and 
less hardcoded CERN conventions in the code, and rather it will be possible  
to express all the specificities of MARC21 semantic in the configuration.

How this is going to be possible? Simply by setting up properly the Bibfield 
configuration in the most suitable way (it's up to you: if you want to express 
a large part of MARC21 this is going to be allowed), and reusing this 
configuration in the search part and in the presentation part (thanks to 
Jinja2 templates that will let you address any field).

As a matter of principles, nothing will prevent you from being able to specify 
in the BibField configuration plain MARC21 (without expressing any further 
oriented-meaning such as "author", "title", etc.: you will be able to just 
say, e.g.: there is a field "100%%" that maps to "100%%". And then you leave 
the semantic to just how these fields are going to be represented in Jinja2 
templates.

Additionally, if you have as input MARC21, you will be able to store it as 
master format in the ingestion store as such. Then this will be mapped with 
BibField, solely for the purpose of searching and presenting it. For export 
you will be able to re-export exactly what you had as input.

You want to let catalogers modify your input? Then you specify through 
BibField everything that you want to handle. The beauty of it is that you will 
be able to code MARC21 into Invenio for real, if you wish.

Take a look at:
<https://github.com/inveniosoftware/invenio-demosite/blob/pu/invenio_demosite/recordext/fields/atlantis.cfg>

this is the default BibField configuration of "Atlantis Demo Site". Note: this 
is not the default of Invenio, just Atlantis. And in Invenio core? Well no 
configuration is enforced there. It's up to you. You can start off Atlantis 
configuration and encode the whole MARC21 (or the part of MARC21 that you 
need), and Invenio will speak MARC21.

Or for those handling new documents, you can code there another format and 
Invenio will speak the other format.

In BibField one can even go further and decide to support both MARC21 and 
other formats and normalize these into an abstract format. It's possible.

The important thing is then how you give semantic: through indexing 
configuration (possibly delegated to ElasticSearch) and to the presentation 
layer (implemented in Jinja2 templates).

In fact, by finally restructuring Invenio and separating the engines from the 
configuration that gives semantic to things we are now able, in principle, to 
support MARC21 for real. Since CERN/INSPIRE/ADS don't really need to support 
it fully, we need your help as MARC21 power user, in order to support it at a 
larger extent. We already received contribution for UNIMARC:

<http://invenio-software.org/repo/personal/invenio-egarciag/commit/?h=0000-bibfield-unimarc-basic-support&id=ebe061c49860c1064b089fad1deaeed78cd3343a>

(just an outdated example).

and other formats. And other Invenio users are interested into the native 
support for other non-MARC formats.

Invenio is evolving into a framework, where you will be able to compose the 
digital library that best suits your need. The old, native behavior of Invenio 
(i.e. MARC-more-or-less-21) is just our starting point.

Hope this helps clarifying :-)

Cheers!
        Sam
-- 
Samuele Kaplun
Invenio Developer ** <http://invenio-software.org/>
INSPIRE Service Manager ** <http://inspirehep.net/>

Reply via email to