Skip to content

Allow arbitrary nesting depth in categories #10404

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

Closed
Tracked by #10408 ...
asmecher opened this issue Sep 12, 2024 · 12 comments · Fixed by #11243, pkp/ojs#4822, pkp/omp#1949 or pkp/ops#949
Closed
Tracked by #10408 ...

Allow arbitrary nesting depth in categories #10404

asmecher opened this issue Sep 12, 2024 · 12 comments · Fixed by #11243, pkp/ojs#4822, pkp/omp#1949 or pkp/ops#949
Assignees
Milestone

Comments

@asmecher
Copy link
Member

asmecher commented Sep 12, 2024

last updated: Sept 2024

Journal Managers can currently create Categories and Subcategories in Settings > Journal > Categories:
https://github.com/user-attachments/assets/42e25d1e-e681-42a5-a3f8-b23930a6caa3

However, this artificially limits the nesting depth to 2 levels. It should be easy to support arbitrary nesting depth. The database already supports this, but the user interface does not.

@asmecher
Copy link
Member Author

The UI library aspect of this is filed in #10449.

@Devika008 Devika008 moved this from To Do to UX/UI In Progress in OSS ORE Sep 20, 2024
@Devika008 Devika008 moved this from UX/UI In Progress to Ready for Development in OSS ORE Sep 27, 2024
@mreiko mreiko moved this to Todo in PKP Public Roadmap Oct 21, 2024
@mreiko mreiko removed the status in PKP Public Roadmap Dec 3, 2024
@mreiko
Copy link

mreiko commented Dec 3, 2024

Would @eirikhanssen take this one?

@bozana
Copy link
Contributor

bozana commented Dec 4, 2024

@mreiko, do you maybe mean @ewhanson ?

@mreiko
Copy link

mreiko commented Dec 4, 2024

Yes! Thanks Bozana.

@mreiko mreiko moved this to In Progress in PKP Public Roadmap Dec 10, 2024
@taslangraham taslangraham self-assigned this Feb 4, 2025
@mreiko mreiko moved this from Ready for Development to Development In Progress in OSS ORE Feb 25, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 2, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 5, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 5, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 6, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 6, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 6, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 6, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 6, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue Apr 6, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit to taslangraham/pkp-lib that referenced this issue May 12, 2025
taslangraham added a commit that referenced this issue May 13, 2025
* Implement endpoints to create, edit, and delete categories

* Added migration to move category images into application's public directory

* Load category thumbnail & full size image from application's public directory

* Update logic for generating breadcrumbs, to ensure nested categories are handled

* Delete sub-categories when a parent category is deleted

* Remove ability to order categories
@github-project-automation github-project-automation bot moved this from In Review to Backlog in OSS ORE May 13, 2025
@github-project-automation github-project-automation bot moved this from In Progress to Done in PKP Public Roadmap May 13, 2025
taslangraham added a commit to pkp/ojs that referenced this issue May 13, 2025
@taslangraham taslangraham reopened this May 13, 2025
@taslangraham
Copy link
Contributor

All merged!
@Tribunal33 over to you for testing

@Tribunal33
Copy link
Contributor

Tribunal33 commented May 13, 2025

@taslangraham Testing went well. Looks good for OJS. I couldn't see issues with it. I'm going to be doing a quick test for OPS/OMP as well but I don't see much difference in the requirements for these projects. OMP has catalogs by default so I can see if there are many differences there. OPS should work the same. I'm not sure if you want to automate 1, 2 and 4 (only removing from the category list)

Test Case Overview:

  1. Test adding a new parent category: As Journal Manager only Navigate to Settings > Journal > Categories > Select Add Category
  2. Test adding a new nested category: Once a category is created, use the ellipsis menu to create nested subcategories.
  3. Test editing a category: using ellipsis menu try editing and saving a category
  4. Test deleting a category:
    a. Should bring up a popup warning asking “Are you absolutely sure you want to delete {Category} category?”
    b. Deleting the category will remove all sub-categories
    c. Unassign this category for any submission currently using it
    d. This will not delete the submission themselves just left without a category.
    e. Test Cancel button -> Should close window without deleting anything
    f. To confirm, please type the name of the category “{category}” below to proceed
    g. Selecting the “I understand the consequences, delete this category” will remove the category from the list as well as any subcategories.
  5. Testing if deleting a category unassigns the category from a submission
  6. Testing if deleting a category with a subcategory unassigns the subcategory from a submission.
  7. Testing adding categories to the metadata when making a new submission works with a new submission. Turn on Workflow > Submission > Metadata > Categories option Yes, add a categories field to the submission wizard and create a new submission choosing a category you have created.
  8. Test that these new categories can be assigned to a submission from the Publication > Issues > Categories section. Toggle them on and off.
  9. Test if the category filters can auto complete these new categories and subcategories. On Dashboard view select Filters button and in Categories field enter the beginning of a new category.
  10. Test if the category filters can find the submission with the subcategory added.
  11. OJS does not have a catalog links turned on by default. To enable the links for categories we will need to first turn on the Browse Block Plugin and then enable it in the sidebar under Website > Setup > Sidebar > Browse Block.

Image

@mreiko mreiko moved this from Backlog to Done in OSS ORE May 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment