Both sides previous revisionPrevious revisionNext revision | Previous revision |
dev:exposing_metadata [2011/11/15 00:47] – [Using an Open Standard for Exposing Metadata] ajlyon | dev:exposing_metadata [2024/02/24 01:59] (current) – [Exposing Your Metadata] dstillman |
---|
====== Exposing Your Metadata ====== | ====== Exposing Your Metadata ====== |
| |
Whether you are a publisher of a scientific journal, operate a news site, or are a blogger, Zotero users will be eternally grateful if you expose bibliographic metadata on your website. | Do you operate a website containing resources people might want to save to their Zotero libraries? |
| |
In your decision to expose metadata, it is important to identify the object of interest: this can be the webpage itself (e.g. a page on a newspaper's website showing a article), or the resources described on the webpage (e.g. a page of a library catalog showing bibliographic records). | Zotero has over 700 [[:translators|translators]] that allow it to save high-quality bibliographic metadata from across the web, but the best translator is no translator at all: by exposing metadata on your site in a format that Zotero already understands, you can ensure that Zotero users can always save accurate bibliographic information and correctly cite the materials on your site. |
| |
| When exposing metadata, it's important to identify the object of interest: this can be the webpage itself (e.g., a page on a newspaper's website showing a article) or the resources described on the webpage (e.g., a page of a library catalog showing bibliographic records). |
| |
===== Zotero-Ready Web Applications ===== | ===== Zotero-Ready Web Applications ===== |
| |
The easiest way to expose bibliographic metadata is to use a web application that comes with this feature, or offers it through a plugin or minimal configuration. Examples are the content management systems [[http://wordpress.org/|WordPress]] (together with a [[/support/plugins#wordpress|WordPress metadata plugin]]) and [[http://www.omeka.org|Omeka]], and the web-based bibliographic managers [[http://www.refbase.net|refbase]] and [[http://www.alari.ch/people/derino/Software/Bebop/index.php|Bebop BibTeX publisher]]. | The easiest way to expose bibliographic metadata is to use a web application that comes with this feature, or offers it through a plugin or minimal configuration. Examples are the content management systems [[http://wordpress.org/|WordPress]] (together with a [[/support/plugins#wordpress|WordPress metadata plugin]]) and [[http://www.omeka.org|Omeka]], and the web-based bibliographic managers [[http://www.refbase.net|refbase]] and [[http://people.alari.ch/derino/Software/Bebop/|Bebop BibTeX publisher]]. |
| |
Zotero-compatible OPAC (Online Public Access Catalog) software packages for libraries, archives, and museums include: | Zotero-compatible OPAC (Online Public Access Catalog) software packages for libraries, archives, and museums include: |
| |
* Aleph | * [[https://exlibrisgroup.com/products/aleph-integrated-library-system/|Aleph]] |
* BiblioCommons | * [[https://www.bibliocommons.com/|BiblioCommons]] |
* DRA | * [[https://www.sirsidynix.com/|Dynix]] |
* Dynix | * [[https://www.iii.com/products/encore/|Innovative Encore]] |
* [[http://open-ils.org/|Evergreen]] | * [[https://evergreen-ils.org/|Evergreen]] |
* GEAC | * [[https://koha.org/|Koha]] |
* InnoPAC | * [[https://exlibrisgroup.com/products/primo-discovery-service/|Primo]] |
* [[http://www.koha.org/|Koha]] | * OCLC-PICA |
* SIRSI | * [[https://www.sirsidynix.com/symphony/|SIRSI/Symphony/eLibrary]] |
* TLC/YouSeeMore | * [[https://tlcdelivers.com/|TLC/YouSeeMore]] |
* Voyager (WebVoyage) | * [[https://exlibrisgroup.com/products/voyager-integrated-library-system/|Voyager]] (WebVoyage) |
* VTLS | |
| |
| These OPACs are used by tens of thousands of libraries around the world; SIRSI alone is used by [[http://www.librarytechnology.org/libraries.pl?ILS=Unicorn|almost 7000 libraries]]. If you are using one of these and Zotero doesn't work with the library's catalog interface, post to the [[http://forums.zotero.org|Zotero forums]] to see what changes can be made to make Zotero work with the OPAC installation. |
===== Using an Open Standard for Exposing Metadata ===== | ===== Using an Open Standard for Exposing Metadata ===== |
| |
Alternatively you can directly edit your HTML code of your webpage, using one of the following open standards, to expose your metadata: | Alternatively you can directly edit your HTML code of your webpage, using one of the following open standards, to expose your metadata: |
* **Embedded Metadata** The <META> tags in the header of many webpages will be parsed and used by Zotero. This fairly standard embedding of RDF metadata can use any RDF vocabularies; Zotero supports most major RDF vocabularies used for bibliographic metadata. For details on this approach, see the [[http://dublincore.org/documents/2008/08/04/dc-html/|Dublin Core description]]. The translator will also interpret metadata expressed in the [[http://scholar.google.com/intl/en/scholar/inclusion.html|Google/Highwire key-value system]]. | |
| * **Embedded Metadata** The <meta> tags in the header of many webpages will be parsed and used by Zotero. This fairly standard embedding of RDF metadata can use any RDF vocabularies; Zotero supports most major RDF vocabularies used for bibliographic metadata. For details on this approach, see the [[https://www.dublincore.org/specifications/dublin-core/dc-html/2008-08-04/|Dublin Core description]]. The translator will also interpret metadata expressed in the [[http://scholar.google.com/intl/en/scholar/inclusion.html|Google/Highwire key-value system]]. Zotero supports the following values for the <meta> ''name'' attribute from the Highwire vocabulary: |
| * Title: ''citation_title'' |
| * Date: ''citation_date'' (preferred), ''citation_publication_date'', ''citation_cover_date'', ''citation_online_date'', ''citation_year'' |
| * Publication: ''citation_journal_title'' |
| * Journal Abbreviation: ''citation_journal_abbrev'' |
| * Book Title or Proceedings Title: ''citation_book_title'', ''citation_inbook_title'' |
| * Pages: ''citation_firstpage'' and ''citation_lastpage'' |
| * Volume: ''citation_volume'' |
| * Issue: ''citation_issue'' |
| * Series: ''citation_series_title'' |
| * Publisher: ''citation_publisher'' |
| * DOI: ''citation_doi'' |
| * ISBN: ''citation_isbn'' |
| * ISSN: ''citation_issn'', ''citation_eIssn'' |
| * PMID: ''citation_pmid'' |
| * URL: ''citation_public_url'', ''citation_abstract_html_url'', ''citation_fulltext_html_url'' |
| * Embedded Metadata can also find the URL in a ''<link rel="canonical">'' tag or use the page URL. |
| * Abstract: ''citation_abstract'' |
| * Language: ''citation_language'' |
| * Conference Name: ''citation_conference_title'', ''citation_conference'' |
| * University (for theses and dissertations): ''citation_dissertation_institution'' |
| * Institution (for reports): ''citation_technical_report_institution'' |
| * Report Number: ''citation_technical_report_number'' |
| * Creators: ''citation_author'', ''citation_authors'', ''citation_editor'', ''citation_editors'' |
| * Creators should be listed in repeated <meta> tags or in a single tag, separated by semicolons: <code html> |
| <!-- This --> |
| <meta name="citation_editor" content="Surname, Given Name"> |
| <meta name="citation_authors" content="Smith, Jane; Public, John Q."> |
| <!-- is equivalent to --> |
| <meta name="citation_editor" content="Surname, Given Name"> |
| <meta name="citation_author" content="Smith, Jane"> |
| <meta name="citation_author" content="Public, John Q."></code> |
| * Full-Text PDF attachment: ''citation_pdf_url'' |
| * Tags: ''citation_keywords'' (semicolon-separated) |
| |
* **COinS** The [[http://ocoins.info/|COinS website]] defines COinS (ContextObjects in Spans) as "a simple, ad hoc community specification for publishing OpenURL references in HTML." Although somewhat limited in the number of metadata categories, using COinS is a relatively easy and lightweight option for embedding reference metadata into a webpage or blog. | * **COinS** The [[http://ocoins.info/|COinS website]] defines COinS (ContextObjects in Spans) as "a simple, ad hoc community specification for publishing OpenURL references in HTML." Although somewhat limited in the number of metadata categories, using COinS is a relatively easy and lightweight option for embedding reference metadata into a webpage or blog. |
* **Bibliontology/Dublin-Core-like/Zotero RDF**. [[http://bibliontology.com/|Bibliontology RDF]] can store any information that Zotero can save. Dublin Core is standardized and extremely common, but is limited in its expressive abilities. The legacy Zotero RDF format is also supported. | * **Bibliontology/Dublin-Core-like/Zotero RDF**. [[http://bibliontology.com/|Bibliontology RDF]] can store any information that Zotero can save. Dublin Core is standardized and extremely common, but is limited in its expressive abilities. The legacy Zotero RDF format is also supported. |
* **[[http://www.bibtex.org/|BibTeX]]**, **[[http://www.refman.com/support/risformat_intro.asp|RIS]]**, and **[[http://auditorymodels.org/jba/bibs/NetBib/Tools/bp-0.2.97/doc/endnote.html|Bibix/EndNote(R)/Refer]]**. These formats are more limited in their ability to describe metadata, but have good code library support and they are simpler to generate. | * **[[http://www.bibtex.org/|BibTeX]]**, **[[http://www.refman.com/support/risformat_intro.asp|RIS]]**, and **[[http://auditorymodels.org/jba/bibs/NetBib/Tools/bp-0.2.97/doc/endnote.html|Bibix/EndNote(R)/Refer]]**. These formats are more limited in their ability to describe metadata, but have good code library support and they are simpler to generate. |
| * //Note that the unAPI website appears to be no longer maintained, but sites built using the unAPI specification will still work with Zotero. See [[/forum/discussion/50327/is-unapi-dead-because-their-website-sure-seems-to-be|here]] for a discussion.// |
| |
===== Force Zotero to refresh metadata ===== | ===== Force Zotero to refresh metadata ===== |
| |
Websites for which metadata changes without a page reload should fire a ZoteroItemUpdated event to tell Zotero to re-detect metadata on the page. This is supported in Zotero 3.0 and later. | Websites for which metadata changes without a page reload should fire a ZoteroItemUpdated event to tell Zotero to re-detect metadata on the page. |
| |
<code javascript>var ev = document.createEvent('HTMLEvents'); | <code javascript> |
ev.initEvent('ZoteroItemUpdated', true, true); | document.dispatchEvent(new Event('ZoteroItemUpdated', { |
document.dispatchEvent(ev);</code> | bubbles: true, |
| cancelable: true |
| })) |
| </code> |
===== Zotero Web Translators ===== | ===== Zotero Web Translators ===== |
| |
Exposing bibliographic metadata through an open standard is very powerful (and also benefits non-Zotero users!). However, if you have little control over the way your website is built, you may have to [[dev/translators|create a Zotero web translator]] for Zotero-compatibility. Translators have some downsides: apart from the fact that they are a Zotero-specific solution, translators can break easily if the structure of the targeted website changes. | Exposing bibliographic metadata through an open standard is very powerful (and also benefits non-Zotero users!). However, if you have little control over the way your website is built, you may have to [[dev/translators|create a Zotero web translator]] for Zotero-compatibility. Translators have some downsides: apart from the fact that they are a Zotero-specific solution, translators can break easily if the structure of the targeted website changes. |