New Settings APIs, let plugins define the fields of a SitesManager, better SitesManager UI #10021
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
refs #7893
This is the first pull request to introduce a new, improved Settings API. The point of this refactoring was to provide the possibility for plugins to define MeasurableSettings.
UserSettings
API,SystemSettings
API andMeasurableSettings
API which makes it easier for developers and we were able to remove some weird codeoption
table but in a separateplugin_setting
table. There's an update to migrate existing plugin settings.site_setting
and converted to correct type afterwards. It was not possible to create an update for existing site setting but it was never an API and AFAIK it's only used by own custom plugin anyway. The migration would need to be done in that plugin if needed.Once this PR is merged my plan is to make
3.x-dev
branch green, finally. Then I will work on splitting the settings for WebsiteMeasurable actually into different plugins. For example the "ecommerce" setting will be defined by theEcommerce
plugin and will be only shown if plugin is actually enabled, site search settings can be moved intoActions
plugin (and later into its own SiteSearch plugin), etc...There are some failing tests but they are currently not 100% related to this change and will be made green as soon as merged into
3.x-dev
.There are also pull requests to making the submodules plugins compatible such as matomo-org/plugin-AnonymousPiwikUsageMeasurement#31
FYI: There are also some renamings of some classes like
Reports
=>ReportsProvider
for consistency withSettingsProvider
etc. There's a chance we will maybe move them into aPiwik\Plugin\Provider\Reports
later or something similar but this will be a different PR