v4.0.4 Not Found — Update to eXeLearning v4.0.5
Added
- iDevice boxes: you can now choose between the icons provided by the current style and the new General icons catalogue (Google's Material Icons); included styles have been updated to support both icon catalogues
- Math editor: added fullscreen and settings controls, reworked the menu and updated texts
- New EducaBlue style: a modern responsive blue design with dark mode and colours and typography meeting WCAG 2.2 level AA
- Local users can now change their password from the user menu
- Administrators can now reset local account passwords from Admin → Users
- Added make change-password EMAIL=user@example.com command to change a user's password without showing it on screen
- Password changes are unavailable for guest accounts; users signed in through CAS, OpenID Connect or SAML change their password with their identity provider
- Form, True/False, Scrambled list, Complete and Before/After iDevices: added the option to show a button to save the score
- True/False iDevice: added configurable number of attempts
- Word Search iDevice: added the option to hide the time icon in timed activities
- Platform integration: PROVIDER_URLS now supports wildcard subdomains and matches against the address host, allowing multi-tenant deployments to be authorised without widening the allow-list
- Added assets:conflicts command to list and resolve asset storage conflicts, keeping either the old or new copy
- Updated development documentation and improved development tools
- Reviewed and completed the Spanish (ES) and Galician (GL) translations
- Restored the French (FR) translation from version 3, corrected its errors and added new automatic placeholder translations for previously untranslated strings
- Added automatic placeholder translations for new strings in incomplete translations
Changed
- Project assets are now stored in sharded folders with paths relative to the data directory, improving scalability and allowing the data directory to be moved, remounted or restored without invalidating projects; existing installations are converted automatically at startup
- SCORM 1.2: rewritten the runtime shipped in exported packages, with clear licensing and a full regression suite, keeping the same LMS behaviour while removing onunload and onbeforeunload handlers
- SCORM, IMS: exported packages now group pages under a project root entry, which appears above the pages in the LMS table of contents
- SCORM: page status and score are now based on learner interaction with its activities; pages remain incomplete until every activity has been finished, are marked failed while the score is below 50 and passed from there on, while pages without activities are completed when the learner leaves them
- SCORM: activities that save the score automatically now send and commit it on every answer, so the platform index updates while the learner is still working on the page
- SCORM: opening or leaving a page no longer decides its result on its own; only what the learner does with the activities does
- SCORM: entering the access code now starts the activity and records it as started, just like clicking the start button
- SCORM: activities without a set weight now count the same as other activities, which may change scores on pages combining both types
- iDevices: activities can always be repeated
- Base and Universal styles: fully revised for accessibility, presentation and third-party licences, meeting WCAG 2.2 level AA
- Effects: improved accessibility and presentation of accordion, tab, pagination, carousel and timeline controls, with clearer focus indicators and improved contrast
- Styles: improved accessibility of menu and search controls in exported websites
- Universal style: dark mode is now disabled by default, except when exporting as a website
- Math: accessibility is now provided through browser MathML support, with hidden MathML always enabled so screen readers can announce formulas; removed the non-functional expression explorer, braille and read-aloud options from the MathJax menu
- Static distribution: removed unused resources, duplicated bundles and unreachable third-party files, and improved compression of the largest datasets
- Static Docker image: compressed content is now served, reducing download sizes by around 65%
- The "Import iDevice" button is now hidden until the feature is available
Fixed
- SCORM 1.2: exported pages no longer rely on browser onunload and onbeforeunload handlers, preventing scores from being lost in Moodle
- SCORM: opening a page no longer records a score of zero and a failed result
- SCORM: leaving an untouched page no longer prevents the rest of the package from saving its results
- SCORM: results now reach the platform index without requiring the whole page to be completed
- SCORM: pass or fail results no longer depend on the order of activities on the page
- SCORM: fixed the buttons that jump to the previous and next page of the same level in Moodle, for projects with nested pages
- SCORM: activity weights are now correctly applied to the page score
- SCORM: restarting an activity now clears its previous score and result in the platform
- SCORM: pages completed after resuming are now correctly marked as finished in the platform index
- SCORM: Interactive Video now registers when the page loads, ensuring all its activities are included in the page score
- SCORM: activities no longer score automatically when the page loads or lose their score when they finish
- SCORM: moving between page contents no longer marks the page as completed
- Workarea: fixed failures when dragging an iDevice into a page while its content is being refreshed
- Workarea: selecting a different page while an iDevice editor is opening no longer shows an unsaved-changes alert
- iDevices: activities made up of several scripts, such as the 360° panorama viewer and Select media files, now load correctly
- iDevices: closing an activity editor no longer causes errors from actions that are still in progress
- iDevices: Before-After, Hidden image, Map and Drag & Drop activities no longer fail when the page is left while they are loading
- TinyMCE: fixed failures in the paste-code, media and definition-list tools when the editor or dialog has already been closed
- True/False iDevice: iDevices placed after it in the same block are no longer lost in exported content
- True/False iDevice: fixed errors when answering and corrected score reporting
- True/False iDevice: activities imported from eXeLearning 2.x now use the project's language instead of English
- Form iDevice: the Check button now works as soon as the activity is displayed
- Progress Report iDevice: fixed course maps in exported packages, scores on duplicated pages, activity order and page links
- Sort iDevice: fixed its height and the count of correctly positioned items
- iDevice editing: fixed digit limits in time and percentage fields in eight iDevices
- Export and preview: after upgrading eXeLearning, the browser no longer reuses cached files from the previous version
- Export and preview: cached libraries and styles are now reused between reloads, and outdated copies are removed automatically
- Export: the theme stylesheet is now loaded last in single-page exports, preventing it from being overridden
- Export: the nav=false parameter no longer discards teacher mode, xAPI credentials or other URL parameters, and search results now preserve the parameters used to open the page
- Effects: fixed the timeline opening and closing again on a single click
- Neo and Flux styles: fixed responsive layout detection
- Styles: fixed a misnamed icon in Neo; all styles except Universal now provide the same 50 icons under the same names
- Styles: theme icons are always sorted alphabetically in the block icon picker
- Styles: reviewed the licences of third-party materials used in styles, updated their credits and include the required licences with every style
- File → Open: fixed the colours of the Delete button
- Admin panel: fixed the contrast of the Source column in Styles Management
- Preview: PDFs embedded in a Text iDevice are now displayed correctly in Docker and static deployments
- Preview: fixed timeouts caused by outdated preview workers after upgrading eXeLearning
- Math: fixed inconsistencies caused by mixing incompatible MathJax versions and reduced the size of exports containing formulas
- Math editor: formula previews are now announced correctly by screen readers instead of as unlabelled images
- Math editor: the menu editor no longer downloads part of its interface from external services, so it also works in offline and desktop installations
- Mermaid: the library is now loaded while the diagram is being edited, preventing delays when the activity is closed or saved
- Import: activities with damaged data now retain their original content instead of being emptied, and the user is notified
- Import: the "Missing files" notice no longer lists files that only existed in an outdated copy of html-type activities (Map, Flipcards, Select media files…)
- Uploads: large files are now staged in the configured data directory instead of the application folder
- Sign-in no longer slows down the rest of the server when many users log in simultaneously
- OpenID Connect: consent is now handled entirely by the identity provider, avoiding repeated consent prompts and allowing non-administrative users to sign in
- Collaboration: closed connections are now released, preventing servers from accumulating them
- Fixed misaligned translations that showed unrelated texts in Catalan (CA), German (DE), Esperanto (EO), Galician (GL), Italian (IT), Portuguese (PT), Romanian (RO) and Valencian (VA), affecting True/False activities, the AI question generator, the math editor, rubrics and download blocks
- Basque (EU) translation: fixed typos, wording and missing formatting placeholders