Skip to content
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

Form admin #31

Draft
wants to merge 14 commits into
base: master
Choose a base branch
from
43 changes: 29 additions & 14 deletions index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <[email protected]> | Llewellyn van der Merwe <[email protected]> |
| 2 | [Form Admin](form-admin) | Niels Braczek <[email protected]> | Llewellyn van der Merwe <[email protected]> |
| 3 | [Simple CCK](simple-cck) | Niels Braczek <[email protected]> | Llewellyn van der Merwe <[email protected]> |

### Pre-Draft

Expand All @@ -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 <[email protected]> | Llewellyn van der Merwe <[email protected]> |

## Numerical Index

| Status | Num | Title | Editor | Sponsor |
|--------|:---:|--------------------------------|-------------------------|-------------------|
| A | 0 | [RFC Procedure][rfc-procedure] | Niels Braczek <[email protected]> | Marco Dings <[email protected]> |
| Status | Num | Title | Editor | Sponsor |
|--------|:---:|-----------------------------------------|----------------------------------------------------|-------------------|
| A | 0 | [RFC Procedure][rfc-procedure] | Niels Braczek <[email protected]> | Marco Dings <[email protected]> |
| D | 1 | [Decpoupling Output](decoupling-output) | Niels Braczek <[email protected]> | Llewellyn van der Merwe <[email protected]> |
| D | 2 | [Form Admin](form-admin) | Niels Braczek <[email protected]> | Llewellyn van der Merwe <[email protected]> |
| D | 3 | [Simple CCK](simple-cck) | Niels Braczek <[email protected]> | Llewellyn van der Merwe <[email protected]> |

_**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
104 changes: 104 additions & 0 deletions proposed/form-admin-meta.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,104 @@
# Form Admin Meta Document

## 1. Summary

Joomla uses forms that are defined in XML and rendered using the Form class.

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 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

### 3.1 Goals

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 affected extension/feature supports versioning.

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.

### 3.2 Non-Goals

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

## 5. Design Decisions

## 6. People

### 6.1 Editor(s)

* Robert Deutz <[email protected]>

### 6.2 Sponsors

* Niels Braczek, <[email protected]>

### 6.3 Contributors

* N/A

## 7. Votes

### 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

_**Note:** Order descending chronologically._

## 9. Errata

...