The latest issue of Code4Lib Journal is now available: https://journal.code4lib.org/issues/issues/issue55
Journal updates, recent policies, and a call for editors.
A Fast and Full-Text Search Engine for Educational Lecture Archives
Arun F. Adrakatti and K.R. Mulla
E-lecturing and online learning are more common and convenient than offline teaching and classroom learning in the academic community after the covid-19 pandemic. Universities and research institutions are recording the lecture videos delivered by the faculty members and archiving them internally. Most of the lecture videos are hosted on popular video-sharing platforms creating private channels. The students access published lecture videos independent of time and location. Searching becomes difficult from large video repositories for students as search is restricted on metadata. We presented a design and developed an open-source application to build an education lecture archive with fast and full-text search within the video content.
Click Tracking with Google Tag Manager for the Primo Discovery Service
This article introduces practices at the library of Oregon State University aiming to track the usage of Unpaywall links with Google Tag Manager for the Primo discovery interface. Unpaywall is an open database of links to full-text scholarly articles from open access sources. The university library adds Unpaywall links to Primo that will provide free and legal full-text access to journal articles to the patrons to promote more usage of open-access content. However, the usage of the Unpaywall links is unavailable because Primo does not track the customized Unpaywall links. This article will detail how to set up Google Tag Manager for tracking the usage of Unpaywall links and creating reports in Google Analytics. It provides step-by-step instructions, screenshots, and code snippets so the readers can customize the solution for their integrated library systems.
Creating a Custom Queueing System for a Makerspace Using Web Technologies
This article details the changes made to the queueing system used by Virginia Tech University Libraries' 3D Design Studio as the space was decommissioned and reabsorbed into the new Prototyping Studio makerspace. This new service, with its greatly expanded machine and tool offerings, required a revamp of the underlying data structure and was an opportunity to rethink the React and Electron app used previously in order to make the queue more maintainable and easier to deploy moving forward. The new Prototyping Queue application utilizes modular design and auto building forms and queues in order to improve the upgradeability of the app. We also moved away from using React and Electron and made a web app that loads from the local filesystem of the computer in the studio and runs on the Svelte framework with IBM's Carbon Design components to build out functionality with the frontend. The deployment process was also streamlined, now relying on git and Windows Batch scripts to automate updating the app as changes are committed to the repository.
Designing Digital Discovery and Access Systems for Archival Description
Archival description is often misunderstood by librarians, administrators, and technologists in ways that have seriously hindered the development of access and discovery systems. It is not widely understood that there is currently no off-the-shelf system that provides discovery and access to digital materials using archival methods. This article is an overview of the core differences between archival and bibliographic description, and discusses how to design access systems for born-digital and digitized materials using the affordances of archival metadata. It offers a custom indexer as a working example that adds the full text of digital content to an Arclight instance and argues that the extensibility of archival description makes it a perfect match for automated description. Finally, it argues that building archives-first discovery systems allows us to use our descriptive labor more thoughtfully, better enable digitization on demand, and overall make a larger volume of cultural heritage materials available online.
Data Preparation for Fairseq and Machine-Learning using a Neural Network
This article aims to demystify data preparation and machine-learning software for sequence-to-sequence models in the field of computational linguistics. The tools, however, may be used in many different applications. In this article we detail what sequence-to-sequence learning looks like using code and results from different projects: predicting pronunciation in Esperanto, predicting the placement of stress in Russian, and how open data like WikiPron (mined pronunciation data from Wiktionary) makes projects like these possible. With scraped data, projects can be started in automatic speech recognition, text-to-speech tasks, and computer-assisted language-learning for under-resourced and under-researched languages.
We will explain why and how datasets are split into training, development, and test sets. The article will discuss how to add features (i.e. properties of the target word that may or may not help in prediction). By scaffolding the tasks and using code and results from these projects, it's our hope that the article will demystify some of the technical jargon and methods.
DRYing our library's LibGuides-based webpage by introducing Vue.js
Mark E. Eaton
At the Kingsborough Community College library, we recently decided to bring the library's website more in line with DRY principles (Don't Repeat Yourself). We felt we this could improve the site by creating more concise and maintainable code. DRYer code would be easier to read, understand and edit. We adopted the Vue.js framework in order to replace repetitive, hand-coded dropdown menus with programmatically generated markup. Using Vue allowed us to greatly simplify the HTML documents, while also improving maintainability.
Revamping Metadata Maker for 'Linked Data Editor': Thinking Out Loud
Greta Heng, Myung-Ja Han
With the development of linked data technologies and launch of the Bibliographic Framework Initiative (BIBFRAME), the library community has conducted several experiments to design and build linked data editors. While efforts have been made to create original linked data 'records' from scratch, less attention has been given to copy cataloging workflows in a linked data environment. Developed and released as an open-source application in 2015, Metadata Maker is a cataloging creation tool that allows users to create bibliographic metadata without previous knowledge in cataloging. Metadata Maker might have the potential to be adopted by paraprofessional catalogers in practice with new linked data sources added, including auto suggestion of Virtual International Authority File (VIAF) personal name and Library of Congress Subject Heading (LCSH) recommendations based on the users' text input. This article introduces those new features, shares the user testing results, and discusses the possible future steps.
Using Python Scripts to Compare Records from Vendors with Those from ILS
An increasing challenge libraries face is how to maintain and synchronize the electronic resource records from vendors with those in the integrated library system (ILS). Ideally vendors send record updates frequently to the library. However, this is not a perfect solution, and over time a problem with record discrepancies can become severe with thousands of records out of sync. This is what happened when, at a certain point, our acquisitions librarian and our cataloging librarian noticed a big record discrepancy issue. In order to effectively identify the problematic records among tens of thousands of records from both sides, the author of this article developed some solutions to analyze the data using Python functions and scripts. This data analysis helps to quickly scale down the issue and reduce the cataloging effort.
Coordinating Editor, Code4Lib Journal Issue 55