Submissions search

@asmecher, @NateWr

I would like to extend submission search so I can search submissions by assigned editors or reviewers.

If this is possible, please point me to some documentation or github issue.

So far I have found associated files:
lib\ui-library\src\components\ListPanel\ListPanelSearch.vue (not important for this issue)
lib\pkp\api\v1_submissions\PKPBackendSubmissionsHandler.inc.php

Thanks

ksnip_20200319-121450

Hi @Dragoljub_Djordjevic, this is a highly requested feature and one that we would like to add. As of 3.2, one of the major hurdles – an accessible autosuggest component – is now available and so this would be more feasible.

Would you be willing to work with us to build the feature for the core application? The up side is that once it is merged, you won’t have to maintain the code yourself and everyone can use it. The down side is that it will probably take longer because you’ll need to coordinate closely with me, undergo code review, and it will need to be scheduled in a future release (3.2.1, 3.2.2, etc).

If you’re willing to give it a go, let me know and I will split this feature out into a new issue on GitHub and provide a breakdown of the work that’s required.

@NateWr

I am not that experienced developer, I’m not sure if I can comply to your coding standards.

If I understand correctly, there is a big difference between ojs 3.1.2 and 3.2? I need to implement this in 3.1.2, because our version is already modified, so it is impossible to upgrade to 3.2.

Can you give me some guidelines so I can explore further ?

Yeah, we would need the work developed against our master branch in GitHub, which is 3.2. We won’t be doing any further feature development on 3.1.x. Those who have forked OJS in the past usually come to find themselves in a dead-end in a year or two. But if you have the resources to keep up the development, good luck!

I think the easiest way to go about this is the following:

  1. The REST API supports an assignedTo param that you can use to get all submissions assigned to one person.
  2. To get a list of journal managers, you can use ServicesContainer::instance()->get('user')->getMany($journalId, ['roleIds' => ROLE_ID_MANAGER]). That will get all manager users – so users who are allowed to see submissions that they’re not assigned to.
  3. Add the list of journal managers as filters to the submissions list in PKPSubmissionsListHandler. You’ll see where other filters, like the stages, are added. You want the param to be assignedTo and the value to be the user ID.

That’s only going to work on journals without a bunch of editors. If you have a lot of editors, the list of filters will get very long.

Thanks, I’ll post here if I came to a solution.