Chamilo 1.11.18 is now available. This release includes minor changes and bug fixes.
Chamilo 1.11.18 is a fully-fledged e-learning system. Get your teachers and trainers up and teaching in no time. Some of our users report a 1/5 ratio in training time compared to the most famous open-source LMS to get them ready. Trainers can get to work in just one day!
The future of teaching is bright, and so is Chamilo. With developments into adaptive assessment, social and mobile learning, skills management and many more other topics, the Chamilo association and high-technology members ensure you get a free software with the latest innovation from around the world.
Chamilo 1.11.18 Changelog
Chamilo 1.11.18 is a minor security and bug fix release on top of 1.11.16.
Some vulnerabilities have been reported to us (see our security page) and swiflty and safely fixed. We reiterate our thanks to all white hat hackers for working with us on making Chamilo the safest LMS ever. We actively encourage all Chamilo administrators to update their system to this version as soon as possible.
Security
- Security: Apply patch for CVE-2019-20041 from https://github.com/WordPress/wordpress-develop/commit/b1975463dd995da19bb40d3fa0786498717e3c53. Reported by KAIST WSP Lab
- Security: Add information about SVG’s vulnerability to XSS and how to mitigate the risk
- Security: Add comment about restricting JS to avoid an SVG-XSS vulnerability.
- Security: Prevents not allowed wrapper issue when loading images See: – https://github.com/mpdf/mpdf/issues/949 – https://github.com/mpdf/mpdf/pull/950/files
- Webservice: Secure web services with administrative effect
- Webservice: Add security checks to admin-type-impact webservices + improve PHPDoc
- Security: Add forbidden access to .yml and .yml.dist in .htaccess
- Security: Multiple URL: Fix vulnerability whereby a user could access a session was assigned to another campus in which the user was not registered
🪩 New Features
For end-users, teachers and Chamilo admins
These features are immediately available to users through the web interface.
A few notable improvements are part of 1.11.18 which are split in many smaller improvements are listed first below. They might require complex activation processes, but they are available and of potentially great usefulness:
- Highlights:
- Assisted generation of exam questions by artificial intelligence systems (ChatGPT in this first iteration)
- Comments, absence types, durations and signatures in attendances
- Portfolio tool to be completed by students as evidence of their development
- Wiki page categories
- Import from Moodle
- Increased support for xAPI
- Support of LTI Provider mode
- Exercise: Allow change size/color in annotation
- Exercise: Allow resetting answers in annotation-type questions
- Tracking: Add lp stats export to pdf in mySace/myStudents.php
- Course settings: Forums: Add option “share_forums_in_sessions” to display all categories, forums, threads without taking into account the session_id filtering (so all forums of all sessions are visible in all sessions)
- Plugin: BuyCourses: Add stripe payments support
- Course settings: Add configuration setting “agenda_share_events_in_sessions” to share base-course events in all its sessions
- Admin: Add option to unselect users when exporting the courses list
- Announcement: Allow add event when creating announcement
- Calendar: Allow users to create a calendar event from a social message
- Tracking: Add filters by extra field and send emails to user list in reporting, in list of followed students
- Tracking: Add score by quiz categories in lp test export
- Message: Add option to remove message from reporting page mySpace/myStudents.php
- Course Maintenance: Include xAPI activities in backups/restore
- Calendar: Add reminders to events from the announcement page
- Plugin: Zoom: Allow webinars
- Exercise: Add icon to get exercise url to include it in a iframe
- Plugin: BuyCourses: Add cecabank support
- Gradebook: Show weighted average in flatview
- Document: Add file input with progress bar (big upload feature)
- Exercise: Hide column IP when user is anonymous in overview page
- Exercise: Consider 0 as answer not saved
- Admin: Add stats for “invoicing” by accesses to access url
- Plugin: Zoom: Enable signatures for attendances
- Certificates: Add profile image tag
- Skill: Validate user skills by subcategory in gradebook
- Learnpath: Set video size responsive by default
- Learnpath: Add webm to video formats managed through showinframes
- Skill: Recalculate results for skills from gradebook
- Plugin: Zoom: Show upcoming meetings with end date inclusive
- Plugin: Zoom: Show account email in the details
- Plugin: BuyCourses: Add support for subscriptions
- Documentation: Change minimum requirement to PHP 7.2
- Admin: Session: Add courses report export button at the bottom of the sessions list table to export course details about each selected session
- Exercise: add 4 type of questions (based on existing ones) with global score
- Learnpath: Enable HTML presentation of title of LP in LP list when ‘save_titles_as_html’ is enabled
- Tracking: Add new reporting of lp and certificate in session
- Session: Add user_username tag to scheduled announcements
- Exercise: Allow iframe in quiz description
- User: Describe failed password requirements during password creation
- Exercise: Add new question type Multiple Answer Dropdown
- Exercise: Do not enable question duplication when exercise included in an LP
- Plugin: BigBlueButton: Allow custom video name
- Learnpath: Add support for links (from Chamilo’s links tool) to be use in a learning path with SCORM items (only supported tests and docs completion)
- Survey: Allow creation or edition of survey without end date
- Language: Show language in list of courses and filter by language in course catalog when ‘show_different_course_language’ setting is on
- Course: Add button about course sequence in catalogue info
- Dropbox: Allow to send or remove files already sent to users
- Link: Set nested view by default
- Document: Add support for extra fields for documents and show list of fields in document edition form
- User: Add advanced search in enroll user
- Plugin: BigBlueButton: Adding meta information for the host
- Exercise: Add report of exercise attempts (“Report by attempts”) with questions score as exercise/stats_attempts.php
- Plugin: External notification connect: Creation
- Plugin: Add new AI Helper plugin (ChatGPT only for now) for questions generation
- Wiki: Add category block + link to search by category – refs BT20357
- Plugin: ExtraMenuFromWebservice: Add an extra floating menu from a webservice
For developers and sysadmins
Although most features here will be used by teachers or Chamilo admins, they require sysadmin privileges to enable them on the server.
- Admin: Add configuration setting “editor_settings” to allow reconfiguration of CKEditor through configuration.php
- Admin: Add configuration setting “lp_prerequisite_use_last_attempt_only” to use the best result of a quiz in lp
- Admin: Add configuration setting “template_activate_language_filter” to enable language filtering + Portfolio: Add subcategories, templates, new filters
- Plugin: BigBlueButton: add option to close all meetings on cron cron_close_meeting.php process
- Plugin: BigBlueButton: Implement showing multiple recordings format for BigBlueButton.
- Script: Add basic script to restore a course (not perfect)
- Admin: Add configuration setting “extldap_config” that overwrites the auth.conf.php settings
- Admin: Add configuration setting “quiz_hide_attempts_table_on_start_page” to hide exercise attempts table on start page
- Admin: Add configuration setting “show_exercise_attempts_in_all_user_sessions” to show exercise attempts in sessions where user is general coach
- Security: Add option to set samesite:None parameter on session cookie
- WYSIWYG: Add possibility to set responsive images option in configuration.php
- Admin: enable to override any variable from auth.conf.php in configuration.php to accept different config per URL
- Admin: Add configuration setting “quiz_keep_alive_ping_interval” to avoid disconnects while answering quiz
- Admin: Add configuration setting “lp_show_max_progress_instead_of_average” to show the best progress instead of averages in learning paths reporting (main/tracking/courseLog.php)
- Admin: Add configuration setting “course_about_teacher_name_hide” to hide teachers name on courses about/info page
- Admin: Add configuration settings “allow_survey_tool_in_lp” and “show_surveys_base_in_sessions”. Learnpath: Add support for surveys in learning paths and make base-course surveys accessible in sessions. Requires manual activation in CSurveyAnswer.php and CSurveyInvitation.php (see 8f8e4c4f).
- Admin: Add configuration setting “lp_show_max_progress_or_average_enable_course_level_redefinition” to add the option for teachers to set whether to display max or average progress in learning paths reporting. In this case, course setting “lp_show_max_or_average_progress” is used.
- Admin: Add configuration setting “badge_assignation_notification” to send a notification when a user has achieved a skill
- Admin: Add configuration setting “personal_calendar_show_sessions_occupation” to show session spans as long events in the personal agenda
- Admin: Add configuration setting “agenda_collective_invitations” to send invitations to friends for an agenda event.
- Admin: Add configuration setting ‘quiz_discard_orphan_in_course_export’ to avoid copying orphan questions on course copies/backups
- Calendar: Add configuration setting “agenda_reminders” to enable reminders for calendar events. Requires DB changes and a cron process.
- Admin: Add configuration setting “enable_message_tags”. Requires DB changes.
- Course settings: Add extra field “multiple_languages” to manage multiple languages for a course
- Admin: Add configuration setting “agenda_reminders_sender_id” for the calendar event reminders
- Plugin: OAuth2: SSO: Adding simple local login form to enable local login when force_redirect is enabled
- Plugin: OAuth2: SSO: Adding force redirect option for the plugin
- Admin: Add configuration settings “hide_user_status_options_enabled” and “user_status_hide_option” to hide user status values from creation/edition
- Admin: Add configuration settings “user_status_option_only_for_admin_enabled” and “user_status_option_show_only_for_admin” to restrict the roles allowed (to admins only) when editing users.
- Admin: Add configuration setting “user_number_of_days_for_default_expiration_date_per_role” to set default expiration date by roles
- Admin: Add configuration setting “lp_prerequisit_on_quiz_unblock_if_max_attempt_reached” to allow lp prerequisites on quiz to unlock if max attempts is reached
- Admin: Add configuration setting “user_hide_never_expire_option” to hide “Never expire” for expiration date in add/edit user
- Document: Add small speed hack to reduce queries to the database. This is user-based and is only active for 60 minutes, so not such a big help, but only useful with large documents count
- Admin: Add configuration settings “course_creation_by_teacher_extra_fields_to_show” and “course_creation_user_course_extra_field_relation_to_prefill” to add course extra fields prefilling values from user extrafield
- Admin: Add extra fields in course export
- Admin: Add configuration setting “user_edition_extra_field_to_check” to add a relation type EXLEARNER when user extrafield value is changed
- Admin: Add configuration setting “course_configuration_tool_extra_fields_to_show_and_edit” to decide which extra fields to show in course settings
- Admin: Add configuration setting “course_creation_form_set_extra_fields_mandatory” to set course extra fields as mandatory
- System: Add force SSL/HTTPS configuration to .htaccess, disabled by default. Uncomment if you need it Resolving insecure site and mixed-content warnings
- Admin: Add configuration setting “course_catalog_display_in_home” to display the course catalog on the portal home page
- Admin: Add configuration setting ‘allow_careers_in_global_agenda’ to show careers and promotions in the global calendar
- Admin: Add configuration setting ‘password_conversion’ for password conversion during login if password encryption has changed
- Admin: Add configuration setting ‘exercise_embeddable_extra_types’ to support more question types in exercises considered “embeddable” (in a video). By default, only multiple choice, multiple answers and unique answer images are allowed. This allows you to support any type (at your own risk).
- Admin: Add configuration setting ‘video_player_renderers’, allowing users to insert questions in YouTube or Vimeo videos.
- Scripts: Add memory freeing in script to remove test duplicates
- Scripts: Add script to massively clean orphan questions and duplicate tests
- Mail: Add option to remove LD+JSON header in e-mails for users with e-mail clients that do not support it
- Plugin: OAuth2: Allow third login with OIDC
- Admin: Add configuration setting ‘session_coach_access_after_duration_end’ to allow teachers to enter sessions in duration mode
- Admin: Add configuration setting ‘enable_sign_attendance_sheet’ to enable signatures for users in attendance sheet
- Attendance: Add qrcode with attendace sheet link for students
- Attendance: Add option to block attendance date and sign it
- Attendance: Add interface fullscreen to use in tablet
- Admin: Add configuration setting ‘exercise_hide_ip’ to hide IP in exercises reports
- Plugin: OAuth2: Platform user becomes oauth2 user on successful attempt
- Documentation: Add note about .htaccess rules to allow media to be accessed by all in shared questions
- Admin: Add configuration setting “session_classes_tab_disable” to disable the classes in the users tool in session
- Admin: Add configuration setting “session_course_users_subscription_limited_to_session_users” to lock registration of platform users who are not session users to a course in the session.
- Session: Don’t unsubscribe user from session course when session_course_users_subscription_limited_to_session_users is enabled
- Script: Add script to delete old messages & add exception mgmt to message lib
- Script: Add script to delete old tracking records (except exercises)
- Script: Add script to delete old sessions
- Script: Add script to delete old user personal files (incomplete script, currently deletes whole folder based on folder creation date)
- Display: Make links actionable through CSS on courses list page and admin page
- User: Add configuration sub-setting ‘force_different_password’ of ‘password_requirements’, to disallow choosing a new password equal to the current one
- User: Add support for special chars as password requirements
- Admin: Add configuration setting ‘login_max_attempt_before_blocking_account’ to block (disable) users after too many failed attempts.
- Maintenance: Improve moodle import by sections to chamilo
- Plugin: Zoom: Allow creating system announcement
- Admin: COURSEMANAGER and SESSIONADMIN can now be course teachers
- Internal: DateTimePicker now uses a configuration value (hardcoded in FormValidator.class.php) for timepicker_increment
- Admin: Add configuration setting ‘subscribe_users_to_forum_notifications_also_in_base_course’ to send notifications from the base course to learners in course-sessions, and fix session subscription of user to do automatic subscription to notifications in Forum
- Display: Add feature to add CSS class to HTML main <section> element for specific enabled features that are used more globally through global variable $htmlContentExtraClass
- Document: Add script to check correct document path on disk
- Admin: Add configuration settings ‘usergroup_do_not_unsubscribe_users_from_course_nor_session_on_user_unsubscribe’, ‘usergroup_do_not_unsubscribe_users_from_course_on_course_unsubscribe’, ‘usergroup_do_not_unsubscribe_users_from_session_on_session_unsubscribe’ to not unsubscribe user from courses nor sessions on usergroup unsubscription
- Script: Add script to delete or disable students who didn’t connect since a given date
- Admin: Add configuration setting ‘course_visibility_change_only_admin’ to prevent teachers from changing course visibility
- Authentication: Single Sign On: Extend LDAP synchronisation script with many options
- Admin: Add configuration setting ‘exercise_result_end_text_html_strict_filtering’ to allow low security filtering on exercise result end message
- Admin: Add configuration setting ‘drh_allow_access_to_all_students’ to allow susbcriptions of drh to session and courses, access to see other students reporting
- Admin: Add configuration setting ‘wiki_html_strict_filtering’ to allow low security filtering on wiki pages
- Exercise: Add configuration setting ‘quiz_question_delete_automatically_when_deleting_exercise’ to enable true deletion of questions on quiz delete, to avoid orphan questions.
- Tracking: Change behaviour for configuration setting ‘hide_course_report_graph’ to enable ‘click to show’ and avoid over-consumption of resources (optimization)
- Script: Add script to massively clean duplicated documents
- Admin: Add quarterly report in statistics
- Maintenance: Add support for learning path prerequisites value in course copy/backup/restore
- Admin: Add configuration setting ‘resource_sequence_show_dependency_in_course_intro’ to show the course/session dependency (if any) as part of the course intro
- Admin: Add configuration subsetting ‘add_extra_quit_to_home_icon’ of ‘lp_view_settings’ to show additional button to course home
- Cron: CSV import: Add support for interval in days, in event import
- Admin: Add configuration setting ‘documents_hide_download_icon’ to define if a document can be downloaded or not
- Admin: Add configuration setting ‘attendance_calendar_set_duration’ to add option to set duration in attendance calendar
- System: enabling STMP debug in Chamilo if STMPdebug >= 1 not only when > 1
- Learnpath: Allow set lp_view_settings[‘add_extra_quit_to_home_icon’] in single LP
- Admin: Add optional course template field to CSV/XML course import feature
- Attendance: Improve comments adding table in database for ‘attendance_allow_comments’ setting
- Admin: Enable asking for new pass on first login when importing users through CSV/XML. Requires option force_renew_password_at_first_login to be enabled from configuration.php
- Internal: Store $_setting in APCu if enabled (#dangerous)
- Calendar: Allow import course events in CSV if ‘agenda_reminders’ setting is on
- Admin: Add configuration setting ‘notifications_extended_footer_message’ to add optional (extra) footer in emails
- Wiki: Add support for page categories
Improvements and Bug fixes
- Plugin: AI Helper: Rename class URL to avoid conflict
- Exercise: Aiken: Remove comma character not accepted by PHP 7.2
- Plagiarism: Compilatio: enable hash to be 40 or 32 caracters because Compilatio changed
- Plugin: Test2PDF: Add Fill in the blank type support
- Plugin: Zoom: Update configuration instructions
- Exercise: Add parameter cidReq in RTC audio recorded
- Plagiarism: Compilatio: fix batch compilatio verification
- Session: add session_name tag for agenda reminder creacion
- Plugin: Add Shibboleth login button: Remove readme.txt + improve documentation
- Internal: Improve APCu cache invalidation process
- Session: Allow import course agenda reminders for session students
- Calendar: Allow teachers/coaches to import course agenda reminders
- Plugin: AI Helper: Finetuning documentation and query before release
- Learnpath: Fix prerequisite on test with random questions shows wrong maximum
- Plugin: BuyCourses: Fix errors due to recent parameter types introduction
- Plugin: BuyCourses: Remove isAdminPlugin property and extend allowed param type in getItemByProduct()
- Plugin: BuyCourses: Add information in README to avoid enabling in regions (which give blank pages)
- Attendance: Add author of the comment
- System: fix synchronisation script to get configuration values per URL after modification in commit f6c7cd25c79
- Internal: Add APCu cache cleaning triggers. Complements commit b5d44b38.
- Plugin: externalnotificationconnect add french translation
- Plugin: BuyCourses: Fix parameter type to allow for null values
- Plugin: externalnotificationconnect: adding information to the README file
- Wiki: Fix search params in results pagination
- Allow set multi array as additional params to sortable table
- Wiki: Fix URL params with cidReq
- Maintenance: Course import: Improve links imported from Moodle
- Admin: Add validation for multi-URLs with undefined settings in api_get_configuration_value(). Fix setting a default view for the administrative session list on one site of a multi-URL environment could break the list on the other sites Author: @juan-cortizas-ponte
- Exercise: Add differentiation option to display user answer or score in questions report
- Plugin: Register External Notification Connect as an official plugin
- Learnpath: Fix missing use_max_score when importing SCORM with bigupload
- Group: Add emails in export
- Learnpath: Add call to HookLearningPathCreated when importing SCORM package
- Learnpath: Move call to HookLearningPathCreated to learnpath::add_lp method and use entity as data
- Learnpath: Add missing getters/setters in entity class + fix phpdoc
- Documentation: Update Nginx configuration example to support reporting tab and synch en/fr/es – fixes GH#4396 Author: @floriangasc
- Documentation: Update Nginx configuration example to support reporting tab and synch en/fr/es – fixes GH#4396
- Exercise: Fix display question attempt in modal
- Script: Packaging: Add refs filtering cases to gitlog script
- Documentation: Update changelog in preparation of 1.11.18
- Attendance: Improve display of duration and code styles
- Script: Packaging: Add correcting function to commit messages, change threshold between github and BT issue numbers
- Tracking: Course: Add finalization date for learnpath and exercises to reporting
- Documentation: Update changelog terminology
- Admin: Add example for CSV file when importing course agenda reminders
- Learnpath: Add hook for when a LP is created
- Portfolio: Add hook for when an item is deleted
- Calendar: adapt menu’s variable name
- Tracking: Fix company report pagination pb and incoherent calculation
- User: hide the profile in edit form if it is disabled with ‘user_status_show_option’ for admin sessions
- Internal: Fix function declaration + undefined variable
- Work: Fix Compilatio’s interface to work with new Magister’s API SOAP v5
- Pugin: Buy courses: Internal: Set default value of int arguments to 0 instead of false
- Pugin: Buy courses: Internal: Set default value of int arguments to 0 instead of false
- Pugin: Buy courses: Internal: Comment deprecated setting of default values in frequencies form
- Pugin: Buy courses: Internal: Added arguments types in many functions
- Internal: Fix notice in breadcrumb generation if course is not set and user is admin in session detail page
- Announcement: Fix issue on back button from group announcement
- CI: Fix PHP-CS-Fixer detected errors
- CI: Fix PHP-CS-Fixer detected errors
- Internal: Fix lost password link
- Minor: Internal: Add validation to avoid notice
- Plugin: Test2PDF: Make tool icon in course invisible by default
- Gradebook: Prevent duplicates when a result is created in a classroom activity and user uses the back button
- Calendar: Fix get events by date (not using $end date properly)
- Internal: Fix typo in previous commit bebdf2d
- Survey: Improve reporting PDF with multiline texts
- Internal: Fix notice in settings when using secondary URL
- Plugin: Fix conflict of filename tpl using twig in plugins lti
- Internal: Remove reference call method from api_get_settings() (useless and confusion-inducing)
- Survey: Fix export to PDF including open question
- Learnpath: Add visual warning when the time spent in a LP is less than necessary in student reports
- Survey: Delete survey invitations on survey deletion
- Maintenance: Add legend to target course selector to specify destination course rules
- Plugin: IMS/LTI: Allow jwks url in client LTI from course configuration
- Plugin: IMS/LTI: Allow to use jwks url in client LTI
- Learnpath: Wrap the extra home button
- Catalogue: remove unused function to avoid extra resources consuming
- Plugin: IMS/LTI: Set LTI 1.3 version as default
- Plugin: LTI provider : Allow jwks url instead of public key
- CI: Update Chrome driver links in Behat readme (#4496) Author: @BorjaSanchezBeezNest
- Attendance: Improve date management and adding comments
- Plugin: XAPI: Add statement when portfolio items/comments are edited
- Plugin: XAPI: Refactor item/comment attachments activities
- Plugin: XAPI: Add statement when portfolio items/comments are scored
- Portfolio: Set items/posts visible to teacher when they are copied
- Plugin: XAPI: Add statement when user download the portfolio items
- Plugin: XAPI: Add statement when user highlights the portfolio item
- Maintenance: Moodle import: Improve import resources and document folders from Moodle
- Skill: Add memory of skill level profile when adding multiple skill levels in a row
- Skill: Interface improvements between skill levels and skill level profiles
- Authentication: Single Sign On CAS: updating parameters and requierement to comply with security update of phpCAS version 1.6 to fix high severity issue GHSA-8q72-6qq8-xv64
- Session: Allow to include course extra fields when exporting session list
- Session: Fix course list when exporting session list
- Session: Fix user list when exporting session list to XML
- Session: Allow to not include session users when exporting session list
- Document: Fix naming of extra field in the configuration file for hiding download icon
- Admin: Allow edit parents for course category
- Tracking: Improve charts loader styles
- Catalogue: Add dependence button in catalogue course searching
- Exercise: Fix display matching global result of learner
- Cron: CSV import: Add validation for the existence of template mail welcome message
- Internal: Fix code syntax to be compatible with php 7.2 (course copy)
- Display: Only show dependency in course home tool and not in other tools
- Display: Show sequence with course language in introduction section
- Language: Fix extra variables added by hebrew file importation
- Learnpath: Add filename needed for SCORM update import
- Maintenance: Moodle import: Improve import resources from Moodle
- Language: Fix return type of updateAllCourseLanguages() function – refs 4418
- Gradebook: Hide links for tasks in gradebook when the user is a student (avoids undesired access when using positionning plugin)
- Gradebook: Fix visibility change in gradebook links
- Exercise: Only permit exercise mass delete if the exercise to be deleted is in the current session
- Portfolio: Allow delete comments
- Portfolio: Allow edit comments
- Exercise: Add Exercise::getFeedbackTypeLiteral() method
- Announcement: Fix theme url when using multiple from cron
- Admin: Fix edge case where time difference is null
- Maintenance: Fix Audio file from Learnpath is missing in Copying/Backup
- Announcement: Fix url using multiple access in header and footer email content
- Announcement: Fix url portal using course id variable
- Announcement: Fix url to check the course and cleaning code
- Session: Add remember password link to subscription to session email
- Announcement: Fix urls multiple_access_urls in content announcements mails
- Optimization: add info about adding track_e_default.default_user_id index
- Announcement: Fix url portal using multiple urls in announcement mails
- Announcement: Fix dates for sortable table
- Internal: Fix returned values in callback for usort
- Session: Add username value on subscription to session confirmation email
- Document: Build $base_work_dir by default in DocumentManager::delete_document() and update method description – loosely refs BT#19219
- Announcement: fix table pagination with wrong total number of items
- Document: Fix script to rename or copy files checking db and disk
- Internal: Fix xhprof loading for new Tideways library version
- Work: Fix commit 42bc289bea123595cf5b508ce0ede2f59b840b73 to add score ?? but keeping the correction visualization
- Plugin: BuyCourses: Fix layout
- Internal: Fixed mixed code from previous old version
- Tracking: Add cidReq in ajax call to course_log.ajax.php
- Tracking: Fix course log access (ajax)
- Learnpath: enabling all item types to be followed even if in a scorm LP
- Internal: Avoid notice by defining $checked variable in languages.php
- XAPI: Allow cron process use alternative LRS
- Session: Give access in the session to the export user function for Session’s general coach from the resume session page
- Internal: Fix returned values in callback for usort
- Course: Add subscription button when sequence is completed
- Learnpath: Fix scorm update using bigupload
- Internal: Move code to function
- Internal: Backend fixes
- Internal: Remove unused constants
- Documentation: Update changelog
- Exercise: Fix iid usages
- Tracking: Move class to single file
- Learnpath: Fix href attribute for button in safari/ios
- Tracking: Improve code readability and clean code
- Exercise: give access to hidden exercises to session general coach
- Gradebook: Certificate: Add ‘date_simple_certificate’ tag to certificates (dd.mm.yy format)
- Plugin: Azure + OAuth: Add redirect after ‘not allowed’ login form
- Internal: Remove deprecated redirect to course homepage when pointing to resource in a course
- Learnpath: Update iOS link when iframe load
- User: Fix anonymous access to exercise when using direct link to exercice and not passing through main course page
- User: Fix anonymous users creation when login is email and max_anonymous_users is set
- Language: Change course language to platform language when disabling language used by course
- Plugin: IMS: Improve User session with lti client and provider
- Learnpath: Improve button for iOS
- Portfolio: Fix action to copy item and comment list for social portfolio – refs BT18201
- Portfolio: Fix course access – refs BT18201
- Exercise: Fix fill in the blank questions when it is switchable answer
- Maintenance: Moodle import: Remove empty folders when is imported files from Moodle
- Internal: Set CHECK_PASS_EASY_TO_FIND to true by default in profile.conf.dist.php
- Plugin: UserRemoteService: missing file for redirection functionality in userremoteservice
- Maintenance: Moodle import: Reorganize files to documents and quiz settings from moodle values
- Mail: Fix issue not sending mail to users when mail_notify_message extra field is somehow returned as ‘AtOnce’ instead of 1
- Internal: Fix notice on undefined id_campus in get_users WS
- Admin: Session admins can subscribe users to course even if subscription is only open for teachers
- User: Fix load students table in reporting
- Internal: Add filtering to some variables in tracking code
- Documentation: Update install guides with php-soap package info
- Learnpath: Change webservice nusoap by standard soap php for ppt covert
- Forum: Fix move post feature
- Plugin: IMS/LTI: Improve validation to block users ims_lti outside a tool provider
- User: Fix searching and pagination in DRH students reporting
- User: Allow DRH access to see other students reporting
- Wiki: fix tipo in commit 535d0cd58e771f317b5acd89f8c454f84183dd7d for option to allow low security filtering on wiki pages
- Group: Improve feedback messages after registration course
- Admin: Moving code so that settings variables are intiated before and can be used
- Group: Add flash messages when user is not registered to course
- Plugin: BBB: fix commit cb5789fc651 to get plugin configuration value when using configuration file priority plugin settings
- Plugin: LTI provider: Improve report lti provider with learnpaths
- Plugin: UserRemoteService: adapt userremoteservice plugin to enable redirect and adding an option to hide links from main menu
- Install: Set chamilo website to https
- Install: Set version to 1.11.18 dev in version.php
- Announcement: Fix e-mail sender (if provided)
- Authentication: Fix indicator for password rules in auth/profile
- Document: Change BigUpload when finishing upload and renaming file
- Exercise: Consider score by answer for multiple answer dropdown
- Exercise: Fix create answers for multiple answer dropdown
- Portfolio: Allow filter comments by date and search text
- Internal: Vendor: Remove pwstrength-bootstrap from JS deps
- Authentication: Check password requirements instead of password strength
- Authentication: Consider password requirements in progress bar when indicating strength
- Plugin: IMS/LTI: Add validation to block users ims_lti outside a tool provider
- Tracking: Improve report for LTI provider of learnpaths
- Document: BigUpload disable dangerous chars in temp name
- Portfolio: Tags management by course
- Maintenance: Improve assigment settings from moodle values
- Portfolio: Tag filter by course
- Script: Fix user id passed
- Plugin: BigBlueButton: Internationalize pagination terms
- Plugin: BigBlueButton: Add pagination to conferences listing
- Portfolio: Allow reuse comments
- Plugin: XAPI: Move code of statement attachments for portfolio items
- Portfolio: Allow select post template to template author
- Portfolio: Fix select template for post
- Portfolio: Tags filter is a multiple select
- Portfolio: Add email_alert_teachers_student_new_comment to send notifications to teachers and the author when commenting
- Portfolio: Enable email_alert_teachers_new_post by default + show post title and excerpt in email
- Portfolio: Allow reuse items
- Course settings: Portfolio: Add course settings ‘portfolio_number_items’ and ‘portfolio_number_comments’ to specify the number of items necessary to complete the portfolio
- Display: Fix footer CSS class
- Portfolio: Fix HTML structure for articles
- Portfolio: Allow filter highlighted posts
- Portfolio: Allow teacher mark item as highlighted
- Portfolio: Custom SelectAjax for users
- Display: FormValidator: Fix custom dropdown and selection for SelectAjax
- Portfolio: Allow teacher edit all posts and save last user who edited
- Portfolio: Fix visibility when exporting
- Internal: FormValidator: add default template for DatePicker
- Portfolio: Add filter by creation date
- Portfolio: Add visibility hidden except for teacher
- Portfolio: Fix items titles for breadcrumb
- Portfolio: Allow to send xAPI statement when viewing item
- Portfolio: Fix blockquote tag for quoted items
- Portfolio: Change checkbox list to select ajax to filter by tag
- User: Fix missing query to filter with allowedRoles for teacher subscription
- Exercise: fix iid instead of id to get the list of users in the exercise – refs BT 20139
- Document: Add option in script to check documents files for all courses
- Exercise: fix iid instead of id for question category in exercise_results_report
- Document: Improve script to check correct document path on disk
- Plugin: IMS/LTI: Specify the client_id for authorization
- Exercise: Differ multiple answer dropdown and global dropdown
- Plugin: LTI provider: Hide lp home icon and user outsource ims_lti
- Group Prevent Enter key when filtering usergroups
- Admin: Cron: add introduction to explain the aim of the script
- Plugin: LTI provider: Fix redirection inside lti provider iframe
- CI: Fix MySQL authentication
- Plugin: XAPI: log stored statements instead of request statements
- Plugin: XAPI: Refactor statement controller
- Plugin: XAPI: Internal log accept statement ID null
- Tracking: Fix form to send users reminders (switch from POST method to GET method)
- Gradebook: Add possibility to assign skill-item inside an evaluation. Can be improved by declaring the JS function only once
- Gradebook: Fix missing skill tag for gradebook evaluations in gradebook index for students
- Gradebook: Fix missing skill tag for gradebook evaluations in gradebook index
- Skill: Add “feature-item-user-skill-on” class to main
tag (in gradebook/index.php) to enable feature-specific CSS magic - Skill: Add “feature-item-user-skill-on” class to main
tag to enable feature-specific CSS magic - Gradebook: Improve documentation about activation of skill-rel-item feature
- CI: GitHub Actions switch to ubuntu 20.04
- Gradebook: Minor: Fix icon to assign skills to courses in sessions resume
- Gradebook: Avoid undefined notices
- Plugin: LTI provider: Add Result Entity
- Plugin: LTI provider: Add link to LTI library as tool provider
- Plugin: LTI provider: Improve login user inside course and learnpath
- Plugin: LTI provider: Add option to stats learnpath as tool provider
- Plugin: LTI provider: Add learnpath as tool provider
- Exercise: Allow import multiple answer dropdown from excel
- Internal: Change control type to select for Datetime picker
- Exercise: Fix number of choices when swapping question type
- Exercise: Allow swap multiple answer dropdown to multiple answer
- Exercise: Export multiple answer dropdown as QTI multiple choice interaction
- Exercise: Fix expected choice column for multiple answer dropdown
- Exercise: Multiple answer dropdown is allowed as embeddable
- Exercise: Break spaces in options for multiple answer dropdown
- Exercise: use first line when importing CSV to add multiple answer dropdown
- Internal: Add support for importing a CSV column as an array
- Authentication: Show password requirements in password field
- Plugin: LTI: validate params + code conventions
- Plugin: LTI: Fix lineitem.readonly scope in AGS
- Plugin: LTI: Add documentation about installation process
- Document: fix folder moving using fileSystem – it undo commit #eef0ae9478
- Internal: Improve code readability
- Admin: Fix password requirements when adding user
- Course: Fix EXLEARNER verification when not checking course nor session but checking classes
- Plugin: Zoom: Bump to version 0.5
- Maintenance: Fix session value when it is empty for links
- Group: Fix Add audit of subscribe/unsubscribe users to classes for new place to add and remove user
- Exercise: Add icons for question type Multiple Answer Dropdown
- Exercise: Fix table to show question
- Exercise: Fix division by zero + fix e_notice
- Maintenance: Moodle import: Fix display order of items imported from sections
- Maintenance: Moodle import: Fix path in text for pages and label
- Admin: Fix admin user list with wrong sortable column
- Internal: Reorder fields when saving course properties in administration to match fields order in infocours.php
- Plugin: BigBlueButton: Fix for Global conference per user showing all conferences from the plateform instead of only the user’s conference
- Maintenance: Moodle import: Add import of lessons from moodle to chamilo
- Plugin: OAuth2: Fix catch BadMethodCallException when refreshing token
- Plugin: OAuth2: Catch BadMethodCallException when getRefreshToken() returns empty
- Learnpath: Only log fixAbusiveTime when the server is in test mode -refs BT20099
- Learnpath: Avoid calling function if the object does not exist to avoid error logs on a NULL value
- Maintenance: Moodle import: Import scorm, assignment and lession partial from module xml
- Maintenance: Moodle import: Import glossary from module xml
- Survey: Add export options to the survey when it is enabled as lp items
- Fix password generator with special chars
- User: Show password requirement when password rules is set
- Internal: Fix code syntax
- Display: Rename item class to avoid overlap
- Admin: Access Urls: Code syntax FIX: Change course filter by class
- User: Admins can not set new password equal to the current one
- User: Add FormValidator rule for new password different from current one
- User: Reset password follow password requirements
- User: Fix password requirement for lowercase
- Maintenance: Improve import quizzes from moodle to chamilo
- Display: Update PDF export icons in user tracking page
- Portfolio: [Minor] updating configuration for the 2 other class to activate for all the functionalities to work
- Plugin: Fix impersonate users with OAuth2 and Azure callbacks
- Group: Add audit of create/delete/subscribe to classes
- Internal: Fix audio answers deletion in SessionManager::delete()
- Documentation: Slight improvements to LDAP accesses config params
- Documentation: Add optimization note on message_attachment index addition
- Session: Users list use sortable table
- Script: Convert old message attachments deletion script to parametered dates
- Script: Session assignments deletion script: Uncomment exit command to prevent wild execution
- Script: Convert session assignments deletion script to parametered dates
- Script: Add script to delete old sessions: Uncomment exit command to prevent wild execution
- Internal: Add support for learnpaths, dropbox and audio answers to SessionManager::delete(). Add definable course and session in corresponding code
- Admin: Access Urls: Edit users and URLs: Add a filter by class
- Script: Updates to parameters order
- Internal: Fix password encryption conversion
- Learnpath: strip tags for titles with HTML
- Security: [Minor] indicating more information to be able to enable configuration for password requirements
- Internal: Fix return value
- Learnpath: Enable acquisition field when not existing lp view
- Plugin: BuyCourses: Add Cecabank & Stripe payment methods to subscription purchases
- Plugin: BuyCourses: Add constants from subscriptions table
- Plugin: OAuth2: Associate platform user to oauth2 account
- Plugin: OAuth2: Check if user exists before trying to create it
- Plugin: OAuth2: Log user identification process
- Plugin: OAuth2: Log user identification process
- Plugin: OAuth2: Don’t escape callback error message
- Internal: FrameReady.js doesn’t inject deps when contentDocument is null
- Work: Disable button after submit in comments form
- Security: Apply permissions restrictions to Github actions
- Session: Disable registration for users in all courses from Resume Session page
- Tracking: Improve filter by active users in main course
- Exercise: Don’t limit query to get wrong answered questions
- Session: Fix unsubscribe user in session course
- Tracking: Improve filter by active users in course reporting – BT#19731
- Session: Validation of isallowtoedit in session page
- User: Fix condition when subscribing users in course
- Exercise: Fix matching global and matching draggable global question types setting wrong c_quiz_answer.correct id
- Tracking: Allow extended sort
- Tracking: Don’t allow sort by classes
- Tracking: Fix query when sort by first name
- CI: Fix cs fixer test errors
- Plugin: BuyCourses: Enforce string type to getSaleFromReference reference parameter method
- Internal: Use the POST variables directly
- Plugin: BuyCourses: Control that price variable data type is an float
- Internal: Fix E_NOTICE
- Exercise: Fix issue getting the ‘hide question number’ property in exercises when questions are shared with 1 or more other exercise
- Course Progress: Improve display general pdf
- Tracking: Add link in user name
- Plugin: Test2PDF: Fix test2pdf error Text contains invalid UTF-8 character(s) Fix error: “Uncaught Mpdf\MpdfException: Text contains invalid UTF-8 character(s)”
- Exercise: Fix option to hide IP in reports
- Course Progress: Improve display general pdf export
- Plugin: OAuth2: Improve message when user creation is not enabled
- Attendance: cosmetic changes
- Attendance: Clean code with php-cs-fixer
- Attendance: Add sign for user as student
- Gradebook: Show display text for extrafield of type select
- Work: Add score ?? when it is not revised
- Exercise: adding 2 globals new type of question to embeddable type questions
- Tracking: give access to report for student boss
- Tracking: Add export csv and xls to new session report
- Plugin: OAuth2: Allow third login with OIDC
- Gradebook: Fix duplicated notifications for skilss
- Exercise: fix picture name to correspond to name of files created
- Gradebook: Add notification of skills from gradebook
- Internal: Exercise: Improve removeFromList() definition
- Exercise: Add option not to delete a question-related picture in Question::delete() (added missing code from previous commit)
- Exercise: Add option not to delete a question-related picture in Question::delete() (useful for scripts and future features).
- Exercise: Fix conflict with file usermanager.lib.php
- Exercise: Add icons for new 4 global question types
- Learnpath: Fix delete LP javascript broken by commit db479c1 Enable HTML presentation of title of LP in LP list
- Exercise: Update MediaElement’s markersrolls plugin
- Exercise: new icon names for the new question types
- Learnpath: Fix delete LP javascript broken by commit 9ad315af Enable HTML presentation of title of LP in LP list
- Exercise: Add option to delete a test (instead of marking it deleted) in Exercise::delete(). Useful for scripts and future features.
- Work: Fix next button in pagination of works for trainers
- Exercise: Add score global for question type “Matching draggable”
- CI: Scrutinizer use php7.2
- Internal: Fix E_NOTICE
- Scripts: Update old courses cleaning script
- Internal: Improve code for automated password encryption change
- CI: Use php-cs-fixer 3.4.0
- Session: Always return ‘SESSION_AVAILABLE’ for teachers if there are no start nor end dates
- Tracking: Improve table about results of quizzes
- Exercise: Clear float style for question description
- Gradebook: Fix error with field ‘allow_skills_by_subcategory’ when it is null
- Tracking: Fix session dates in table_pdf template
- Calendar: Admin can see all Career/promotion events
- Plugin: Zoom: Fix error with free lines with spaces that brakes PHP
- Plugin: Zoom: Complete french translation
- Internal: Fixes post merge
- Plugin: BigBlueButton: Bump version to 2.11
- Plugin: BigBlueButton: Improve code readability
- Plugin: BigBlueButton: Show plugin_bbb_multiple_urls_cron_apply_to_all in first access URL only
- Tracking: Fix the logo size in export to work with all size of logo
- Upload: Improve multiple upload of files
- Plugin: OAuth2: Fix logout sending id_token_hint
- Plugin: OAuth2: Coding conventions
- Learnpath: Filter lp items with visibility zero for students in special session view page
- Document: fix performance problem when downloading a folder
- Session: Fix gradebook copied from main course when session is created
- Calendar: Fix filter for events with careers/promotion
- Calendar: Improve design for form in calendar
- Group: Wrong number of users under classes inside courses
- Calendar: Fix reset session filter
- Plugin: Zoom: Fix param name
- Plugin: Zoom: Fix missing methods
- Plugin: Zoom: Fix conditional
- Internal: Refactoring code to fix IExplorer support
- Internal: Fix IExplorer support
- Display: Fix wrong Vietnamese flag
- Plugin: Zoom: Fix calendar when showing webinars
- Plugin: Zoom: Fix creation messages
- Plugin: Zoom: Refactor + Show type in details form
- Plugin: Zoom: Update readme file to update version
- Plugin: Zoom: Show upcoming meetings with end date inclusive
- Skill: Fix duplicated skills after calculation results
- Document: Add chunks for multiple upload files
- Gradebook: Show display text for extrafield of type select
- Skill: Fix reecalculate results for skills
- Catalogue: Fix style for select fields
- Calendar: Dont’ show session without date limits when personal_calendar_show_sessions_occupation is enabled
- Notification: Add types global and specific users
- Notification: Format + readability code
- Plugin: Justification: Avoid show event type when plugin is disabled
- Plugin: OAuth + Azure: Fix show error when getting error
- Plugin: OAuth + Azure: Fix show error when getting error
- Exercise: Fix sortable in exercise reporting and clean with cs-fixer
- Course Catalogue: Improve layout of search form
- Course Catalogue: Improve display of search form
- Upload: Improve loading progress bar for upload files
- Statistics: Zombies error FIX
- Authentication: Single Sign On: CAS: MultiURLs fix redirect all the time to main page after login
- Course catalog: Fix button styles in cards
- Course catalog: refactor
- Course catalog: format + clean code
- Survey: Fix add option for multiplechoiceother type
- Survey: Show missing icons in multiple-choice-other and selective-display questions #4225
- Scripts: Update course deletion script documentation
- Documentation: Add “Enable cache” and “Text compression” sections to optimization.html
- Scripts: Add support for sender messages in delete_old_message_attachments.phpScripts: Add script to gently remove old works (set date in script)
- Exercise: Fix pop-up result with shuffle answers
- Exercise: Fix pop-up with random questions
- Exercise: Don’t load frameReady scripts inside a LP
- Documentation: Add documentation about uncommenting optional SSL block in .htaccess
- Exercise: Fix destinations with feedback direct
- Internal: Fix E_NOTICE + Format code
- Plugin: BuyCourses: Move code to function
- Plugin: BuyCourses: Hide inactive payment methods
- Internal: Fix typo in HTTP_REFERER in Event::open()
- Gradebook: Add validation of “hide_certificate_export_link” to gradebook pages
- Gradebook: Remove PDF download button from certificates page in learning paths when “hide_certificate_export_link” is set
- Scripts: Update works cleaning script name to reflect session-bound nature
- Scripts: Include all “deleted” status messages in old attachments deletion process
- Scripts: Fix overlapping variable name in script to delete duplicate message attachments
- Scripts: Remove -rf option in rm command to avoid going too far on errors
- Scripts: Add script to remove duplicate message attachments
- Scripts: Update script to delete old tasks based on session dates
- Plugin: Test2PDF: Fix images paths #4153
- Plugin: Test2PDF: Fix images paths #4181
- Plugin: Test2PDF: Fix references to exercise iid instead of id
- Message: Fix notification if social is disabled
- Exercise: Fix related values to learning path for submit modal
- Exercise: Fix missing function showQuestion
- Admin: Display results for all urls when is main admin
- Group: Improve filter search to add users
- Group: Don’t use $_REQUEST directly
- Admin: Add filter by access url for admins
- Tracking: Fix query to export lp quizzes to pdf
- Tracking: Add new reports to PDF
- Tracking: Fix data for reporting student list
- Calendar: Fix modals positions
- Calendar: Fix JS to add reminders
- Upload: Fixed notice error after uploading in work tool
- Announcement: Move code to function
- Upload: Fix conflict autoload with class name BigUpload
- Admin: Portal news: Add styles to link “See more”
- Internal: Use mPDF v8
- User: Add relation type EXLEARNER for user class (usergroup)
- User: [Minor] add user status to the variable sent to the mail template on user creation and edition
- Course Progress: Fix display content in export single thematic
- Scripts: Update string replacement script to add support for quizzes
- Tracking: Add filter by exlearner in course reporting
- Tracking: Improve filter by active users course reporting
- User: Fix save extrafield values
- Exercise: Cut question categories names in radar charts to avoid overlapping chart
- Plugin: Positioning: Fix condition if tests selected in base course but using them in sessions
- Plugin: Fix in positioning tests (plugin), final radar chart is not scaled correctly – CT#4166
- Group: Improve form to add users
- Group: Improve filter by lastname when adding users
- Tracking: Add filtering by active users in course reporting
- Upload: Improve max filesize in bytes from ini
- Upload: Add translation and max filesize from ini settings
- Upload: Clean code with php-cs-fixer
- Gradebook: Fix printable list view
- Learnpath: Clean code from php-cs-fixer
- Gradebook: Improve view for percentage in list view
- Upload: Clean code from php-cs-fixer
- Tracking: Add logo in exported pdf from student report
- Display: Session link as foldable shows an indicator
- Learnpath: Add flow buttons in lp view
- Gradebook: Replace average column by subtotal in detailed admin view
- Display: Add CSS for course Details button
- Template: session about page don’t show coaches block if it is empty
- Course: Add script to fill course extrafields related with creator
- Learnpath: Improve Lp requisites with quiz attempts
- Plugin: BuyCourses: Buy courses tab redirects to catalog
- Template: display_one_col_template may not clear flash messages
- Course Progress: Improve display of all thematics in pdf
- Document: Fix HTML escaping issue making changelog red
- Admin: Portal news: Clean css code
- Admin: Portal news: Improve display readMore link
- Admin: Portal news: Improve idsplay of news in slider home
- Plugin: Zoom: Add instructions to configure in README file
- Document: Fix deprecated session_id, _course and charset variables in document.php
- Plugin: Don’t copy entities to PluginBundle
- Internal: Remove external entity class from EmbedRegistry plugin
- Template: Add video_context_menu_hidden configuration setting
- Internal: Remove gateways/stripe-php folder
- Learnpath: Improve allow lp prerequisite on quiz to unblock if max attempt is reached
- Exercise: Improve icon to get exercise url to include it in a iframe
- Skill: Fix fatal error with null value and not registering relation correctly
- Learning path: Improve script cron to remind lp progress
- Tracking: Add support for PDF description in PDF export template
- User: Minor: renaming option for better understanding
- User: Minor fix php-cs remarks
- Plugin: Zoom: Use DATE_ATOM instead of DateTimeInterface::ISO8601
- Tracking: Hide the icon of percentage in “Average of tests in Learning Paths”
- User: Update user expiration in x days or months when login the first time
- Plugin: Add reference about folder permissions for src/Chamilo/PluginBundle/Entity for all plugins, and create Embed entity
- User: Improve code to hide user status values from creation/edition
- Plugin: LTI: Fix selected courses when multiplying in session
- Learning path: Add script cron to remind lp progress
- Plugin: LTI: Avoid duplicated gradebooks to configure
- Plugin: LTI: Improve form in session context #4114
- Plugin: LTI: Add missing DB queries #4114
- Plugin: LTI: Select one session only #4114
- Plugin: LTI: Fix default value #4114
- Fix calls for Plugin::createLinkToCourseTool
- Learnpath: Add script cron to remind lp progress, partial to check @todo
- Internal: Add external_link_na.png icon
- Plugin: TopLinks: Don’t change icon when changing visibility
- Course home: Don’t allow custom icon for plugin-authoring tool
- Internal: Add get_lang to folder languages in list
- Session: Add sessions_category_na.png icon
- Exercise: Add extra columns to show choice in results for draggable question
- Scripts: Update a user when official code is not empty
- Internal: Fix short array syntax
- Internal: Fix for outcomes service configuration on session courses
- Internal: Fix error on previous merge
- Plugin: LTI: Set replacement_user_id only when param is set
- Course settings: Improve manage multiple languages for a course
- Survey: Enable survey doodle page when time is over for tutor and admin
- Course Maintenance: Fix require class xapi in backups/restore
- Course Maintenance: Add missing file XapiTool.php
- Tracking: Fix results by quiz attempts categories in lp
- Plugin: IMS/LTI: fix replacement_user_id not used in tool creation and edition since using configure.php and not edit.php or create.php
- Plugin: Add comments to explain changes in tool links
- Calendar: Fix event type for sessions with personal_calendar_show_sessions_occupation
- Calendar: Fix load reminders for session event
- Calendar: Improve reminder content
- Calendar: Use the first platform admin to send the course event reminders
- Calendar: Validate if event exists when sending reminder
- Calendar: Fix update reminders in course event
- Calendar: Validate attachment to update in course event
- Plugin: BBB: Fix max number of user in visio creation to use the plugin’s setting max_users_limit configuration
- Exercise: Hide “General” category when it is empty
- Tracking: Fix code to be compatible with php 7.2
- Tracking: Fix error warning when value is array
- Plugin: TopLinks: Remove tools when uninstalling plugin
- Plugin: Move XAPI/TopLinks course tools to authoring category
- Plugin: Add param to set category for course tools
- Plugin: Set c_tool.id with the iid value when plugin add course tool
- Plugin: set icons to XAPI and TopLinks
- Message: Update tags from inbox
- Message: Improve form to add and filter by tags
- Message: Allow filter by tags
- Message: Allow set tags from inbox
- Message: Enable messages extra fields
- Session: set session redirection before course legal agreement verification
- Plugin: IMS/LTI: Update Readme file
- Plugin: IMS/LTI: Add session_id to plugin_ims_lti_tool table creation query
- Internal: Fix indents
- Internal: Escape course titles names
- Tracking: Add extra field with filter option and send emails for selected users
- Internal: Fix USERMANAGER::get_user_id_of_course_admin_or_session_admin does not filter per session
- Calendar: Fix edit reminders already sent
- Authentication: Single Sign On: fixing UrlManager class problem
- Calendar: Show reminders in calendar
- Calendar: Allow edit reminders
- Calendar: Add method to get invitees for personal event
- Calendar: Load session as events in JS calendar only
- Calendar: Social: Fix error in personal data page due to new option in agenda activated without the option
- Tracking: Cosmetic changes
- Tracking: Fix results by quiz attempts categories in lp
- Learnpath: Fix delete c_tool for category as course tool
- Exercices: Fix loading quizzes of course on first time
- Message: Add validation of users field before sending message
- Calendar: Back to message viewer after event added
- Calendar: Fix invitation list when viewing event
- Calendar: Datetime picker use time picker in 24 hour format
- Calendar: Allow adding event as announcement in course only
- Calendar: Fix error with recent version of PHP and Maria DB causing error with white space around column’s names
- Calendar: Fix error when language variable GoToCourse have a value containing ‘
- Plugin: IMS/LTI: Fix tool list to show session name and option do add tool to a session
- Calendar: Fix query in calendar plan
- Calendar: Fix content from message with broken HTML
- Message: Remove unnecessary HTML code in message view
- Message: Fix Message toolbar
- Course: Fix sorting course to work for private course as well
- Calendar: Fixing entity error when not activating Collaborative event invitation -refs BT19475 BT19390
- Maintenance: Fix copying documents from all quizzes instead of selected quizzes only
- Calendar: Invitee can delete own invitation when event is not editable
- Internal: Fix EventCollectiveTrait name
- Calendar: save collective properties when add/edit event
- Calendar: Fix indication to enable agenda_collective_invitations
- Calendar: Fix form to add collective event
- Internal: Api_get_utc_datetime return object with time as int
- Ticket: Notify user in category when updating
- Ticket: remove double call to function
- Announcement: Allow add event when editing announcement
- Plugin: IMS/LTI: Add sessions support
- Maintenance: Fix copied only selected items for learnpaths
- Skill: Add additional message when finished assigning a skill
- Internal: Add title attribute to select option
- Tracking: Fix result not appearing when session_id was null due to course copy
- Tracking: Minor fix unnecessary white space at end of line generating error with PHP_cs_fixer
- Learnpath: Fix display max or average progress in reporting
- Learnpath: Don’t load frameReady resources for external content
- Tracking: Improve styles of table for lp stats export pdf
- Plugin: BuyCourses: Add stripe libs through composer
- Maintenance: Fix images from quiz hotspots as documents
- Plugin: BigBlueButton: Add check on existing plugin_bbb_meeting_format table before creating
- Exercise: Fix fill blank question with switchable options
- Plugin: BuyCourses: Add stripe libs
- Exercise: Fix fill blank question with switchable options
- Mark JCapture as deprecated
- Don’t list jcapture as available plugin
- Plugin: JCapture: Remove XSS
- Learnpath: Fix get value from course setting
- Maintenance: Fix image hotspot when quiz is selected for backup/copy
- Plugin: Remedial Course: Fix E_NOTICE
- Plugin: Remedial Course: fix iid for exercises
- Tracking: fix exercise id instead of iid to show exercises result in student follow up pdf report
- Tracking: fix exercise id instead of iid to show exercises result in student follow up page
- Tracking: change file name of pdf by firstname and lastname of the student reporting
- Language: Minor partial FR EN ES update
- Tracking: Add option to hide block of assignments in reporting export
- Exercise: Fix number of answers saved in FIB question with select
- Plugin: XAPI: bumpt to v0.3b
- Plugin: XAPI: Fix foreign keys
- Tracking: Add option to hide skills before exporting to pdf in mySpace/student_follow_export.php
- Learnpath: fix commit 790eefd5f408 to avoid showing in LP ‘Open PDF on Safari’ for every chrome based browser
- Script: Cron: Fixing double extrafield creation on multiURL instance with same extrafield ldap configuration per instance
- Authentication: Detection of user password encryption from database, grant login despite configured encryption and re-encrypt password with configured encryption
- Exercise: avoid duplicates in results report
- Revert “Exercise: avoid duplicates in attempts list
- Maintenance: Check True/False answer with values iid in column correct
- Plugin: Question Options Evaluation: Fix iid parameter name
- Revert “Exercise: Fix result for multi_answer_false” This reverts commit 26884d9c008627d20a34a69c26b34ddcbbb35653.
- Revert “Exercise: Fix show question with answers preview” This reverts commit 84cca097e37c2237a37726ea9cc7df3d4caef085.
- Internal: Consider use iid if exists as row index in Database::select()
- Maintenance: Fix process is still using the ids for the correct column
- Exercise: Fix selected value for FIB answer html doing click on back button
- Exercise: avoid duplicates in attempts list
- Fix configuration.php setting name to enable samesite:none header option (“security_session_cookie_samesite_none”)
- Exercise: Fix show question with answers preview
- Language: Partial FR, EN, ES translation
- Exercise: Fix subscript is not working in the answers options inside quiz
- Exercise: Fix result for multi_answer_false
- WYSIWYG: Fix url absolute by relative in image drag and drop
- Skill: Set default courses
- Skill: add skills in evaluation form
- Skill: Change default skill color
- Skill: Show message when deleting SkillRelItem
- Skill: fix eval skills form
- Skill: Add ITEM_TYPE_GRADEBOOK_EVALUATION + add skills in gradebook eval form
- Skill: fix skills form
- Skill: rework skills form
- Skill: Show skillRelCourse counter
- Skill: Refactor skill rel item
- Skill: Add skill count
- Skill: Fix checkbox defaults
- Skill: Change multiple select with checkbox
- Authentication: Single Sign On: CAS: MultiURLs management and adding login event registery
- Script: Cron: Minor set debug to false by default and uncomment exit() at the begining of script by defaault
- Script: Cron: Fixing entity management errors and user creation errors
- Script: Cron: Fixing execution errors in multiURL logic
- Script: Cron: adapt script to work with or without multiUrl config
- Maintenance: Fix options in Mutiple Answers True/False
- Exercise: Fix exercise class iid parameter reference
- Plugin: BBB: Bump version to 2.10
- Maintenance: Fix added only documents selected from content
- Exercise: Improve code reusing the getHideAttemptsTableOnStartPage() method
- Maintenance: Fix iid that do not exist for a document created in the LP
- Skill: Add skill rel course + allow session_id null
- Exercise: set default color and font size for annotation
- Exercise: Allow undo/redo annotation changes
- Exercise: Refactor annotation.js
- Plugin: BigBlueButton: Update the config var to force closure on all campuses
- Plugin: BigBlueButton: Add configuration setting “plugin_bbb_multiple_urls_cron_apply_to_all” to manage the application of closed rooms cron job to all campuses on a multisite
- Admin: Remove previously added multiple_urls_cron_apply_to_all configuration parameter
- XAPI: set ID for shared statements when it’s null
- Authentication: Single Sign On: fix CAS skip force redirect to use the configuration variable and not a specific path
- Exercise: Fix UniqueAnswerImage header shows UniqueAnswer header
- Maintenance: Fix images inside quizzes not working from imported course
- User: Fix default value for invisible fields from profile page
- Learnpath: Fix update progress inside lp view
- Work: Minor change language variable for a field content revert commit e10a128f0ab9efe7624a7800b51ad0e9763bcbd6
- Work: Minor change language variable for a field content
- XAPI: fix queue for statements generated by hooks
- Portfolio: Move query to enable categories with subcategories
- XAPI: save object ID in internal log
- WYSIWYG: Add ckeditor tools if the wiris plugin is activated
- Course Progress: Fix Teacher can’t rearrange Course Progress content
- Course Progress: Fix Editing Thematic advance dates is not working properly
- XAPI: initial config with chamilo LRS
- XAPI: Bump version to 0.2 with update notes
- XAPI: Save internal log based on actor mbox or account
- Maintenance: Fix backup with thematic removed
- Exercise: Fix fill-in-the-blanks question is recognized as answer saved
- XAPI: fix get statements with contexts
- Work: Fix display full title in work list
- Tracking: Learnpath: return starting date even for not not attempted item for example for exercises not attempted but the user open the item already
- Learnpath: Add note about the cmi.exit string
- Learnpath: Add cmi.exit term in addition to cmi.core.exit. Better compatibility with authoring soft RISE 360 with SCORM 2004
- Portfolio: Add category title translated when you edit/create a post
- Exercise: Show attempt already answered for annotation
- Internal: Vendor: load custom XApi repositories
- Maintenance: Add document tool that are used in the Quiz are automatically in the export
- Portfolio: Fix categories input and translate variable
- Exercise: Fix fill_db_course when creating exercises
- Exercise: Fix pending work no showing any result du to incorrect column name for default filtering
- Exercise: Fix recognise the answer has been saved and show message
- Authentication: Single Sign On: Fix error on user creation through CAS without email
- Script: Fix quiz ID update script for track_e_exercises.data_tracking
- Admin: Announcement: adding missing DB changes information in the configuration file
- Exercise: Fix unique answer image creation
- Plugin: BuyCourse: fix installation due to variable type incorrect
- Work: [Minor] partial translation update
- Learnpath: Fixing lp list to avoid LP inside a course in an invisible or unavailable session
- Portfolio: All admins can edit and delete categories, not only the owner
- Portfolio: Avoid depending on language field in Entity if not properly enabled. Add documentation. Use api_get_language_interface() instead of global
- Exercise: Fix order by error
- Internal: Improve code indentation for bbb plugin 3rd.
- Internal: Improve code indentation for bbb plugin 2nd.
- Internal: Improve code indentation for bbb plugin.
- Revert back bbb.lib.php to its intial indentation while keeping multiple recording formats.
- Plugin: BuyCourses: Fix missing plugin_buycourses_services table parameter on buycourses plugin install
- System: Fix: Bump version to 7.0, in sync with changelog
- Internal: Fix: DBAL Types do not have TINYINT. Use boolean.
- Internal: UserAgent Air iPad and new ipad Update for new IOS compatibility userAgent is now : Safari not ipad
- Course Progress: Fix CSV import
- Admin: Fix CSS file can not be imported (missing token in form)
- Work: Change new variable langs
- Learning path: Disable option to export a scorm when it is already a scorm
- Work: Fix export excel , filter and error notice
- Work: Improve pending works
- Fix configuration option description
- Admin: Setting: Fix commit e757c63ac8d to have the correct path for CSS upload form
- Gradebook: Fix download all certificates
- Session: Update session_admin_id to current user when session admin is deleted
- Session: Fix message after token expired in a user or course removed
- Learnpath: Fix upload file inside document root
- Session: Add token to remove users or courses from a session
- Admin: Session import: Add visibility by default
- Admin: Session import: Fix error warning when career list is empty
- Exercise: Fix one more quiz.iid reference in CourseBuilder
- Admin: Session import: Fix csv and xml import when name already exists
- Exercise: Fix query, replace id with iid
- Exercise: Fix additional issue in tests copy and restore where answers are not restored and c_quiz_rel_question.question_id remains empty
- Exercise: Fix issue in tests copy and restore where answers are not restored and c_quiz_rel_question.question_id remains empty
- Exercise: Fix query to get correct stats from session
- Learnpath: Add int casting
- Learnpath: embed.php add Security::removeXSS()
- Exercise: Add $form->protect() in exercise_admin + add Security::removeXSS()
- Exercise: remove previously recorded audio when saving the new one
- Exercise: Use iid instead of id
- Admin: User edit: Add check to show password in clear
- Calendar: Fix double timezone difference date update when timezone is different from UTC
- Exercise: Improve code to return to the video
- XAPI: Allow request to statement head, about, activities profile
- XAPI: Improve requests for statements and activities state
- XAPI: Create entities for activity state and profile
- Exercise: Add previously recorded audio and block the buttons when is uploading
- XAPI: Fix query to list in student view
- XAPI: Fix query to list in student view
- XAPI: Fix username/password when importing package
- Exercise: Fix export when it is used with filters in question stats
- Exercise: Fix space in foreach verified by flintci in this PR
- Exercise: Fix spaces between ? and :
- Exercise: Add export as Excel for 3 reports
- Internal: Remove E_NOTICE
- Tracking: Student report: Add option to hide the column Time in lp tables in student follow export
- Plugin: Student follow-up: StudentFollowUpPlugin.php Ignore visibility in sessions
- Calendar: Fix repeat event timezone
- Plugin: Signature: Exercise: fix iId to iid in the signature plugin to make it work again
- Admin: CSV import: Force auth_source update for teachers
- Admin: CSV import: Force auth_source update
- Security: Remove cleaning $isFirstLogin, to avoid disconnects https://github.com/chamilo/chamilo-lms/commit/8e0d4032082d2259ed84f4976ad1c19a40868a24#commitcomment-55631910
- Exercise: Improve code to add/remove link and clean user upload_answer folder
Stylesheets and theming
- Display: Fix banner image display for various themes and minors visual fixes for this
- Learnpath: Change icon and help text for final item
Web services
- Webservice: REST: Add ‘view_user_profile’ service to show social profile
- Webservice: REST: Add ‘view_course_home’ service to show course home
- Webservice: REST: Add ‘update_user_apikey’ service to update user api key
- Webservice: REST: Add ‘save_user_get_apikey’ service to create user and get their api key
- Webservice: User HttpFoundation\Request to get values
- Webservice: Add param ‘duplicateAgendaContent’ to ‘create_session_from_model’
- Webservice: Fix exercise list for ‘get_course_quiz_mdl_compat’ service
- Webservice: Fix default value
- Webservice: code conventions + use Request class
- Webservice: Validate user is admin for request admin-only
- Webservice: REST: Add ‘get_users_api_keys’ and ‘get_user_api_key’ methods, admin-only, to get user api keys
- Webservice: Force generate api_key for ‘get_users_api_keys’ and ‘get_user_api_key’
- Webservice: REST: Add ‘view_my_courses’ service to redirect to My Courses page
- Webservice: REST: Add services ‘user_courses_by_dates’, ‘users_profiles_by_extra_field’ and ‘courses_details_by_extra_field’ to get users and courses details
- Webservice: Get courses of user by dates
- Webservice: SOAP: PPT2LP: Remote call upgraded to recent version of NuSOAP in ‘wsConvertPpt’ service
- Webservice: removing unused variables
- Webservice: Add course ordering in session duplication in ‘create_session_from_model’
- Webservice: Add audit log to REST web services
- Webservice: Fix setMessageRead (wasn’t functional)
- Webservice: Fix missing user ID in audit log for authenticate service
- Webservice: Remove ‘type’ field in get_test_updates_list service
- Webservice: Fix optional parameter and improve exception when missing required parameter
- Webservice: Fix query to get each quiz only once
- Webservice: Add ‘get_test_updates_list’ and ‘get_test_average_results_list’ services
- Webservice: Add fix for cases where there are not attempts to a test, in get_test_average_results_list
- Webservice: Add fix for cases where users have been unsubscribed from a course after taking a test, in get_test_average_results_list
- Webservice: Add course_exercises to get a list of tests from a course
Although updates are tested, you’re always encouraged to backup your files before patching.
Tags: Educational, Softaculous
Related Links
- Live Demo:
See Chamilo in action (Softaculous site (External link)) - Official Website:
Learn more about Chamilo software (External link) - Run Chamilo in your website:
Please Contact us for more information or start any Hosting Plan and install Chamilo from Softaculous software library - Chamilo Changelog:
To read changelog source Click Here (GitHub External link)