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`). This issue locked in final naming and validated the Extensions page design before the submodule stabilization follow-up (experimental → stable) (#3586282). UX review with Aidan approved the Feature column and requested only naming tweaks (implemented in !188). No other Extensions page layout or interaction changes were requested. [![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 Extensions page structure (kept): - **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: - Feature: `Markdown file importer` - Module: `Document Loader: Context File 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 decisions | Area | Final decision | |------|----------------| | Submodule display name | `Document Loader: Context File Importer` | | Machine name | Keep `ai_context_document_loader` | | Feature label | Keep `Markdown file importer` | | URL importer feature | Keep `Markdown URL importer` | | Docs / README / Extend page | Use **Context File Importer** consistently | | Internal method names | Keep (e.g. `buildMarkdownImporterDescription()`); no rename required for this issue | | General Diff feature | `Context revision comparison` (was “Context item revision comparison”) | ### UI/UX decisions Reviewed with Aidan. Only naming changes were requested; everything else accepted as-is. #### Information architecture - [x] **General** vs **Importers** — keep - [x] **Feature** vs **Module** — keep (Feature column liked in review) - [x] `(submodule)` suffix — keep - [x] Required vs optional dependencies — keep current “Requires …” copy; no extra visual treatment #### Copy and links - [x] Importers intro text — keep - [x] Description “Requires Document Loader and AI File to Text…” — keep - [x] “Context revision comparison” rename — keep (applied) #### Visual / interaction - [x] Intro vs table link underline styling — accept Gin/theme default; no change - [x] Fixed table column widths — keep for now - [x] Extend `?filter=` prefill — keep - [x] Submodule / Extend links open in new tab — keep #### Accessibility - [x] Table headers, link purpose, and status labels — accepted with current markup for this issue - [x] Contrast / focus for requirement links — no change requested; follow up separately if needed ### Tasks - [x] UX review with maintainers - [x] Document decisions (this description) - [x] 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 - [x] No further UI/CSS/link-behavior changes beyond naming - [x] Update `AiContextAdminSettingsTest` and `AiContextExtensionsControllerTest` for final strings/structure ### Acceptance criteria - [x] Naming is finalized and consistent across UI, docs, and tests - [x] Extensions page IA, copy, and link behavior reviewed and signed off - [x] No remaining “Markdown Importer” or bare “Context Importer” user-facing references - [x] 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) - MR: !188 - Page: `/admin/config/ai/context/settings/extensions` ## AI usage - [x] AI assisted issue
issue