The fifth sprint summary from the PKP Minnesota Sprint, hosted by The University of Minnesota Libraries in May 2024, is now available.
Sprints involve PKP community members joining diverse groups to work on PKP software and support. The University of Minnesota Libraries hosted six working groups at the PKP Minnesota Sprint in May. This is a summary of one such group’s work.
Plugin Development Group Abstract
OJS implements a general-purpose journal publication platform and workflow, but specific user communities often need it to be set up in a certain way. This group experimented with writing a plugin for OJS that could check to see whether those configuration needs were met. Following a plugin approach, a particular user community or indexer could release a plugin to the Plugin Gallery so that community members could easily check whether their journal is configured as needed.
Working Group Members
- Patrick Buss, Atla
- Davin Baragiotta, Érudit
- Alec Smecher, Public Knowledge Project (PKP)
- Ander Kierig, University of Minnesota Libraries
- Tazio Polanco, University of Pittsburgh
Background
We tackled two separate goals with the same process:
- Some group members were interested in learning how to write a new OJS plugin but hadn’t had the opportunity to try it yet. We wanted to guide the whole group through setting up a dev environment on their local laptops, creating a new plugin, and contributing to a team development effort using GitHub.
- OJS is deployed in many publishing environments, each with its own requirements. For example, European journals may need to publish funding information; Canadian journals might need to participate in Coalition Publica, which requires several plugins to be installed and specific settings to be entered.
- It would be nice to allow Journal Managers to simply install an environment-specific plugin to guide them through these settings and verify their completeness, rather than having them walk through documentation to accomplish the same purpose.
- Better still, rather than exposing this information to the Journal Manager only, it might be helpful to make it available to someone at the indexer or governmental level.
- For example, if a journal needs help with Coalition Publica indexing, someone at Coalition Publica could start by checking the installation to make sure its requirements are met.
Goals
- To develop a basic working plugin that reports on some aspects of the journal’s “health”.
- To brainstorm some kinds of data that might be useful in a health report.
Results
The group brainstormed which information would be useful in a journal “health report”. Because we came from different institutions and organizations, we didn’t try to come up with a single perfect list – we just decided to try a few things for experimentation’s sake.
What do we want to include in a health check listing?
- Name of the journal
- OJS version
- What plugins are active? And their versions?
- Whether there is an API key salt in the config file?
- Is the “ignore XML JATS” setting enabled in the XML JATS plugin?
- PHP version?
- Location of the error log
- Database and version
- OAI repository ID
- Is OAI enabled? Settings > Distribution > Access > OAI
With these ideas in mind, we started experimenting with plugin development. Each got an OJS development environment set up, and started working on a different aspect of the plugin: scaffolding and infrastructure, fetching certain pieces of information, etc.
Basic plugin repo: https://github.com/asmecher/healthCheck
There is some incomplete work there, but it would make sense to work with it in the future with a single specific use case in mind.
Next Steps
There was limited time to complete the work, as this was only a one-day sprint, but we envision that this repo could be used as a building block to complete an implementation of a more complete, use-case-specific plugin, such as a Coalition Publica health check plugin.
Thank you
We once again thank the Sprint sponsors, host institutions, and all participants for their valuable contributions to the PKP user community. Special thanks to University of Minnesota Libraries, Library Publishing Coalition, and Crossref for their support and partnerships.