-
Notifications
You must be signed in to change notification settings - Fork 12
Simple Joomla CCK #26
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
Draft
nibra
wants to merge
22
commits into
master
Choose a base branch
from
cck
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Changes from all commits
Commits
Show all changes
22 commits
Select commit
Hold shift + click to select a range
5c8c0d0
Initial commit
nibra c0ca9c5
Add comment from @pulsarinformatique (rephrased)
nibra 7afcc9a
Add people
nibra 4d202a0
Elaborate Summary, Why Bother? and Approach paragraphs.
nibra 0bbc119
Added paragraph about PR#20890 to "Approaches" section.
nibra f1e3ac2
Elaborate meta doc according to ongoing discussion
nibra f58e8b5
Update - Add Cyril as a contributor. Thank you!
nibra 0f99257
Merge remote-tracking branch 'origin/master' into cck
nibra bf38b26
Add todo
nibra 79b7c14
Update after motions in Dec 2022
nibra 75231ca
Add Entrance vote result
nibra 136aadf
Initial commit
nibra 90fd632
Add comment from @pulsarinformatique (rephrased)
nibra f79383b
Add people
nibra 47026da
Elaborate Summary, Why Bother? and Approach paragraphs.
nibra f077c57
Added paragraph about PR#20890 to "Approaches" section.
nibra e2334ca
Elaborate meta doc according to ongoing discussion
nibra b893624
Update - Add Cyril as a contributor. Thank you!
nibra b8e0d25
Add todo
nibra 881e068
Add Entrance vote result
nibra 3e7a871
Merge remote-tracking branch 'origin/cck' into cck
nibra 1a24231
Update cck-meta.md
nibra File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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 | ||
|
||
|
@@ -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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,170 @@ | ||
# Simple CCK Meta Document | ||
|
||
## 1. Summary | ||
|
||
A "Simple CCK" system is proposed here to extend the article data model with the help of custom fields and the necessary | ||
functions to filter the contents according to any criteria and to display them in a specific sorting order. | ||
|
||
This specification aims to enable users to create simple projects with on-board tools. | ||
|
||
## 2. Why Bother? | ||
|
||
Currently, if one wants to use custom fields with **Filtering** and **Ordering**, a CCK extension must be installed. | ||
This prevents the majority of Joomla's own features (such as **Tags**, **Custom Fields**, **Categories**, | ||
**Multi-Language**, **Associations**, **Workflow**, etc.) as well as the majority of other third party extensions from | ||
being used without restriction. | ||
|
||
Adding **Filtering** and **Ordering** options based on the **Custom Fields** makes it possible to create a website with | ||
simple custom content types that offers all the possibilities of Joomla without the hassle of a full-fledged CCK. | ||
|
||
For example, consider a list of activities to do on weekends, with fields like "date", "free or paid", "city". We need | ||
to be able to filter by activities in a specific city and to sort them by price or by date. | ||
|
||
## 3. Scope | ||
|
||
### 3.1 Goals | ||
|
||
While **Custom Fields** and **Workflow** already give the CMS a considerable degree of flexibility, they still lack | ||
basic functionality. The aim of this proposal is to complete the range of functions so that it meets current | ||
expectations and thus enable users to create simple projects with on-board tools. The built-in functionality should also | ||
enable extension developers to streamline their solutions and achieve better integration with horizontal features such | ||
as **Tagging** and **Versioning**. | ||
|
||
### 3.2 Non-Goals | ||
|
||
It is not a goal of this proposal to make existing extensions obsolete. | ||
|
||
## 4. Approaches | ||
|
||
Already in the days of the Idea Portal, the desire for a Content Construction Kit (CCK) was high on the wish list. The | ||
feature request continues to pop up frequently. | ||
|
||
In Joomla 3.1, a first attempt towards universal content was made with the Unified Content Model (UCM), but this was | ||
never really pursued. Most Joomla developers do not know how to use this concept properly - or simply ignore it. | ||
|
||
Joomla 3.7 brought **Custom Fields** for articles and users, an integration of the DPFields extension into the CMS. As | ||
useful as this new functionality is, it is extremely limited because there is no way to filter or sort by the value of | ||
the **Custom Fields**. | ||
|
||
In Joomla 3.9 ([PR#20890](https://github.com/joomla/joomla-cms/pull/20890)), custom admin menus with a lot of ** | ||
Filtering** options were added, which is another major step towards a simple CCK supporting (kind of) different content | ||
types. | ||
|
||
### 4.1 Provide Custom Content Types | ||
|
||
#### 4.1.1 Custom Content Types with Unified Content Model | ||
|
||
##### Pros | ||
|
||
##### Cons | ||
|
||
* UCM is not well accepted; even the core developers are hardly familiar with the concept. Some if not most features are | ||
not supported by UCM. | ||
|
||
#### 4.1.2 Custom Content Types with Content Model | ||
|
||
##### Pros | ||
|
||
* `com_content` is a first class citizen in the core, so all core features are available to its content. | ||
|
||
##### Cons | ||
|
||
#### 4.1.3 Custom Content Types with Type Specific Model | ||
|
||
##### Pros | ||
|
||
* Features like **Filtering** and **Ordering** are easy to implement because of the dedicated database table. | ||
|
||
##### Cons | ||
|
||
* Core features must be supported explicitly to make them available to the content of the type specific model. | ||
|
||
### 4.2 Add Missing Features to **Custom Fields** | ||
|
||
The implementation of **Custom Fields** lacks support for **Filtering** and **Ordering**. This approach complements ** | ||
Custom Fields** with the missing functions. | ||
|
||
##### Pros | ||
|
||
* `com_content` is a first class citizen in the core, so all core features are available to its content. | ||
* A specific set of **Custom Fields** can be considered a content type and displayed accordingly in the UI. | ||
|
||
##### Cons | ||
|
||
### 4.3 Comparison of Approaches | ||
|
||
It quickly becomes apparent that the content must be managed by `com_content` so that the various content types can | ||
benefit from the further development of the CMS. The approaches 4.1.1 and 4.1.3 are therefore immediately omitted from | ||
further consideration. The approaches 4.1.2 and 4.2 on the other hand are not mutually exclusive; the **Custom Fields** | ||
complement `com_content` perfectly. | ||
|
||
### 4.4 Chosen Approach | ||
|
||
**Custom Fields** (`com_fields`) are supplemented by the features | ||
|
||
* **Filtering** and | ||
* **Ordering**. | ||
|
||
**Custom Fields** can optionally be grouped into categories; the name of the category serves as the content type. | ||
|
||
## 5. Design Decisions | ||
|
||
## 6. People | ||
|
||
### 6.1 Editor(s) | ||
|
||
* Suki Nozick <[email protected]> | ||
|
||
### 6.2 Sponsors | ||
|
||
* Niels Braczek <[email protected]> | ||
|
||
### 6.3 Contributors | ||
|
||
* Cyril Thibout <[email protected]> | ||
|
||
## 7. Votes | ||
|
||
### Entrance Vote: PROD2022/019 | ||
|
||
| Voter | Vote | | ||
|---------------------------------------------|-----:| | ||
| Benjamin Trenkle | 0 | | ||
| Christiane Maier-Stadtherr / Viviana Menzel | +1 | | ||
| Crystal Dionysopoulos | +1 | | ||
| David Jardin | | | ||
| Franciska Perisa | +1 | | ||
| Hannes Papenberg | -1 | | ||
| Harald Leithner | +1 | | ||
| Jacob Waisner | 0 | | ||
| 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 | | | ||
| Shivam Raiput | +1 | | ||
| Sigrid Gramlinger | +1 | | ||
| Tobias Zulauf | -1 | | ||
| **Result: PASSED** | | | ||
| **in favor** | 12 | | ||
| **against** | 3 | | ||
| **abstentions** | 2 | | ||
| **no vote** | 2 | | ||
|
||
### Acceptance Vote: | ||
_(not yet taken)_ | ||
|
||
## 8. Relevant Links | ||
|
||
_**Note:** Order descending chronologically._ | ||
|
||
* [Custom Admin Menus PR#20890](https://github.com/joomla/joomla-cms/pull/20890) | ||
* [Discussion: Sort articles by custom field](https://github.com/joomla/joomla-cms/discussions/42430) | ||
* [Feature request: filter and sort articles by custom field](https://github.com/joomla/joomla-cms/issues/42831) | ||
|
||
## 9. Errata | ||
|
||
... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
# Issues to be solved by Simple CCK | ||
|
||
* [ ] Custom Fields with Filtering and Ordering | ||
* [ ] Any change on the Tags or Custom Fields value in an article does not generate a new version of the article. [CMS-Issue#15700](https://github.com/joomla/joomla-cms/issues/15700) |
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.
Uh oh!
There was an error while loading. Please reload this page.