Simplifying Rogue Scholar Infrastructure
From the start last year one important goal for the Rogue Scholar science blog archive was to make it easy to use for blog authors and readers. Today I want to focus on another aspect: keep it simple to run Rogue Scholar infrastructure. To address that goal I started development work last week to further simplify one important aspect of Rogue Scholar infrastructure: metadata conversion.
Commonmeta is the metadata format that Rogue Scholar uses internally to generate Crossref metadata for DOI registration and to display Rogue Scholar blog posts in several popular metadata formats (BibTex, RIS, Schema.org, formatted citations, etc.). Last September I updated the commonmeta-py library to provide a command-line interface and enable Crossref DOI registration. In October I launched the Rogue Scholar Python API to provide these metadata conversions to Rogue Scholar, including Crossref DOI registrations, using the commonmeta-py library. In the last few months, I have continuously improved commonmeta-py, e.g. by better metadata detection of Rogue Scholar references:
- Detect references to content with DOIs, e.g. journal article landing pages (e.g. https://app.pan.pl/article/item/app011052023.html)
- Extract metadata for references to web pages (e.g. https://blog.scholarled.org/on-the-meaning-of-scholar-led)
- Extract basic metadata for references to PDF files (e.g. https://docentes.fct.unl.pt/sites/default/files/omateus/files/tschopp_mateus_2016_-_case_3700_-_diplodocus_type.pdf)
Last week I started work on commonmeta-go, an implementation of the commonmeta metadata conversion written in the Go language. I plan to make the first public release by June. Many critical components of scholar infrastructure are written in Go, and this library will allow me to streamline the Rogue Scholar metadata conversion and DOI registration by bringing commonmeta functionality closer to the Rogue Scholar database instead of maintaining a dedicated Python API for this functionality.
Please reach out to me if you are interested in the details of my thinking, e.g. why I picked Go and not another language, why not Javascript, Python, or Ruby (the other commonmeta implementation), or how this work will integrate with the other parts of the Rogue Scholar technology stack, e.g. database (Postgres), search index (Typesense), and content conversion (Pandoc).
Writing commonmeta-go is a significant investment in time but will help me develop and maintain Rogue Scholar in the long run. I also see the need for simplified scholarly metadata conversion beyond science blogs and Rogue Scholar, see the current discussion of Diamond Open Access e.g. in Rogue Scholar blog posts (Gutknecht 2024, Rafols 2024, Mounce 2023). This work on commonmeta-go will make scholarly infrastructure easier, cheaper, and more fun to use and maintain.
References
Fenner, M. (2023, September 12). Releasing commonmeta-py v0.8. Front Matter. https://doi.org/10.53731/xszpd-6z265
Fenner, M. (2023, October 9). Rogue Scholar has an API. Front Matter. https://doi.org/10.53731/ar11b-5ea39
Fenner, M. (2024, March 27). Tracking references of Rogue Scholar blog posts. Front Matter. https://doi.org/10.53731/j77gv-54g66
Fenner, M. (2023, March 20). Announcing commonmeta-ruby. Front Matter. https://doi.org/10.53731/fawv321-14359c4
Gutknecht, C. (2024, April 3). Gates Foundation: Bye Bye APC. Wisspub.Net. https://doi.org/10.59350/za28t-6j546
Rafols, I. (2024, February 1). The UNESCO Open Science Outlook: OS progresses, but unequally. Leiden Madtrics. https://doi.org/10.59350/91td8-0bv95
Mounce, R. (2023, December 1). How many learned societies publish Diamond Open Access journals? A Blog by Ross Mounce. https://doi.org/10.59350/b66bh-pkd46
Comments ()