hello world,
Years ago, i wrote MARC::Template (https://github.com/eiro/MARC-Template)
to ease the process of migrating data to koha ILS. We often use it at
biblibre (http://biblibre.com).
For a MARC to MARC migration, just making some manipulations CRUD manipulations
on fields, cleaning some data, moving some fields, API is an awfull waste of
time:
learn to manipulate perl structures is much more efficient imho.
For a more complex migration mixing data coming from multiple datasources and
multiple formats, or even to write some migration from MARC to a modern
biblio format, we're convinced that the job can be done better and faster
by adding a level of abstraction over MARC. What i mean about abstraction is
that the business programmer, as well as the librarian, don't carre about the
999$x field: he carres about authors, titles, year of edition ... That
can be partially done by a YAML driven Moose metaprogramming.
Actually: i personnally think that is would be possible to write a complete GUI
driven ETL able to deal with MARC.
At the very end of the process, we transform everything as MARC::Record
to use the MARC::Record serialization but the Frederic's lib can be a
good output for our libs. So is there a chance to specify a library
agnostic datastructure as a bridge for all your libs, a kind of PSGI for
MARC so everyone could import and export to this format so we can easily
mix all of them ?
simple proposition is:
[ [qw/ 001 value /] # example of control field
, [qw/ 005 value /] # example of control field
, [ [qw/ 200 0 1 /] # example of data field
, [ [qw/ a foo /]
, [qw/ b bar /]
, [qw/ a foo2 /]
, [qw/ b bar2 /]
]
]
, [ [qw/ 200 0 1 /] # example of data field
, [ [qw/ a foo /]
, [qw/ b bar /]
, [qw/ a foo2 /]
, [qw/ b bar2 /]
]
]
]
regards,
--
Marc Chantreux
BibLibre, expert en logiciels libres pour l'info-doc
http://biblibre.com