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

Relax editing metadata on published/posted materials #10263

Open
asmecher opened this issue Jul 31, 2024 · 7 comments · May be fixed by #10335 or pkp/ui-library#398
Open

Relax editing metadata on published/posted materials #10263

asmecher opened this issue Jul 31, 2024 · 7 comments · May be fixed by #10335 or pkp/ui-library#398
Assignees
Milestone

Comments

@asmecher
Copy link
Member

Describe the bug
Currently, when content is published/posted in OJS/OMP/OPS, editors are restricted from making further changes:
image

In practice, however, editors want the ability to tweak/edit metadata in published content. This has led to anti-patterns like unpublish/edit/republish cycles.

In OMP, there is an additional problem, where certain data on Publication Formats can't be accessed/reviewed because the edit links disappear once the content is published.

Accepting that editors are going to want to tweak metadata after publication, we should keep the warning message present, but stop restricting edits. We should trust the editors to understand the implications of making edits, but not try to prevent it.

@asmecher asmecher added this to the 3.5.0 LTS milestone Jul 31, 2024
@Hafsa-Naeem Hafsa-Naeem self-assigned this Jul 31, 2024
@ewhanson
Copy link
Collaborator

We had previously relied on the act of publishing (e.g. Repo::publication()->publish()) to indicate that metadata (new or changed) is available for downstream service to consume and used this as a jumping off point. By making it possible to edit this metadata post publication, I propose that we should treat each save event of the metadata as a MetadataChanged event and make use of the MetadataChanged and BatchMetadataChanged events.

I would propose a naive approach that simply always dispatches the MetadataChanged event when the form is saved/updated post publication, and let each individual implementation be in charge of deciding what metadata is important to process.

This approach has the advantage of using already existing events and jobs and allows any updates to happen asynchronously to the web request. It is also extensible for any future services or third-party plugins that need to know when metadata has been updated.

Examples of downstream services that would make use of this (either currently implemented or future implementations):

  • Mark DOIs for a submission as stale. The DOI logic already handles resubmitting stale DOIs. This should already implemented for major the registration agencies we support.
  • Update ORCID records for authenticated users in their ORCID profile. I don't think this has been implemented yet, but it could be added independently of this work.

@asmecher
Copy link
Member Author

Thanks, @Hafsa-Naeem! @Vitaliy-1, would you be able to review this one?

@jardakotesovec
Copy link
Contributor

@asmecher @Hafsa-Naeem On ui-library side of things this make sense to apply to the new side modal workflow page. Trying to get that side modal workflow page as default on main branch ASAP.. Its probably 2-4 weeks away.

@ajnyga
Copy link
Collaborator

ajnyga commented Sep 18, 2024

This is a good change, because journals get stuck and create new versions easily without any good reason (correcting a typo etc.)

Just asking that when we now edit the metadata, is this visible in the editorial history? ie. do we stamp who did what? I think this is important especially after something has been published.

@asmecher
Copy link
Member Author

There would be an event in the event log, but if the editor chooses not to create a new version, the change will not be tracked.

Note that we'll be extending versioning further with #4860 -- description there.

@jardakotesovec
Copy link
Contributor

@Hafsa-Naeem Hi Hafsa,
I am still active on this codebase, but risk of code conflicts is lot lower as most things are getting settled.

Permission to edit publication is now calculated here - https://github.com/pkp/ui-library/blob/main/src/pages/workflow/composables/useWorkflowPermissions.js#L70 . So that might be only place you need to adjust on frontend.

Let me know if you have any difficulties.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment