Problem/Motivation
Synonyms module has a big codebase not so easy to maintain due to "All in one" approach at the beginning of Synonyms module development. The approach is inherited from D5/6 versions and continued in D7 and D8 releases as well.
This issue is in a close relationship with #3189977: Simplify Synonyms configuration which is a must-do before current Synonyms widgets could be moved to submodules.
Synonyms module has a significant performance impact on larger sites and division into submodules would be a nice performance improvement.
Proposed resolution
Divide Synonyms module into smaller submodules which could be installed or left uninstalled according to users needs:
Synonyms (main)
The main part of the module which provides synonyms services for additional widgets/behaviors.
Synonyms Autocomplete
Synonyms friendly autocomplete widget.
Synonyms Select
Synonyms friendly select widget.
Synonyms Search (This sub-module exists already)
Dependent on core Search module.
Synonyms Views Filter
Provides synonyms friendly views exposed filter.
Dependent on core Views module.
Synonyms Views Argument Validator
Provides synonyms friendly views argument validator.
Dependent on core Views module.
Remaining tasks
Create a separate task issue for each divided submodule for easier development and testing.
Comments
Comment #2
devad commentedComment #3
devad commentedComment #4
devad commentedComment #5
devad commentedComment #6
devad commentedThe division has started. Here is the first child issue:
#3190684: Move Synonyms views filter and Synonyms views argument validator into submodules
Comment #7
devad commentedComment #8
devad commentedComment #9
devad commentedComment #10
devad commentedDone!
Comment #11
devad commentedDone!
Comment #13
devad commentedNote: The "Synonyms UI" submodule is canceled and merged back to the main "Synonyms" module before v2.0.0 is released... due to the WSOD problem described here:
#3216532: WSOD when config_translation (being) enabled