SlideShare a Scribd company logo
@dickolsson & @timmillwood
Planning for CRAP in core
Track: Core Conversations
Agenda
● What and why
●
Status in contrib
● A use case for core
●
Planning
●
Discussion, Q&A
Who?
●
Dick Olsson
●
@dickolsson
●
Long time contributor
●
Maintainer of UUID and
Deploy
●
Works at Pfizer Inc.
●
Tim Millwood
●
@timmillwood
●
Long time contributor
●
Maintainer of Statistics
module
●
Works at Appnovation
What and why?
Background
● CRAP = Create Read Archive Purge
●
Amsterdam session:
https://amsterdam2014.drupal.org/node/1478
●
LA core conversation:
https://events.drupal.org/node/1005
What?
Revisions for all content entity types
●
Create / Read will remain same
● Archive is a new flagged revision (“delete”)
● Purge removes all revisions of an entity
●
Compaction will remove old/unnecessary data
Why?
●
Without revisions there's no M in CMS
●
Improved UX
●
Common denominator for many use cases
– Workflows, moderation etc.
– Offline and synchronous editing
– Audit and legal (ISO 9001 etc.)
– Content staging, network sharing etc.
Status in contrib
●
Multiversion module
– Enables revisions for ALL content entities
– Enables CRAP storage
●
Relaxed module
– Exposes the full data model over REST
– Standard API spec with support for common clients
(Hood.ie, PouchDB, CouchDB etc.)
A use case in core
A 30 year old concept from file/content
systems...
Planning for CRAP and entity revisions in Drupal core
Mac OS (1984)
Windows 95
Wordpress & Joomla
Drupal 8.2?
trash.module
(somewhere to put our CRAP)
Trash module
● Ability to delete and restore content entities
●
Ability to purge (empty) Trash
● Great demonstration of the delete flag
●
Unlikely to conflict with other use cases
(workflow, staging, sync edit etc.)
Demo time!
How do we get there?
“Do what you can, with what you have,
where you are.”
- Theodore Roosevelt
Phase 0 (8.0.0)
● Enable revisions by default
https://drupal.org/node/2490136
●
Any core committers in the room? ;)
Phase 1 (8.1.0)
●
Performance improvements to Revision API
● Enable revisions for all content entity types
●
Introduce revision hash, parent and tree
● Data migration
(Nothing above requires API changes!)
Phase 2 (8.2.0)
● Remove ability to NOT have revisions
●
Delete is a new flagged revision
● Introduce purge functionality
●
Commit trash.module to core
Summary
● Improved content management
●
Improved UX
● Common revision API for many use cases
Planning for CRAP and entity revisions in Drupal core
Questions?
@dickolsson @timmillwood
●
Do we need revisions everywhere in core?
●
Do we need a Trash module in core?
●
Is the schedule too slow?
●
Wanna throw tomatoes? (please don't)
Ad

Recommended

Content Staging in Drupal 8
Content Staging in Drupal 8
Dick Olsson
 
Let's Take Drupal Offline!
Let's Take Drupal Offline!
Dick Olsson
 
Take your drupal sites offline
Take your drupal sites offline
Chris Ward
 
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Tech Webinar: Offline First: Creare un'app Phonegap che funzioni offline e si...
Codemotion
 
Javascript Frameworks Comparison
Javascript Frameworks Comparison
Deepu S Nath
 
Offline first, the painless way
Offline first, the painless way
Marcel Kalveram
 
Choosing the best JavaScript framework/library/toolkit
Choosing the best JavaScript framework/library/toolkit
Hristo Chakarov
 
Put a little Backbone in your WordPress vs. 3
Put a little Backbone in your WordPress vs. 3
adamsilverstein
 
Introduction to JS frameworks
Introduction to JS frameworks
Deepu S Nath
 
Developing advanced universal apps using html & js
Developing advanced universal apps using html & js
Senthamil Selvan
 
Learn Developing REST API in Node.js using LoopBack Framework
Learn Developing REST API in Node.js using LoopBack Framework
Marudi Subakti
 
With Drupal Your Website is an API
With Drupal Your Website is an API
Charlie Morris
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalCampDN
 
Offline Webapps
Offline Webapps
mnitchie
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech Meetup
Kyle Mathews
 
Drupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systems
Alex S
 
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Acquia
 
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Eddie Lau
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
Riza Fahmi
 
Untangling spring week4
Untangling spring week4
Derek Jacoby
 
A Tour of Ruby On Rails
A Tour of Ruby On Rails
David Keener
 
WordPress 2017 with VueJS and GraphQL
WordPress 2017 with VueJS and GraphQL
houzman
 
Quick Start: ActiveScaffold
Quick Start: ActiveScaffold
David Keener
 
Gatsby intro
Gatsby intro
Ben McCormick
 
Untangling spring week5
Untangling spring week5
Derek Jacoby
 
Untangling spring week10
Untangling spring week10
Derek Jacoby
 
Frontend as a first class citizen
Frontend as a first class citizen
Marcin Grzywaczewski
 
Building Reactive webapp with React/Flux
Building Reactive webapp with React/Flux
Keuller Magalhães
 
Content Staging in Drupal Core
Content Staging in Drupal Core
Dick Olsson
 
Multisite Content Deployments for Media Organizations
Multisite Content Deployments for Media Organizations
Dick Olsson
 

More Related Content

What's hot (20)

Introduction to JS frameworks
Introduction to JS frameworks
Deepu S Nath
 
Developing advanced universal apps using html & js
Developing advanced universal apps using html & js
Senthamil Selvan
 
Learn Developing REST API in Node.js using LoopBack Framework
Learn Developing REST API in Node.js using LoopBack Framework
Marudi Subakti
 
With Drupal Your Website is an API
With Drupal Your Website is an API
Charlie Morris
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalCampDN
 
Offline Webapps
Offline Webapps
mnitchie
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech Meetup
Kyle Mathews
 
Drupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systems
Alex S
 
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Acquia
 
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Eddie Lau
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
Riza Fahmi
 
Untangling spring week4
Untangling spring week4
Derek Jacoby
 
A Tour of Ruby On Rails
A Tour of Ruby On Rails
David Keener
 
WordPress 2017 with VueJS and GraphQL
WordPress 2017 with VueJS and GraphQL
houzman
 
Quick Start: ActiveScaffold
Quick Start: ActiveScaffold
David Keener
 
Gatsby intro
Gatsby intro
Ben McCormick
 
Untangling spring week5
Untangling spring week5
Derek Jacoby
 
Untangling spring week10
Untangling spring week10
Derek Jacoby
 
Frontend as a first class citizen
Frontend as a first class citizen
Marcin Grzywaczewski
 
Building Reactive webapp with React/Flux
Building Reactive webapp with React/Flux
Keuller Magalhães
 
Introduction to JS frameworks
Introduction to JS frameworks
Deepu S Nath
 
Developing advanced universal apps using html & js
Developing advanced universal apps using html & js
Senthamil Selvan
 
Learn Developing REST API in Node.js using LoopBack Framework
Learn Developing REST API in Node.js using LoopBack Framework
Marudi Subakti
 
With Drupal Your Website is an API
With Drupal Your Website is an API
Charlie Morris
 
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalGap. How to create native application for mobile devices based on Drupa...
DrupalCampDN
 
Offline Webapps
Offline Webapps
mnitchie
 
Presentation on Gatsby to SF Static Web Tech Meetup
Presentation on Gatsby to SF Static Web Tech Meetup
Kyle Mathews
 
Drupal and diversity of Single sign-on systems
Drupal and diversity of Single sign-on systems
Alex S
 
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Become a Better Developer with Debugging Techniques for Drupal (and more!)
Acquia
 
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Native Desktop App with Node.js Webkit (HTML, CSS & Javascript)
Eddie Lau
 
Modern Static Site with GatsbyJS
Modern Static Site with GatsbyJS
Riza Fahmi
 
Untangling spring week4
Untangling spring week4
Derek Jacoby
 
A Tour of Ruby On Rails
A Tour of Ruby On Rails
David Keener
 
WordPress 2017 with VueJS and GraphQL
WordPress 2017 with VueJS and GraphQL
houzman
 
Quick Start: ActiveScaffold
Quick Start: ActiveScaffold
David Keener
 
Untangling spring week5
Untangling spring week5
Derek Jacoby
 
Untangling spring week10
Untangling spring week10
Derek Jacoby
 
Building Reactive webapp with React/Flux
Building Reactive webapp with React/Flux
Keuller Magalhães
 

Viewers also liked (15)

Content Staging in Drupal Core
Content Staging in Drupal Core
Dick Olsson
 
Multisite Content Deployments for Media Organizations
Multisite Content Deployments for Media Organizations
Dick Olsson
 
Etica
Etica
ERYNG17
 
E learning 2
E learning 2
pilar
 
ELEGÂNCIA PROFISSIONAL
ELEGÂNCIA PROFISSIONAL
Washington Ferreira
 
Dr. Paul Sundberg - Swine Health Center Update
Dr. Paul Sundberg - Swine Health Center Update
John Blue
 
Ámbito organizacional UPAEP Online
Ámbito organizacional UPAEP Online
pilar
 
EL INTERNET
EL INTERNET
ALEJA8990
 
Actividad 1
Actividad 1
Heribertha-Contreras-T
 
What Really Changed with Drupal 8
What Really Changed with Drupal 8
Dick Olsson
 
Liberação modificada (2)
Liberação modificada (2)
Marcia Rebelo
 
Liberação modificada (2)
Liberação modificada (2)
Marcia Rebelo
 
Misurare la sostenibilità degli edifici: valore e competività della LCA
Misurare la sostenibilità degli edifici: valore e competività della LCA
infoprogetto
 
Navigation Using Audio Jack
Navigation Using Audio Jack
Jayanta Ghoshal
 
Greg Bilbrey - Data Integrity, Using Records for Benchmarking and Operations
Greg Bilbrey - Data Integrity, Using Records for Benchmarking and Operations
John Blue
 
Content Staging in Drupal Core
Content Staging in Drupal Core
Dick Olsson
 
Multisite Content Deployments for Media Organizations
Multisite Content Deployments for Media Organizations
Dick Olsson
 
E learning 2
E learning 2
pilar
 
Dr. Paul Sundberg - Swine Health Center Update
Dr. Paul Sundberg - Swine Health Center Update
John Blue
 
Ámbito organizacional UPAEP Online
Ámbito organizacional UPAEP Online
pilar
 
EL INTERNET
EL INTERNET
ALEJA8990
 
What Really Changed with Drupal 8
What Really Changed with Drupal 8
Dick Olsson
 
Liberação modificada (2)
Liberação modificada (2)
Marcia Rebelo
 
Liberação modificada (2)
Liberação modificada (2)
Marcia Rebelo
 
Misurare la sostenibilità degli edifici: valore e competività della LCA
Misurare la sostenibilità degli edifici: valore e competività della LCA
infoprogetto
 
Navigation Using Audio Jack
Navigation Using Audio Jack
Jayanta Ghoshal
 
Greg Bilbrey - Data Integrity, Using Records for Benchmarking and Operations
Greg Bilbrey - Data Integrity, Using Records for Benchmarking and Operations
John Blue
 
Ad

Similar to Planning for CRAP and entity revisions in Drupal core (20)

We need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal core
Dick Olsson
 
Reinventing Ourselves as Internet Librarians
Reinventing Ourselves as Internet Librarians
notess
 
Drupal 8 Initiatives
Drupal 8 Initiatives
Angela Byron
 
Sustainability and bit-rot
Sustainability and bit-rot
Kiran Jonnalagadda
 
How long do websites last?
How long do websites last?
Dan Moriarty
 
Maintaining Responsive Integrity
Maintaining Responsive Integrity
professor44
 
Garabage Management system innvation in daily life
Garabage Management system innvation in daily life
sugatjambhulkar24
 
Orchard Harvest Keynote 2015 - the CMS of the future
Orchard Harvest Keynote 2015 - the CMS of the future
Bertrand Le Roy
 
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Justin Miller
 
Flask First-Timer
Flask First-Timer
Aijaz Ansari
 
Debugging tips in YUI 3
Debugging tips in YUI 3
Luke Smith
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Jani Tarvainen
 
Finding harmony in web development
Finding harmony in web development
Christian Heilmann
 
Working In The Now - Paris Web
Working In The Now - Paris Web
Christian Heilmann
 
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Association Paris-Web
 
The state of drupal 8 - Drupalcamp Gent
The state of drupal 8 - Drupalcamp Gent
swentel
 
eZ Publish 5, Re architecture, pitfalls and opportunities
eZ Publish 5, Re architecture, pitfalls and opportunities
André Rømcke
 
Hello Drupal
Hello Drupal
hellodrupal
 
Drupalcamp Tallinn - Drupal 8
Drupalcamp Tallinn - Drupal 8
drupalcampest
 
Digital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: Information
Massimo Menichinelli
 
We need revisions and CRAP everywhere in Drupal core
We need revisions and CRAP everywhere in Drupal core
Dick Olsson
 
Reinventing Ourselves as Internet Librarians
Reinventing Ourselves as Internet Librarians
notess
 
Drupal 8 Initiatives
Drupal 8 Initiatives
Angela Byron
 
How long do websites last?
How long do websites last?
Dan Moriarty
 
Maintaining Responsive Integrity
Maintaining Responsive Integrity
professor44
 
Garabage Management system innvation in daily life
Garabage Management system innvation in daily life
sugatjambhulkar24
 
Orchard Harvest Keynote 2015 - the CMS of the future
Orchard Harvest Keynote 2015 - the CMS of the future
Bertrand Le Roy
 
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Beyond The Web: Drupal Meets The Desktop (And Mobile)
Justin Miller
 
Debugging tips in YUI 3
Debugging tips in YUI 3
Luke Smith
 
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Content Management Systems and Refactoring - Drupal, WordPress and eZ Publish
Jani Tarvainen
 
Finding harmony in web development
Finding harmony in web development
Christian Heilmann
 
Working In The Now - Paris Web
Working In The Now - Paris Web
Christian Heilmann
 
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Travailler dans le présent - Chris Heilmann - Paris Web 2008
Association Paris-Web
 
The state of drupal 8 - Drupalcamp Gent
The state of drupal 8 - Drupalcamp Gent
swentel
 
eZ Publish 5, Re architecture, pitfalls and opportunities
eZ Publish 5, Re architecture, pitfalls and opportunities
André Rømcke
 
Drupalcamp Tallinn - Drupal 8
Drupalcamp Tallinn - Drupal 8
drupalcampest
 
Digital Fabrication Studio v.0.2: Information
Digital Fabrication Studio v.0.2: Information
Massimo Menichinelli
 
Ad

Recently uploaded (20)

DDos Mitigation Strategie, presented at bdNOG 19
DDos Mitigation Strategie, presented at bdNOG 19
APNIC
 
simple-presentationtestingdocument2007.pptx
simple-presentationtestingdocument2007.pptx
ashokjayapal
 
AMOR PROHIBIDO MURMURAN POR LAS CALLES PORQUE
AMOR PROHIBIDO MURMURAN POR LAS CALLES PORQUE
GFGLaboratorios
 
3 years of Quarkus in production, what have we learned - Devoxx Polen
3 years of Quarkus in production, what have we learned - Devoxx Polen
Jago de Vreede
 
Fast Reroute in SR-MPLS, presented at bdNOG 19
Fast Reroute in SR-MPLS, presented at bdNOG 19
APNIC
 
In order to install and use the device software, your computer must meet the ...
In order to install and use the device software, your computer must meet the ...
raguclc
 
05-introduction-to-operating-systems.pptx
05-introduction-to-operating-systems.pptx
pepecompany1
 
Timeline Infographics Para utilização diária
Timeline Infographics Para utilização diária
meslellis
 
Internet & Protocols : A Blueprint of the Internet System
Internet & Protocols : A Blueprint of the Internet System
cpnabil59
 
Unlocking Business Growth Through Targeted Social Engagement
Unlocking Business Growth Through Targeted Social Engagement
Digital Guider
 
CBUSDAW - Ash Lewis - Reducing LLM Hallucinations
CBUSDAW - Ash Lewis - Reducing LLM Hallucinations
Jason Packer
 
ChatGPT A.I. Powered Chatbot and Popularization.pdf
ChatGPT A.I. Powered Chatbot and Popularization.pdf
StanleySamson1
 
cybercrime investigation and digital forensics
cybercrime investigation and digital forensics
goverdhankumar137300
 
rosoft PowcgnggerPoint Presentation.pptx
rosoft PowcgnggerPoint Presentation.pptx
sirbabu778
 
AWS Basics for non technical people.pptx
AWS Basics for non technical people.pptx
sanjeevkumar123577
 
Dark Web Presentation - 1.pdf about internet which will help you to get to kn...
Dark Web Presentation - 1.pdf about internet which will help you to get to kn...
ragnaralpha7199
 
The it.com Domains Brand Book for registrars, domain resellers and hosting co...
The it.com Domains Brand Book for registrars, domain resellers and hosting co...
it.com Domains
 
Quantiuwewe e3er14e we3223 32222 m2.pptx
Quantiuwewe e3er14e we3223 32222 m2.pptx
cyberesearchprof
 
Top Mobile App Development Trends Shaping the Future
Top Mobile App Development Trends Shaping the Future
ChicMic Studios
 
SAP_S4HANA_eCommerce_Integration_Presentation.pptx
SAP_S4HANA_eCommerce_Integration_Presentation.pptx
vemulavenu484
 
DDos Mitigation Strategie, presented at bdNOG 19
DDos Mitigation Strategie, presented at bdNOG 19
APNIC
 
simple-presentationtestingdocument2007.pptx
simple-presentationtestingdocument2007.pptx
ashokjayapal
 
AMOR PROHIBIDO MURMURAN POR LAS CALLES PORQUE
AMOR PROHIBIDO MURMURAN POR LAS CALLES PORQUE
GFGLaboratorios
 
3 years of Quarkus in production, what have we learned - Devoxx Polen
3 years of Quarkus in production, what have we learned - Devoxx Polen
Jago de Vreede
 
Fast Reroute in SR-MPLS, presented at bdNOG 19
Fast Reroute in SR-MPLS, presented at bdNOG 19
APNIC
 
In order to install and use the device software, your computer must meet the ...
In order to install and use the device software, your computer must meet the ...
raguclc
 
05-introduction-to-operating-systems.pptx
05-introduction-to-operating-systems.pptx
pepecompany1
 
Timeline Infographics Para utilização diária
Timeline Infographics Para utilização diária
meslellis
 
Internet & Protocols : A Blueprint of the Internet System
Internet & Protocols : A Blueprint of the Internet System
cpnabil59
 
Unlocking Business Growth Through Targeted Social Engagement
Unlocking Business Growth Through Targeted Social Engagement
Digital Guider
 
CBUSDAW - Ash Lewis - Reducing LLM Hallucinations
CBUSDAW - Ash Lewis - Reducing LLM Hallucinations
Jason Packer
 
ChatGPT A.I. Powered Chatbot and Popularization.pdf
ChatGPT A.I. Powered Chatbot and Popularization.pdf
StanleySamson1
 
cybercrime investigation and digital forensics
cybercrime investigation and digital forensics
goverdhankumar137300
 
rosoft PowcgnggerPoint Presentation.pptx
rosoft PowcgnggerPoint Presentation.pptx
sirbabu778
 
AWS Basics for non technical people.pptx
AWS Basics for non technical people.pptx
sanjeevkumar123577
 
Dark Web Presentation - 1.pdf about internet which will help you to get to kn...
Dark Web Presentation - 1.pdf about internet which will help you to get to kn...
ragnaralpha7199
 
The it.com Domains Brand Book for registrars, domain resellers and hosting co...
The it.com Domains Brand Book for registrars, domain resellers and hosting co...
it.com Domains
 
Quantiuwewe e3er14e we3223 32222 m2.pptx
Quantiuwewe e3er14e we3223 32222 m2.pptx
cyberesearchprof
 
Top Mobile App Development Trends Shaping the Future
Top Mobile App Development Trends Shaping the Future
ChicMic Studios
 
SAP_S4HANA_eCommerce_Integration_Presentation.pptx
SAP_S4HANA_eCommerce_Integration_Presentation.pptx
vemulavenu484
 

Planning for CRAP and entity revisions in Drupal core

  • 1. @dickolsson & @timmillwood Planning for CRAP in core Track: Core Conversations
  • 2. Agenda ● What and why ● Status in contrib ● A use case for core ● Planning ● Discussion, Q&A
  • 3. Who? ● Dick Olsson ● @dickolsson ● Long time contributor ● Maintainer of UUID and Deploy ● Works at Pfizer Inc. ● Tim Millwood ● @timmillwood ● Long time contributor ● Maintainer of Statistics module ● Works at Appnovation
  • 5. Background ● CRAP = Create Read Archive Purge ● Amsterdam session: https://amsterdam2014.drupal.org/node/1478 ● LA core conversation: https://events.drupal.org/node/1005
  • 6. What? Revisions for all content entity types ● Create / Read will remain same ● Archive is a new flagged revision (“delete”) ● Purge removes all revisions of an entity ● Compaction will remove old/unnecessary data
  • 7. Why? ● Without revisions there's no M in CMS ● Improved UX ● Common denominator for many use cases – Workflows, moderation etc. – Offline and synchronous editing – Audit and legal (ISO 9001 etc.) – Content staging, network sharing etc.
  • 8. Status in contrib ● Multiversion module – Enables revisions for ALL content entities – Enables CRAP storage ● Relaxed module – Exposes the full data model over REST – Standard API spec with support for common clients (Hood.ie, PouchDB, CouchDB etc.)
  • 9. A use case in core
  • 10. A 30 year old concept from file/content systems...
  • 16. Trash module ● Ability to delete and restore content entities ● Ability to purge (empty) Trash ● Great demonstration of the delete flag ● Unlikely to conflict with other use cases (workflow, staging, sync edit etc.)
  • 18. How do we get there?
  • 19. “Do what you can, with what you have, where you are.” - Theodore Roosevelt
  • 20. Phase 0 (8.0.0) ● Enable revisions by default https://drupal.org/node/2490136 ● Any core committers in the room? ;)
  • 21. Phase 1 (8.1.0) ● Performance improvements to Revision API ● Enable revisions for all content entity types ● Introduce revision hash, parent and tree ● Data migration (Nothing above requires API changes!)
  • 22. Phase 2 (8.2.0) ● Remove ability to NOT have revisions ● Delete is a new flagged revision ● Introduce purge functionality ● Commit trash.module to core
  • 23. Summary ● Improved content management ● Improved UX ● Common revision API for many use cases
  • 25. Questions? @dickolsson @timmillwood ● Do we need revisions everywhere in core? ● Do we need a Trash module in core? ● Is the schedule too slow? ● Wanna throw tomatoes? (please don't)

Editor's Notes

  • #6: Not spend much time on what/why See LA core convo
  • #7: Nodes, terms, block content, users, files etc. Revisions like Git or CouchDB Compaction not yet in contrib
  • #8: W/o revs content can only exist, or not exist W/o revs there's no M in CMS Improved UX: Users can always revert revisions for everything Long tried many use cases w/o common APIs Solid rev API is the common denominator Drupal is/needs moving towards all listed use cases Transition: Core needs an implementation, so...
  • #9: Both modules have alpha release Relaxed module not fully relevant to this topic
  • #21: Push for attention to this issue!
  • #22: Do what you can, with what you have, where you are.