Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[TGDK][Feature] Add Research Topics System to Improve Editor and Reviewer Assignments #4560

Open
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

SSanchez7
Copy link

@SSanchez7 SSanchez7 commented Dec 21, 2024

Important

This implementation is part of a set of features and fixes developed within the context of a project for the TGDK academic journal, with the goal of customizing Janeway to meet the journal's specific needs, which may also be extended to other contexts.

Problem / Objective

The objective is to enhance the capabilities of the current assignment system by introducing a research topic-based approach to optimize the selection of editors and reviewers. The system enables journals to define and manage predefined research topics to tag both articles and users, with the aim of prioritizing matches between the research topics defined for articles and the areas of expertise of journal members. This enables more precise and tailored assignments, aligning with the journal's editorial needs.

Solution

To enable this functionality, a new journal-level configuration, "Enable Research Topics", has been introduced. This option, located in the Review Settings, is disabled by default to maintain compatibility with existing workflows.

image

The solution also leverages the Django Select2 library to construct the multiple-selection fields for primary and secondary research topics, providing a dynamic and intuitive interface for selecting and managing study topics in articles and user profiles.


1. Research Topics Management System

Creation of interfaces and services that allow creating and managing the journal's research topics. These research topics are organized into groups, which can also be created and managed within the same interface. This interface provides:

  • Creation, editing, and deletion of research topics
  • Creation, editing, and deletion of research groups
  • Visualization of created research topics
  • Visualization of accounts associated with a research topic
  • Visualization of articles associated with a research topic
  • Visualization of created research groups

image

Two new models are defined to store these research topics:

  • Topics → Defines the research topics for assigning articles and accounts
  • GroupTopic → Defines the research topic groups

2. Research Topics in Forms

Extension of interfaces and forms for creating and editing articles and accounts, with two new selection fields:

  • Primary Research Topic: Single mandatory selection for tagging articles, but multiple optional selection for tagging users. For users, it is recognized as Preferred Research Topics.
  • Secondary Research Topic: Multiple optional selection for tagging both users and articles. For users, it is recognized as General Research Topics.

The interfaces and services modified and extended are:

  • Creation and editing in the article submission form.
  • Creation and editing in the internal user creation form.
  • Editing in the form of an already created user profile.
  • Editing in the article metadata editing form.
  • Summary view in the article submission summary.
  • Summary view in the unassigned article status summary.

image

Note

These new fields are not defined as part of the new user registration form, as it would impose (even if optional) and complicate authors who want to enter the system and are not part of the journal members.

The following models are defined to store these relationships and assignments between research topics, articles, and users:

  • ArticleTopic → Defines the relationship between an article and a research topic. The relationship can be categorized as primary or secondary (mutually exclusive) and is many-to-many.
  • AccountTopic → Defines the relationship between an account and a research topic. The relationship can be categorized as primary or secondary (mutually exclusive) and is many-to-many.

3. Assignment Prioritization System

  • Extension of the reviewer assignment interface to include the visualization and prioritization of research topics based on those defined for the article. Allows viewing both interests (default tagging function) and research topics through a selection button.
  • Extension of the custom editor assignment interface (created in PR) to include the visualization and prioritization of research topics based on those defined for the article. Allows viewing both interests (default tagging function) and research topics through a selection button.

The tagging process, for both an article and a user with a research topic, is represented at two levels, allowing matches to be ranked and prioritized according to a simple scoring system:

  • Primary - Primary → 3 points
  • Primary - Secondary → 2 points
  • Secondary - Secondary → 1 point

This user prioritization system considers and equally prioritizes users with fewer active reviews.

@SSanchez7 SSanchez7 marked this pull request as ready for review December 21, 2024 11:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant