No release in over a year
Manage journal submissions and publications within SpinaCMS.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

Runtime

>= 6.0, < 8
>= 6.0, < 8
~> 2.8
 Project Readme

Spina::Admin::Journal

Journal is a plugin for Spina that provides a fully-fledged journal management package, intended to provide a more streamlined, easy-to-use, modern alternative to OJS.

Spina is a content management system built in Ruby on Rails. Journal augments Spina by providing an admin interface for managing an academic journal.

Rails tests codecov CodeFactor LGTM alerts Code quality: JavaScript Inline docs

Features

The journal plugin covers many of the needs of a professional online journal publication, including:

  • Simple, responsive, intuitive interface that builds upon Spina's own.
  • Seamlessly integrate published content with other information about the journal.
  • Manage volumes, issues, articles and authors in a highly structured and organised manner.
  • Keep track of individual authors with multiple affiliations, e.g. if they change name or institution, connecting with ORCID.

Currently, a submissions management system is not included, but this is planned for a future release. This will allow you to manage the submissions process for the journal in a streamlined manner in parallel to publication.

Usage

The plugin adds two menus to Spina's primary navigation:

  • Journal settings provides access to global properties of the journal. It is divided into 3 submenus:
    • Journal allows you to change metadata such as the name of the journal, as well as content that will appear on the journal homepage.
    • Institutions allows you to add institutions, to which authors can be affiliated.
    • Authors allows you to add authors and their affiliations, which can then be added to articles.
    • Licences allows you to add licences and association information, which can be associated with individual articles, representing the licence under which the content is released.
  • The journal content menu will be named after the journal as specified in Journal Settings. It provides a means of editing the content of the journal and is divided into three submenus:
    • Volumes allows you to add and remove volumes of the journal, and edit their respective issues.
    • Issues allows you to add, edit and remove issues of particular volumes of the journal, and edit their respective articles.
    • Articles allows you to add, edit and remove articles belonging to particular issues.

NB: This release of the plugin does not provide any public-facing frontend or Spina theme. An example implementation can be found within the Conferences Primer Theme. Note that this theme also contains frontends for two other Spina plugins, Spina Conferences Blog and Spina Admin Conferences. You can use the theme in your project as is, or copy whichever parts of the code you need.

A dedicated journal theme, coupled with an automatic installer, is being planned. A system to manage submissions is also on the roadmap.

Installation

Make sure you have a working installation of Ruby on Rails 7. You can find a setup guide here.

You then need to install Spina, following the guide on the Spina website.

To install the plugin, add this line to your application's Gemfile:

gem 'spina-admin-journal', '~> 1.0'

Then execute:

$ bundle install

You'll then need to install and run the migrations for the journal:

$ bin/rails spina_admin_journal:install:migrations
$ bin/rails db:migrate

You can then start a local server to test that everything's working.

$ bin/rails s

You can manually populate the database from within the app, or alternatively you can use seed data for testing. A sample seeds.rb file can be found here.

Contributing

Bug reports and feature requests are welcome in the Issues section. Translations are also very welcome!

Planned features

  • Submissions management
  • Translations

License

The gem is available as open source under the terms of the MIT License.