You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Right now most of the logic for both stages (draft, published) and versioning is held inside the same extension - Versioned.
With that extension, you can have the following:
Records which record their version history, but do not have a separation between "Draft" and "Published"
Records which both record their version history, and also have a separation between "Draft" and "Published"
It isn't possible to have a separation between "Draft" and "Published" without recording version history.
What's more, the way these two separate concepts have been weaved together results in a lot of complexity both in the code itself and in the way developers need to reason about the code.
Versioned and Publishable (think about naming) have their own separate extensions
It's decided where the Publishable extension should live, e.g. in silverstripe/framework or silverstripe/versioned
All core classes with Versioned extension have the Publishable extension added too
Consideration is given to alleviate upgrade pain for projects since the Publishable extension must be added in various places e.g. has_extension(Versioned::class) calls
The Versioned extension no longer has "modes" it is either applied or it is not.
Any DataObject can have one, both, or neither of the Publishable and Versioned extensions, i.e. the two extensions combine nicely (i.e. when you publish you create a new version), and can be used separately
Notes
Current modes are "use stages and version history", and, "only use version history". There is currently a lack of an "only use stages " mode"
The text was updated successfully, but these errors were encountered:
Right now most of the logic for both stages (draft, published) and versioning is held inside the same extension -
Versioned
.With that extension, you can have the following:
It isn't possible to have a separation between "Draft" and "Published" without recording version history.
What's more, the way these two separate concepts have been weaved together results in a lot of complexity both in the code itself and in the way developers need to reason about the code.
Related issues
Acceptance criteria
Versioned
extension no longer has "modes" it is either applied or it is not.DataObject
can have one, both, or neither of thePublishable
andVersioned
extensions, i.e. the two extensions combine nicely (i.e. when you publish you create a new version), and can be used separatelyNotes
The text was updated successfully, but these errors were encountered: