-
Notifications
You must be signed in to change notification settings - Fork 443
-
Notifications
You must be signed in to change notification settings - Fork 443
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
CrossRef and DOI UI/UX quality of life improvements #6062
Comments
Looks good, Erik! I haven't looked at the code, but here are a few suggestions for the UI/UX.
The most common action here will be to go in and deposit all outstanding DOIs, right? I'm always nervous about Select All features because those only work for the items in the list, but users don't always clearly understand that there may be additional items in other pages that are not included in the action. We also can end up with submissions falling through pagination gaps as they select all in one page, deposit, go to the next page and repeat. In the time between depositing one page, and loading the next page, the count can change, so that a submission moved from page 2 to page 1. That submission will not get deposited because the user thinks they've already done everything on page 1. If we think the most common desired action is to deposit all outstanding DOIs, let's make an action that does that. Here's an example of how that can work: In terms of the design/layout, I think we're in danger of having too much button clutter at the top. Here are some ideas to consolidate controls and reduce cognitive load. Consider moving the select/actions stuff into a single control. The way that it is done now, the Actions don't appear to be related to the Selected items. Here's what that might look like: And lastly, there's always an option to show filters by default. This can reduce the number of buttons at the top. And my guess is that managers will rarely want to use the default view. They'll want to be looking for published submissions or filter by issues. |
I forgot to add that you can see the hacking I did for these suggestions at NateWr/ui-library@d6c0273 |
Last one, I swear! I notice that the list includes incomplete submissions. These can probably be removed (pass a false |
Thanks, @NateWr! This all sounds great and is really helpful. I'll work on getting this implemented and ping you once it's done. |
Hi @ewhanson, I have taken a look into the code and everything looks very good for me (a lot of things are also new for me, but as far as I could see it for now...). Great work! ⭐ |
Hi @NateWr, I've gone through and updated the UI aspects of the the DOI Management page based on your feedback. Would you be able to have a look. Here are a few notes on the changes. Thanks!
The drafts PRs are the same as before. |
Hi @bozana, thanks so much for the feedback! And sorry for taking so long to get back to it. For your first question, right now the import/export plugins are not loaded by default, only the generic and pubId plugins are (hence the messy work around). This came up before in #5467, which resulted the pubId plugins being loaded from the beginning alongside the generic ones. One solution that we talked about before would be to create a generic plugin wrapper around the current Crossref import/export plugin so that it would be loaded at the beginning. What are your thought on that idea? Regarding assigning DOIs to different versions of the article, based on feedback from Mike Nason, the goal right now is to remove the ability for editors to assign different DOIs to different versions (this will be removed from the identifiers tab). Based on the workflow Mike outlined to me, when a new version of a publication is created, the metadata (including information about the update) should be pushed to Crossref to update the existing DOI. I don’t think adding this in to OJS specifically makes sense quite yet, but this type of functionality will be necessary if the new DOI Management page is going to be used with OPS in the future. How does all that sound to you? |
I'm sympathetic to @AhemNason's position, but at the Barcelona sprint it was clear that there is not agreement on this point (cc @mtub). Some institutions will want/expect to be able to assign a different DOI to different versions. The current DOI assignment UI was designed to discourage but permit this. I'll keep this in mind during my review and see if there is some way that we can work this into the new UI, while still discouraging it as a normal practice. |
Thanks for the context @NateWr. That's helpful to know. I'll take a look at adding support for that on the export/depositing side of things. |
It wasn't just my opinion. It was Crossref's. |
Multiple versions of pre-prints is recommended. Using Crossmark for DOIs for published articles is recommended. |
Looks good @ewhanson! A lot of work here and it's coming along great.
Yes, I agree. I think the list should load with only published items and "unpublished" should be a filter that can be toggled on/off. Also, it should not be possible to deposit unpublished items. In fact, for the first release of this, I'd be happy if unpublished items were just ignored completely.
Got it. Either way, we'll need to map the status string, like Here's a quick mockup that shows how that might work, as well as how we can provide access to editing other versions when needed: The Crossref box should change depending on the status:
This is going to be challenging, because the save status and other things all need to happen inline. Let's talk about this some more once we've talked about the nested components thing I talk about here. But one idea is to move the saving out of the individual DOI field and use a UI more like this: Here are some additional things to address/discuss:
|
Hey @asmecher and @NateWr, I'm working on setting up an API call for handling the exporting/depositing actions for the Crossref plugin and ran into an issue. I'm using a custom API endpoint to trigger the exporting/depositing logic from if ($issue->getDatePublished() && $issue->getStoredPubId('doi')) {
$request = Application::get()->getRequest();
$journalIssueNode->appendChild($this->createDOIDataNode($doc, $issue->getStoredPubId('doi'), $request->url($context->getPath(), 'issue', 'view', $issue->getBestIssueId($context), null, null, true)));
} The request in this case is coming from the Any advice on how to approach handling this from within an API call or starting a new request to handle the exporting/depositing? Thanks! |
@ewhanson, OJS picks a router if you don't specify one, and in this case it picked the API router when you actually want to generate a page router URL. You can manually specify what kind of router you need as follows:
|
Thanks @asmecher, that's exactly what I was looking for! |
WIP: pkp#6062 DOI refactor WIP: Implement deposit error and registration message in abstract way [abedc40] WIP: Implement Crossref registration with EntityDAO-based DOI [2a33637] WIP: Implement markRegistered functionality [927a8de] WIP: Integrate EntityDAO-based DOI filtering in UI [f7c8804] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [f027f88] WIP: Fixes for backend DoiListPanel actions [fdc9798] Make EntityDAO-based DOIs editable from UI [bf78eae] Move DOI management out of plugin [e2611c0] Move DOI constants to Repo [de9a2c1] Fix minor typos [d4eb084] Add ArticleGalley DOIs [90084f2] WIP: pkp#6062 DOI refactor [7591768] Add DOI settings to context via workflow [14049d3] Update DOI entity to use new design pattern [e230a61] Add beginnings of new DOI entity [7921a9b] Add DOI API Handler [e49457b] Add DOI management Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Update DOI-related constants for Vue components Move DOI settings to Context and inject Context objects where necessary rather than getting from request. Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Add assign DOIs endpoints for submissions and issues Refactor bulk actions and add DOI assignment Add automatic DOI generation in various workflow stages Break DOI settings out into separate forms and add to DOI management/distribution page. Fix variable typo WIP: pkp-lib code review fixes Simplify IDoiRegistrationAgency interface Rename DOI object stored on pubObjects to 'doiObject' to avoid ambiguity between 'doi' (object) and 'doi' (string) Remove unused collection filter WIP: Code review refactoring WIP: More code review refactoring WIP: Code review changes Simplify submission getByPubId call More WIP on pkp-lib code review WIP: Add deposit all via queued jobs WIP: Update deposit queue query DOI registration agency enabling work WIP: Refactor to enable Datacite functionality Cleanup after rebase Work through TODOs Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items WIP: DOI-related migrations Add Crossref migrations Bug fixes from DOI/Crossref test writing Wrap up first round code review changes Update DOI validation checks WIP: OMP DOI refactor WIP: Implement new DOI requirements WIP: OMP refactor WIP: OJS code review changes and further ui-lib implementation WIP: OMP BackendDoiHandler implementation WIP: OMP assign DOIs/return doiObjects in API WIP: Add filtering, mark registered, manual DOI assignment WIP: Update references to DOIs throughout OMP WIP: Refactor around DOI automatic deposit/bulk deposit WIP: Edits based on code review Move generic DOI API messages to pkp-lib Add default value 'none' for registration agency
WIP: pkp/pkp-lib#6062 DOI refactor WIP: Implement deposit error and registration message in abstract way [a6d7dd5] WIP: Implement Crossref registration with EntityDAO-based DOI [93f5023] WIP: Implement markRegistered functionality [4ff3e25] WIP: Integrate EntityDAO-based DOI filtering in UI [269ee5d] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [19f6233] Move DOI management out of plugin Add DOI settings to context via workflow [804c2ff] Update to work with Services replacement [4e22f9f] Apply code formatting and updates to use DOI API endpoints [daeb584] Add beginnings of DOI API endpoints and centralized depositing management [291f85d] Remove Crossref specific DOI management tasks to CrossrefPlugin [041b997] Fix typos [aa00967] Update CrossrefSettingsForm to work always work with CrossrefExportPlugin [30ada49] Refactor for namespaces/constants [c60f962] Add missing use statement [3f9fe02] Add implementation of importexport abstract methods [f764883] pkp/pkp-lib#6062 Convert to generic plugin Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Simplify IDoiRegistrationAgency interface WIP: More code review refactoring WIP: Code review changes Setup Crossref plugin configuration checks Update string localization WIP: Add deposit all via queued jobs DOI registration agency enabling work WIP: Refactor to enable Datacite functionality Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items Wrap up first round code review changes Update filter class names WIP: Edits based on code review Update with OPS-related changes
WIP: pkp/pkp-lib#6062 DOI refactor WIP: Implement deposit error and registration message in abstract way [a6d7dd5] WIP: Implement Crossref registration with EntityDAO-based DOI [93f5023] WIP: Implement markRegistered functionality [4ff3e25] WIP: Integrate EntityDAO-based DOI filtering in UI [269ee5d] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [19f6233] Move DOI management out of plugin Add DOI settings to context via workflow [804c2ff] Update to work with Services replacement [4e22f9f] Apply code formatting and updates to use DOI API endpoints [daeb584] Add beginnings of DOI API endpoints and centralized depositing management [291f85d] Remove Crossref specific DOI management tasks to CrossrefPlugin [041b997] Fix typos [aa00967] Update CrossrefSettingsForm to work always work with CrossrefExportPlugin [30ada49] Refactor for namespaces/constants [c60f962] Add missing use statement [3f9fe02] Add implementation of importexport abstract methods [f764883] pkp/pkp-lib#6062 Convert to generic plugin Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Simplify IDoiRegistrationAgency interface WIP: More code review refactoring WIP: Code review changes Setup Crossref plugin configuration checks Update string localization WIP: Add deposit all via queued jobs DOI registration agency enabling work WIP: Refactor to enable Datacite functionality Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items Wrap up first round code review changes Update filter class names WIP: Edits based on code review Update with OPS-related changes
WIP: pkp/pkp-lib#6062 Doi refactor Squashed commits: [b50cdb5] WIP: Implement deposit error and registration message in abstract way [57b31bd] WIP: Implement Crossref registration with EntityDAO-based DOI [190e7eb] WIP: Implement markRegistered functionality [887d54f] WIP: Integrate EntityDAO-based DOI filtering in UI [1dd487e] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [ba58e43] WIP: Fixes for backend DoiListPanel actions [3a2a483] Make EntityDAO-based DOIs editable from UI [e52cdd7] Move DOI management out of plugin [2af4f4c] Move DOI constants to Repo [0e24686] Add ArticleGalley DOIs [04b14adc1c] Add DOI settings to context via workflow [d53361d2a8] Update DOI entity to use new design pattern [0d8aab007a] Add needed userGroup info to articles fetched from an issue [33de1b0765] Further integration work between DOI Management and DOI API endpoints [5e78c37169] Add beginnings of DOI API endpoints and centralized depositing management [c264c38eee] Remove Crossref specific DOI management tasks to CrossrefPlugin [0a636cf409] Update namespace and constants in DOIManagementHandler [bb30c95c27] Add use statement [43218fb4f6] Add implementation of importexport abstract methods [6848302782] Move Crossref plugin submodule to plugins/generic folder [03ce5b0eea] pkp/pkp-lib#6062 Add DOI management Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Submodule update WIP: Move more DOI functionality out of plugins Move DOI settings to Context and inject Context objects where necessary rather than getting from request. Add initial migration code Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Add assign DOIs endpoints for submissions and issues Refactor bulk actions and add DOI assignment Add automatic DOI generation in various workflow stages Break DOI settings out into separate forms and add to DOI management/distribution page. Simplify IDoiRegistrationAgency interface Rename DOI object stored on pubObjects to 'doiObject' to avoid ambiguity between 'doi' (object) and 'doi' (string) WIP: Code review refactoring WIP: More code review refactoring WIP: Code review changes Setup Crossref plugin configuration checks Simplify submission getByPubId call More WIP on pkp-lib code review WIP: Add deposit all via queued jobs WIP: Update deposit queue query WIP: Refactor to enable Datacite functionality Cleanup after rebase Work through TODOs Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items WIP: DOI-related migrations Add Crossref migrations Add Datacite migrations and small Crossref fixes WIP: DOI/Crossref Cypress tests WIP: Crossref testing WIP: Crossref testing, cont. Bug fixes from DOI/Crossref test writing Wrap up first round code review changes Update Crossref test to work with export file download check WIP: OMP refactor Harmonize edit doi_id after publication endpoints across all pub objects WIP: Code review and OMP related updates WIP: Changes based on OMP pkp-lib changes Rename 'issueBased' to 'defaultPattern' in DOI migration DOI test style edits WIP: Edits based on code review Update with OPS-related changes Add missing semicolon
WIP: pkp#6062 DOI refactor WIP: Implement deposit error and registration message in abstract way [abedc40] WIP: Implement Crossref registration with EntityDAO-based DOI [2a33637] WIP: Implement markRegistered functionality [927a8de] WIP: Integrate EntityDAO-based DOI filtering in UI [f7c8804] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [f027f88] WIP: Fixes for backend DoiListPanel actions [fdc9798] Make EntityDAO-based DOIs editable from UI [bf78eae] Move DOI management out of plugin [e2611c0] Move DOI constants to Repo [de9a2c1] Fix minor typos [d4eb084] Add ArticleGalley DOIs [90084f2] WIP: pkp#6062 DOI refactor [7591768] Add DOI settings to context via workflow [14049d3] Update DOI entity to use new design pattern [e230a61] Add beginnings of new DOI entity [7921a9b] Add DOI API Handler [e49457b] Add DOI management Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Update DOI-related constants for Vue components Move DOI settings to Context and inject Context objects where necessary rather than getting from request. Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Add assign DOIs endpoints for submissions and issues Refactor bulk actions and add DOI assignment Add automatic DOI generation in various workflow stages Break DOI settings out into separate forms and add to DOI management/distribution page. Fix variable typo WIP: pkp-lib code review fixes Simplify IDoiRegistrationAgency interface Rename DOI object stored on pubObjects to 'doiObject' to avoid ambiguity between 'doi' (object) and 'doi' (string) Remove unused collection filter WIP: Code review refactoring WIP: More code review refactoring WIP: Code review changes Simplify submission getByPubId call More WIP on pkp-lib code review WIP: Add deposit all via queued jobs WIP: Update deposit queue query DOI registration agency enabling work WIP: Refactor to enable Datacite functionality Cleanup after rebase Work through TODOs Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items WIP: DOI-related migrations Add Crossref migrations Bug fixes from DOI/Crossref test writing Wrap up first round code review changes Update DOI validation checks WIP: OMP DOI refactor WIP: Implement new DOI requirements WIP: OMP refactor WIP: OJS code review changes and further ui-lib implementation WIP: OMP BackendDoiHandler implementation WIP: OMP assign DOIs/return doiObjects in API WIP: Add filtering, mark registered, manual DOI assignment WIP: Update references to DOIs throughout OMP WIP: Refactor around DOI automatic deposit/bulk deposit WIP: Edits based on code review Move generic DOI API messages to pkp-lib Add default value 'none' for registration agency
WIP: pkp#6062 DOI refactor WIP: Implement deposit error and registration message in abstract way [abedc40] WIP: Implement Crossref registration with EntityDAO-based DOI [2a33637] WIP: Implement markRegistered functionality [927a8de] WIP: Integrate EntityDAO-based DOI filtering in UI [f7c8804] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [f027f88] WIP: Fixes for backend DoiListPanel actions [fdc9798] Make EntityDAO-based DOIs editable from UI [bf78eae] Move DOI management out of plugin [e2611c0] Move DOI constants to Repo [de9a2c1] Fix minor typos [d4eb084] Add ArticleGalley DOIs [90084f2] WIP: pkp#6062 DOI refactor [7591768] Add DOI settings to context via workflow [14049d3] Update DOI entity to use new design pattern [e230a61] Add beginnings of new DOI entity [7921a9b] Add DOI API Handler [e49457b] Add DOI management Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Update DOI-related constants for Vue components Move DOI settings to Context and inject Context objects where necessary rather than getting from request. Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Add assign DOIs endpoints for submissions and issues Refactor bulk actions and add DOI assignment Add automatic DOI generation in various workflow stages Break DOI settings out into separate forms and add to DOI management/distribution page. Fix variable typo WIP: pkp-lib code review fixes Simplify IDoiRegistrationAgency interface Rename DOI object stored on pubObjects to 'doiObject' to avoid ambiguity between 'doi' (object) and 'doi' (string) Remove unused collection filter WIP: Code review refactoring WIP: More code review refactoring WIP: Code review changes Simplify submission getByPubId call More WIP on pkp-lib code review WIP: Add deposit all via queued jobs WIP: Update deposit queue query DOI registration agency enabling work WIP: Refactor to enable Datacite functionality Cleanup after rebase Work through TODOs Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items WIP: DOI-related migrations Add Crossref migrations Bug fixes from DOI/Crossref test writing Wrap up first round code review changes Update DOI validation checks WIP: OMP DOI refactor WIP: Implement new DOI requirements WIP: OMP refactor WIP: OJS code review changes and further ui-lib implementation WIP: OMP BackendDoiHandler implementation WIP: OMP assign DOIs/return doiObjects in API WIP: Add filtering, mark registered, manual DOI assignment WIP: Update references to DOIs throughout OMP WIP: Refactor around DOI automatic deposit/bulk deposit WIP: Edits based on code review Move generic DOI API messages to pkp-lib Add default value 'none' for registration agency
WIP: pkp/pkp-lib#6062 Doi refactor Squashed commits: [b50cdb5] WIP: Implement deposit error and registration message in abstract way [57b31bd] WIP: Implement Crossref registration with EntityDAO-based DOI [190e7eb] WIP: Implement markRegistered functionality [887d54f] WIP: Integrate EntityDAO-based DOI filtering in UI [1dd487e] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [ba58e43] WIP: Fixes for backend DoiListPanel actions [3a2a483] Make EntityDAO-based DOIs editable from UI [e52cdd7] Move DOI management out of plugin [2af4f4c] Move DOI constants to Repo [0e24686] Add ArticleGalley DOIs [04b14adc1c] Add DOI settings to context via workflow [d53361d2a8] Update DOI entity to use new design pattern [0d8aab007a] Add needed userGroup info to articles fetched from an issue [33de1b0765] Further integration work between DOI Management and DOI API endpoints [5e78c37169] Add beginnings of DOI API endpoints and centralized depositing management [c264c38eee] Remove Crossref specific DOI management tasks to CrossrefPlugin [0a636cf409] Update namespace and constants in DOIManagementHandler [bb30c95c27] Add use statement [43218fb4f6] Add implementation of importexport abstract methods [6848302782] Move Crossref plugin submodule to plugins/generic folder [03ce5b0eea] pkp/pkp-lib#6062 Add DOI management Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Submodule update WIP: Move more DOI functionality out of plugins Move DOI settings to Context and inject Context objects where necessary rather than getting from request. Add initial migration code Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Add assign DOIs endpoints for submissions and issues Refactor bulk actions and add DOI assignment Add automatic DOI generation in various workflow stages Break DOI settings out into separate forms and add to DOI management/distribution page. Simplify IDoiRegistrationAgency interface Rename DOI object stored on pubObjects to 'doiObject' to avoid ambiguity between 'doi' (object) and 'doi' (string) WIP: Code review refactoring WIP: More code review refactoring WIP: Code review changes Setup Crossref plugin configuration checks Simplify submission getByPubId call More WIP on pkp-lib code review WIP: Add deposit all via queued jobs WIP: Update deposit queue query WIP: Refactor to enable Datacite functionality Cleanup after rebase Work through TODOs Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items WIP: DOI-related migrations Add Crossref migrations Add Datacite migrations and small Crossref fixes WIP: DOI/Crossref Cypress tests WIP: Crossref testing WIP: Crossref testing, cont. Bug fixes from DOI/Crossref test writing Wrap up first round code review changes Update Crossref test to work with export file download check WIP: OMP refactor Harmonize edit doi_id after publication endpoints across all pub objects WIP: Code review and OMP related updates WIP: Changes based on OMP pkp-lib changes Rename 'issueBased' to 'defaultPattern' in DOI migration DOI test style edits WIP: Edits based on code review Update with OPS-related changes Add missing semicolon
I'd like to suggest splitting in three the current option of the CrossRef plugin to enable DOI for (all) galleys: Option (a) is more common in commercial publishing, where additional DOIs would be registered for supplementary materials (meaning appendices to the article main body) only if they are expected to be specifically linked to from the article main body. Examples are additional tables or figures or a detailed methods section too large for the main body. Supplementary materials are special also because sometimes they are indexed for citation analysis ("Use and mis-use of supplementary material in science publications"[1]). Option (b) could be disabled by default. We shouldn't be encouraging the assignment of additional DOIs for each file format (PDF, HTML, XML) of the article main body (full "text" plus display items, such as figures and tables). It may create confusion, as normally users should be citing the landing page, not a specific file format. At least for CrossRef, one should "Ensure that your DOI links resolve to a landing page."[2] Option (c) are items already included in the article main body, such as figures and tables with regular numbering (Fig. 1, Tab. 1), not supplementary numbering (Fig. S1, Tab. S1). I think it could be disabled by default. Notice I've avoided the term "component", as it has a narrower meaning in the context of CrossRef:[3]
I thought the present issue #6062 would be a good opportunity to disentangle these three types of galleys currently lumped together in the CrossRef plugin: (a) supplementary materials, (b) different file formats of the main body, and (c) specific items in the main body. |
@fgnievinski I've created a new issue for this suggestion, because Erik is almost done with this one and when he merges the proposed changes we'll close this issue. You can find the new issue at #7666, and I'll leave an additional comment there. |
WIP: pkp/pkp-lib#6062 DOI refactor WIP: Implement deposit error and registration message in abstract way [a6d7dd5] WIP: Implement Crossref registration with EntityDAO-based DOI [93f5023] WIP: Implement markRegistered functionality [4ff3e25] WIP: Integrate EntityDAO-based DOI filtering in UI [269ee5d] WIP: Integrate EntityDAO-based DOIs into UI and remove Crossref specific references [19f6233] Move DOI management out of plugin Add DOI settings to context via workflow [804c2ff] Update to work with Services replacement [4e22f9f] Apply code formatting and updates to use DOI API endpoints [daeb584] Add beginnings of DOI API endpoints and centralized depositing management [291f85d] Remove Crossref specific DOI management tasks to CrossrefPlugin [041b997] Fix typos [aa00967] Update CrossrefSettingsForm to work always work with CrossrefExportPlugin [30ada49] Refactor for namespaces/constants [c60f962] Add missing use statement [3f9fe02] Add implementation of importexport abstract methods [f764883] pkp/pkp-lib#6062 Convert to generic plugin Enable DOIs for Issues Make DOI interaction generic at pkp-lib level for reuse WIP: Move DOI functionality out of plugins WIP: Move more DOI functionality out of plugins Add in route-based export and mark registered for submissions and issues Add issue and submission depositing flow + Crossref implementation Remove old deposit/export code Update API flow for export actions between backend and UI Simplify IDoiRegistrationAgency interface WIP: More code review refactoring WIP: Code review changes Setup Crossref plugin configuration checks Update string localization WIP: Add deposit all via queued jobs DOI registration agency enabling work WIP: Refactor to enable Datacite functionality Add TemporaryFile-based DOI XML export downloads Disallow deposits/exports for unpublished items Wrap up first round code review changes Update filter class names WIP: Edits based on code review Update with OPS-related changes
Are we planing to provide any help message when validation errors occur? Does this maybe belong to the TO-DO "Improve DOI submission error feedback" listed above? |
@bozana, we capture the error response from Crossref and set an "error" status on the DOI. The DOI management UI then provides a button to view the error message when a deposit has failed. This is just the XML error message from Crossref, so not always very user friendly, but it's a first step. |
Thanks a lot @NateWr. In my case: I wanted to export an XML file and got the message that validation error occurred. I am not sure if the validation also happens before the registration with Crossref -- earlier it was so... I then needed to take a look at the XML file in the temp/ folder to see what is wrong... I think in my case the DOI was not assigned to that object at all. The status was 'Unregistered', so maybe this might/should be differentiated too? |
Ahh, I'm not sure how validation errors are handled with the XML export option. |
Hey folks, I just wanted to break down the error message and what's useful for us and what's useful for Crossref when helping someone with support. Of the stuff present here, the biggest one is the error itself, obviously. I don't know that we have, necessarily, easier or more user-friendly ways to represent this data but, I could probably create a list of "layman's terms" answers for common problems and we could match against the error language, if that sounds amenable to folks. The only other big pieces here are the submission ID and the batch ID. Probably also timestamp. If we could change the error modal to have like...
To answer bozana's other question, validation can happen before deposit if you've selected the "validate xml" checkbox. This is like a sanity check before deposit or export. It will tell you if something is invalid before an attempt at a deposit. |
Thanks @AhemNason. I know it was so earlier, but with the new changes I do not know when it happens -- I would need to take a deeper look in the code... Those validation errors are 'impossible' to make user friendly :-( -- It can be anything... But... |
Could Crossref perhaps be of assistance in pushing us less wild error messages somehow? |
All steps outlined in this meta issue have been addressed! 🎉 |
Outline of changes to be made to the CrossRef and DOI plugins to improve the usability of the CrossRef plugin and DOI management workflows.
DOI Tasks
CrossRef Tasks
The text was updated successfully, but these errors were encountered: