Bhakti Virtual Archive

Technical Components

All technical components being developed for BHAVA are public domain. We encourage anyone to develop them further and contact us with feedback or inquiries. As explained in the Concept page, BHAVA uses for its bibliographic database a Zotero public group library, which is enhanced outside Zotero with a faceted classification system and WordPress-based search interface. We have developed a working prototype of a WordPress plugin that uses the Zotero API to interact with a public group library.

Zotero Group Library

The curated database of bibliographic references is stored in a Zotero public library. In the Notes field of each reference is a list of facets and terms with which the expert curators cataloged the item, using the Faceted Classification System. Since Zotero lacks the functionality to search on the facets except as undirected keywords, the Notes field serves only to hold the faceted terms, which are pulled and handled by the WordPress plugin. The Zotero public library could be accessed directly through the Zotero website, but robust searches could not be carried out on faceted terms. The library currently contains a small pilot set of references for testing the plugin, but it ultimately will contain over 5,000 entries. Zotero enjoys widespread support, integrates many bibliography styles, and provides a API system for easier interoperability—all of which make the bibliographic database scalable and sustainable.

Faceted Classification System

We developed the Faceted Classification System as a way of systematically cataloging bibliographic references more richly than has been done before. The pooled knowledge of the RBSN community, from which bibliography curators are drawn, makes this possible. The System is basically a spreadsheet, in which columns represent facets that will be used for cataloging: Regions, Sources, Periods, Approaches, Focus Languages, Traditions, and Topics. Beneath each facet heading are terms that we have discussed and correlated (when possible) to preexisting cataloging terms in major authority files, such as the Library of Congress Subject Headings. In some cases, we have identified important terms that do not yet have LC Subject Headings. For example, Braj as a language has a Subject Heading, but Braj as a geographic/mythic region does not. We will work with a NACO-trained librarian to request the Library of Congress to add these terms. All but one of the facets are closed vocabularies which curators will use for cataloging. As cataloging proceeds, we anticipate that taxonomic issues will arise that require terms to be added and further disambiguated. During cataloging, the Topics facet will remain open so that curators can apply whatever terms they feel are relevant for a given reference. After cataloging is complete, we will review and standardize all of the Topics terms that appeared, and we will correlate them with metadata precedents in major authority files. The entire Faceted Classification System, with URIs for metadata in major authority files, is stored in an Excel sheet (viewable here as a Google Sheet). One feature of the WordPress plugin is that it can import these tables in a local MySQL database within the WordPress site, to construct the search interface.

WordPress-Zotero plugin

As discussed in detail in the Development History page, we had explored preexisting tools that worked with Zotero bibliographies but found them misaligned with our needs in one way or another, so we developed our own WordPress plugin. Our plugin strikes a new balance of sustainability and robustness, and we hope it can be useful for other projects that use faceted bibliographies.

The architecture of WordPress plugin is basically a wrapper for PHP pages in WordPress, which can be deployed to incorporate the database, admin page, and search interface into any WordPress website. Anyone with knowledge of PHP can download the plugin from Github and adapt it for their use. We also are developing a generic version of the plugin that will be easier to install by those without PHP coding skills.

The search interface is written in PHP, which works seamlessly inside a WordPress page. Automatically every day (or more often, if triggered by the administrator), the plugin pulls the entire library from Zotero and stores item IDs with their respective faceted terms locally in the MySQL database. This is what makes it possible to carry out faceted searches within WordPress. When a search query is performed through the WordPress interface, the script identifies the appropriate item IDs and calls them through the Zotero API, to fetch fully formatted bibliographic records that then get displayed in the WordPress page.