Warning: This page has not been updated in over over a year and may be outdated or deprecated.
legacy:vufind_1.x_developer_manual:supporting_a_new_metadata_format
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
other_than_marc [2010/02/05 18:10] – Updated driver interface link. demiankatz | legacy:vufind_1.x_developer_manual:supporting_a_new_metadata_format [2018/12/19 14:02] (current) – demiankatz | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Support for other record formats | + | ====== Support for New Record Formats |
- | ===== Problem ===== | + | // This outdated page has been deleted |
- | + | ||
- | VuFind currently is tightly bound to MARCish record formats. The standard indexer ([[http://code.google.com/ | + | |
- | + | ||
- | ===== Solutions ===== | + | |
- | + | ||
- | + | ||
- | ==== Indexer ==== | + | |
- | Indexing is not an integrated part of VuFind. For indexing MARCish records, [[http:// | + | |
- | + | ||
- | Writing a custom indexer for other record formats may be done in almost any programming language. Steps to be done: | + | |
- | * parse record format | + | |
- | * map format entities to Solr index fields | + | |
- | * create XMLish document out of these fields | + | |
- | * POST document to Solr's update handler (FYI: it doesn' | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ==== Record display ==== | + | |
- | Currently full record display in VuFind is done by pulling a MARC record out of Solr index field fullrecord. The content to display is then taken out of MARC fields (e.g. 245$a as title...). | + | |
- | + | ||
- | There has been [[http:// | + | |
- | + | ||
- | So the idea is: | + | |
- | + | ||
- | when indexing: | + | |
- | * index whatever you want by mapping it to the index schema | + | |
- | * put the original record into the " | + | |
- | * put an " | + | |
- | + | ||
- | when displaying: | + | |
- | * when a record is retrieved for display, look at recordtype | + | |
- | * call a class appropriate for handling that format | + | |
- | * that class may fetch the full record and render it | + | |
- | * if no special class for a record format exists, take a fallback generic class, that renders a view out of the stored Solr index fields | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ===== Implementation ===== | + | |
- | Currently services/ | + | |
- | + | ||
- | One way to implement handling of other record formats would be by implementing a new family of " | + | |
- | + | ||
- | General "data enrichment services" | + | |
- | + | ||
- | ==== Integration with Templates ==== | + | |
- | + | ||
- | The current view.tpl used by the Record module includes basic record details along with export options, clickable tabs and other framing details. | + | |
- | + | ||
- | For greater flexibility, | + | |
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | + | ||
- | ==== Driver API Specification ==== | + | |
- | + | ||
- | The interface that must be implemented by all Record Driver classes can be viewed in the [[https://vufind.svn.sourceforge.net/ | + | |
- | + | ||
- | Record Driver naming conventions: | + | |
- | + | ||
- | * Filename: web/ | + | |
- | * Default Filename (if no match was found for [record type]Record.php): | + | |
- | * Class name: same as the filename -- [record type]Record (i.e. MarcRecord, DefaultRecord, | + | |
- | * Config file: web/ | + | |
- | + | ||
- | ==== Notes ==== | + | |
- | + | ||
- | * The public record driver interface is intentionally very abstract -- we want to be able to support records of all kinds, and we don't want to make any assumptions about the structure of the records. | + | |
- | * In spite of the generic interface, it is often useful to have very structured methods (getTitle, getAuthor, etc.). | + | |
- | * A lot of discussion has been deleted to reduce clutter on the page now that our ideas seem to be taking firmer shape. | + | |
---- struct data ---- | ---- struct data ---- | ||
+ | properties.Page Owner : | ||
---- | ---- | ||
legacy/vufind_1.x_developer_manual/supporting_a_new_metadata_format.1265393443.txt.gz · Last modified: 2014/06/13 13:13 (external edit)