* API Revert addition of Extensible::flush_extra_methods_cache() and change to ExtensionTestState
This reverts the changes from #8465 and #8505 that relate to ExtensionTestState and the
tracking of extra methods between unit tests. The existing test from #8465 testing
overloaded Extensions after extra_methods are populated has been updated to show that you
must re-add the extension to flush the extra_methods cache if you need this behaviour.
* Revert change to InjectorTest::testExtendedExtensions
* Revert "Add failing test to show that overloaded extensions are broken in Extensible"
This reverts commit 55e79ffdfd.
* DOCS Add docs for extending extensions, and upgrade guide note to 4.3 to avoid using PHP config to do so
* NEW: Add Hierarchy::prepopulate_numchildren_cache()
API: Hierarchy::stageChildren() customisations must be applied to the base class and not include record-specific behaviour.
Adds the ability to prepopulate the cache for Hierarchy::numChildren()
in a batch.
Note that this optimisation means that stageChildren() is not called on
each record in order to calculate numChildren(). This means that the
structure of the stageChildren() query must be the same for all records
and the behaviour cannot be customised only for a subclass of the base
data class. For example, apply your customisations to SiteTree and not
a subclass.
This is an useful part of optimising the query count on tree generation.
See https://github.com/silverstripe/silverstripe-framework/issues/8379
* NEW: Add Hierarchy::prepopulateTreeDataCache()
This provides a more extensible way of preopulating caches for optimised
tree generation.
Fixes https://github.com/silverstripe/silverstripe-framework/issues/8391
They're already present in the new upgrading guide
Folded upgrading "list of changes" into 4.0.0 guide
They duplicate each other, and create confusion in the upgrading
doc because there's *both* an "overview" of changes at the top,
and "important changes" at the bottom - why are they at the bottom when they're important?
Added "skip" and "continue" anchor links
[ci skip]
🚧 Original upgrading doc.
I'm keeping it around just so I know what content hasn't been restructured.
🚧 Setting outline of new upgrading guide.
I'm just outlining the TOC here.
https://github.com/silverstripe/silverstripe-upgrader/issues/72🚧 Typo correction.
🚧 Move most of original content into new structure.
📝 Documenting how to recompose your dependencies.
📝 Finish documenting the reorganise command.
📝 Add a conlusion to upgrade
📝 Drafting environment upgrade doc
Move environment upgrade doc out of change log and integrating it into the upgrading guide.
📝 Document how to namespace project
🚧 Working on step 4.
📝 Adding doc for the upgrade step.
Finalise first draft of the upgrade guide.
Remove typo
Implementing feedback on the doc.
Implementing upgrade guide feedback.wq
Add refrence to upgrade guide into change log.
Implement specific upgrade guide peer review suggestion.
Wording tweaks.
Remove reference to ACME and rewrite overview.
The end of the upgrading guide tweaks ... I think.
- Stronger wording around "use composer"
- Consistent domain and email address naming
- Removed example for publishing non-composer modules (those shouldn't be encouraged)
- Removed instructions for installing modules from archives
[ci skip]
It's one of the most noteworthy manual changes,
let's not hide it from devs who will (correctly) start their upgrade process by looking at the 4.0.0 guide