Skip to documentation
    Back to Documentation

    AI Course Format

    Course format
    v2.1.202

    The definitive practical guide to configuring AI Course Format 2.1.202 for Moodle administrators, teachers, and privacy reviewers. Work through the page in order, or jump to a feature when you are making a change.

    Current release 2.1.202 · Stable · GNU GPL v3+

    The configuration rule that prevents surprises

    A site default seeds a course; it does not rewrite a course that has saved its own value. Use the matching force or “override all courses” control when a change must reach existing courses. Course-level teacher controls are separate from admin-only defaults and force controls.

    “Hide from students” still shows the item to course staff, including non-editing teachers. Edit mode separately reveals authoring furniture to users who can edit the course.

    3.2.x: a richer Tutor and focused course navigation

    Released in 3.2.1 — plugin and service updates are separate

    Version 3.2.1 has passed the release pipeline and includes the Tutor and navigation improvements introduced in 3.2.0. The live version above and the Changelog tab identify the currently approved download. The Tutor’s LMS Labs server changes require a separate rollout, so installing the plugin alone does not confirm that the complete new answer-generation behaviour is live.

    The 3.2.0 update rebuilds the Tutor’s answer presentation, adds persistent practice interactions, makes full answers easier to review in reports, and keeps the current learning location visible in the course index. Version 3.2.1 contains test-compatibility and code-style maintenance only: it adds no further learner or teacher features. Neither release introduces database schema changes, according to the handover.

    Read, practise and return where you left off

    • Formatted Tutor answers replace the single plain-text block. Supported practice questions can appear as quiz cards rather than raw question text or JSON.
    • Use the compact, non-modal Tutor panel alongside the course, or open the modal Study view for focused reading. First-visit auto-open uses the compact panel.
    • A busy state shows when an answer is loading. Failed responses are not saved as conversation answers.
    • Answered quiz cards and checklist ticks are saved with the conversation and restored across reloads and pages without sending the interaction again.
    • If a quiz response is cut off, complete questions remain available and a notice identifies the incomplete response.
    • The first-run tour offer stays hidden while the Tutor is open, keeping the two interfaces from competing for attention.

    Review full answers in course and site reports

    Report previews turn formatted answers into readable summaries, including a practice-question count. Use “Show full answer” to expand the formatted response. Quiz cards in reports are read-only review cards: they show the correct option, answer letter, explanation and hint where supplied, without letting a reviewer submit a new answer. Existing report permissions still apply.

    Keep the current section visible

    On section and activity pages, the course index keeps the current section open, along with its parent sections when subsections are present. It synchronises the visible index and saved navigation state so an old preference does not hide the current location. This behaviour skips Edit mode and pages where the course index is hidden.

    What the handover verifies

    The supplied handover reports upgrade and browser checks on Moodle 4.4.12+ and 5.2.4, including Tutor interactions, saved quiz/checklist state, reports and course-index navigation. These are the plugin author’s results, not an independent live-site verification by LMS Labs. PHP 8.1 / 8.2 testing remains an open follow-up. Review an actual generated answer after both the plugin and service updates are available; this release does not guarantee that every model response becomes an interactive quiz or that answers cannot be truncated.

    In 3.0.0: card images and editing

    The 3.0.0 release archive moves an activity’s Card image action into that activity’s standard Moodle edit menu, just after “Edit settings”. The dialog keeps Upload image, AI image, Card colour and Remove image, with a card preview. Activities themselves return to Moodle’s standard list while Edit mode is on.

    The same release builds fuller AI card-image prompts from the card and course context, selected style and colour, and the teacher’s words. It also assigns each queued card image a request ID to help the image service recognise retries. These are release-archive descriptions, not a claim that live generation or billing was tested here.

    New in 2.4.0: collapse the top band

    More room for course content, without losing the way back

    Introduced in the 2.4.0 release (September 25, 2026): one chevron collapses the hero banner and, in merged course-index mode, the drawer header beside it together to zero height. The chevron stays visible above the content so you can restore both with the same control. This is a personal display preference, not a change to course content or the site’s banner defaults.

    1. In a course using AI Course Format, find the chevron on the lower edge of the hero banner. Select it to hide the top band.
    2. To restore the banner and drawer header, select the still-visible chevron at the top of the page. The button’s label describes the next action.
    3. Move between course, section, and activity pages or return in another session: your choice follows your user account across courses on this site. You do not need to set it separately for each course.

    This works for learners and teachers in Edit mode, including in a mobile browser. The saved collapsed state is applied server-side before first paint, so returning pages do not briefly show the full band before it closes. The control is keyboard-operable with Enter or Space; when collapsed, hidden banner titles and links are removed from the tab order.

    2.5.0 card image workflow

    2.5.0 archive inspected

    The following describes AI Course Format 2.5.0. The checksum-bound 2.5.0 ZIP was independently inspected on September 29, 2026; its version.php declares release 2.5.0 (2026092901). The live version above and the Changelog tab identify the currently served download. Install 2.5.0 or a compatible later release before following these instructions.

    In 2.5.0, section and activity cards have a rectangular 16:9 image area above their details. Cards without an image show a plain panel in the card colour with the module label and title, not a decorative placeholder. A section card can use its section banner when it has no card image; it does not borrow the course banner. Learners see the resulting cards and their usual progress and completion information, but do not see the image-editing tools.

    Set up individual cards

    1. As a teacher with course-editing access, turn Edit mode on. In 3.0.0, open an activity’s edit menu and choose Card image after “Edit settings” to upload an image or enter a prompt to generate one with AI. In 2.5.0, the image tool appeared on the card instead. The 2.5.0 notes label AI generation “Uses 5 credits”; uploading an existing image does not use AI generation credits.
    2. Choose a card colour for the no-image panel and card treatment. Remove an image to return to the panel (or the section’s own banner, if one is set). Check the learner view after saving.
    3. For consistent AI images, select the course’s AI card image style: photo, illustration, render3d, or flat. This setting controls requests for card images, not the course hero banner.

    Generate card images in a batch

    In the 2.5.0 course settings, use Generate card images to preview the number of images and total quoted credits before queueing. Confirm only if the quote and chosen style are right. The notes specify a maximum of 60 cards per batch and a throttle of one batch per five minutes. This is separate from uploading an image or changing a colour; do not treat the preview as proof of a completed charge.

    Card request compatibility verified; live generation not tested

    The inspected 2.5.0 plugin uses the same payload builder for single-card and queued batch generation. Requests from that released PHP builder were tested against the server route with mocked providers for section and activity cards in all four styles. The server honours imageKind: "card", aspectRatio: "16:9", and imageStyle, returning a 1536×864 JPEG in the format the plugin expects. These tests verify request and response compatibility, not live Moodle queue execution, visual quality, or production billing. No paid provider calls were made. Uploads and card colours remain non-AI alternatives.

    Scene-based card and banner images

    The updated AI Course image service uses GPT Image 2 at high quality for both cards and banners, without silently switching to another image provider. Generation can take over a minute, plus concept preparation. The provider change requires publishing the server update; it does not replace existing images. Retrying a completed request recovers its original image rather than generating a replacement. Review anatomy, lettering and technical details before use.

    Plugin 3.1.0 supplies the title and context for each card or banner. The updated server interprets the individual subject and invents a visual concept for it, rather than expanding a preset study scene. Section and activity titles lead their own images; course banners use the course subject. People, objects, processes and environments are chosen for their relevance—not a requirement to show someone at a laptop. Shared style and colours keep the set consistent without requiring the same composition.

    • Choose photo, illustration, render3d or flat: in 3.1.0 the course’s image style applies to banners as well as cards.
    • Add your own direction, such as warm evening light or an outdoor setting, to guide the scene.
    • Course context guides subject, audience and geography; the server does not assume a country from the language alone.
    • The course accent and composition are shared across the image set. Small contextual labels and realistic interfaces are permitted; large headings and watermarks are not.
    • Cards retain their 16:9 format; banners retain their panoramic format with space on the left for the course title.

    Server enhancement and fallback

    The updated service first develops a structured visual concept: the subject, setting, action, three concrete details and composition. It then assembles those visible elements into the image prompt, followed by the plugin’s unchanged style and composition instructions. This is intended to depict the subject itself, rather than a generic scene of someone studying it. The known stock rule banning all text is replaced with a contextual-text rule; custom instructions are not rewritten. If the scene writer times out or produces an invalid result, the original plugin prompt is used instead, with that same stock-rule replacement when its ending matches. This enhancement requires the corresponding LMS Labs server update to be published; passing the plugin release pipeline alone does not activate it.

    Each successfully returned image still costs 5 credits; the scene writer adds no extra credits. Older plugins remain supported: supplied prompts are used directly when no scene brief is present, and requests without prompts retain the existing composition. The service does not append negative-prompt lists to models without a dedicated negative input. Review generated images before use; readable text and visual quality are not guaranteed.

    Who AI Course Format is for

    AI Course Format replaces Moodle’s default course page with a progress-driven learning experience: a course-image hero, section cards instead of an endless page, a course index that becomes a progress tracker, estimated-time cues, and an optional Tutor that answers from the course’s own content.

    • Compliance, induction, onboarding, and other courses learners complete in sequence.
    • Vocational qualifications and professional development where visible progress and time commitment matter.
    • Structured online courses that benefit from guided navigation and consistent completion cues.
    • Existing Moodle courses: switching format changes presentation, not the sections, activities, or resources themselves.

    When another format may fit better

    A reference library with little or no completion tracking gains less from this format. Its progress rings, ticks, percentages, and much of its navigation language are built on Moodle completion data.

    Install and check the gates

    AI Course Format must be installed as the Moodle course-format component at course/format/aicourse. The directory name is part of format_aicourse; installing it elsewhere will be refused.

    RequirementDetails
    MoodleSee the archive-bound Requirements shown near the top for authoritative compatibility details.
    PHPUse the PHP version required by your installed Moodle release; see the archive-bound Requirements shown near the top for authoritative compatibility details.
    DatabaseAny database supported by the installed Moodle version.
    BrowserA current Chrome, Edge, Firefox, or Safari release.
    Completion trackingStrongly recommended. Progress rings, ticks, percentages, and completion detail read from Moodle completion data.
    AI TutorOptional. An API key from LMS-Labs, the site's web address setting, and outbound HTTPS.
    Without AI servicesCards, timings, navigation, tours, completion UI, and reports remain local. Tutor requests and optional AI banner generation require the external service; 2.5.0 also describes optional AI card images, subject to the service-support caveat above.

    For a ZIP: Site administration → Plugins → Install plugins, choose plugin type Course format (format), upload the ZIP, and complete the upgrade. For a manual install, unpack the ZIP so the final path is course/format/aicourse, then visit Site administration → Notifications or run the Moodle upgrade CLI.

    Always purge caches after an update

    Go to Site administration → Development → Purge caches after installation or upgrade. Moodle aggressively caches Mustache templates and AMD JavaScript; stale caches are the most common reason a new release appears unchanged.

    Capability-gated behavior

    format/aicourse:view controls the enhanced view for enrolled users. format/aicourse:useaitutor controls who may send Tutor questions. format/aicourse:viewreport controls course reports, and format/aicourse:correctresponses controls teacher corrections. Removing the Tutor capability is a direct way to stop a role sending data to the external service.

    Ten-minute quick start

    1. Enable completion tracking: Site administration → Advanced features, then enable it in the course and add completion conditions to activities.
    2. Select the format: Course → Settings → Course format → AI Course Format, then save.
    3. Add a course image: Course → Settings → Course image. It becomes the hero background; without one the banner uses its gradient treatment.
    4. Set site defaults: work through the ten searchable settings areas so new courses start with the right layout, navigation, branding, and timings.
    5. Set branding and time estimates: choose the accent and player logo, then configure activity-type minutes. Teachers can override an individual activity from the course page.

    The page is server-rendered first. If JavaScript is unavailable, the course content and final progress values remain present; animation, search, and enhanced interactions do not run.

    The course page: banner, cards, and progress

    The course home is a player-style overview. A banner can show the course title, module and activity counts, total estimated time, and live completion progress. Sections become visual cards; activities can remain in Moodle’s list or become activity cards.

    Banner options

    • Show hero banner turns the banner on or off for course, section, and activity pages.
    • Banner width can align to the content column or span the viewport; full width remains edge-to-edge when the course index closes and does not leave a gap above.
    • Banner at top of page places the banner above the course tab bar and keeps sticky scrolling aligned after asynchronous placement.
    • The left and right banner control clusters use the same glass-panel treatment, and progress/completion rings share one consistent size.
    • Hero image overlay opacity is a configurable value: choose the contrast that suits your image and theme rather than relying on a universal threshold.
    • Height, alignment, background fade, sticky behavior, and per-course image are available through the relevant course and site controls.

    In 2.4.0 and later, the chevron is a separate per-user collapse control for the top band, not the “Show hero banner” course setting. Sticky placement and banner styling still apply when the band is expanded; they do not force a collapsed band back open.

    Generate AI banner

    The Generate AI banner action queues a request and returns immediately. The image is normally ready after about 1–2 minutes; the page polls the asynchronous job rather than blocking the administrator. The result is not promised to a fixed pixel size: use the course image guidance in the course setting and check the result in the selected theme.

    Exact banner payload

    The optional request to https://lms-labs.com/api/moodle/aicourse/generate-banner contains the site URL, API key, course ID, course short name, and course full name. It contains no learner or other personal data.

    Section and activity cards

    Section cards expose the module shape before a learner opens it: section title, activity count, estimated time, completion state, and optionally a capped list of activities. Activity rows repeat the same icon, time, tick, and completion-detail language used in the course index. Choose a grid or one-column layout; the responsive grid uses three columns when space permits, two at tablet widths, and one on a phone, reflowing when the course index changes the available width. Activity cards can show type, completion requirement, grade where Moodle permits it, and progress.

    The supplied 2.5.0 notes add an image area to section and activity cards. See the 2.5.0 card image workflow above for upload, colour, AI style and batch details; availability depends on the installed release.

    For users allowed to edit the course, card-level icon, rename, delete, duplicate, and add-section actions are available directly on course-home cards. Moodle’s standard drag handles and activity/resource editing controls still appear through Edit mode. The complete card surface—including the icon corner and footer—works as a link with no dead click zones.

    Completion details and motion

    Completion tooltips describe each condition separately, including whether it is met or failed, the learner’s visible grade, and the completion date. Hidden grades stay hidden for viewers without Moodle’s moodle/grade:viewhidden capability. Progress rings and percentage numbers count up together over 1.8 seconds on banners and in the sidebar; reduced-motion preferences are respected. On touch devices, completion details open by tap rather than depending on hover.

    When enabled, the Moodle course index is decorated as a branded player. Its compact top area is deliberately two rows: the first row holds the course-player logo, course name, visible close control, and core options menu; the second row holds progress and total estimated time. The old empty core-control strip collapses. Below that, one clickable row per visible activity shows the module icon, duration, completion state, and truncated long names with the full name on hover.

    • Course player sidebar is a course-level choice, with a site default and an admin force control.
    • First-entry mode can remember the learner’s choice, start collapsed, or start open. It applies once per user per course; subsequent choices are respected.
    • Force override can impose the sidebar state or leave each course in control.
    • The grade-page sidebar keeps the same player continuity even when the page is not a section or activity page.
    • A separate course-player logo can be uploaded by an administrator; otherwise the theme/core logo is used when available. The player supplies an explicit display width for logos that only define an SVG viewBox.
    • Player styling is scoped to the course-index drawer and does not hide or restyle Moodle’s primary navigation drawer.

    The sidebar’s first-entry/open-close choice is separate from the 2.4.0 chevron. The chevron collapses the hero and the adjacent drawer header in merged mode, not the entire course index or its activity list; its preference is per user across the site rather than per course.

    Index page combinations

    Show course index sidebar is not a single page switch. Configure the eight combinations of course home, section page, and activity page visibility. This lets a site keep the index on activity pages while omitting it from the home page, or use any other combination appropriate to the course. Hide General section removes section 0 from the index and cards; announcements still post and email normally.

    Estimated time: precedence, defaults, and hiding

    Time is calculated consistently across cards, banner totals, and the player sidebar. A teacher’s saved estimate for an activity takes precedence over defaults. Enter 0 at activity level to hide that activity’s time.

    1. Per-activity override: the teacher’s own figure wins. Zero hides it.
    2. Quiz rule: question count × Minutes per question. The default is 1 minute per question.
    3. Per-type defaults: administrators can provide modname=minutes lines. Unlisted activity types use the fallback, default 5 minutes.

    Visibility is independent in the index, section cards, activity cards, and course total. Use the corresponding hide-time controls when a duration should appear in one place but not another.

    Trim the page without breaking Moodle

    Course-level visibility choices can show, hide from students, or hide from everyone for the supported page furniture. “Hide from students” preserves the item for course staff, including non-editing teachers, whether or not they can turn Edit mode on. Hidden elements remain reachable by URL and Moodle permissions continue to apply. Edit mode separately reveals authoring furniture to users who can edit the course.

    ControlEffect
    Course navigation tabsCourse, Settings, Participants, Grades, and Reports row.
    Where course tabs appearMoves those tabs into the site header for teachers.
    Hide site logo bandThe taller theme header band containing the site logo and links.
    Site footerThe footer strip.
    Breadcrumb trailThe Home → My courses → … trail.
    Hide General sectionSection 0 in the index and cards.

    The compact notification, user-menu, and Edit-mode bar is not hidden by this format. Navigation chevrons and the return-to-section link can be enabled for section and activity pages.

    The top-band collapse chevron is different from those previous/next navigation chevrons and from the admin “Hide site logo band” control. It leaves its own restore button visible and does not remove the compact notification/user/Edit-mode bar.

    Navigation visibility uses three practical states: show everyone, hide from students, or hide from everyone. Course-staff detection is distinct from edit capability: non-editing teachers keep the tabs, breadcrumb, footer, logo band, and General section they need for marking and support work. “Hide from everyone” remains the explicit choice when staff should not see an item either.

    Branding and theme controls

    • Accent colour can follow the theme primary or be set as a course/site colour for headings, card borders, icons, focus rings, and related accents.
    • Course index header colour controls the player’s top band; index surface colour and opacity control the panel surface.
    • Card surface colour and opacity tune card contrast independently.
    • The course-player logo is separate from the site logo and is useful for a client-branded course.
    • Developed and measured against Boost and theme_academi; test other themes against your own header, drawer, and navigation conventions.

    Brand defaults are administrator controls. Teachers can use the course settings available to them; they cannot change site-wide force controls.

    AI Tutor: scope, ceiling, and outbound payload

    The AI Tutor can appear on course, section, and activity pages, including the current quiz question context. It is pedagogical: it explains concepts, suggests structure, gives workplace examples, and makes checklists. It refuses to write work a learner could submit as their own and is locked out of answer mode once an assignment has been submitted. A once-per-course introduction explains the Tutor before first use.

    • Enable AI Tutor is the site master switch; an empty API key or site web address also leaves it inactive. AI Central Config credentials are used first when that plugin is installed.
    • useaitutor capability controls who may ask questions.
    • Share assessment answers is a site-level ceiling: Never share (default), Always share, or Let each course decide. A course can opt in only when the ceiling permits it.
    • Set “This site’s web address” to the full URL of this Moodle site including https:// — this is how the AI service recognises your site. An invalid address is discarded on save and the Tutor will report it is not configured.
    • Teachers receive format-setting context so they can ask how to configure the course; learners do not receive that settings information.
    • Teachers with the report and correction capabilities can review and correct a response; corrections are part of the course report and privacy record.

    Precise chat payload

    When a user actively types and sends a question, the HTTPS request to /api/moodle/course-assistant/chat includes site URL and API key, Moodle user ID and first name, course ID and full name, visible course text (section names, activity names/descriptions, page and label text, slide text, quiz question text), current activity name/type, section name, the question, quiz slot and question text where relevant, and the stored summary of prior questions in that activity.

    Only an explicit administrator choice to share assessment answers adds correct answers, per-option feedback, or essay marking guides. No password, email address, surname, ID number, or grade is sent.

    Privacy API, storage, export, and erasure

    This is a full Moodle Privacy API provider, not a null provider. Personal data is stored in the course context and the external LMS-Labs transfer is declared in Moodle’s privacy registry.

    DataWhat it contains
    AI Tutor chatsCourse/user/activity IDs, quiz slot, question, response, rating, refusal and lock states, correction text, correction author, and timestamps.
    AI memoryOne short per-user, per-activity summary of topics previously asked about and its update time.
    Activity-minute overridesCourse and activity IDs, minutes, the user who changed the estimate, and modification time.
    • Exports include the user’s own conversations, corrections they wrote on other users’ conversations, and tutoring memory, grouped by course.
    • Deleting a user removes their own chat rows and memory.
    • If that user authored a correction on another person’s row, the student’s row remains and only correctedby/timecorrected attribution is cleared.
    • Course-level deletion and deleting the course remove plugin records; Moodle cannot erase data already held by LMS-Labs, so contact that provider for external erasure.
    • The external transfer appears under Site administration → Users → Privacy and policies → Plugin privacy registry.

    The 2.4.0 plugin tables are format_aicourse_chats, format_aicourse_ai_memory, and format_aicourse_actminutes. Course deletion removes local records from these; deleting an activity also removes its activity-minute override. The supplied 2.5.0 notes additionally describe a format_aicourse_cardstyle table for card colours and Moodle Privacy API metadata. Check the installed release for its applicable data inventory.

    Conditional first-run tours

    Logged-in, non-guest users are offered a first-run tour once per tour version. Capability decides which tour is built: teachers receive up to 16 steps, learners up to 11 steps. The narration covers the controls that role can actually use.

    • Voiceover is configurable by administrators and defaults to Australian English (en-AU).
    • If a target is missing because the banner, Tutor, or another feature is disabled, that step is dropped rather than pointing at empty space.
    • Missing audio falls back to browser speech synthesis.
    • The teacher tour includes authoring, icons, settings, student view, and reporting; the learner tour focuses on progress, index, cards, statuses, time, grades, and Tutor.

    Course and site reports

    A teacher or manager with format/aicourse:viewreport can open the course report from the course menu. It has separate Content and History tabs: content surfaces where questions cluster, while history provides the detailed conversation record and correction workflow. Separate groups are respected unless the viewer has moodle/site:accessallgroups.

    Administrators can open Site administration → Plugins → Course formats → AI Course Format → View all AI Tutor Q&A. The site report has filters for course, student, rating, answered/refused state, date range, search text, sorting, and rows per page; it shows headline counters, paged results, expandable question/response text, and CSV export. Filter option lists are capped and the page indicates when a list is partial.

    Report visibility is capability-gated

    Being enrolled or having ordinary participant visibility is not enough to read classmates’ Tutor conversations. Grant the report capability deliberately, and test group mode with a teacher account before rollout.

    The current admin settings experience

    Site administration → Plugins → Course formats → AI Course Format starts with a feature overview and search box, then presents the settings as a single-column accordion with ten colour-coded areas. One area is open at a time. Settings are numbered and carry a small wireframe showing the part of the course page they govern. Values still save through Moodle’s normal admin form.

    LayerWhat it does
    Site default (default…)Seeds a course that has never saved its own value. Changing it does not rewrite an existing configured course.
    Course settingThe teacher’s choice in Course → Settings → Course format. It overrides the site default for that course.
    Force (force…)Overrides existing and new courses and removes that choice from teachers. Use it only when the setting must be consistent site-wide.
    • AI Tutor connection and disclosure, including Enable, this site’s web address, API key, and answer-sharing ceiling.
    • Display, banner, cards, course index/player, visibility, branding, and theme support.
    • Estimated-time defaults: per-type lines, quiz minutes per question, and fallback minutes.
    • The default accent colour is a Moodle colour picker, and default course-navigation placement is a registered setting rather than an implicit value.
    • First-run tour voiceover and the narration language tag (for example en-AU, en-GB, en-US).
    • Site defaults seed new courses; force controls can apply a value across existing courses. A force value of “follow each course” returns control to course settings.
    • Each force… setting is illustrated with three miniature courses side by side, making it visually obvious that it applies to all of them.
    • The admin page calls out Boost and theme_academi as the themes it is developed and measured against.

    Teachers configure their own course through Course → Settings → Course format, including course display, banner, index combinations, cards, timings, and the course-level Tutor answer-sharing choice when allowed. They do not configure admin defaults, force overrides, the service credentials, or site reports.

    There is no per-course setting needed to remember the 2.4.0 top-band collapse: each signed-in user toggles it on the course page. That one preference applies across courses and sessions; it does not change a teacher’s banner configuration or another user’s view.

    Web, Moodle Mobile, and verified behavior

    The enhanced banner, cards, player sidebar, and AI Tutor panel are web-only. This plugin does not ship Moodle Mobile integration, so the Moodle Mobile app uses its own default course layout; courses remain usable there.

    AI Course Format targets WCAG 2.2 Level AA. The current release is checked at 320, 360, 390, and 414-pixel mobile widths and wider desktop layouts, including reflow down to 320 CSS pixels with no horizontal scrolling (SC 1.4.10), 200% text zoom, touch targets that meet or exceed the 24×24px minimum (SC 2.5.8; most are 44px on desktop and 36px on a phone), tap-to-open completion tooltips, keyboard access, visible focus, dark mode, reduced motion, RTL, forced colours, and print behavior. Colour is never the only signal — completion states use shape as well as colour: a filled tick for done, a ring for not started, a dash for untracked. Progress rings expose ARIA values, decorative icons are hidden from the accessibility tree, and with prefers-reduced-motion set the final values are shown immediately. These are verified plugin behaviors, not universal certification for every theme, content type, or deployment.

    The 2.4.0 top-band toggle also works in a mobile browser and in learner or Edit mode. Its 48×24px button can be focused and pressed with Enter or Space, keeps its expanded state and action label in sync, and remains visible while the banner is hidden. Hidden banner titles and links do not remain as invisible keyboard stops.

    Troubleshooting checklist

    Text shows a missing language string.

    Purge Moodle caches after installation or update: Site administration → Development → Purge caches, or the Moodle purge_caches.php CLI.

    The updated plugin looks identical to the old release.

    Purge Moodle caches before investigating anything else. Cached templates and AMD JavaScript commonly make an upgrade appear unchanged.

    Progress is 0% or rings are missing.

    Enable completion tracking site-wide and in the course, then configure completion conditions on the activities. Only tracked activities contribute to progress.

    A changed admin default did not change an existing course.

    Defaults seed courses that have never saved that option. Check for a course-level value, then use the matching force/override control if the change must apply everywhere.

    A “Hide from students” item is still visible to a teacher.

    That is expected, including for non-editing teachers. This setting hides the item from learners while preserving staff navigation and marking access. Choose “Hide from everyone” when staff should not see it either.

    A tour step points to nothing or the tour is shorter.

    The feature target may be disabled or unavailable on that page. Missing targets are dropped by design; enable the relevant banner, index, or Tutor feature if that step is needed.

    Time badge is missing or wrong.

    Check for a per-activity override. Zero hides time. For defaults, check the modname=minutes lines, quiz minutes-per-question value (default 1), and fallback (default 5), then check independent location visibility.

    The index is not on the page you expected.

    Review the eight home/section/activity combinations, then check the site force setting and the first-entry state. A hidden General section is separate from index visibility.

    Mobile layout differs from the screenshots.

    The Moodle Mobile app uses Moodle’s default layout. Open the course in a mobile browser to see the web-only format and test the active theme.

    The AI Tutor says it is not configured.

    Check Enable AI Tutor and the LMS-Labs API key, then confirm This site’s web address is a full valid URL including https:// — an invalid address is discarded on save. Credentials can also come from AI Central Config when that plugin is installed.

    The banner doesn’t fill the width when the course index closes.

    Purge caches first. If it persists, check for a theme that positions #page unusually and report the theme name; theme-specific quirks are fixed with theme-specific rules.

    The top band keeps reopening after I collapse it.

    First confirm the installed plugin release in Plugins overview is 2.4.0 or later and purge Moodle caches after upgrading. Sign in with your own user account; the chevron remembers a per-user site-wide preference. If it still reopens on each page, ask your administrator to check the preference write rather than changing the course banner setting.

    The hero image looks washed out or the title is hard to read.

    Increase Banner darkening in the Hero banner settings area so the title stays readable over the image.

    A report is empty or missing.

    Confirm viewreport capability, course membership, separate-group access, and the selected filters/date range. The site report is admin-only; the course report is not automatically visible to every participant.

    Frequently asked questions

    QuestionAnswer
    Does it work on mobile?Yes in a mobile browser. Cards reduce to one column, banners reflow, and the course index uses the available mobile width.
    Does it change the Moodle Mobile app?No. The app uses its own renderer; course content remains usable, but the web banner, cards, player sidebar, and Tutor panel are not applied there.
    Can only some courses use it?Yes. AI Course Format is selected per course.
    What if I switch away later?Sections, activities, files, and completion settings remain Moodle content. Only this format’s presentation and Tutor disappear from that course.
    Is completion tracking required?Not for the Tutor itself, but it is strongly recommended for the progress-driven course experience.
    Can teachers override site settings?Yes unless the matching force setting locks that value site-wide.
    Does collapsing the top band hide the course index or change the course for everyone?No. The 2.4.0 chevron hides the hero banner and the adjacent drawer header in merged course-index mode, not the whole index. It remembers your own choice across this site's courses, pages, and sessions; use the visible chevron to expand it again.
    Is the AI Tutor required?No. The visual course format works without it. Disable the Tutor and withhold its capability when the external service should not be used.

    Uninstalling and getting support

    1. Move courses using AI Course Format to another course format first.
    2. Go to Site administration → Plugins → Plugins overview, find AI Course Format, and choose Uninstall.
    3. Complete Moodle’s uninstall flow and purge caches.

    Uninstalling removes plugin settings and local plugin tables. Moodle-owned course content, sections, and activities remain. Data already transmitted to LMS-Labs is outside Moodle’s local deletion callbacks and must be handled through the provider’s erasure process.

    What to include in a support request

    Send the Moodle version, theme name, plugin release from Plugins overview, exact steps, and a screenshot. For visual issues, identify whether the problem is on course home, a section page, or an activity page. Documentation and support are available through LMS-Labs.