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/01/12 18:41] – Moved interface spec into SVN. 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 used to be part of this page. Now that coding has begun in an SVN branch, you can see the file directly in the [[https:// | + | |
- | + | ||
- | 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.txt · Last modified: 2018/12/19 14:02 by demiankatz