v2.0.0 Alpha 4
Pre-releaseThis is an alpha release, not meant for production use, only for testing and contributing to the development of Chamilo 2.
Visual design is not final.
Database structure should be frozen until Chamilo 2.0 stable 🤞, so external developers are welcome to start contributing extensions to current feature set while using the existing database structure or adding to it through plugins.
The following is an automatically-generated changelog. For a slightly better human-readable changelog, please check public/documentation/changelog.html inside the package, or load "/documentation/changelog.html" in your browser once you have configured it.
Please refer to the install process in README.md (Chamilo's main project page on Github) for installing. This version requires Redis (or similar) for sessions management.
What's Changed
- Documents: Force download for non-previewable files - refs #3540 by @christianbeeznest in #6533
- Exercise: Implement AI-Powered Open Answer Grading - refs #3682 by @christianbeeznest in #6534
- Internal: Create callback script that enables a videoconference system - refs #6145 by @christianbeeznest in #6537
- Social: Add information on friend requests to fullfill GDPR - refs #2928 by @christianbeeznest in #6538
- Assigment: Refactor assignment submission UI and enforce text/file modes - refs #1563 by @christianbeeznest in #6539
- Exercise: Add bulk PDF export and ZIP download - refs #3320 by @christianbeeznest in #6540
- Learnpath: Improve document tree UI and file upload UX - refs #5957 by @christianbeeznest in #6548
- Internal: Use t() in place of v-t in BaseAutocomplete and BaseTextArea by @christianbeeznest in #6558
- Message: Pre-fill recipient from send_to_user parameter - refs #22826 by @christianbeeznest in #6559
- Editor: Fix HTML block placeholder - refs #22827 by @christianbeeznest in #6560
- Language: #add missing and #fix language terms by @NicoDucou in #6561
- Skill: Improve badge detail page layout - refs #22825 by @christianbeeznest in #6562
- Learnpath: Add “My Sessions” return link option - refs #22815 by @christianbeeznest in #6565
- Admin: Add course descriptions to Register view from dashboard - refs BT#22814 by @christianbeeznest in #6567
- Learnpath: Enable dragging of last document in lessons - refs BT#22812 by @christianbeeznest in #6568
- Language: #add missing and #fix language terms by @NicoDucou in #6570
- User: Implement optional CSV header output to export by @christianbeeznest in #6571
- Language: #add missing and #fix legacy language terms by @NicoDucou in #6572
- User: Implement optional CSV header output with correct order to export by @christianbeeznest in #6573
- Language: #add missing and #fix legacy language terms by @NicoDucou in #6574
- Badges: Fix mobile button layout and display comments - refs BT#22825 by @christianbeeznest in #6575
- Pages: Change Locale to Language - refs #6569 by @christianbeeznest in #6576
- User: Fix signup notification translations - refs #22823 by @christianbeeznest in #6564
- Learnpath: Fix final certificate generation and enforce last position - refs BT#22813 by @christianbeeznest in #6581
- Add access URL chooser for users with multiple active portals by @AngelFQC in #6532
- User: Reject ';' delimited CSV with explicit error; require ',' to import - refs #22838 by @christianbeeznest in #6591
- Learnpath: Enforce last item, fix cert gen, tolerant paths & UI - refs BT#22813 by @christianbeeznest in #6592
- User: Add T&C gate (show_terms_if_profile_completed + termactivated) and recompute profile_completed - refs BT#22849 by @christianbeeznest in #6604
- Learnpath: Implement tool home page (LP list), new interface - refs #4763 by @christianbeeznest in #6589
- Agenda: Localize calendar breadcrumb labels - refs BT#22864 by @christianbeeznest in #6614
- Internal: Centralize helper for file operations using Flysystem by @christianbeeznest in #6615
- Internal: Require comma CSV; show persistent error; standardize in all imports - refs BT#22838 by @christianbeeznest in #6617
- Session: Enforce ',' CSV for session import; reject ';' with sticky warning - refs BT#22853 by @christianbeeznest in #6618
- Message: Hide messaging UI and block /resources/messages when message.allow_message_tool is false - refs BT#22854 by @christianbeeznest in #6619
- Admin: Ignore null settings before resolve - refs BT#22851 by @christianbeeznest in #6620
- User: Associate new users to current AccessUrl - refs #2791 by @christianbeeznest in #6622
- Internal: Resolve locale from custom ISOs in date_to_str_ago - refs BT#22865 by @christianbeeznest in #6613
- Certificate: fix skills/badges rendering via AssetRepository by @christianbeeznest in #6616
- Session: Trim CSV usernames/coaches and report invalid usernames - refs BT#22853 by @christianbeeznest in #6629
- Internal: Implement Intl-based date picker localization and locale normalization - refs BT#22867 by @christianbeeznest in #6612
- Course: Allow anonymous on public courses - refs BT#22869 by @christianbeeznest in #6630
- Internal: Localize PrimeVue empty messages globally - refs BT#22877 by @christianbeeznest in #6632
- Social: Fix map—use PluginHelper, add cache fallback, create geofields - refs BT#22873 by @christianbeeznest in #6633
- Exercise: Optimize Annotations - refs #3471 by @christianbeeznest in #6636
- Exercise: Implement Page Break question type and AJAX navigation - refs #2939 by @christianbeeznest in #6549
- Learnpath: Enhance SCORM upload quota validation and cleanup - ref #1970 by @christianbeeznest in #6536
- Learnpath: Enable per-item PDF export control - refs #2969 by @christianbeeznest in #6541
- Admin: Add temp upload cleanup UI + CLI (cache:clear-uploads) - refs #5601 by @christianbeeznest in #6601
- Social: Show markers + expose geo fields in profile for map - refs BT#22873 by @christianbeeznest in #6639
- Admin: Security section, report on failed logins - refs #4498 by @christianbeeznest in #6603
- Internal: Add user/course progress, certificates & gradebook stats - refs #5643 by @christianbeeznest in #6624
- Admin: Revert chart colors; add “Failed login attempts” title - refs #4498 by @christianbeeznest in #6641
- Internal: Topbar: derive visibility from pages by category/URL/locale - refs #6610 by @christianbeeznest in #6625
- Plugin: Add default visibility for course plugins; sync icons on enable/disable and course creation - refs #3246 by @christianbeeznest in #6626
- Plugins: Fix action buttons flow (loading, feedback, error-safe) by @christianbeeznest in #6642
- Social: Fix GMaps init: plugin checks, async load, and auth fallback - refs BT#22873 by @christianbeeznest in #6640
- Admin: Enable logo changes with custom styles - refs #5578 by @christianbeeznest in #6602
- New learning path list improvements - refs #6609 by @Coussecousse in #6628
- Plugin: BBB: Update upstream PHP API library - refs #3244 by @christianbeeznest in #6553
- Plugin: BBB: Handle 413 gracefully and compact pre-upload UI - refs #3244 by @christianbeeznest in #6645
- Internal: Remove legacy cache-cleaning page (duplicate) by @christianbeeznest in #6646
- Plugin: Add missing language terms in BBB settings by @christianbeeznest in #6647
- Learnpath: Add AI generator, UI polish, fix blank stats/view by @christianbeeznest in #6648
- Plugin: BBB: Surface pre-upload errors; render flash above form; 303 redirect to #bbb-pre-pop by @christianbeeznest in #6650
- Exercise: Avoid duplicate PDFs: standardize to -attemptId and skip if exists - refs #3320 by @christianbeeznest in #6656
- Learnpath: Restore PDF export, add per-item flag, integrate Vue selection dialog - refs #2969 by @christianbeeznest in #6657
- Pages: Resolve preview not found and add in-form preview - refs #5454 by @christianbeeznest in #6658
- Exercise: Fix bulk enable/disable/delete via SortableTable - refs #3635 by @christianbeeznest in #6659
- User: Reassign creator_id to fallback_user on hard delete; log LOG_USER_CREATOR_DELETED - refs #4283 by @christianbeeznest in #6660
- Exercise: Re-integrate new question types - refs #5120 by @christianbeeznest in #6637
- Learnpath: Improve visibility, exports, and UI - refs #2969 by @christianbeeznest in #6663
- Exercise: Add missing icons for type upload_answer question - refs #5120 by @christianbeeznest in #6664
- Learnpath: handle SCORM as dir or ZIP; fix size calculation and deletion - refs #1970 by @christianbeeznest in #6667
- Assignment: Make EndsOn a datetime - refs #5098 by @christianbeeznest in #6668
- Internal: Track assignment delete + demo forum visibility - refs #6134 by @christianbeeznest in #6673
- Internal: fix(password-checker): count occurrences; hide initially; color per-rule statuses by @christianbeeznest in #6674
- Badges: Keep action buttons inside panel - refs BT#22825 by @christianbeeznest in #6676
- Survey: Fix Doctrine queries to use mapped relations (course/session/survey) - refs BT#22901 by @christianbeeznest in #6677
- Exercise: Fix reminder UI and JS handler - refs BT#22900 by @christianbeeznest in #6678
- Exercise: Hotspot: fix double registration on create - refs BT#22899 by @christianbeeznest in #6679
- Larnpath: Fix public SCORM load + anon /contact - refs BT#22886 by @christianbeeznest in #6675
- Admin: GDPR Third Parties: rename name by title + migration; UI CRUD & validation fixes - refs #6683 by @christianbeeznest in #6688
- Exercise: Remove c_quiz.active; use resource_link visibility - refs #6684 by @christianbeeznest in #6692
- Plugin: OnlyOffice: Access-URL config, demo toggle & connection test - refs #6685 by @christianbeeznest in #6693
- Admin: AI helpers: DB migrations + EU AI Act notice on settings page - refs #6682 by @christianbeeznest in #6694
- Admin: Settings: add title/comment for disable_gdpr by @christianbeeznest in #6699
- Admin: Settings: Upsert disable_gdpr & show_conditions_to_user (titles/comments) + link value template by @christianbeeznest in #6700
- Exercise: Fix session visibility (teachers see hidden) by @christianbeeznest in #6701
- Exercise: Fix open question answer not saved - refs #22912 by @christianbeeznest in #6702
- Plugin: Remove "enabled" settings from plugins - refs #6686 by @christianbeeznest in #6703
New Contributors
- @Coussecousse made their first contribution in #6628
Full Changelog: v2.0.0-alpha.3...v2.0.0-alpha.4