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

Preserve existing data & provide rollbacks #590

Open
1 task done
jeffpaul opened this issue Oct 16, 2023 · 6 comments · Fixed by #626
Open
1 task done

Preserve existing data & provide rollbacks #590

jeffpaul opened this issue Oct 16, 2023 · 6 comments · Fixed by #626
Assignees
Labels
type:enhancement New feature or request.

Comments

@jeffpaul
Copy link
Member

Is your enhancement related to a problem? Please describe.

ClassifAI has several features that when triggered (either by a purposed human action or via other publishing/editing workflows) could overwrite existing post content/meta (e.g., post classification, image tags, bulk & CLI ClassifAI interactions). This focus will look at potentially changing the default handling in these scenarios to not overwrite existing content or perhaps requiring a purposeful human interaction to denote a desire to overwrite existing content (and a filter to be able to change the ClassifAI default handling). That override could be at a post level, or at the plugin/site level, or perhaps a blend of both.

Similarly, any change that ClassifAI makes to post content/meta will be stored as a new Revision to that post so that a user could utilize the WordPress built-in revisions editor to roll back any unwanted Assistive AI edits to content/meta.

The Post Meta Revisions is relatively achievable, but the Meta and Taxonomy Term Revisions is not quite as clear on feasibility and approach and will require some research before implementation to ensure a stable result.

Designs

n/a

Describe alternatives you've considered

n/a

Code of Conduct

  • I agree to follow this project's Code of Conduct
@jeffpaul jeffpaul added the type:enhancement New feature or request. label Oct 16, 2023
@jeffpaul jeffpaul added this to the 2.6.0 milestone Oct 16, 2023
@jeffpaul jeffpaul self-assigned this Oct 16, 2023
@jeffpaul jeffpaul moved this from Incoming to To Do in Open Source Practice Oct 16, 2023
@dkotter
Copy link
Collaborator

dkotter commented Oct 25, 2023

Recent post about storing post meta in revisions: https://make.wordpress.org/core/2023/10/24/framework-for-storing-revisions-of-post-meta-in-6-4/

@jeffpaul jeffpaul assigned faisal-alvi and unassigned jeffpaul Oct 25, 2023
@jeffpaul
Copy link
Member Author

There's also a post from earlier this summer about the broad work across Revisions coming in Gutenberg Phase 3: https://make.wordpress.org/core/2023/07/05/revisions/

@jeffpaul
Copy link
Member Author

In considering all the various ClassifAI features that take immediate action without allowing for human review before saving to post content/meta, let's first focus on the Post Classification feature that's best expressed in #566.

Once that's updated, we can next consider re-generating excerpts and generating alt text in a later phase. After that we can consider if we want to continue these updates across the remaining features that do not yet allow for human review:

  • Tagging images
  • Cropping images
  • Scanning images for text
  • Scanning PDFs for text
  • Generating transcripts
  • Generating audio file from post content

So essentially let's consider 566 as the primary focus related to:

ClassifAI has several features that when triggered (either by a purposed human action or via other publishing/editing workflows) could overwrite existing post content/meta (e.g., post classification, image tags, bulk & CLI ClassifAI interactions). This focus will look at potentially changing the default handling in these scenarios to not overwrite existing content or perhaps requiring a purposeful human interaction to denote a desire to overwrite existing content (and a filter to be able to change the ClassifAI default handling). That override could be at a post level, or at the plugin/site level, or perhaps a blend of both.

...and then look to open a separate issue to handle the additional features in a later iteration.

@iamdharmesh
Copy link
Member

@jeffpaul Please find information on data storage and revision support for ClassifAI features. Revision support is currently determined based on the availability of the core's revision feature. I have raised issue #626 to add the autosave feature to title generation and content resizing, which will enable the tracking of every change made by ClassifAI. We can then rollback using WordPress core's default revision support.

For features marked with no revision support, we may need customization to add revision/rollback support. Please let me know if we want to proceed with checking potential solutions and adding revision/rollback support for these features.

image

Thank you
cc: @dkotter

@jeffpaul jeffpaul moved this from In Progress to In Review in Open Source Practice Nov 28, 2023
@jeffpaul
Copy link
Member Author

Here's a tracking issue for Gutenberg on Revisions UX updates, but I don't think anything here improves our ability to add revision support on additional ClassifAI features: WordPress/gutenberg#55776

@jeffpaul jeffpaul modified the milestones: 2.6.0, 2.5.0 Dec 4, 2023
@github-project-automation github-project-automation bot moved this from In Review to Merged in Open Source Practice Dec 7, 2023
@jeffpaul
Copy link
Member Author

jeffpaul commented Dec 7, 2023

Re-opening to tackle additional Revisions-based integrations as those become available in core though moving this to Future Release as there's no immediate action possible.

@jeffpaul jeffpaul reopened this Dec 7, 2023
@github-project-automation github-project-automation bot moved this from Merged to In Progress in Open Source Practice Dec 7, 2023
@jeffpaul jeffpaul modified the milestones: 2.5.0, Future Release Dec 7, 2023
@jeffpaul jeffpaul moved this from In Progress to Backlog in Open Source Practice Dec 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:enhancement New feature or request.
Projects
Status: Backlog
Development

Successfully merging a pull request may close this issue.

4 participants