Workflow Initiative

1,397 views

Published on

Slides from DrupalCon NOLA.

Published in: Internet
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,397
On SlideShare
0
From Embeds
0
Number of Embeds
1,109
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Workflow Initiative

  1. 1. Workflow Initiative https://www.drupal.org/node/2721129 The session formally known as “Drupal is a CMS, So how can we better manage content?”
  2. 2. Tim Millwood d.o: timmillwood
  3. 3. Dick Olsson d.o: dixon_
  4. 4. Andrei Jechiu d.o: jeqq
  5. 5. Multiversion
  6. 6. Replication
  7. 7. Workspace
  8. 8. RELAXed Web Services
  9. 9. Deploy
  10. 10. Revisions enabled by default https://www.drupal.org/node/2490136 We have revisions in core for Nodes and Block Content, but we don’t use them by default.
  11. 11. All Content entity baseFieldDefinitions should inherit from parents https://www.drupal.org/node/2707255 Most fields are manually duplicated, to reuse code and make things more flexible we should inherit fields.
  12. 12. NodeInterface should implement RevisionLogInterface https://www.drupal.org/node/2705433 8.1.0 introduced RevisionLogInterface. It’d be great to get revisionable entity types using it.
  13. 13. BlockContent should have a revision_user and revision_created field and implement RevisionLogInterface https://www.drupal.org/node/2716081 BlockContent can’t use RevisionLogInterface until it gets revision_user and revision_created fields.
  14. 14. Migrate entities between entity type schemas https://www.drupal.org/node/2721313 We can’t change any entity schemas until we have an upgrade path for all content within those entities.
  15. 15. Make all content entities revisionable https://www.drupal.org/node/2705389 Update the following entities to extend RevisionableContentEntityBase and have a revision id entity key: Comment, Feed, File, Item, MenuLinkContent, Message, Shortcut, Term, User
  16. 16. Revision UUID and/or hash http://www.drupal.org/node/1812202 Using a revision hash has the most advantages, but having both would also be ok.
  17. 17. Parent revisions Each revision can have one or more parents. This is so we can know where it stemmed from.
  18. 18. Deleted flag Don’t delete any entities, just create a new revision marking them as deleted.
  19. 19. Purging revisions Now that entities aren’t deleted we need a way to purge whole entities and individual revisions.
  20. 20. Trash Provide a UI for restoring and purging deleted entities.
  21. 21. Moderation API Underlying API to moderate revisions of content entities.
  22. 22. Workspace API All content entities, except the user entity type, belong to a workspace. Think of workspaces like branches in git.
  23. 23. UUID Index https://www.drupal.org/node/2690747 An index of UUIDs mapped to related entity information.
  24. 24. Revision UUID / hash Index An index of revision UUIDs / hashes mapped to related revision information.
  25. 25. Sequence Index Each entity update will increment a sequence ID. Here we map this to the entity and revision information of the update.
  26. 26. Replication services Changes – Fetch changes since a given sequence ID. RevisionsDiff – Compare what revisions are missing between workspaces.
  27. 27. Replication API Replicate content between two workspaces.
  28. 28. Conflict management API Now entities can exist in multiple workspace we need a way to resolve conflicts between them.
  29. 29. Experimental UI Most of the basic APIs will now be in place so we can implement an initial UI for it all.
  30. 30. Conflict management UI This is a complex step and feature a lot of UX work.
  31. 31. Workspace UI Create, manage, and switch between workspaces.
  32. 32. Revision moderation module This will be a new core module using the moderation API to moderation individual entities within a workspace.
  33. 33. Workspace moderation module This will be a new core module using the moderation API to moderation a workspace as a whole.
  34. 34. Cross site content staging REST API based on CouchDB for cross site content staging.
  35. 35. Autosave Automatically save entities while editing. Could use the REST API.
  36. 36. So How Was It? Evaluate this session - https://events.drupal.org/node/9192 Thanks!

×