Grouping journals by category, planned feature or tips on template customisation

Hi,

At our institution, we have a setup of, currently, 35 public journals. In connection to an upgrade to OJS3, we are working on a new site index as well as a base theme for our journals who do not themselves have custom styles to use.

Also, we would like to group journals by category, to simplify the navigation and findability among the many journals on the server. This was a feature existing in OJS 2, but I’m wondering if you have any plans to implement it in OJS3? I saw this discussion, where it didn’t seem like it, but I think such a feature would be greatly appreciated.

If not, do you have any suggestions on how we can implement it ourselves through a theme plugin? I understand how customising templates work, but in order to avoid hardcoding journal categories, I’m thinking of a database field to base the categorisation on. Perhaps the best solution is putting some category metadata in the “Custom tags” under Distribution Settings?

Any advice is very welcome!

1 Like

@asmecher, any ideas?

Hi @martinpub,

I don’t have a solution, but I would like to second this. It would be a good feature.

Kind regards
Daniela

@asmecher @NateWr
What do you think about this feature? In installations with multiple journals it would be a wellcome feature to be able to classify them.

Maybe just add the ability to:

  • add “journal groups”
  • add journals to one/several groups
  • add ability to query according to these groups when listing journals

I could do a pr during the summer, because this would be a nice addition to our platform as well.

I’d like to see this developed as a plugin. It’s a feature a minority of installations would use, and it would be pretty easy to build and maintain this separately. Themes could then opt into supporting it when it is activated.

If you want a quick and dirty approach, this could be implemented as a theme option. Add a theme option for each group, which is just a text field, where journal IDs can be entered in a comma-separated list. This list could then be extracted and used to change the homepage display. No new core features are required.

1 Like

Thanks! I will look into both options.

Hey guys,

We developed a theme using this “dirty approach” here in Universidade Federal do Rio Grande do Norte - Brazil. We’d love to see this feature implemented as a plugin as well.

If you’d like to check it, I’ve posted it on my GitHub account:

3 Likes

Looks great @andersonqueiroz, nice work!

1 Like

Thanks for this contribution @andersonqueiroz, we’ll make sure to check it out!

Hi,

I have been looking into this whether this could be solved with a plugin.

I will probably introduce a feature using Isotope based filtering here: https://isotope.metafizzy.co/#initialize-with-jquery.

Adding a classification to the journal_settings is easy. I was thinking of using the form that also has the “Enable this journal to appear publicly on the site” checkbox in it (in Administrations > Hosted journals).

When you have the setting there, you just need to fetch it with $journal->getSetting and add that as class here https://github.com/pkp/ojs/blob/master/templates/frontend/pages/indexSite.tpl#L33

Then you just add the Isotope controllers the siteIndex template and the necessary calls to JS files.

The problem of solving this with a plugin that would work with any OJS theme is the differences you have in the siteIndex template. Most custom themes have modified the template. So if the plugin overrides the template the style of the theme plugin is lost.

So in short: this would be fairly easy to do with a plugin + theme plugin. Or it could be that all the necessary parts can be thrown into the theme plugin itself (I mean the part where it hooks to the settings form, have not tested if that is possible for a theme plugin). But not with a standalone plugin that would work with any theme.

1 Like