CCC optional feature suggestions in UI
## Problem/motivation
Context Control Center has some extra functionality when different modules are installed. We could highlight them to the user in order for them to see what added functionality they could have.
Note that we will add more than Diff and DER once these two issues land:
#3577429: Move scheduler feature to submodule or progressive enhancement
#3586228: Create docs for how to integrate CCC with Document Loader for MDXEditor integration
Some of these like Document Loader MDX will require configuration so we will provide instructions for doing that and can link to the documentation.
## Solution
- Add a new settings page called Extensions
- Make it the last settings tab
- Add the following text to the tab (use a table for extensions)
You can extend the AI Context module's functionality by enabling and configuring additional modules. More extensions will be added regularly.
| Module | Feature | Configuration |
|---|---|---|
| [Diff](https://www.drupal.org/project/diff) | Allows you to compare revisions of context items | Install module to enable feature |
| [Dynamic Entity Reference](https://www.drupal.org/project/dynamic_entity_reference) | Allows you to associate context with one or more entity instances, e.g. `node/123` | Install module to enable feature |
## Tasks
- Update code
- Review and test
## AI usage
- [ ] AI assisted issue
- [ ] AI assisted code
- [x] AI generated code
## Notes from UX team (pulled from comments)
**Extensions tab in CCC settings**
In review with Emma, we agreed this should be treated as a use of functionality rather than a core feature. For now it lives within Settings as a new **Extensions** tab. In the future it could be bubbled up to the Overview page as installed capabilities become more central to how admins understand what CCC can do.
**Example use cases:**
* **MDX document loader:** allows context file types to come from PDFs.
* **Diff module:** allows you to compare revisions of context items that have changed over time.
* **Dynamic Entity Reference:** allows you to select a single instance of a single entity to apply custom rules to.
**Future category: Connectors**
There's an entire additional category we'll develop in the future for connectors, such as a Google Analytics connector. These will likely live as a sibling tab (Connectors) rather than inside Extensions.
**Implementation note:** Connectors are Drupal modules that we assume will need their own settings tabs, since each will likely require API authentication and connector-specific configuration. The Connectors tab in CCC would function as a directory or landing point that surfaces what's installed and links out to each connector's dedicated settings.
## Old description
Context Control Center has some extra functionality when different modules are installed. We could highlight them to the user in order for them to see what added functionality they could have.
These are currently listed in the Composer.json, but could be highlighted to the site builder/content editor:
- drupal/diff "Allows to compare revisions of context items",
- drupal/document_loader: The Document Loader MDX module allows loading a document's contents directly into context items through the MDXEditor
- drupal/dynamic_entity_reference: Enable target entity scope and per-item target entity restrictions
All they have to do is install the modules and they get the added functionality.
This followed discussions over at #3586228 .
issue