Finalize Context Importer naming and review Extensions page UI/UX
## Description Follow-up to: #3586275+s Required for: #3586282+s ### Summary [#3586275](https://www.drupal.org/project/ai_context/issues/3586275) introduced the `ai_context_document_loader` submodule and a reworked **Settings → Extensions** page (`/admin/config/ai/context/settings/extensions`). Initial UX feedback has been considered, but needs refinement. For now, the submodule has been renamed from “Document Loader: Markdown Importer” to **“Document Loader: Context Importer”**. Before the submodule stabilization follow-up (experimental → stable) (#3586282), we need a focused pass to **lock in naming** and **validate the Extensions page design** with maintainers and users. This issue should be resolved **before** the stabilization issue. [![Screenshot of ai_context extensions page with general and importer sections and a number of modules listed including document loader modules for context importing](https://git.drupalcode.org/-/project/191993/uploads/1c86bf75cd1646ec7b403e23083113ef/screencapture-c2026-ddev-site-admin-config-ai-context-settings-extensions-2026-06-21-09_49_21.png)] ### Background Current Extensions page structure: - **General** table — optional extensions (Diff, Dynamic Entity Reference) - **Importers** section — intro paragraph + table for import-related modules - Four columns: **Feature**, **Description**, **Module**, **Status** - Submodule row uses: - Feature: `Markdown file importer` - Module: `Document Loader: Context Importer (submodule)` → links to Extend with `?filter=ai_context_document_loader` - Importers intro links to Document Loader project page; description cells include “Requires …” lines with inline links ### Naming review Confirm final user-facing and technical naming across the module: | Area | Current state | Question | |------|---------------|----------| | Submodule display name | `Document Loader: Context Importer` | Final? | | Machine name | `ai_context_document_loader` | Keep, or rename before stable? | | Feature label | `Markdown file importer` | Accurate for PDF/Word/etc., or broaden? | | URL importer feature | `Markdown URL importer` | Final? | | Docs / README / Extend page | Mostly updated to Context Importer | Any stragglers? | | Internal code | e.g. `buildMarkdownImporterDescription()` | Rename for consistency? | **Deliverable:** agreed naming scheme applied consistently in UI, docs, tests, and (if needed) issue/change records. ### UI/UX review Review the Extensions page at `/admin/config/ai/context/settings/extensions` and decide whether any adjustments are needed. #### Information architecture - [ ] Are **General** vs **Importers** sections the right grouping long-term? - [ ] Is the **Feature** vs **Module** split clear to site builders? - [ ] Is `(submodule)` suffix helpful or noisy? - [ ] Should importer rows distinguish **required** vs **optional** dependencies more visibly? #### Copy and links - [ ] Importers intro text: “Document Loader adds a Load Document button…” — accurate and scannable? - [ ] Description “Requires Document Loader and AI File to Text contributed modules” — right level of detail? - [ ] General section rename: “Context item revision comparison” → “Context revision comparison” — keep? #### Visual / interaction - [ ] Intro paragraph links render with dotted underline (Gin default); table links do not — intentional or inconsistent? - [ ] Fixed table column widths (`ai-context-extensions` CSS) — readable on narrow viewports? - [ ] Extend-page filter prefilled via `?filter=` (`ai_context_modules_filter.js`) — works reliably in Gin/Claro? - [ ] Submodule link opens Extend in new tab — preferred behavior? #### Accessibility - [ ] Table headers, link purpose, and status labels understandable out of context - [ ] Sufficient contrast and hover/focus states for inline requirement links ### Tasks - [ ] Schedule quick UX review (screenshot or live walkthrough) with module maintainers - [ ] Document decisions in issue comments (naming + any UI changes) - [ ] Apply agreed naming updates across: - `ai_context_document_loader.info.yml` - `AiContextExtensionsController.php` - docs (`importers.md`, `index.md`, `README.md`, submodule README) - functional/unit tests - [ ] Apply agreed UI/UX changes (copy, layout, CSS, link behavior) - [ ] Update `AiContextAdminSettingsTest` and `AiContextExtensionsControllerTest` for final strings/structure ### Acceptance criteria - Naming is finalized and consistent across UI, docs, and tests - Extensions page IA, copy, and link behavior reviewed and signed off (or follow-up items filed for anything deferred) - No remaining “Markdown Importer” user-facing references unless deliberately retained - Tests reflect final naming and page structure ### Out of scope - Removing `lifecycle: experimental` (stabilization follow-up) - Canvas patch upstream work ([#3575644](https://git.drupalcode.org/project/canvas/-/work_items/3575644)) - End-to-end import functional tests (stabilization follow-up) (#3586282) ### Related - Parent: [#3586275](https://www.drupal.org/project/ai_context/issues/3586275) - Blocks: stabilization follow-up (experimental → stable) (#3586282) - Page under review: `/admin/config/ai/context/settings/extensions`
issue