Problem
When installing the module every field is going to have custom_add_another as a dependency because the third party setting is added to all fields
Steps to reproduce
Install the module and inspect the configuration for a field
Proposed resolution
Do not store empty values and when all the values are empty do not store the third party setting at all
Remaining tasks
Code a solution
User interface changes
None
API changes
Other modules relying on the setting to exist would need to be adjusted
Data model changes
Different config storage when values are empty
Issue fork custom_add_another-3261690
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #2
amanire commentedThis module is a curse for sites with lots of fields. Working on a project with ~350 fields. Installing Custom brought down our production site down for an hour with "SQLSTATE[HY000]: General error: 1205 Lock wait timeout exceeded" errors.
Then later while uninstalling, the module removed our Feeds module mappings. I assume due to spillover from the way that it implements third party field settings globally.
Change labels is one alternative that was apparently built specifically because of these "weak design decisions", but it has dependencies on two other modules.
Since my needs are minimal, I am replacing this functionality with a few lines of custom code. I'm changing the priority level of this issue to warn off any other site builders/devs that this module is very dangerous due to its poorly architected field schema.
Comment #3
amanire commentedComment #4
b_sharpe commentedAgree, this module brought our install to a standstill due to the amount of config changes required. Don't use if you have a lot of fields.
Comment #8
steven jones commentedFixed in beta 3: https://www.drupal.org/project/custom_add_another/releases/8.x-1.0-beta3