¶ 1 Leave a comment on paragraph 1 0 The Zine Union Catalog has been coming along relatively well. However, the Spring break caused some sluggish progress in development because co-working in person became difficult. The reason this caused issues is because my work relied heavily on cooperative work with Lauren on the creation of maps, data imports, and other metadata-specific objectives. Once the break was over we jumped back in and achieved some important progress.
¶ 2 Leave a comment on paragraph 2 0 First, we have outlined the initial goals for these meta-data specific tasks, e.g. how many different collections to test with, which fields in the mapping schema to include, the need to test data import through cataloger accounts rather than the admin account, limiting the format of metadata files to spreadsheets, etc.
¶ 3 Leave a comment on paragraph 3 0 Second, we began working on making maps for QZAP, Denver, and Barnard collections. During the break, I was able to make one of the basic (and very prominent) features of CA to work: Browse. CA allows for the user to find results in a variety of ways. The most basic is search, which we have working and have already begun modifying cosmetically. The browse feature shows the user various categories such as “collection”, “author”, et. al that can allow the user to delve into the results in steps. Although we imported metadata, our browse function did not work. It turns out all we needed to do was create a relationship between the objects and a collection on which they are a part.
¶ 4 Leave a comment on paragraph 4 0 So, I created a Mapping rule that looks like this:
Mapping | 12 | ca_collections | collectionSplitter | { “relationshipType”: “part_of”, “collectionType”: “external” } |
¶ 5 Leave a comment on paragraph 5 0 which says that column 12 for an object must specify the name of the collection of which this object is a part (e.g., “QZAP” or “Denver Zine Library”).
¶ 6 Leave a comment on paragraph 6 0 Once this was done, clicking on “Browse” produced a menu with a selection of collections that the user can then click to view the contents of a particular collection.
¶ 7 Leave a comment on paragraph 7 0 I tried to use a “Constant” rule type instead of a “Mapping” rule type in order to set the collection without having to create a column for this field. A constant simply says that instead of looking to a column for the text to use (e.g., “12”), use this text instead for ALL the objects in this entire import (e.g., “QZAP”). Unfortunately, this did not work for reasons unknown to me. Thus, we will create a column for metadata sets where the name of the collection will go.
¶ 8 Leave a comment on paragraph 8 0
¶ 9 Leave a comment on paragraph 9 0 After the break, we also hit another major milestone – a clickable link in the details page of individual objects that can point to the collection where this object lives. This was an integral part of the ZUC project because we wanted users to be able to actually go to a url of the library or collection that holds the zine.
¶ 10 Leave a comment on paragraph 10 0 Collective Access has a field for an “external link” for objects, entities (authors), and even collections. However, this external link did not appear when looking at the details or description of an object that had an external link defined. Obviously, a link that isn’t visible to a user isn’t of much use.
¶ 11 Leave a comment on paragraph 11 0 Rather than going into details about how I found the solution, I will simply summarize what the solution was:
¶ 12 Leave a comment on paragraph 12 0 In cPanel, I edited the file responsible for display the details about an object when clicking on it from a search or browse page. Go to: public_html -> pawtucket folder -> themes -> your theme -> views -> Details (the details page!). In this folder, edit a file called “ca_objects_default_html.php”
¶ 13 Leave a comment on paragraph 13 0 This file is what is shown when looking at the details of an object. Using code for displaying an object’s idno as formula I made the details page display the external link.
¶ 14 Leave a comment on paragraph 14 0
¶ 15 Leave a comment on paragraph 15 0 So, I used this:
{{{<ifdef code="ca_objects.idno"><H6>Identifer:</H6>^ca_objects.idno<br/></ifdef>}}}
¶ 16 Leave a comment on paragraph 16 0 To make this:
{{{<ifdef code="ca_objects.external_link"><H6>Source</H6>^ca_objects.external_link</br></ifdef>}}}
¶ 17 Leave a comment on paragraph 17 0 However, what this produced was the text of what was entered in the “external link” field as text and not as a hyperlink. In order to make the text be displayed as a clickable link, I added %returnAsLink=1. The result looks like this:
{{{<ifdef code="ca_objects.external_link"><H6>Source</H6>^ca_objects.external_link%returnAsLink=1</br></ifdef>}}}
¶ 18 Leave a comment on paragraph 18 0 This gave all objects a clickable link on their individual details page which can lead users to the site of the collection where the object is held.
¶ 19 Leave a comment on paragraph 19 0 Unfortunately, one last issue remains with this link. We want our map to include a mapping for what goes into the “external link” field. This way, the cataloger doesn’t have to input a url for each object through the Collective Access interface. Instead, the metadata file can simply have a column where the URL for each object or simply the URL of the collection can define “external link.” This is not as easy as the collection rule I mentioned above because “external link” actually has to sub-elements – “Site Name” and “Site URL.” This makes mapping the external link require some special refinery parameters. (This also happens for fields that have multiple elements such as “address” where you want to split the address into street, city, country.)
¶ 20 Leave a comment on paragraph 20 0 I am currently trying to identify how to map to these two sub-elements or how to eliminate the sub-elements entirely so that a refinery parameter is not necessary.
¶ 21 Leave a comment on paragraph 21 0
¶ 22 Leave a comment on paragraph 22 0 Something else on my mind is what products of the development will be made publicly available at the end of the semester. The CA code is already open source and on GitHub. The only changes we have made to CA code are cosmetic modifications that translate to a better functionality for our project, i.e. removing image placeholders, displaying the external link field, etc.). What could be beneficial for project longevity and as contribution to the field, however, is sharing the mapping schemas that we create.