From bf7e2ecec1262be7f1a7eaf981034bac68caf99d Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 25 Jan 2022 18:37:12 +0100 Subject: [PATCH 01/12] first version to start a discussion --- proposed/form-admin-meta.md | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 proposed/form-admin-meta.md diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md new file mode 100644 index 0000000..1f04297 --- /dev/null +++ b/proposed/form-admin-meta.md @@ -0,0 +1,64 @@ +# Form Admin Meta Document + +## 1. Summary + +Joomla uses forms based on XML and rendered with the help of the Form class. + +While this is a flexible way and the forms can be changed with plugins, it is limited and in some way hard coded. Database constraints are implemented through business logic within the models and not on the database level. + +This specification aims to define an extension of the form building process. After implementation it allows site builder the change the core forms. Adding and removing fields should be possible and core form building and custom fields are merged. + +## 2. Why Bother? + +Hard coded forms are not state of the art. Joomla! allows today a lot of flexibility but it is up to developers to implement. If we can change the way we are creating forms we would allow site builders to change Joomla that it fulfils the needs of clients better. + +## 3. Scope + +Planned feature for Joomla5. + +### 3.1 Goals + +Having a core component that allows configuration of forms and views. This includes custom fields and a migration from Joomla4. + +Creating a API for 3rd part components to use the functionality. + +### 3.2 Non-Goals + +Migration of 3rd part components to the new way of form rendering. + +## 4. Approaches + +### 4.1 Chosen Approach + +TBD + +## 5. Design Decisions + +None at this state + +## 6. People + +### 6.1 Editor(s) + +* Robert Deutz + +### 6.2 Sponsors + +* N/A + +### 6.3 Contributors + +* N/A + +## 7. Votes + +* **Entrance Vote:** _(not yet taken)_ +* **Acceptance Vote:** _(not yet taken)_ + +## 8. Relevant Links + +_**Note:** Order descending chronologically._ + +## 9. Errata + +... From 6819db91732f7627581e4d1a0e8d3e4fa30c7114 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 25 Jan 2022 18:49:28 +0100 Subject: [PATCH 02/12] add versioning goal --- proposed/form-admin-meta.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index 1f04297..15f61cf 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -20,6 +20,8 @@ Planned feature for Joomla5. Having a core component that allows configuration of forms and views. This includes custom fields and a migration from Joomla4. +Respect versioning for custom fields. + Creating a API for 3rd part components to use the functionality. ### 3.2 Non-Goals From 5e482c02840df06317171f4b03075d5ffbac1024 Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Thu, 27 Jan 2022 14:40:58 +0100 Subject: [PATCH 03/12] Rephrase, add some details --- proposed/form-admin-meta.md | 41 ++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index 15f61cf..b32ac0a 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -2,42 +2,51 @@ ## 1. Summary -Joomla uses forms based on XML and rendered with the help of the Form class. +Joomla uses forms that are defined in XML and rendered using the Form class. -While this is a flexible way and the forms can be changed with plugins, it is limited and in some way hard coded. Database constraints are implemented through business logic within the models and not on the database level. - -This specification aims to define an extension of the form building process. After implementation it allows site builder the change the core forms. Adding and removing fields should be possible and core form building and custom fields are merged. +Although this is a flexible way and the forms can be changed using plugins, it is limited and hard-coded in some ways. + +This specification aims to define an extension to the form creation process. This form editor shall allow modifying +forms, add or remove predefined fields and custom fields and change their order. ## 2. Why Bother? -Hard coded forms are not state of the art. Joomla! allows today a lot of flexibility but it is up to developers to implement. If we can change the way we are creating forms we would allow site builders to change Joomla that it fulfils the needs of clients better. +Hard-coded forms are no longer state of the art. Joomla today offers a lot of flexibility, but it needs developers to +implement changes. If we can change the way we create forms, we would allow website creators to adapt Joomla to better +meet users' needs. ## 3. Scope -Planned feature for Joomla5. - ### 3.1 Goals -Having a core component that allows configuration of forms and views. This includes custom fields and a migration from Joomla4. +The goal is to provide a graphical user interface for creating and editing forms and views as a core component. Standard +fields and user-defined fields are to be equally supported. -Respect versioning for custom fields. +When saved, user-defined fields must be included in versioning, provided the underlying table supports versioning. -Creating a API for 3rd part components to use the functionality. +The functionality shall also be available for extensions. + +In the course of the +implementation, [accessibility requirements and recommendations](https://accessibilitycluster.com/main-results/forms-editor) +should be taken into account for the form renderer. ### 3.2 Non-Goals -Migration of 3rd part components to the new way of form rendering. +It is not the goal of this component to force changes to 3rd party extensions. ## 4. Approaches +The component will consist of a Visual Editor and a Form Preprocessor. The preprocessor splits the form content so that +the handler of the original form gets the data it expects and ensures the correct handling of the remaining form +content. + +Database constraints are implemented through business logic within the models and not at the database level. In the +course of revising the database, this should be corrected if possible. + ### 4.1 Chosen Approach -TBD - ## 5. Design Decisions -None at this state - ## 6. People ### 6.1 Editor(s) @@ -46,7 +55,7 @@ None at this state ### 6.2 Sponsors -* N/A +* Niels Braczek, ### 6.3 Contributors From 3e4068f943a0a3475c77677ce8700b009a7e8e4a Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Fri, 28 Jan 2022 12:06:35 +0100 Subject: [PATCH 04/12] Remove restriction on renderer --- proposed/form-admin-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index b32ac0a..39db867 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -28,7 +28,7 @@ The functionality shall also be available for extensions. In the course of the implementation, [accessibility requirements and recommendations](https://accessibilitycluster.com/main-results/forms-editor) -should be taken into account for the form renderer. +should be taken into account. ### 3.2 Non-Goals From ae41b23f8721dfc96a36292f8f4482f5c5f44613 Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Fri, 28 Jan 2022 12:13:03 +0100 Subject: [PATCH 05/12] Aim at extensions instead of tables --- proposed/form-admin-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index 39db867..655eb7d 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -22,7 +22,7 @@ meet users' needs. The goal is to provide a graphical user interface for creating and editing forms and views as a core component. Standard fields and user-defined fields are to be equally supported. -When saved, user-defined fields must be included in versioning, provided the underlying table supports versioning. +When saved, user-defined fields must be included in versioning, provided the affected extension/feature supports versioning. The functionality shall also be available for extensions. From 79b7c14d43b6cbde31774e51bc286dcf660f3c14 Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Mon, 19 Dec 2022 23:14:29 +0100 Subject: [PATCH 06/12] Update after motions in Dec 2022 --- index.md | 43 +++++++++++++++++++++++++++++-------------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/index.md b/index.md index 9083c0e..2ea37c7 100644 --- a/index.md +++ b/index.md @@ -27,9 +27,11 @@ The sponsor is responsible for managing the review stage and votes. ### Draft -| Num | Title | Editor | Sponsor | -|:---:|--------------------------------|-------------------------|-------------------| -| N/A | N/A | N/A | N/A | +| Num | Title | Editor | Sponsor | +|:---:|-----------------------------------------|-----------------------------------------------------|------------------------------------------------------------------------| +| 1 | [Decpoupling Output](decoupling-output) | Niels Braczek | Llewellyn van der Merwe | +| 2 | [Form Admin](form-admin) | Niels Braczek | Llewellyn van der Merwe | +| 3 | [Simple CCK](simple-cck) | Niels Braczek | Llewellyn van der Merwe | ### Pre-Draft @@ -51,20 +53,33 @@ The sponsor is responsible for managing the review stage and votes. |:---:|--------------------------------|-------------------------|-------------------| | N/A | N/A | N/A | N/A | +### Rejected + +| Title | Editor | Sponsor | +|-----------------------------|-------------------------|-------------------| +| [Append Form](append-form) | Niels Braczek | Llewellyn van der Merwe | + ## Numerical Index -| Status | Num | Title | Editor | Sponsor | -|--------|:---:|--------------------------------|-------------------------|-------------------| -| A | 0 | [RFC Procedure][rfc-procedure] | Niels Braczek | Marco Dings | +| Status | Num | Title | Editor | Sponsor | +|--------|:---:|-----------------------------------------|----------------------------------------------------|-------------------| +| A | 0 | [RFC Procedure][rfc-procedure] | Niels Braczek | Marco Dings | +| D | 1 | [Decpoupling Output](decoupling-output) | Niels Braczek | Llewellyn van der Merwe | +| D | 2 | [Form Admin](form-admin) | Niels Braczek | Llewellyn van der Merwe | +| D | 3 | [Simple CCK](simple-cck) | Niels Braczek | Llewellyn van der Merwe | _**Legend:** A = Accepted | D = Draft | P = Pre-Draft | R = Review | X = Deprecated_ [workflow]: bylaws/workflow.md -[contentelements]: https://github.com/joomla-x/joomla-Specifications/tree/master/proposed -[authorisation]: https://github.com/joomla-x/joomla-standards/pull/2 -[joomla-cli]: https://github.com/joomla-x/joomla-standards/pull/4 -[mobile-app]: https://github.com/joomla-x/joomla-standards/pull/5 -[simplify-admin]: https://github.com/joomla-x/joomla-standards/pull/6 -[simplify-admin2]: https://github.com/joomla-x/joomla-standards/pull/7 -[composer]: https://github.com/joomla-x/joomla-standards/pull/8 -[rfc-procedure]: https://github.com/joomla-x/joomla-standards/blob/master/accepted/RFC-0-rfc-meta.md +[contentelements]: https://github.com/joomla/rfc/tree/master/proposed +[authorisation]: https://github.com/joomla/rfc/pull/2 +[joomla-cli]: https://github.com/joomla/rfc/pull/4 +[mobile-app]: https://github.com/joomla/rfc/pull/5 +[simplify-admin]: https://github.com/joomla/rfc/pull/6 +[simplify-admin2]: https://github.com/joomla/rfc/pull/7 +[composer]: https://github.com/joomla/rfc/pull/8 +[rfc-procedure]: https://github.com/joomla/rfc/blob/master/accepted/RFC-0-rfc-meta.md +[decoupling-output]: https://github.com/joomla/rfc/pull/36 +[form-admin]: https://github.com/joomla/rfc/pull/31 +[simple-cck]: https://github.com/joomla/rfc/pull/26 +[append-form]: https://github.com/joomla/rfc/pull/18 From 8b1eb798037359859dbdcb1c598ccd9f8e25f1c9 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 25 Jan 2022 18:37:12 +0100 Subject: [PATCH 07/12] first version to start a discussion --- proposed/form-admin-meta.md | 64 +++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 proposed/form-admin-meta.md diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md new file mode 100644 index 0000000..1f04297 --- /dev/null +++ b/proposed/form-admin-meta.md @@ -0,0 +1,64 @@ +# Form Admin Meta Document + +## 1. Summary + +Joomla uses forms based on XML and rendered with the help of the Form class. + +While this is a flexible way and the forms can be changed with plugins, it is limited and in some way hard coded. Database constraints are implemented through business logic within the models and not on the database level. + +This specification aims to define an extension of the form building process. After implementation it allows site builder the change the core forms. Adding and removing fields should be possible and core form building and custom fields are merged. + +## 2. Why Bother? + +Hard coded forms are not state of the art. Joomla! allows today a lot of flexibility but it is up to developers to implement. If we can change the way we are creating forms we would allow site builders to change Joomla that it fulfils the needs of clients better. + +## 3. Scope + +Planned feature for Joomla5. + +### 3.1 Goals + +Having a core component that allows configuration of forms and views. This includes custom fields and a migration from Joomla4. + +Creating a API for 3rd part components to use the functionality. + +### 3.2 Non-Goals + +Migration of 3rd part components to the new way of form rendering. + +## 4. Approaches + +### 4.1 Chosen Approach + +TBD + +## 5. Design Decisions + +None at this state + +## 6. People + +### 6.1 Editor(s) + +* Robert Deutz + +### 6.2 Sponsors + +* N/A + +### 6.3 Contributors + +* N/A + +## 7. Votes + +* **Entrance Vote:** _(not yet taken)_ +* **Acceptance Vote:** _(not yet taken)_ + +## 8. Relevant Links + +_**Note:** Order descending chronologically._ + +## 9. Errata + +... From be9516f5f93e771606d32f120da9140b3ea49cf2 Mon Sep 17 00:00:00 2001 From: Robert Deutz Date: Tue, 25 Jan 2022 18:49:28 +0100 Subject: [PATCH 08/12] add versioning goal --- proposed/form-admin-meta.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index 1f04297..15f61cf 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -20,6 +20,8 @@ Planned feature for Joomla5. Having a core component that allows configuration of forms and views. This includes custom fields and a migration from Joomla4. +Respect versioning for custom fields. + Creating a API for 3rd part components to use the functionality. ### 3.2 Non-Goals From 7b65db3b94bac8eeda127115052c53b8eba6b8b5 Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Thu, 27 Jan 2022 14:40:58 +0100 Subject: [PATCH 09/12] Rephrase, add some details --- proposed/form-admin-meta.md | 41 ++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 16 deletions(-) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index 15f61cf..b32ac0a 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -2,42 +2,51 @@ ## 1. Summary -Joomla uses forms based on XML and rendered with the help of the Form class. +Joomla uses forms that are defined in XML and rendered using the Form class. -While this is a flexible way and the forms can be changed with plugins, it is limited and in some way hard coded. Database constraints are implemented through business logic within the models and not on the database level. - -This specification aims to define an extension of the form building process. After implementation it allows site builder the change the core forms. Adding and removing fields should be possible and core form building and custom fields are merged. +Although this is a flexible way and the forms can be changed using plugins, it is limited and hard-coded in some ways. + +This specification aims to define an extension to the form creation process. This form editor shall allow modifying +forms, add or remove predefined fields and custom fields and change their order. ## 2. Why Bother? -Hard coded forms are not state of the art. Joomla! allows today a lot of flexibility but it is up to developers to implement. If we can change the way we are creating forms we would allow site builders to change Joomla that it fulfils the needs of clients better. +Hard-coded forms are no longer state of the art. Joomla today offers a lot of flexibility, but it needs developers to +implement changes. If we can change the way we create forms, we would allow website creators to adapt Joomla to better +meet users' needs. ## 3. Scope -Planned feature for Joomla5. - ### 3.1 Goals -Having a core component that allows configuration of forms and views. This includes custom fields and a migration from Joomla4. +The goal is to provide a graphical user interface for creating and editing forms and views as a core component. Standard +fields and user-defined fields are to be equally supported. -Respect versioning for custom fields. +When saved, user-defined fields must be included in versioning, provided the underlying table supports versioning. -Creating a API for 3rd part components to use the functionality. +The functionality shall also be available for extensions. + +In the course of the +implementation, [accessibility requirements and recommendations](https://accessibilitycluster.com/main-results/forms-editor) +should be taken into account for the form renderer. ### 3.2 Non-Goals -Migration of 3rd part components to the new way of form rendering. +It is not the goal of this component to force changes to 3rd party extensions. ## 4. Approaches +The component will consist of a Visual Editor and a Form Preprocessor. The preprocessor splits the form content so that +the handler of the original form gets the data it expects and ensures the correct handling of the remaining form +content. + +Database constraints are implemented through business logic within the models and not at the database level. In the +course of revising the database, this should be corrected if possible. + ### 4.1 Chosen Approach -TBD - ## 5. Design Decisions -None at this state - ## 6. People ### 6.1 Editor(s) @@ -46,7 +55,7 @@ None at this state ### 6.2 Sponsors -* N/A +* Niels Braczek, ### 6.3 Contributors From 6351c887d5f575deafc64efe1c954b875ba255ba Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Fri, 28 Jan 2022 12:06:35 +0100 Subject: [PATCH 10/12] Remove restriction on renderer --- proposed/form-admin-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index b32ac0a..39db867 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -28,7 +28,7 @@ The functionality shall also be available for extensions. In the course of the implementation, [accessibility requirements and recommendations](https://accessibilitycluster.com/main-results/forms-editor) -should be taken into account for the form renderer. +should be taken into account. ### 3.2 Non-Goals From 996e38f9a76cca07fc43317ab9eca61434144772 Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Fri, 28 Jan 2022 12:13:03 +0100 Subject: [PATCH 11/12] Aim at extensions instead of tables --- proposed/form-admin-meta.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index 39db867..655eb7d 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -22,7 +22,7 @@ meet users' needs. The goal is to provide a graphical user interface for creating and editing forms and views as a core component. Standard fields and user-defined fields are to be equally supported. -When saved, user-defined fields must be included in versioning, provided the underlying table supports versioning. +When saved, user-defined fields must be included in versioning, provided the affected extension/feature supports versioning. The functionality shall also be available for extensions. From e8f12a997d5b6ea36ed7ba3342aeaa124b0e47c2 Mon Sep 17 00:00:00 2001 From: Niels Braczek Date: Tue, 20 Dec 2022 00:08:39 +0100 Subject: [PATCH 12/12] Add Entrance vote result --- proposed/form-admin-meta.md | 33 +++++++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/proposed/form-admin-meta.md b/proposed/form-admin-meta.md index 655eb7d..abdc40b 100644 --- a/proposed/form-admin-meta.md +++ b/proposed/form-admin-meta.md @@ -63,8 +63,37 @@ course of revising the database, this should be corrected if possible. ## 7. Votes -* **Entrance Vote:** _(not yet taken)_ -* **Acceptance Vote:** _(not yet taken)_ +### Entrance Vote: PROD2022/018 + +| Voter | Vote | +|---------------------------------------------|-----:| +| Benjamin Trenkle | +1 | +| Christiane Maier-Stadtherr / Viviana Menzel | +1 | +| Crystal Dionysopoulos | 0 | +| David Jardin | +1 | +| Franciska Perisa | +1 | +| Hannes Papenberg | +1 | +| Harald Leithner | +1 | +| Jacob Waisner | +1 | +| Llewellyn van der Merve | +1 | +| Mike Brandner | +1 | +| Niels Braczek | +1 | +| Olivier Buisard | +1 | +| Philip Walton | +1 | +| Robert Deutz | +1 | +| Roland Dalmulder | +1 | +| Shirielle Williams | +1 | +| Shivam Raiput | +1 | +| Sigrid Gramlinger | +1 | +| Tobias Zulauf | +1 | +| **Result: PASSED** | | +| **in favor** | 18 | +| **against** | 0 | +| **abstentions** | 1 | +| **no vote** | 0 | + +### Acceptance Vote: +_(not yet taken)_ ## 8. Relevant Links