New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Declarative settings #42661
Declarative settings #42661
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- We could revert all changes made in the provisioning_api app
- The horizontal separator between fields can be removed IMO. A separator between setting sections is enough
- Maybe we should use
label
instead oflabel-inside
for NcInputField. To be discussed - Field values are not validated yet, should we introduce the regexp attribute now?
- Fields should not be 100% wide. Let's try: as wide as possible, max 400px
- generateUrl does not work anymore in this branch, let's rebase on master. We need to remove the changes to compiled assets for an easier rebase
- For multi select, the label could be placed above and the hint below
- Same for single checkbox
ac0b3a7
to
fcc077a
Compare
35971b7
to
57cead3
Compare
57cead3
to
1321619
Compare
/compile |
136a5e1
to
d72e31d
Compare
d72e31d
to
d5b7a5c
Compare
d5b7a5c
to
59767a1
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Psalm found more than 20 potential problems in the proposed changes. Check the Files changed tab for more details.
/compile |
863f6a6
to
be7880f
Compare
Still contains fixups. Mind just squashing this into one commit? It seems the second to last commits are just fixes for the first |
8f2addf
to
dcbb10a
Compare
Psalm failure is unrelated (missing |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hope this will be merged in Beta 2
..
Signed-off-by: jld3103 <jld3103yt@gmail.com> Signed-off-by: Julien Veyssier <julien-nc@posteo.net> Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
dcbb10a
to
4ac2375
Compare
@ChristophWurst @blizzz |
/compile |
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
Psalm error is related. |
Signed-off-by: Andrey Borysenko <andrey18106x@gmail.com>
Summary
This PR introduces Declarative settings implementation that allows PHP apps and ExApps (AppAPI) to register simple schema of settings that will be rendered by server. Settings storage could be handled either by internal storage (as config app/user value), or implemented by apps using provided events:
DeclarativeSettingsGetValueEvent
DeclarativeSettingsSetValueEvent
To register schema apps can use either the
IRegistrationContext->registerDeclarativeSettings
method to pass their schema (IDeclarativeSettingsForm
) or listen toDeclarativeSettingsRegisterFormEvent
and pass their schema there. The event is used by AppAPI (the new app ecosystem) because it is more natural than having to dynamically provideIDeclarativeSettingsForm
implementations.All supported fields displayed on screenshots below and available in
testing (QA testing)
app. These form types declared inOCP\Settings\DeclarativeSettingsTypes
.TODO
Checklist