Replace the AI Content module with a version that uses plugins
All threads resolved!
All threads resolved!
This MR creates a new module to replace the AI Content module: this is because that module is named in a strange manner - its label does not match its machine name, and it implies that the module allows an LLM to edit content. The new module makes it clear that in all cases the LLM is just making suggestions. This also makes it easier to refactor the settings to better manage the fact that there may be multiple plugins that we don't know about to store settings for.
The MR also:
- Creates a PluginManager and Base Class for plugin versions of the functionality that was previously embedded in the form service.
- Creates a formAlter service to replace the previous module's Form service, to make clear what the service is doing.
- Creates plugins for each of the suggestion functions offered by the previous module, refactoring to reduce the use of duplicate code.
- Adds a settings form to enable/disable and configure the plugins.
- Adds a cache context that can be used to identify if new plugins have been enabled.
- Removes all functionality from AI Content and marks as deprecated. Also provides an update hook to copy settings to the new module and disable the old.
Closes #3484358
Merge request reports
Activity
added 1 commit
added 1 commit
added 31 commits
-
82e886a4...eb28141c - 10 commits from branch
project:1.0.x
- eb28141c...b78590d0 - 11 earlier commits
- 69df1a9e - Delete contents of old module and mark as deprecated. #3484358
- 044717b4 - Add cache context for plugin discovery. #3484358
- cae29df4 - Incorrect cache tag used. #3484358
- 4f13c021 - Do not get confused by an empty option when checking if a plugin is available. #3484358
- 1f5cf2ee - Update spellings. #3484358
- 59976178 - Update use statements, and ignore errors in Annotations as phpstan expects...
- bf9f0df0 - And update previous ignore to include new ignore to stop PHPCS complaining. #3484358
- ff52209e - Nuclear option. #3484358
- dbd40396 - Add support for text fields in paragraphs. #3484358
- 90e72b92 - Rebase from parent and update documentation. #3484358
Toggle commit list-
82e886a4...eb28141c - 10 commits from branch
added 22 commits
-
a16e8be5 - 1 commit from branch
project:1.0.x
- a16e8be5...5490f96c - 11 earlier commits
- 483db601 - Delete contents of old module and mark as deprecated. #3484358
- bfa5816e - Add cache context for plugin discovery. #3484358
- fe5545d7 - Incorrect cache tag used. #3484358
- 7a89149e - Do not get confused by an empty option when checking if a plugin is available. #3484358
- 38a9b86e - Update spellings. #3484358
- 34e88ffe - Update use statements, and ignore errors in Annotations as phpstan expects...
- bdcd3a60 - And update previous ignore to include new ignore to stop PHPCS complaining. #3484358
- e37c325e - Nuclear option. #3484358
- 7850fa7e - Add support for text fields in paragraphs. #3484358
- 8bdee601 - Rebase from parent and update documentation. #3484358
Toggle commit list-
a16e8be5 - 1 commit from branch
added 1 commit
- ecf342cf - Use normalised setChatSystemRole method to prevent errors with providers that...
- Resolved by Paul Smith
added 1 commit
Please register or sign in to reply