Gernott / mask

TYPO3 Extension Mask
https://www.facebook.com/typo3mask
GNU General Public License v2.0
130 stars 86 forks source link

Feature: Implement reusing fields (columnsOverride) #559

Closed sebastiande closed 1 year ago

sebastiande commented 1 year ago

This pull request adds the possibility to reuse fields between different content elements. The options are not shared anymore if the feature flag is enabled and columnsOverride is generated for nearly all options next to the already existing possibility to overwrite the label and description.

I executed the following test cases to ensure functionality for the default behavior of sharing fields as well as for the new reusing fields behavior:

  1. Setup "old" installation with the current mask version (8.1.4) and create a content element with all possible field types (as well as inline fields and palettes), update to the new mask version with reusing fields functionality, edit the old content element and add a new one while all options are still shared. Add content and edit it.
  2. Enable the reusing option and migrate the configuration. Checked JSON configuration manually.
  3. Edit the second content element and change all options to something different to ensure the same fields have different options set. Edit content elements and check validation and output.
  4. Repeat tests 1 - 3 but with a "new" installation directly using the new code that contains the functionality of the reusing field.
  5. Set up installation with two content elements and enable reusing functionality, execute mask:restructureReusingFields, and repeat test 3.

Please contact me in case of any questions or remarks.