diff --git a/docs/Sphinx-guides/source/featureDescriptions.md b/docs/Sphinx-guides/source/featureDescriptions.md new file mode 100644 index 0000000..aa074a5 --- /dev/null +++ b/docs/Sphinx-guides/source/featureDescriptions.md @@ -0,0 +1,130 @@ +# Feature Descriptions + +## Technical Notes +All template overrides are implemented in the Service class: `pprOjsPlugin/services/PPRWorkflowService.inc.php` + +## Descriptions + +**Issue Id:** Issue 010
+**Area:** Submission
+**Title:** Remove the "Include this contributor in the browse list" Option
+**User Story:** As a user, searching for contributors on this platform is unnecessary, as its primary function is peer review rather than journal publication. Including the "Include this contributor in the browse list" option could confuse authors when submitting their papers.
+**Toggle:** N/A +**Implementation:** This was implemented by PKP directly. This was implemented with CSS, there is a copy of the CSS code at the end of our CSS file for reference: `pprOjsPlugin/css/iqss.css` + +**Issue Id:** Issue 013
+**Area:** Workflow
+**Title:** Hide the Copyediting Tab
+**User Story:** As a user, I expect the system to offer peer-review functionality without the option to publish articles exclusively. The presence of a Copyediting tab could lead to confusion among users.
+**Toggle:** N/A - Custom IQSS CSS is always included to OJS. +**Implementation:** Implemented with CSS, added selector to hie the Copyediting tab: `pprOjsPlugin/css/iqss.css` + +**Issue Id:** Issue 019
+**Area:** Registration
+**Title:** Hide Checkboxes on the Registration Page
+**User Story:** As an author registering on our platform, the registration page currently includes three checkboxes: A privacy statement, which is irrelevant as we don't have one; an option to receive notifications of new publications, even though we don't publish on our platform; registration is solely for peer review; and an option to be contacted for submission reviews, which we don't allow, as the author provides a list of potential reviewers. Considering these factors, including these checkboxes during registration is unnecessary and potentially confusing. Therefore, we should hide them to streamline registration and avoid user confusion.
+**Toggle:** N/A +**Implementation:** This was implemented by PKP directly. This was implemented with CSS, there is a copy of the CSS code at the end of our CSS file for reference: `pprOjsPlugin/css/iqss.css` + +**Issue Id:** Issue 020
+**Area:** Registration
+**Title:** Registration Process with Eligibility Confirmation Checkbox
+**User Story:** As an author registering for an account, I want to ensure that I have read and understood the program requirements to determine my eligibility before creating an account. Our registration page needs a clear indication for authors to confirm their review of eligibility requirements. To enhance user experience and ensure compliance with our platform's guidelines, we propose adding a checkbox prompting authors to acknowledge their review of eligibility criteria before proceeding with registration.
+**Toggle:** userCustomFieldsEnabled +**Implementation:** Implemented with custom CSS and the userRegister template override: `pprOjsPlugin/templates/frontend/pages/userRegister.tpl` + +**Issue Id:** Issue 022
+**Area:** Submission
+**Title:** Streamlining Submission Process with Checklist Integration
+**User Story:** As an author preparing to submit a research document, I want to double-check that I've included everything from the list on the "1. Start" tab in the submission process, ensuring the completeness and accuracy of my submission before finalizing it in the system. + +To enhance the submission process and ensure completeness and accuracy, we propose integrating the checklist from the "1. Start" tab into the confirmation page on the "4. Confirmation" tab. This integration will allow authors to double-check that they've included everything from the initial checklist before finalizing their submission in the system.
+**Toggle:** submissionConfirmationChecklistEnabled +**Implementation:** Implemented with template overrides: `pprOjsPlugin/templates/submission/form/step[1,4].tpl` + +**Issue Id:** Issue 023
+**Area:** Submission
+**Title:** Separate Fields for Institutional Position and Academic Department
+**User Story:** As a Managing editor, I need to understand who the author is to check for eligibility. I need to know about their institutional position and academic department. This will also help with reporting metrics. + +To improve program metrics reporting, assigning associate editors, and checking eligibility, we propose implementing two separate fields: Institutional Position and Academic Department. These will be included across three key areas: the user account profile, the contributor profile, and the registration profile.
+**Toggle:** userCustomFieldsEnabled +**Implementation:** This was implemented with the PPRUserCustomFieldsService service: `pprOjsPlugin/services/PPRUserCustomFieldsService.inc.php` + +**Issue Id:** Issue 024
+**Area:** Reviewer Process
+**Title:** Single Option for Type of Review for Double-Blinded Review Process
+**User Story:** As an Associate Editor, I require only one option for the type of review in our system, as our program strictly adheres to a double-blinded review process. The presence of multiple options poses a risk of accidentally disclosing the author's identity to the reviewer, which goes against our process guidelines. To ensure the integrity of our double-blinded review process, I propose simplifying the "Type of Review" options to include only "Anonymous Reviewer/Anonymous Author," removing the possibilities for "Anonymous Reviewer/Disclosed Author" and "Open." By streamlining the options, we can eliminate confusion and maintain the confidentiality crucial to our review process.
+**Toggle:** hideReviewMethodEnabled +**Implementation:** Implemented with template override: `pprOjsPlugin/templates/controllers/grid/users/reviewer/form/reviewerFormFooter.tpl` + +**Issue Id:** Issue 026
+**Area:** Workflow
+**Title:** Hide Publications Tab
+**User Story:** As a user, I expect the system to offer peer-review functionality without the option to publish articles exclusively. The presence of a Publications tab could lead to confusion among users.
+**Toggle:** N/A +**Implementation:** Not sure what this issue is. + +**Issue Id:** Issue 033
+**Area:** Submission
+**Title:** Hide the "Accept and Skip Review" Button
+**User Story:** As a managing editor, I ensure all submissions undergo peer review before acceptance. Removing the "Accept and Skip Review" option mitigates the risk of accidentally bypassing this crucial step.
+**Toggle:** N/A - Custom IQSS CSS is always included to OJS. +**Implementation:** Implemented with CSS, added selector to hie the Copyediting tab: `pprOjsPlugin/css/iqss.css` + +**Issue Id:** Issue 036
+**Area:** Review Process
+**Title:** Managing/Associate Editors Approval Process with Author's Reviewer List Visibility
+**User Story:** As a managing editor, I require visibility of the Author's "recommended reviewers" list to ensure all necessary information is included in the submission before proceeding to the "Send for Review" stage.
+**Toggle:** displaySuggestedReviewersEnabled +**Implementation:** Implemented with the PPRWorkflowService service: `pprOjsPlugin/services/PPRWorkflowService.inc.php` + +**Issue Id:** Issue 037
+**Area:** Submission
+**Title:** Dedicated Field for Authors to Direct Reviewer Attention
+**User Story:** As an Author, I need the capability to direct the Reviewer's attention to specific areas of my paper, facilitating a focused review process. This information should be visible to the Associate Editor responsible for assigning reviewers and any reviewers evaluating my paper. + +To address this need, we propose implementing a dedicated field titled "If you'd like to direct the reviewer's attention to any particular area of the paper, please describe it here." This field will seamlessly integrate into the Reviewer's workflow under the "3. Download & Review" tab. Additionally, it will be prominently displayed on the "Activity --> Review" tab for Associate/Managing Editors and Authors, ensuring clear communication and enhancing the review process for all stakeholders.
+**Toggle:** submissionCommentsForReviewerEnabled +**Implementation:** This is implemented using the PPRSubmissionCommentsForReviewerService to add the new custom field, a template override needed to display the new form field, and the PPRWorkflowService to add the field to the workflow page. + - PPRSubmissionCommentsForReviewerService service: `pprOjsPlugin/services/submission/PPRSubmissionCommentsForReviewerService.inc.php` + - PPRWorkflowService service: `pprOjsPlugin/services/PPRWorkflowService.inc.php` + +**Issue Id:** Issue 045
+**Area:** Reports
+**Title:** Customized IQSS Report for Program Metrics Tracking
+**User Story:** As a managing editor who runs the program, I need a report to show the process of different areas in the system to keep track of how the program is doing, which can be exported to Smartsheet for a dashboard. This feature entails the development of a customized report to track various metrics within the system, including the number of reviews completed, distinct authors, coauthors, published authors, published papers, submissions, review length, total papers (unique titles), reviewers' review time, and reviewers' response time.
+**Toggle:** N/A +**Implementation:** This is implemented with the `pprReviewsReportPlugin` code. This report is available throw the OJS UI. + +**Issue Id:** Issue 050
+**Area:** Review Process
+**Title:** Author's Institution Visibility on the Review Tab
+**User Story:** As a Managing Editor or Associate Editor, I need access to the author institution details on the review tab. This visibility will enable me to confirm that authors and assigned reviewers represent separate institutions.
+**Toggle:** displayContributorsEnabled +**Implementation:** The OJS author.affiliation field is being re-purpose as institution. This changes displays institution in the Contributors component. + - PPRWorkflowService service: `pprOjsPlugin/services/PPRWorkflowService.inc.php` + - PPRAuthorGridHandler service: `pprOjsPlugin/services/PPRAuthorGridHandler.inc.php` + - PPRAuthorGridCellProvider service: `pprOjsPlugin/services/PPRAuthorGridCellProvider.inc.php` + +**Issue Id:** Issue 052
+**Area:** Review Process
+**Title:** Author Coauthor Visibility on Review Tab
+**User Story:** As a Managing Editor or Associate Editor, I need access to the coauthor institution details on the review tab. This visibility will enable me to confirm that authors and assigned reviewers represent separate institutions.
+**Toggle:** displayContributorsEnabled +**Implementation:** This issue is to add the contributors component to the workflow pages, submissions and reviews. + - PPRWorkflowService service: `pprOjsPlugin/services/PPRWorkflowService.inc.php` + +**Issue Id:** Issue 055
+**Area:** Publication Tab
+**Title:** Hide Fields on the "Submission Details" Tab
+**User Story:** As a user, it can be confusing to see certain fields since we operate differently from a typical journal; we solely conduct peer reviews. Therefore, on the "Submission Details (Old Name Publication)" tab, we need to hide the following sections: Galleys, Permissions & Disclosures, and Issue.
+**Toggle:** N/A - Custom IQSS CSS is always included to OJS. +**Implementation:** Implemented with CSS, added selector to hie the Copyediting tab: `pprOjsPlugin/css/iqss.css` + +**Issue Id:** Issue 056
+**Area:** Profile
+**Title:** Hide the "Reviewing Interests" field on the User Profile
+**User Story:** As a user, I don't want to be asked about my reviewing interests because the authors and associate editors decide who to contact for reviews. Our platform differs from a regular journal, so this feature is unnecessary.
+**Toggle:** N/A +**Implementation:** It is not implemented. diff --git a/docs/Sphinx-guides/source/index.md b/docs/Sphinx-guides/source/index.md index 15ffa90..0b8c6c0 100644 --- a/docs/Sphinx-guides/source/index.md +++ b/docs/Sphinx-guides/source/index.md @@ -27,4 +27,5 @@ We have divided the documentation for this project into 4 different sections tha userGuide/index sysadminGuide/index developerGuide/index -features \ No newline at end of file +features +featureDescriptions \ No newline at end of file diff --git a/pprOjsPlugin/css/iqss.css b/pprOjsPlugin/css/iqss.css index c3d2f7c..8ab0d45 100644 --- a/pprOjsPlugin/css/iqss.css +++ b/pprOjsPlugin/css/iqss.css @@ -1,6 +1,6 @@ /** - HIDE COPYEDITING AND PRODUCTION TABS + HIDE COPYEDITING (ISSUE 013) AND PRODUCTION TABS */ #stageTabs li.stageId4.ui-tab { display: none; @@ -13,6 +13,7 @@ /** PUBLICATION HIDE TABS + ISSUE 055 */ div.pkpPublication .pkpTabs__buttons #contributors-button { display: none; @@ -69,6 +70,7 @@ button.-linkButton.listPanel--submissionFiles__setGenreButton:nth-last-child(1) /** WORKFLOW - SUBMISSION HIDE ACCEPT AND SKIP REVIEW BUTTON - NOT REQUIRED BY PPR + ISSUE 033 */ #submissionWorkflow #editorialActions a.pkp_linkaction_accept { display: none; @@ -284,3 +286,10 @@ span.ppr-attachments-sent { fieldset#submissionSpecific ul.checkbox_and_radiobutton > li:last-child { display: none; } + +/* To hide notification/reviewer interest opt-in */ +form#register .optin-email, +form#register #reviewerOptinGroup +{ + display: none; +} diff --git a/pprOjsPlugin/services/PPRAuthorGridCellProvider.inc.php b/pprOjsPlugin/services/PPRAuthorGridCellProvider.inc.php index 23528f9..7322f78 100644 --- a/pprOjsPlugin/services/PPRAuthorGridCellProvider.inc.php +++ b/pprOjsPlugin/services/PPRAuthorGridCellProvider.inc.php @@ -4,6 +4,8 @@ /** * This is based on PKPAuthorGridCellProvider + * + * Issue 050 */ class PPRAuthorGridCellProvider extends DataObjectGridCellProvider { diff --git a/pprOjsPlugin/services/PPRAuthorGridHandler.inc.php b/pprOjsPlugin/services/PPRAuthorGridHandler.inc.php index b7df6ee..3b88e16 100644 --- a/pprOjsPlugin/services/PPRAuthorGridHandler.inc.php +++ b/pprOjsPlugin/services/PPRAuthorGridHandler.inc.php @@ -5,6 +5,8 @@ /** * Custom AuthorGridHandler to control the columns that are displayed in the contributors component + * + * Issue 050 */ class PPRAuthorGridHandler extends AuthorGridHandler { diff --git a/pprOjsPlugin/services/PPRUserCustomFieldsService.inc.php b/pprOjsPlugin/services/PPRUserCustomFieldsService.inc.php index 3c11bd2..5cd4b36 100644 --- a/pprOjsPlugin/services/PPRUserCustomFieldsService.inc.php +++ b/pprOjsPlugin/services/PPRUserCustomFieldsService.inc.php @@ -2,6 +2,8 @@ /** * Service to manage the new user/author custom fields required for PPR + * + * Issue 023 */ class PPRUserCustomFieldsService { const CATEGORY_DROPDOWN = 'categories'; diff --git a/pprOjsPlugin/services/PPRWorkflowService.inc.php b/pprOjsPlugin/services/PPRWorkflowService.inc.php index 623ba28..52930b3 100644 --- a/pprOjsPlugin/services/PPRWorkflowService.inc.php +++ b/pprOjsPlugin/services/PPRWorkflowService.inc.php @@ -3,6 +3,8 @@ /** * Service to add/update components in the OJS workflow page * Workflow page controls the submission and review workflows + * + * Issue 036, Issue 037, Issue 050, Issue 052 */ class PPRWorkflowService { private $pprPlugin; @@ -16,6 +18,7 @@ function register() { } if ($this->pprPlugin->getPluginSettings()->submissionCommentsForReviewerEnabled()) { + //ISSUE 037 HookRegistry::register('Template::Workflow', array($this, 'addCommentsForReviewerToWorkflow')); } @@ -24,11 +27,13 @@ function register() { } if ($this->pprPlugin->getPluginSettings()->displayContributorsEnabled()) { + // ISSUE 050, ISSUE 052 HookRegistry::register('Template::Workflow', array($this, 'addContributorsToWorkflow')); HookRegistry::register('LoadComponentHandler', array($this, 'addPPRAuthorGridHandler')); } if ($this->pprPlugin->getPluginSettings()->displaySuggestedReviewersEnabled()) { + //ISSUE 036 HookRegistry::register('Template::Workflow', array($this, 'addSuggestedReviewersToWorkflow')); } } diff --git a/pprOjsPlugin/services/email/PPRReviewReminderEmailService.inc.php b/pprOjsPlugin/services/email/PPRReviewReminderEmailService.inc.php index 21e4795..8baefaa 100644 --- a/pprOjsPlugin/services/email/PPRReviewReminderEmailService.inc.php +++ b/pprOjsPlugin/services/email/PPRReviewReminderEmailService.inc.php @@ -10,9 +10,11 @@ class PPRReviewReminderEmailService { const TEMPLATE = 'PPR_REVIEW_REQUEST_DUE_DATE_REVIEWER'; private $pprPlugin; + private $pprObjectFactory; - public function __construct($plugin) { + public function __construct($plugin, $pprObjectFactory = null) { $this->pprPlugin = $plugin; + $this->pprObjectFactory = $pprObjectFactory ?: new PPRObjectFactory(); } function register() { @@ -27,15 +29,7 @@ function reviewReminderDisplay($hookName, $arguments) { $reviewAssignment = $reviewReminderForm->getReviewAssignment(); // ADD name and firstName AS A LABELS FOR REVIEWER, AUTHOR, AND EDITOR IN THE EMAIL BODY IN THE FORM - $templateMgr = TemplateManager::getManager(Application::get()->getRequest()); - $emailVariables = $templateMgr->getTemplateVars('emailVariables'); - $emailVariables['reviewerName'] = __('review.ppr.reviewer.name.label'); - $emailVariables['reviewerFirstName'] = __('review.ppr.reviewer.firstName.label'); - $emailVariables['authorName'] = __('review.ppr.author.name.label'); - $emailVariables['authorFirstName'] = __('review.ppr.author.firstName.label'); - $emailVariables['editorName'] = __('review.ppr.editor.name.label'); - $emailVariables['editorFirstName'] = __('review.ppr.editor.firstName.label'); - $templateMgr->assign('emailVariables', $emailVariables); + $this->pprObjectFactory->firstNamesManagementService()->addFirstNameLabelsToTemplate('emailVariables'); if (!$reviewAssignment->getDateConfirmed()) { import('lib.pkp.classes.mail.MailTemplate'); diff --git a/pprOjsPlugin/services/submission/PPRSubmissionCommentsForReviewerService.inc.php b/pprOjsPlugin/services/submission/PPRSubmissionCommentsForReviewerService.inc.php index 267c730..1e556eb 100644 --- a/pprOjsPlugin/services/submission/PPRSubmissionCommentsForReviewerService.inc.php +++ b/pprOjsPlugin/services/submission/PPRSubmissionCommentsForReviewerService.inc.php @@ -4,6 +4,8 @@ * Service to add the commentsForReviewer custom field to the create submission > metadata form * * This services adds the custom field to the create review form for the reviewer + * + * Issue 037 */ class PPRSubmissionCommentsForReviewerService { const COMMENTS_FOR_REVIEWER_FIELD = 'commentsForReviewer'; diff --git a/pprOjsPlugin/templates/controllers/grid/users/reviewer/form/reviewerFormFooter.tpl b/pprOjsPlugin/templates/controllers/grid/users/reviewer/form/reviewerFormFooter.tpl index b7c8120..11f89d6 100644 --- a/pprOjsPlugin/templates/controllers/grid/users/reviewer/form/reviewerFormFooter.tpl +++ b/pprOjsPlugin/templates/controllers/grid/users/reviewer/form/reviewerFormFooter.tpl @@ -53,7 +53,7 @@ {if $pprPluginSettings->hideReviewMethodEnabled()} - {** PPR - DEFAULT TO DOUBLE ANONYMOUS **} + {** PPR - DEFAULT TO DOUBLE ANONYMOUS - ISSUE 024 **} {else} {fbvFormSection list=true title="editor.submissionReview.reviewType"} diff --git a/pprOjsPlugin/templates/frontend/pages/userRegister.tpl b/pprOjsPlugin/templates/frontend/pages/userRegister.tpl index 46adf84..64a1dcb 100644 --- a/pprOjsPlugin/templates/frontend/pages/userRegister.tpl +++ b/pprOjsPlugin/templates/frontend/pages/userRegister.tpl @@ -36,7 +36,7 @@ } - + {capture assign="eligibilityPageUrl"}{url router=$smarty.const.ROUTE_PAGE page='Eligibility' escape=false}{/capture} diff --git a/pprOjsPlugin/templates/submission/form/step1.tpl b/pprOjsPlugin/templates/submission/form/step1.tpl index d46e383..df272e1 100644 --- a/pprOjsPlugin/templates/submission/form/step1.tpl +++ b/pprOjsPlugin/templates/submission/form/step1.tpl @@ -31,7 +31,7 @@ {include file="submission/form/categories.tpl"} - {* PPR SUBMISSION CHECKLIST OVERRIDE *} + {* PPR SUBMISSION CHECKLIST OVERRIDE - ISSUE 022 *} {* REMOVE CHECKBOXES => JUST DISPLAY THE CHECKLIST *} {if $currentContext->getLocalizedData('submissionChecklist')} {fbvFormSection list="true" label="submission.submit.submissionChecklist" description="submission.submit.submissionChecklistDescription" id="ppr_start_submissionChecklist"} diff --git a/pprOjsPlugin/templates/submission/form/step4.tpl b/pprOjsPlugin/templates/submission/form/step4.tpl index 7fdb653..bb1d36f 100644 --- a/pprOjsPlugin/templates/submission/form/step4.tpl +++ b/pprOjsPlugin/templates/submission/form/step4.tpl @@ -15,7 +15,7 @@ {** - PPR REQUIREMENT TO ADD SUBMISSION CHECKLIST TO THE CONFIRMATION PAGE + PPR REQUIREMENT TO ADD SUBMISSION CHECKLIST TO THE CONFIRMATION PAGE - ISSUE 022 *} {* Submission checklist *} {if $currentContext->getLocalizedData('submissionChecklist')} diff --git a/pprReviewsReportPlugin/PPRReviewsReportPlugin.inc.php b/pprReviewsReportPlugin/PPRReviewsReportPlugin.inc.php index b6e1ad0..af7bbff 100644 --- a/pprReviewsReportPlugin/PPRReviewsReportPlugin.inc.php +++ b/pprReviewsReportPlugin/PPRReviewsReportPlugin.inc.php @@ -4,6 +4,8 @@ /** * PPR Submission and Review report plugin + * + * Issue 045 */ class PPRReviewsReportPlugin extends ReportPlugin {