Go to your portal Chamilo > Administration > CAS to activate CAS // You can leave these lines uncommented even if you don't use CAS authentification //$extAuthSource["cas"]["login"] = $_configuration['root_sys']."main/auth/cas/login.php"; //$extAuthSource["cas"]["newUser"] = $_configuration['root_sys']."main/auth/cas/newUser.php"; // Map CAS attributes with user/user extrafields values BT#17620 /*$_configuration['cas_user_map'] = [ 'fields' => [ 'email' => 'mail', 'firstname' => 'cn', 'lastname' => 'sn', 'active' => 'disabled', 'status' => 'role', ], 'extra' => [ 'isFromNewLogin', 'authenticationDate', 'successfulAuthenticationHandlers', 'created_by', 'credentialType', 'uid', 'authenticationMethod', 'longTermAuthenticationRequestTokenUsed', ], 'replace' => [ 'role' => [ 'STUDENT' => 5, 'GUEST' => 5, 'HEI_COORD' => 1, 'SCHOOL_COORD' => 1, 'HEI_TUTOR' => 1, 'SCHOOL_TUTOR' => 1, 'ADMIN' => 11, ], ], ];*/ // NEW LDAP IMPLEMENTATION BASED ON external_login info // -> Uncomment the two lines bellow to activate LDAP AND edit app/config/auth.conf.php for configuration // $extAuthSource["extldap"]["login"] = $_configuration['root_sys']."main/auth/external_login/login.ldap.php"; // $extAuthSource["extldap"]["newUser"] = $_configuration['root_sys']."main/auth/external_login/newUser.ldap.php"; // // FACEBOOK IMPLEMENTATION BASED ON external_login info // -> Uncomment the line bellow to activate Facebook Auth AND edit app/config/auth.conf.php for configuration // $_configuration['facebook_auth'] = 1; // // OTHER EXTERNAL LOGIN INFORMATION // To fetch external login information, uncomment those 2 lines and modify the following files: auth/external_login/newUser.php and auth/external_login/updateUser.php // $extAuthSource["external_login"]["newUser"] = $_configuration['root_sys']."main/auth/external_login/newUser.php"; // $extAuthSource["external_login"]["updateUser"] = $_configuration['root_sys']."main/auth/external_login/updateUser.php"; /** * Hosting settings - Allows you to set limits to the Chamilo portal when * hosting it for a third party. These settings can be overwritten by an * optionally-loaded extension file with only the settings (no comments). * The settings use an index at the first level to represent the ID of the * URL in case you use multi-url (otherwise it will always use 1, which is * the ID of the only URL inside the access_url table). */ // Set a maximum number of users. Default (0) = no limit $_configuration[1]['hosting_limit_users'] = 0; // Set a maximum number of teachers. Default (0) = no limit $_configuration[1]['hosting_limit_teachers'] = 0; // Set a maximum number of courses. Default (0) = no limit $_configuration[1]['hosting_limit_courses'] = 0; // Set a maximum number of sessions. Default (0) = no limit $_configuration[1]['hosting_limit_sessions'] = 0; // Set a maximum disk space used, in MB (set to 1024 for 1GB, 5120 for 5GB, etc) // Default (0) = no limit $_configuration[1]['hosting_limit_disk_space'] = 0; // Set a maximum number of usable courses. Default (0) = no limit. // Should always be lower than the hosting_limit_courses. // If set, defining a course as "hidden" will free room for // new courses (up to the hosting_limit_courses, if any value is set there). // hosting_limit_enabled_courses is the maximum number of courses that are *not* hidden. $_configuration[1]['hosting_limit_active_courses'] = 0; // Email to warn if limit was reached. //$_configuration[1]['hosting_contact_mail'] = 'example@example.org'; // Portal size limit in MB (set to 1024 for 1GB, 5120 for 5GB, etc). // Check main/cron/hosting_total_size_limit.php for how to use this limit. $_configuration['hosting_total_size_limit'] = 0; /** * Content Delivery Network (CDN) settings. Only use if you need a separate * server to serve your static data. If you don't know what a CDN is, you * don't need it. These settings are for simple Origin Pull CDNs and are * experimental. Enable only if you really know what you're doing. * This might conflict with multiple-access urls. * Please note that recent browsers forbid the loading of resources from * a different portal URL then where they are, due to CORS rules. * To allow for CDN usage with different URLs, you need to specifically * allow CORS Access-Control-Allow-Origin for your main Chamilo URL. * This has to be done at the web server level, because Chamilo's PHP code * doesn't change HTTP headers of all files served from the Chamilo directory. * To do that on Apache, use * Header set Access-Control-Allow-Origin "http(s)://main-chamilo-url" * in Nginx: * add_header 'Access-Control-Allow-Origin' 'http(s)://main-chamilo-url';. */ // Set the following setting to true to start using the CDN $_configuration['cdn_enable'] = false; // The following setting will be ignored if the previous one is set to false $_configuration['cdn'] = [ // You can define several CDNs and split them by extensions // Replace the following by your full CDN URL, which should point to // your Chamilo's root directory. DO NOT INCLUDE a final slash! (won't work) 'http://cdn.chamilo.org' => [ '.css', '.js', '.jpg', '.jpeg', '.png', '.gif', '.avi', '.flv', ], // copy the line above and modify following your needs ]; /** * Misc. settings. */ // Security word for password recovery $_configuration['security_key'] = '[[SECURITY_KEY]]'; // Hash function method $_configuration['password_encryption'] = 'sha1'; // Set to true to allow automated password conversion after login if // password_encryption has changed since last login. See GH#4063 for details. //$_configuration['password_conversion'] = false; // You may have to restart your web server if you change this $_configuration['session_stored_in_db'] = false; // Session lifetime $_configuration['session_lifetime'] = 360000; // Activation for multi-url access // When enabling multi-url, settings can be configured by multi-url using a simple // sub-element. E.g. $_configuration['session_lifetime'][1] = true; could be turned into // something like $_configuration['session_lifetime'][2] = false; to affect only URL // with ID 2. The ID can be found in the access_url table. //$_configuration['multiple_access_urls'] = true; $_configuration['software_name'] = 'Chamilo'; $_configuration['software_url'] = 'https://chamilo.org/'; // Deny the elimination of users $_configuration['deny_delete_users'] = false; // Version settings $_configuration['system_version'] = '1.11.28'; $_configuration['system_stable'] = true; /** * Settings to be included as settings_current in future versions. */ // Uncomment the following to prevent all admins to use the "login as" feature //$_configuration['login_as_forbidden_globally'] = true; // If session_stored_in_db is false, an alternative session storage mechanism // can be used, which allows for a volatile storage in Memcache, and a more // permanent "backup" storage in the database, every once in a while (see // frequency). This is generally used in HA clusters configurations // This requires memcache or memcached and the php5-memcache module to be setup //$_configuration['session_stored_in_db_as_backup'] = true; // Define the different memcache servers available //$_configuration['memcache_server'] = array( // 0 => array( // 'host' => 'chamilo8', // 'port' => '11211', // ), // 1 => array( // 'host' => 'chamilo9', // 'port' => '11211', // ), //); // Define the frequency to which the data must be stored in the database //$_configuration['session_stored_after_n_times'] = 10; // If the database is down this css style will be used to show the errors. //$_configuration['theme_fallback'] = 'chamilo'; // (chamilo theme) // The default template that will be use in the system. //$_configuration['default_template'] = 'default'; // (main/template/default) // Hide fields in the main/user/user.php page //$_configuration['hide_user_field_from_list'] = ['fields' => ['username']]; // Aspell Settings //$_configuration['aspell_bin'] = '/usr/bin/hunspell'; //$_configuration['aspell_opts'] = '-a -d en_GB -H -i utf-8'; //$_configuration['aspell_temp_dir'] = './'; // Custom name_order_conventions //$_configuration['name_order_conventions'] = array( // 'french' => array('format' => 'title last_name first_name', 'sort_by' => 'last_name') //); // Course log - Default columns to hide //$_configuration['course_log_hide_columns'] = ['columns' => [1, 9]]; // Course log - User extra fields to show as columns for default //$_configuration['course_log_default_extra_fields'] = ['extra_fields' => ['office_address', 'office_phone_extension']]; // Unoconv binary file //$_configuration['unoconv.binaries'] = '/usr/bin/unoconv'; // Proxy settings for access external services /*$_configuration['proxy_settings'] = [ 'stream_context_create' => [ 'http' => [ 'proxy' => 'tcp://example.com:8080', 'request_fulluri' => true ] ], 'curl_setopt_array' => [ 'CURLOPT_PROXY' => 'http://example.com', 'CURLOPT_PROXYPORT' => '8080' ] ];*/ // E-mail accounts to send notifications to when executing cronjobs - works for main/cron/import_csv.php //$_configuration['cron_notification_mails'] = array('email@example.com', 'email2@example.com'); // Help desk emails that will recieve email notifications in import_csv.php //$_configuration['cron_notification_help_desk'] = array('email@example.com', 'email2@example.com'); // Only shows the fields in this list /*$_configuration['allow_fields_inscription'] = [ 'fields' => [ 'official_code', 'phone', 'status', 'language' ], 'extra_fields' => [ 'birthday' ] ];*/ // Boost option to ignore encoding check for learning paths //$_configuration['lp_fixed_encoding'] = 'false'; // Fix urls changing http with https in scorm packages. //$_configuration['lp_replace_http_to_https'] = false; // Fix embedded videos inside lps, adding an optional popup //$_configuration['lp_fix_embed_content'] = false; // Check the prerequisite in lp of a quiz to use only the last score in the attempts // $_configuration['lp_prerequisite_use_last_attempt_only'] = false; // Manage deleted files marked with "DELETED" (by course and only by allowed by admin) //$_configuration['document_manage_deleted_files'] = false; // Hide tabs in the main/session/index.php page //$_configuration['session_hide_tab_list'] = array(); // Show invisible exercise in LP list //$_configuration['show_invisible_exercise_in_lp_list'] = false; // Chamilo is installed/downloaded. Packagers can change this // to reflect their packaging method. The default value is 'chamilo'. This will // be reflected on the https://version.chamilo.org/stats page in the future. $_configuration['packager'] = 'Softaculous'; // If true exercises added in LP can be modified. //$_configuration['force_edit_exercise_in_lp'] = false; // List of driver to plugin in ckeditor //$_configuration['editor_driver_list'] = ['PersonalDriver', 'CourseDriver']; // Hide send to hrm users options in announcements //$_configuration['announcements_hide_send_to_hrm_users'] = true; // Hide certificate link in index/userportal pages //$_configuration['hide_my_certificate_link'] = false; // Hide header and footer in certificate pdf //$_configuration['hide_header_footer_in_certificate'] = false; // Security: block direct access from logged in users to contents in OPEN (but not public) courses. Set to true to block //$_configuration['block_registered_users_access_to_open_course_contents'] = false; // Allows syncing the database with the current entity schema //$_configuration['sync_db_with_schema'] = false; // When exporting a LP, all files and folders in the same path of an html will be exported too. //$_configuration['add_all_files_in_lp_export'] = false; // Send exercise student score to manager in email notification //$_configuration['send_score_in_exam_notification_mail_to_manager'] = false; // Show blocked LPs by prerequisite to students //$_configuration['show_prerequisite_as_blocked'] = false; // Mail header extra HTML attributes //$_configuration['mail_header_style'] = ''; // Mail body extra HTML attributes //$_configuration['mail_content_style'] = ''; // Show all agenda events in personal agenda from all session no matter the visibility. //$_configuration['personal_agenda_show_all_session_events'] = false; // Allows to redirect to the session after the inscription in session about // $_configuration['allow_redirect_to_session_after_inscription_about'] = false; // Allows to do a remove_XSS in course introduction with user status COURSEMANAGERLOWSECURITY // in order to accept all embed type videos (like vimeo, wistia, etc) // $_configuration['course_introduction_html_strict_filtering'] = true; // Allows to do a remove_XSS in question of exersice with user status COURSEMANAGERLOWSECURITY // $_configuration['question_exercise_html_strict_filtering'] = true; // Allows to do a remove_XSS in exersice result end text with user status COURSEMANAGERLOWSECURITY // $_configuration['exercise_result_end_text_html_strict_filtering'] = true; // Allows to do a remove_XSS in wiki pages with user status COURSEMANAGERLOWSECURITY // $_configuration['wiki_html_strict_filtering'] = true; // Prevents the duplicate upload in assignments // $_configuration['assignment_prevent_duplicate_upload'] = false; //Show student progress in My courses page //$_configuration['course_student_info']['score'] = false; //$_configuration['course_student_info']['progress'] = false; //$_configuration['course_student_info']['certificate'] = false; // Set ConsideredWorkingTime work extra field variable to show in MyStudents page works report // (with internal id 'work_time' as below) and enable the following line to show in MyStudents page works report // $_configuration['considered_working_time'] = 'work_time'; // Allow add/remove working time in reporting page // $_configuration['allow_working_time_edition'] = false; // During CSV special imports update users emails to x@example.com // $_configuration['update_users_email_to_dummy_except_admins'] = false; // Certification pdf export orientation // $_configuration['certificate_pdf_orientation'] = 'landscape'; // It can be 'portrait' or 'landscape' // Hide main navigation menu (left column in userportal) // $_configuration['hide_main_navigation_menu'] = false; // PDF image dpi value. Default value 96 // $_configuration['pdf_img_dpi'] = 96; // Hide LP time in reports. // $_configuration['hide_lp_time'] = false; // Hide rating elements in pages ("Courses catalog" & "Most Popular courses") // $_configuration['hide_course_rating'] = false; // Customize password generation and verification // For this configuration to be taken into account you need to set define('CHECK_PASS_EASY_TO_FIND', true); in app/config/profile.conf.php /*$_configuration['password_requirements'] = [ 'min' => [ 'lowercase' => 2, 'uppercase' => 2, 'numeric' => 2, 'length' => 8, 'specials' => 1, ], 'force_different_password' => false, ];*/ // Customize course session tracking columns /* $_configuration['tracking_columns'] = [ 'course_session' => [ 'course_title' => true, 'published_exercises' => true, 'new_exercises' => true, 'my_average' => true, 'average_exercise_result' => true, 'time_spent' => true, 'lp_progress' => true, 'score' => true, 'best_score' => true, 'last_connection' => true, 'details' => true, ], 'my_students_lp' => [ 'lp' => true, 'time' => true, 'best_score' => true, 'latest_attempt_avg_score' => true, 'progress' => true, 'last_connection' => true, ], 'my_progress_lp' => [ 'lp' => true, 'time' => true, 'progress' => true, 'score' => true, 'best_score' => true, 'last_connection' => true, ], 'my_progress_courses' => [ 'course_title' => true, 'time_spent' => true, 'progress' => true, 'best_score_in_lp' => true, 'best_score_not_in_lp' => true, 'latest_login' => true, 'details' => true ] ]; */ // Add column "Unlocked" in student LPs table to display info about a lp subscription //$_configuration['student_follow_page_add_LP_subscription_info'] = false; // Add column "Acquisition" in student LPs table to display info about a lo adquisition. Requires DB changes: /* INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, default_value, field_order, visible_to_self, visible_to_others, changeable, filter, created_at) VALUES (20, 3, 'acquisition', 'Acquisition', '', 0, 1, 0, 0, 0, NOW()); SET @ef_id = LAST_INSERT_ID(); INSERT INTO extra_field_options (field_id, option_value, display_text, priority, priority_message, option_order) VALUES (@ef_id, '1', 'Acquired', NULL, NULL, 1), (@ef_id, '2', 'In the process of acquisition', NULL, NULL, 2), (@ef_id, '3', 'Not acquired', NULL, NULL, 3); */ //$_configuration['student_follow_page_add_LP_acquisition_info'] = false; // Prepend a column in student LPs table to display a checkbox to select the LP category and its LPs. Requires DB changes: /* INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, default_value, field_order, visible_to_self, visible_to_others, changeable, filter, created_at) VALUES (20, 13, 'invisible', 'Invisible', '', 0, 1, 0, 0, 0, NOW()); */ //$_configuration['student_follow_page_add_LP_invisible_checkbox'] = false; // Show the LP not marked as invisible by teacher in tracking page //$_configuration['student_follow_page_include_not_subscribed_lp_students'] = false; // Show certificate of achievement icon from the student details in course tracking //$_configuration['course_tracking_student_detail_show_certificate_of_achievement'] = false; // Allow change the order to show the tools in "My progress" page. /*$_configuration['my_progress_course_tools_order'] = [ 'order' => ['quizzes', 'learning_paths', 'skills'], ];*/ // Allow show all details of each course in session when clicking on session details //$_configuration['my_progress_session_show_all_courses'] = false; // Hide session link of course_block on index/userportal //$_configuration['remove_session_url']= false ; // Allow foldable block for session list in session category on My courses tab //$_configuration['user_portal_foldable_session_category'] = false; // // // ------ AGENDA CONFIGURATION SETTINGS // Shows a legend in the agenda tool /* $_configuration['agenda_legend'] = [ 'red' => 'red caption', '#f0f' => 'another caption' ];*/ // Set customs colors to agenda events /* $_configuration['agenda_colors'] = [ 'platform' => 'red', 'course' => '#458B00', 'group' => '#A0522D', 'session' => '#00496D', 'other_session' => '#999', 'personal' => 'steel blue', 'student_publication' => '#FF8C00' ]; */ // Display sessions occupations in personal agenda //$_configuration['personal_calendar_show_sessions_occupation'] = false; // It allows to send invitations to friends for an agenda event. Requires DB changes: /* CREATE TABLE agenda_event_invitee (id BIGINT AUTO_INCREMENT NOT NULL, invitation_id BIGINT DEFAULT NULL, user_id INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_4F5757FEA35D7AF0 (invitation_id), INDEX IDX_4F5757FEA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; CREATE TABLE agenda_event_invitation (id BIGINT AUTO_INCREMENT NOT NULL, creator_id INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_52A2D5E161220EA6 (creator_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; ALTER TABLE agenda_event_invitee ADD CONSTRAINT FK_4F5757FEA35D7AF0 FOREIGN KEY (invitation_id) REFERENCES agenda_event_invitation (id) ON DELETE CASCADE; ALTER TABLE agenda_event_invitee ADD CONSTRAINT FK_4F5757FEA76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE SET NULL; ALTER TABLE agenda_event_invitation ADD CONSTRAINT FK_52A2D5E161220EA6 FOREIGN KEY (creator_id) REFERENCES user (id) ON DELETE CASCADE; ALTER TABLE personal_agenda ADD agenda_event_invitation_id BIGINT DEFAULT NULL, ADD collective TINYINT(1) NOT NULL; ALTER TABLE personal_agenda ADD CONSTRAINT FK_D8612460AF68C6B FOREIGN KEY (agenda_event_invitation_id) REFERENCES agenda_event_invitation (id) ON DELETE CASCADE; CREATE UNIQUE INDEX UNIQ_D8612460AF68C6B ON personal_agenda (agenda_event_invitation_id); */ // Then add the "@" symbol to AgendaEventInvitation and AgendaEventInvitee classes in the ORM\Entity() line. // Then uncomment the "use EventCollectiveTrait;" line in the PersonalAgenda class. //$_configuration['agenda_collective_invitations'] = false; // It allows to other users to subscribe for events. // Requires enable agenda_collective_invitations before. // Requires DB changes: /* ALTER TABLE personal_agenda ADD subscription_visibility INT DEFAULT 0 NOT NULL, ADD subscription_item_id INT DEFAULT NULL; ALTER TABLE agenda_event_invitee ADD type VARCHAR(255) NOT NULL; ALTER TABLE agenda_event_invitation ADD type VARCHAR(255) NOT NULL, ADD max_attendees INT DEFAULT 0; UPDATE agenda_event_invitation SET type = 'invitation'; UPDATE agenda_event_invitee SET type = 'invitee'; */ // Then uncomment the "use EventSubscribableTrait;" line in the PersonalAgenda class. // Then add the "@" symbol in ORM\InheritanceType, ORM\DiscriminatorColumn and ORM\DiscriminatorMap lines in the AgendaEventInvitation class. // Then add the "@" symbol in @ORM\Entity line in the AgendaEventSubscription class. // Then add the "@" symbol in ORM\InheritanceType, ORM\DiscriminatorColumn and ORM\DiscriminatorMap lines in the AgendaEventInvitee class. // Then add the "@" symbol in @ORM\Entity line in the AgendaEventSubscriber class. //$_configuration['agenda_event_subscriptions'] = false; // Enable reminders for agenda events. Requires database changes: /* CREATE TABLE agenda_reminder (id BIGINT AUTO_INCREMENT NOT NULL, type VARCHAR(255) NOT NULL, event_id INT NOT NULL, date_interval VARCHAR(255) NOT NULL COMMENT '(DC2Type:dateinterval)', sent TINYINT(1) NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; */ // Then add the "@" symbol to AgendaReminder class in the ORM\Entity() line. //$_configuration['agenda_reminders'] = false; // Sets the sender ID when using the cron main/cron/agenda_reminders.php to send reminders in course events. //$_configuration['agenda_reminders_sender_id'] = 0; // ------ // // Save some tool titles with HTML editor. Require DB changes: /* ALTER TABLE course_category CHANGE name name LONGTEXT NOT NULL; ALTER TABLE c_course_description CHANGE title title LONGTEXT NOT NULL; ALTER TABLE c_thematic CHANGE title title LONGTEXT NOT NULL; ALTER TABLE c_quiz CHANGE title title LONGTEXT NOT NULL; ALTER TABLE c_lp_category CHANGE name name LONGTEXT NOT NULL; ALTER TABLE c_glossary CHANGE name name LONGTEXT NOT NULL; ALTER TABLE c_tool CHANGE name name LONGTEXT NOT NULL; -- Only with allow_portfolio_tool enabled ALTER TABLE portfolio CHANGE title title LONGTEXT NOT NULL; ALTER TABLE portfolio_category CHANGE title title LONGTEXT NOT NULL; New changes: ALTER TABLE c_lp CHANGE name name LONGTEXT NOT NULL; ALTER TABLE c_lp_item CHANGE title title LONGTEXT NOT NULL; -- */ // This option will not remove tags when presenting LP list so it might be a source of security vulnerability. // $_configuration['save_titles_as_html'] = false; // Show the full toolbar set to all CKEditor //$_configuration['full_ckeditor_toolbar_set'] = false; // Allow change the orientation when export a (course progress) thematic to pdf. Portrait or landscape //$_configuration['thematic_pdf_orientation'] = 'landscape'; // Show number of users in session list //$_configuration['session_list_show_count_users'] = false; // Session admin access to all course content //$_configuration['session_admins_access_all_content'] = false; // Session admin allowed to edit all courses content //$_configuration['session_admins_edit_courses_content'] = false; // Adds roles to the system announcements (requires DB change BT#12476) /* ALTER TABLE sys_announcement ADD COLUMN visible_drh INT DEFAULT 0; ALTER TABLE sys_announcement ADD COLUMN visible_session_admin INT DEFAULT 0; ALTER TABLE sys_announcement ADD COLUMN visible_boss INT DEFAULT 0; */ //$_configuration['system_announce_extra_roles'] = false; // Limits that a session admin has access to list users //$_configuration['limit_session_admin_list_users'] = false; // Course tools visibility edition in sessions //$_configuration['allow_edit_tool_visibility_in_session'] = false; // Enable the support to ODF files //$_configuration['enabled_support_odf'] = true; // Pdf orientation when exporting documents // $_configuration['document_pdf_orientation'] = 'landscape'; // It can be 'portrait' or 'landscape' // Use alternative footer when exporting document to PDF //$_configuration['use_alternative_document_pdf_footer'] = false; // If the MySpace page takes too long to load, you might want to remove the // processing of generic statistics for the user. In this case set the following to true. //$_configuration['tracking_skip_generic_data'] = false; // Show view accordion lp_category //$_configuration['lp_category_accordion'] = false; // Show the best progress instead of averages in reporting of learnpaths // $_configuration['lp_show_max_progress_instead_of_average'] = false; // Enable redefinition of the setting to show the best progress instead of averages in reporting of learnpaths at a course level. // $_configuration['lp_show_max_progress_or_average_enable_course_level_redefinition'] = false; // Show view accordion lp_item_view // $_configuration['lp_view_accordion'] = false; // Allow export learning paths to students //$_configuration['lp_allow_export_to_students'] = false; // // Allow survey tool in learnpath // ALTER TABLE c_survey_answer ADD COLUMN c_lp_item_id INT(11) DEFAULT 0; // Edit src/Chamilo/CourseBundle/Entity/CSurveyAnswer.php and add a '@' character in front of 'ORM\Column(name="c_lp_item_id" // ALTER TABLE c_survey_invitation ADD COLUMN c_lp_item_id int(11) DEFAULT 0; // Edit src/Chamilo/CourseBundle/Entity/CSurveyInvitation.php and add a '@' character in front of 'ORM\Column(name="c_lp_item_id" //$_configuration['allow_survey_tool_in_lp'] = false; // Show surveys from main course in all course sessions // ALTER TABLE c_survey_answer ADD COLUMN session_id INT(11) DEFAULT 0; // Edit src/Chamilo/CourseBundle/Entity/CSurveyAnswer.php and add a '@' character in front of 'ORM\Column(name="session_id" //$_configuration['show_surveys_base_in_sessions'] = false; // // ------ HTTP headers security // This section relates to options to increase the security of your Chamilo // portal against attacks specifically focused on HTTP headers vulnerabilities // These are all disabled by default, because some of these settings might // affect some features of Chamilo, like the inclusion of iframes or the // submission of forms by anonymous users. Please make sure you do the due // tests before enabling in production. Learn more about how to form secure // headers at https://securityheaders.io/ // // HTTP Strict Transport Security is an excellent feature to support on your // site and strengthens your implementation of TLS by getting the User Agent // to enforce the use of HTTPS. Recommended value // "strict-transport-security: max-age=63072000; includeSubDomains". // See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security // You can include the "preload" suffix, but this has consequences on the // top level domain (TLD), so probably not to be done lightly. See https://hstspreload.org/. //$_configuration['security_strict_transport'] = 'strict-transport-security: max-age=63072000; includeSubDomains'; // // Content Security Policy is an effective measure to protect your site from // XSS attacks. By whitelisting sources of approved content, you can prevent // the browser from loading malicious assets. // The provided default is an *example*, please customize. // This setting is particularly complicated to set with CKeditor, but if you // add all domains that you want to authorize for iframes inclusion in the // child-src statement, this example should work for you. // You can prevent JavaScript from executing from external sources (including // inside SVG images) by using a strict list in the "script-src" argument. //$_configuration['security_content_policy'] = 'default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; child-src 'self' *.youtube.com yt.be *.vimeo.com *.slideshare.com;'; //$_configuration['security_content_policy_report_only'] = 'default-src \'self\'; script-src *://*.google.com:*'; // // HTTP Public Key Pinning protects your site from MiTM attacks using rogue // X.509 certificates. By whitelisting only the identities that the browser // should trust, your users are protected in the event a certificate // authority is compromised. //$_configuration['security_public_key_pins'] = ''; //$_configuration['security_public_key_pins_report_only'] = ''; // // X-Frame-Options tells the browser whether you want to allow your site to // be framed or not. By preventing a browser from framing your site you can // defend against attacks like clickjacking. // If defining a URL here, it should define the URL(s) from which your content // should be visible, not the URLs from which your site accepts content. // For example, if your main URL (root_web above) is https://11.chamilo.org/, // then this setting should be: 'ALLOW-FROM https://11.chamilo.org'. // These headers only apply to pages where Chamilo is responsible of the HTTP // headers generation (i.e. ".php" files). It does not apply to static files. // If playing with this feature, make sure you also update your web server // configuration to add the right headers for static files. See CDN // configuration documentation above (search for "add_header") for more // information. // Recommended (strict) value for this setting, if enabled: "SAMEORIGIN". //$_configuration['security_x_frame_options'] = 'SAMEORIGIN'; // // X-XSS-Protection sets the configuration for the cross-site scripting // filter built into most browsers. // Recommended value "1; mode=block". //$_configuration['security_xss_protection'] = '1; mode=block'; // // X-Content-Type-Options stops a browser from trying to MIME-sniff the // content type and forces it to stick with the declared content-type. The only // valid value for this header is "nosniff". //$_configuration['security_x_content_type_options'] = 'nosniff'; // // Referrer Policy is a new header that allows a site to control how much // information the browser includes with navigation away from a document // and should be set by all sites. //$_configuration['security_referrer_policy'] = 'origin-when-cross-origin'; // // Enable samesite:None parameter for session cookie. // More info: https://www.chromium.org/updates/same-site // Also: https://developers.google.com/search/blog/2020/01/get-ready-for-new-samesitenone-secure //$_configuration['security_session_cookie_samesite_none'] = false; // // Enable Permissions-Policy header // More info: https://scotthelme.co.uk/goodbye-feature-policy-and-hello-permissions-policy/ // and also: https://scotthelme.co.uk/a-new-security-header-feature-policy/ //$_configuration['security_permissions_policy'] = 'geolocation=(self "https://example.com"), microphone=()'; // ------ HTTP headers security section ends here // // ------ Survey configuration settings // Add answered_at field in table survey_invitation // Requires DB change: // ALTER TABLE c_survey_invitation ADD answered_at DATETIME DEFAULT NULL; //$_configuration['survey_answered_at_field'] = false; // Add support to mandatory surveys. The user will not be able to enter to the course until fill the mandatory surveys // Requires DB change: /* INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, visible_to_self, changeable, created_at) VALUES (12, 13, 'is_mandatory', 'IsMandatory', 1, 1, NOW()); */ //$_configuration['allow_mandatory_survey'] = false; // Allow required survey questions. Applies to yesno/multiplechoice question type. Requires DB change: /* ALTER TABLE c_survey_question ADD is_required TINYINT(1) DEFAULT 0 NOT NULL; */ //$_configuration['allow_required_survey_questions'] = false; // Hide Survey Reporting button //$_configuration['hide_survey_reporting_button'] = false; // Hide survey edition tools for all or some surveys. //Set an asterisk to hide for all, otherwise set an array with the survey codes in which the options will be blocked //$_configuration['hide_survey_edition'] = ['codes' => []]; // Allows to set the date and time of availability for surveys. Requires DB changes: // ALTER TABLE c_survey CHANGE avail_from avail_from DATETIME DEFAULT NULL, CHANGE avail_till avail_till DATETIME DEFAULT NULL; // Requires change the Doctrine type from date to datime in CSurvey::$availFrom and CSurvey::$availTill //$_configuration['allow_survey_availability_datetime'] = false; // Mark the "Required" field during question creation process when displaying the form. //$_configuration['survey_mark_question_as_required'] = false; // Allow add additional actions (as links) in survey list for teachers. // e.g. ['myplugin' => ['MyPlugin', 'urlGeneratorCallback']] //$_configuration['survey_additional_teacher_modify_actions'] = []; // Allow show answers in anonymous surveys //$_configuration['survey_anonymous_show_answered'] = false; // ------ // Allow career diagram, requires a DB change: //UPDATE extra_field_values SET created_at = NULL WHERE CAST(created_at AS CHAR(20)) = '0000-00-00 00:00:00'; //UPDATE extra_field_values SET updated_at = NULL WHERE CAST(updated_at AS CHAR(20)) = '0000-00-00 00:00:00'; //ALTER TABLE extra_field_values modify column value longtext null; //$_configuration['allow_career_diagram'] = false; // Allow scheduled emails to session users. //CREATE TABLE scheduled_announcements (id INT AUTO_INCREMENT NOT NULL, subject VARCHAR(255) NOT NULL, message LONGTEXT NOT NULL, date DATETIME DEFAULT NULL, sent TINYINT(1) NOT NULL, session_id INT NOT NULL, c_id INT DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; // sudo mkdir app/upload/scheduled_announcement // Uncomment and set the following setting to true before moving on //$_configuration['allow_scheduled_announcements'] = false; // Add "attachment" file upload extra field label in: main/admin/extra_fields.php?type=scheduled_announcement&action=add // Add "send_to_coaches" checkbox options field label in: main/admin/extra_fields.php?type=scheduled_announcement&action=add // Add the list of emails as a bcc when sending an email. // Configure a cron task pointing at main/cron/scheduled_announcement.php /* $_configuration['send_all_emails_to'] = [ 'emails' => [ 'admin1@example.com', 'admin2@example.com', ] ];*/ // Allow ticket projects to be access by specific chamilo roles /*$_configuration['ticket_project_user_roles'] = [ 'permissions' => [ 1 => [17] // project_id = 1, STUDENT_BOSS = 17 ] ];*/ // Allow additional data (exercise and learningpath) in the ticket // - Required DB change // ALTER TABLE ticket_ticket ADD exercise_id INT DEFAULT NULL AFTER course_id; // ALTER TABLE ticket_ticket ADD CONSTRAINT FK_EB5B2A0D6285C987 FOREIGN KEY (exercise_id) REFERENCES c_quiz (iid); // ALTER TABLE ticket_ticket ADD lp_id INT DEFAULT NULL AFTER exercise_id; // ALTER TABLE ticket_ticket ADD CONSTRAINT FK_EB5B2A0D6285C231 FOREIGN KEY (lp_id) REFERENCES c_lp (iid); // $_configuration['ticket_lp_quiz_info_add'] = false; // Exercises configuration settings // Send only quiz answer notifications to course coaches and not general coach //$_configuration['block_quiz_mail_notification_general_coach'] = false; // Show question feedback (requires DB change: "ALTER TABLE c_quiz_question ADD COLUMN feedback text;") //$_configuration['allow_quiz_question_feedback'] = false; // Add option in exercise to show or hide the "previous" button. //ALTER TABLE c_quiz ADD show_previous_button TINYINT(1) DEFAULT 1; //$_configuration['allow_quiz_show_previous_button_setting'] = false; // Allow to teachers review exercises question with audio notes //$_configuration["allow_teacher_comment_audio"] = false; // Block copy/paste/save/print keys and right-clicks in exercises //$_configuration['quiz_prevent_copy_paste'] = false; // Always show the test description on the results page of the test //$_configuration['quiz_show_description_on_results_page'] = false; // Allow add additional actions (as links) in exercises list for teachers. // Callback get the $exerciseId and $iconSize as parameters. // e.g. ['myplugin' => ['MyPlugin', 'urlGeneratorCallback']] //$_configuration['exercise_additional_teacher_modify_actions'] = [] // Generate certificate when ending a quiz. // The quiz needs to be linked to a gradebook category and have set the pass percentage. //$_configuration['quiz_generate_certificate_ending'] = false; // Allow the teacher to rate the open, oral expression and annotation question types with a decimal score. //$_configuration['quiz_open_question_decimal_score'] = false; // Add answer-saving procedure check before starting the quiz //$_configuration['quiz_check_button_enable'] = false; // Add a checkbox to allow to user confirm the number of answers saved in quiz attempt // - Requires to edit the src/Chamilo/CoreBundle/Entity/TrackEExerciseConfirmation.php file adding the "@" in the ORM phpdoc block // - Requires DB changes: // CREATE TABLE track_e_exercise_confirmation (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, course_id INT NOT NULL, attempt_id INT NOT NULL, quiz_id INT NOT NULL, session_id INT NOT NULL, confirmed TINYINT(1) DEFAULT '0' NOT NULL, questions_count INT NOT NULL, saved_answers_count INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME DEFAULT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; //$_configuration['quiz_confirm_saved_answers'] = false; // Allow reuse of questions between courses // $_configuration['quiz_question_allow_inter_course_linking'] = false; // Delete automatically the questions when a quiz is deleted // If questions are reused between courses only deletes the non-reused questions // or reused questions where the quiz has the lowest iid value from c_quiz_rel_question // $_configuration['quiz_question_delete_automatically_when_deleting_exercise'] = false; // Opens the quiz question description by default //$_configuration['quiz_question_description_open_by_default'] = false; // Opens advanced parameters options by default when creating or editing quiz questions //$_configuration['quiz_question_edit_open_advanced_params_by_default'] = false; // Define how many seconds an AJAX request should be started to avoid loss of connection. //$_configuration['quiz_keep_alive_ping_interval'] = 0; // Hide search form in session list //$_configuration['hide_search_form_in_session_list'] = false; // Allow exchange of messages from teachers/bosses about a user. //$_configuration['private_messages_about_user'] = false; // Allow the messages to be visible for the students //$_configuration['private_messages_about_user_visible_to_user'] = false; // Allow send email notification per exercise //ALTER TABLE c_quiz ADD COLUMN notifications VARCHAR(255) NULL DEFAULT NULL; //$_configuration['allow_notification_setting_per_exercise'] = false; // Hide free/oral/annotation question result see BT#12613 //$_configuration['hide_free_question_score'] = false; // Hide user information in the quiz result's page //$_configuration['hide_user_info_in_quiz_result'] = false; // Show the username field in exercise results report //$_configuration['exercise_attempts_report_show_username'] = false; // Allow extends allowed question types for embeddable exercises. /* By default, only the following question types are allowed: 1, 2, 17 Add these types to allow them in embeddable exercises: 1 = Multiple choice 2 = Multiple answers 3 = Fill blanks or form 4 = Matching 5 = Open question 9 = Exact Selection 10 = Unique answer with unknown 11 = Multiple answer true/false/don't know 12 = Combination true/false/don't know 13 = Oral expression 14 = Global multiple answer 16 = Calculated question 17 = Unique answer image 21 = Reading comprehension 22 = Multiple answer true/false/degree of certainty 23 = Upload answer */ /* $_configuration['exercise_embeddable_extra_types'] = [ 'types' => [], ]; */ // Score model // Allow to convert a score into a text/color label // using a model if score is inside those values. See BT#12898 /* $_configuration['score_grade_model'] = [ 'models' => [ [ 'id' => 1, 'name' => 'ThisIsMyModel', // Value will be translated using get_lang 'score_list' => [ [ 'name' => 'VeryBad', // Value will be translated using get_lang 'css_class' => 'btn-danger', 'min' => 0, 'max' => 20, 'score_to_qualify' => 0 ], [ 'name' => 'Bad', 'css_class' => 'btn-danger', 'min' => 21, 'max' => 50, 'score_to_qualify' => 25 ], [ 'name' => 'Good', 'css_class' => 'btn-warning', 'min' => 51, 'max' => 70, 'score_to_qualify' => 60 ], [ 'name' => 'VeryGood', 'css_class' => 'btn-success', 'min' => 71, 'max' => 100, 'score_to_qualify' => 100 ] ] ] ] ]; */ // Allow show link to request relation between HRM and user //$_configuration['show_link_request_hrm_user'] = false; // Allow CKEditor start up with ShowBlocks plugin active //$_configuration['ckeditor_startup_outline_blocks'] = false; // SETTINGS FOR USER COURSE LIST // Manage the links to Session Index page // 1 = Default. Works as it is now (default is to link to the special session page) // 0 = No link (hide session title) // 2 = Link to the course if there is only one course // 3 = Session link will make course list foldable // 4 = No link (only session title) //$_configuration['courses_list_session_title_link'] = 1; // New grid view the list of courses //$_configuration['view_grid_courses'] = true; // Show courses grouped by categories when $_configuration['view_grid_courses'] is enabled //$_configuration['view_grid_courses_grouped_categories_in_sessions'] = true; // Load course notifications in user_portal.php using ajax //$_configuration['user_portal_load_notification_by_ajax'] = false; // Hide the "what's new" icon notifications in course list // $_configuration['hide_course_notification'] = true; // Show less session information in course list //$_configuration['show_simple_session_info'] = true; // Show course category list on My Courses page before the courses. Requires a DB change //ALTER TABLE course_category ADD image varchar(255) NULL; //ALTER TABLE course_category ADD description LONGTEXT NULL; //$_configuration['my_courses_list_as_category'] = false; // ------ // Skills can only be visible for admins, teachers (related to a user via a course), // and HRM users (if related to a user). // $_configuration['allow_private_skills'] = false; // Additional gradebook dependencies BT#13099 // ALTER TABLE gradebook_category ADD COLUMN depends TEXT DEFAULT NULL; // ALTER TABLE gradebook_category ADD COLUMN minimum_to_validate INT DEFAULT NULL; // ALTER TABLE gradebook_category ADD COLUMN gradebooks_to_validate_in_dependence INT DEFAULT NULL; // $_configuration['gradebook_dependency'] = false; // Courses id list to check in the gradebook sidebar see BT#13099 /*$_configuration['gradebook_dependency_mandatory_courses'] = [ 'courses' => [1, 2] ];*/ // Gradebook id list needed to build the gradebook sidebar see BT#13099 /* $_configuration['gradebook_badge_sidebar'] = [ 'gradebooks' => [1, 2, 3] ];*/ // Show language selector in main menu an update the language in the user's // profile. //$_configuration['show_language_selector_in_menu'] = false; // When using the my-courses list filter by category, set this option to true // to only show courses in the user's configured language // $_configuration['my_courses_show_courses_in_user_language_only'] = false; // Hide base course announcements when entering a group. //$_configuration['hide_base_course_announcements_in_group'] = false; // Disable delete all announcements button //$_configuration['disable_delete_all_announcements'] = false; // Default glossary view "table" or "list" //$_configuration['default_glossary_view'] = 'table'; // Allow or block user subscriptions to a lp/lp category /*$_configuration['lp_subscription_settings'] = [ 'options' => [ 'allow_add_users_to_lp' => true, 'allow_add_users_to_lp_category' => true, ] ];*/ // Allow public courses access with no terms and conditions validation. //$_configuration['allow_public_course_with_no_terms_conditions'] = false; // Allow delete user for session admin //$_configuration['allow_delete_user_for_session_admin'] = false; // Allow enable/disable user accounts for session admin //$_configuration['allow_disable_user_for_session_admin'] = false; // Allow edit/delete agenda events for HRM users //$_configuration['allow_agenda_edit_for_hrm'] = false; // Allow double validation in registration page //$_configuration['allow_double_validation_in_registration'] = false; // Allow multiple anon users see BT#13324 //$_configuration['max_anonymous_users'] = 0; // Send email notification to admin when a user is created //$_configuration['send_notification_when_user_added'] = ['admins' => [1] ]; // Send email notification to course members when document is added BT#13964 //$_configuration['send_notification_when_document_added'] = false; // Hide email content forcing using to click in a link to visit the portal to check the message //$_configuration['messages_hide_mail_content'] = false; // If you install plugin redirection you need to change to true //$_configuration['plugin_redirection_enabled'] = false; // Customize on hover agenda view. Show agenda comment and/or description /*$_configuration['agenda_on_hover_info'] = [ 'options' => [ 'comment' => true, 'description' => true, ] ];*/ // Disable jquery, jquery-ui libs added in the learning path view //$_configuration['disable_js_in_lp_view'] = true; // Show all sessions (old, current, future) in my course page //$_configuration['show_all_sessions_on_my_course_page'] = true; // Redirect to home tool after uploading a student publication or a adding a comment //$_configuration['allow_redirect_to_main_page_after_work_upload'] = false; // Empty the session student list when subscribing multiple users //$_configuration['session_multiple_subscription_students_list_avoid_emptying'] = false; // Disable the option to set course coach in session when editing course //$_configuration['disabled_edit_session_coaches_course_editing_course'] = false; // Show sender's email when receiving email notifications. //$_configuration['show_user_email_in_notification'] = false; // Set skill levels name, then later it will be parsed using get_lang BT#13586 /*$_configuration['skill_levels_names'] = [ 'levels' => [ 1 => 'Skills', 2 => 'Capability', 3 => 'Dimension', ] ];*/ // Show popular sessions on homepage //$_configuration['show_hot_sessions'] = false; // Hide skill levels options //$_configuration['hide_skill_levels'] = false; // Hide the session list in Reporting tool. Useful when a course has too many sessions. //$_configuration['hide_reporting_session_list'] = false; // Allow session admin to read careers //$_configuration['allow_session_admin_read_careers'] = true; // Enable cloud links in document tool // $_configuration['enable_add_file_link'] = false; // Send score in percentage in the exam result notification //$_configuration['send_notification_score_in_percentage'] = false; // Google translate key (for the text2speech feature in the documents tool) // To get it, go to https://console.cloud.google.com/apis/library, create or // use your own project, then search for "speech" and follow the instructions // This service has a cost above 60 minutes of use. //$_configuration['translate_app_google_key'] = ''; // Block access to any user to "my progress" page //$_configuration['block_my_progress_page'] = false; // Hides the "my progress" tab from the navigation menu //$_configuration['hide_my_progress_tab'] = false; // Add user extra fields in report: main/mySpace/exercise_category_report.php //$_configuration['exercise_category_report_user_extra_fields'] = ['fields' => ['skype', 'rssfeeds']]; // Order sessions // Requires DB change: ALTER TABLE session ADD COLUMN position INT DEFAULT 0; // Requires edit Entity Session: src/Chamilo/CoreBundle/Entity/Session.php uncomment "position" variable. // Requires uncomment the position get and set //$_configuration['session_list_order'] = false; // Show skills as a hierarchical table //$_configuration['table_of_hierarchical_skill_presentation'] = false; // Restrict course chat only for course coach in sessions // Course coaches will can chat with students only. And students will can chat with all course coaches //$_configuration['course_chat_restrict_to_coach'] = false; // Allow teachers, drhs and admins to access blocked LP's because a prerequisite. //$_configuration['allow_teachers_to_access_blocked_lp_by_prerequisite'] = false; // Allow connect skills with course tools (exercises, forum threads, works, etc) // 1. Add an "@" before "ORM\Entity" in these Entities: //SkillRelItemRelUser/SkillRelItem/SkillRelCourse (in src/Chamilo/SkillBundle/Entity/) // 2. Add an "@" before "ORM\OneToMany" in the "Skill.items" and "Skill.courses" variable definitions (in src/Chamilo/CoreBundle/Entity/Skill.php) // 3. Run the following DB changes: /* CREATE TABLE skill_rel_item_rel_user (id INT AUTO_INCREMENT NOT NULL, skill_rel_item_id INT NOT NULL, user_id INT NOT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, created_by INT NOT NULL, updated_by INT NOT NULL, INDEX IDX_D1133E0DFD4B12DC (skill_rel_item_id), INDEX IDX_D1133E0DA76ED395 (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; CREATE TABLE skill_rel_item (id INT AUTO_INCREMENT NOT NULL, skill_id INT DEFAULT NULL, item_type INT NOT NULL, item_id INT NOT NULL, obtain_conditions VARCHAR(255) DEFAULT NULL, requires_validation TINYINT(1) NOT NULL, is_real TINYINT(1) NOT NULL, c_id INT DEFAULT NULL, session_id INT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, created_by INT NOT NULL, updated_by INT NOT NULL, INDEX IDX_EB5B2A0D5585C142 (skill_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DFD4B12DC FOREIGN KEY (skill_rel_item_id) REFERENCES skill_rel_item (id); ALTER TABLE skill_rel_item_rel_user ADD CONSTRAINT FK_D1133E0DA76ED395 FOREIGN KEY (user_id) REFERENCES user (id); ALTER TABLE skill_rel_item ADD CONSTRAINT FK_EB5B2A0D5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id); ALTER TABLE skill_rel_item_rel_user ADD result_id INT DEFAULT NULL; CREATE TABLE skill_rel_course (id INT AUTO_INCREMENT NOT NULL, skill_id INT DEFAULT NULL, c_id INT NOT NULL, session_id INT, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_E7CEC7FA5585C142 (skill_id), INDEX IDX_E7CEC7FA91D79BD3 (c_id), INDEX IDX_E7CEC7FA613FECDF (session_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA5585C142 FOREIGN KEY (skill_id) REFERENCES skill (id); ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA91D79BD3 FOREIGN KEY (c_id) REFERENCES course (id); ALTER TABLE skill_rel_course ADD CONSTRAINT FK_E7CEC7FA613FECDF FOREIGN KEY (session_id) REFERENCES session (id); */ // 4. Set the following "allow_skill_rel_items" setting to true //$_configuration['allow_skill_rel_items'] = false; // 5. Insert skills links in the skill_rel_course table directly to have them // appear in the skills page for the course in a session, or use the // main/cron/import_csv.php script with a file in main/cron/incoming/ with // a name matching the following pattern skillset_yyyymmdd.csv // 6. Assign skills to users through each supported tool (see skill.lib.php::getItemInfo()) // 7. Confirm users skills through the gradebook interface (new skill_rel_user.php icon on main page) // Allows to send a notification when a user has achieved a skill //$_configuration['badge_assignation_notification'] = false; // Generate random login when importing users //$_configuration['generate_random_login'] = false; // Remove html tags when exporting glossary definitions in a CSV file //$_configuration['allow_remove_tags_in_glossary_export'] = false; // Show base course categories in portal children //$_configuration['allow_base_course_category'] = false; // Send two emails when creating a user. One with the username other with the password. //$_configuration['send_two_inscription_confirmation_mail'] = false; // LP view custom settings /*$_configuration['lp_view_settings'] = [ 'display' => [ 'show_reporting_icon' => true, 'hide_lp_arrow_navigation' => false, 'show_toolbar_by_default' => false, 'navigation_in_the_middle' => false, 'add_extra_quit_to_home_icon' => false, ], ];*/ // To enable the add_extra_quit_to_home_icon feature for single LP, add the following extrafield: /* INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, default_value, field_order, visible_to_self, visible_to_others, changeable, filter, created_at) VALUES (6, 13, 'add_extra_quit_button', 'Add extra quit button', '', 0, 1, 0, 1, 0, NOW()); */ // Force to hide the invisible course documents in sessions //$_configuration['hide_invisible_course_documents_in_sessions'] = false; // Show more expected choice and status in exercise results BT#13950 //$_configuration['show_exercise_expected_choice'] = false; // Hide exercise question label (ribbon) BT#13950 //$_configuration['exercise_hide_label'] = false; // Send welcome message by email and to the chamilo inbox BT#14034 //$_configuration['send_inscription_msg_to_inbox'] = false; // Allow administrators to see personal messages between a teacher and a student. // Please make sure you include a note in your terms and conditions as this might // affect privacy protection. //$_configuration['allow_user_message_tracking'] = false; // Filter messages between a teacher and a student between the session start end dates // Need $_configuration['allow_user_message_tracking'] = true; //$_configuration['filter_interactivity_messages'] = false; // Add a portfolio tool (duplicating the Notebook tool). Requires DB changes: /* CREATE TABLE portfolio_attachment (id INT AUTO_INCREMENT NOT NULL, path VARCHAR(255) NOT NULL, comment LONGTEXT DEFAULT NULL, size INT NOT NULL, filename VARCHAR(255) NOT NULL, origin_id INT NOT NULL, origin_type INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; CREATE TABLE portfolio (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, c_id INT DEFAULT NULL, session_id INT DEFAULT NULL, category_id INT DEFAULT NULL, title VARCHAR(255) NOT NULL, content LONGTEXT NOT NULL, creation_date DATETIME NOT NULL, update_date DATETIME NOT NULL, is_visible TINYINT(1) DEFAULT '1' NOT NULL, origin INT DEFAULT NULL, origin_type INT DEFAULT NULL, score DOUBLE PRECISION DEFAULT NULL, INDEX user (user_id), INDEX course (c_id), INDEX session (session_id), INDEX category (category_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; CREATE TABLE portfolio_category (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, title VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, is_visible TINYINT(1) DEFAULT '1' NOT NULL, INDEX user (user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; CREATE TABLE portfolio_comment (id INT AUTO_INCREMENT NOT NULL, author_id INT NOT NULL, item_id INT NOT NULL, tree_root INT DEFAULT NULL, parent_id INT DEFAULT NULL, content LONGTEXT NOT NULL, date DATETIME NOT NULL, is_important TINYINT(1) DEFAULT '0' NOT NULL, lft INT NOT NULL, lvl INT NOT NULL, rgt INT NOT NULL, score DOUBLE PRECISION DEFAULT NULL, INDEX IDX_C2C17DA2F675F31B (author_id), INDEX IDX_C2C17DA2126F525E (item_id), INDEX IDX_C2C17DA2A977936C (tree_root), INDEX IDX_C2C17DA2727ACA70 (parent_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE; ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106291D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE; ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED1062613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE; ALTER TABLE portfolio ADD CONSTRAINT FK_A9ED106212469DE2 FOREIGN KEY (category_id) REFERENCES portfolio_category (id) ON DELETE SET NULL; ALTER TABLE portfolio CHANGE is_visible visibility SMALLINT DEFAULT 1 NOT NULL; ALTER TABLE portfolio ADD is_highlighted TINYINT(1) DEFAULT '0' NOT NULL; ALTER TABLE portfolio ADD is_template TINYINT(1) DEFAULT '0' NOT NULL; ALTER TABLE portfolio_category ADD CONSTRAINT FK_7AC64359A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE; ALTER TABLE portfolio_comment ADD CONSTRAINT FK_C2C17DA2F675F31B FOREIGN KEY (author_id) REFERENCES user (id) ON DELETE CASCADE; ALTER TABLE portfolio_comment ADD CONSTRAINT FK_C2C17DA2126F525E FOREIGN KEY (item_id) REFERENCES portfolio (id) ON DELETE CASCADE; ALTER TABLE portfolio_comment ADD CONSTRAINT FK_C2C17DA2A977936C FOREIGN KEY (tree_root) REFERENCES portfolio_comment (id) ON DELETE CASCADE; ALTER TABLE portfolio_comment ADD CONSTRAINT FK_C2C17DA2727ACA70 FOREIGN KEY (parent_id) REFERENCES portfolio_comment (id) ON DELETE CASCADE; ALTER TABLE portfolio_comment ADD is_template TINYINT(1) DEFAULT '0' NOT NULL; ALTER TABLE portfolio_category ADD parent_id INT(11) NOT NULL DEFAULT 0; CREATE TABLE portfolio_rel_tag (id INT AUTO_INCREMENT NOT NULL, tag_id INT NOT NULL, c_id INT NOT NULL, session_id INT DEFAULT NULL, INDEX IDX_DB734472BAD26311 (tag_id), INDEX IDX_DB73447291D79BD3 (c_id), INDEX IDX_DB734472613FECDF (session_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE `utf8_unicode_ci` ENGINE = InnoDB; ALTER TABLE portfolio_rel_tag ADD CONSTRAINT FK_DB734472BAD26311 FOREIGN KEY (tag_id) REFERENCES tag (id) ON DELETE CASCADE; ALTER TABLE portfolio_rel_tag ADD CONSTRAINT FK_DB73447291D79BD3 FOREIGN KEY (c_id) REFERENCES course (id) ON DELETE CASCADE; ALTER TABLE portfolio_rel_tag ADD CONSTRAINT FK_DB734472613FECDF FOREIGN KEY (session_id) REFERENCES session (id) ON DELETE CASCADE; */ // In 1.11.8, before enabling this feature, you also need to: // - edit src/Chamilo/CoreBundle/Entity/Portfolio.php, PortfolioCategory.php, PortfolioAttachment.php and PortfolioComment.php PortfolioRelTag.php // and follow the instructions about the @ORM\Entity() line // - launch composer install to rebuild the autoload.php // To allow to add tags to portfolio items, create a extrafield called "tags" that can be modified and visible to others /* INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, default_value, field_order, visible_to_self, visible_to_others, changeable, filter, created_at) VALUES (19, 10, 'tags', 'tags', '', 0, 1, 1, 1, 0, NOW()); */ // To enable (make visible for students) the new Portfolio tool when creating a course it's necessary to create a new setting parameter /* INSERT INTO settings_current (variable, subkey, type, category, selected_value, title, comment, scope, subkeytext, access_url, access_url_changeable, access_url_locked) VALUES ('course_create_active_tools', 'portfolio', 'checkbox', 'Tools', 'true', 'CourseCreateActiveToolsTitle', 'CourseCreateActiveToolsComment', null, 'Portfolio', 1, 0, 0); */ //$_configuration['allow_portfolio_tool'] = false; // Allow advanced selection of who can view the posts and comments. It requires DB changes: // ALTER TABLE portfolio_comment ADD visibility SMALLINT DEFAULT 1 NOT NULL; // Then add the "@" symbol to the CPortfolioComment::$visibility property in the ORM\Column() line. //$_configuration['portfolio_advanced_sharing'] = false; // DEPRECATED: gradebook_enable_best_score is deprecated. Use gradebook_display_extra_stats instead. // Enable best score column in gradebook. Previously called disable_gradebook_stats //$_configuration['gradebook_enable_best_score'] = false; /* Enable specific columns in gradebook table. [1] = Ranking [2] = Best Score [3] = Average */ //$_configuration['gradebook_display_extra_stats'] = ['columns' => [1, 2, 3]]; // Allow teachers to access student skills BT#14161 (skills setting must be enabled in the platform) //$_configuration['allow_teacher_access_student_skills'] = false; // Allow sharing options for the documents inside a group //ALTER TABLE c_group_info ADD document_access INT DEFAULT 0 NOT NULL; //$_configuration['group_document_access'] = false; // Allow sharing options for the documents inside a group category //ALTER TABLE c_group_category ADD document_access INT DEFAULT 0 NOT NULL; //$_configuration['group_category_document_access'] = false; // Allow LP export to chamilo format (CourseBackup) //$_configuration['allow_lp_chamilo_export'] = false; // Allow exercise auto launch //$_configuration['allow_exercise_auto_launch'] = false; // ALTER TABLE c_quiz ADD autolaunch TINYINT(1) DEFAULT 0; // Enable speed controller in video player // $_configuration['video_features'] = ['features' => ['speed']]; // Hide the context menu on video player //$_configuration['video_context_menu_hidden'] = false; // Enable player renderers for YouTube, Vimeo, Facebook, DailyMotion, Twitch medias //$_configuration['video_player_renderers'] = ['renderers' => ['dailymotion', 'facebook', 'twitch', 'vimeo', 'youtube']]; // Disable token verification when sending a message // $_configuration['disable_token_in_new_message'] = false; // My courses session order. Possible field values: "start_date", "end_date", "name" Order values: "asc" or "desc" // $_configuration['my_courses_session_order'] = ['field' => 'end_date', 'order' => 'desc']; // Allow set courses in session in read-only mode. Require DB changes: /* INSERT INTO extra_field (extra_field_type, field_type, variable, display_text, visible_to_self, changeable, filter, created_at) VALUES (2, 13, 'session_courses_read_only_mode', 'Lock Course In Session', 1, 1, 1, NOW()); */ // $_configuration['session_courses_read_only_mode'] = false; // Allow SCORM packages when importing a course // $_configuration['allow_import_scorm_package_in_course_builder'] = false; // Avoid all the scorms folders to be included by default in the partial course backup // and enable the scroms folders to be selected manualy //$_configuration['course_backup_allow_scorm_selection_in_select_form'] = false; // Hide announcement "sent to" label // $_configuration['hide_announcement_sent_to_users_info'] = false; // Hide gradebook graph. // $_configuration['gradebook_hide_graph'] = false; // Hide gradebook table for student. // $_configuration['gradebook_hide_table'] = false; // Hide gradebook "download report in PDF" button // $_configuration['gradebook_hide_pdf_report_button'] = false; // Shows a link to the "Global gradebooks" page in the /index.php and /user_portal.php page. // It also enables the main/gradebook/all_my_gradebooks.php page. //$_configuration['show_all_my_gradebooks_page'] = false; // Show pending survey link in user menu // $_configuration['show_pending_survey_in_menu'] = false; // GDPR: European's General Data Protection Rules activation option // Set to true to disable the new personal data page inside the social network // menu // $_configuration['disable_gdpr'] = true; // Set the LinkedIn organization id BT#17468 //$_configuration['linkedin_organization_id'] = false; // GDPR requires users to be informed of the Data Protection Officer name and // contact point. These can only be defined here for now, but will be moved to // web settings in the future. // Name of the person or organization that is responsible for the treatment of // personal info //$_configuration['data_protection_officer_name'] = ''; // A description of the role of the DP Officer in this context //$_configuration['data_protection_officer_role'] = ''; // An e-mail address where to contact the data protection officer for queries //$_configuration['data_protection_officer_email'] = ''; // Show multiple conditions to user during sign up process // Example with a GDPR condition /*$_configuration['show_conditions_to_user'] = [ 'conditions' => [ [ 'variable' => 'gdpr', // internal extra field name 'display_text' => 'GDPRTitle', // checkbox title will be translated with get_lang('GDPRTitle') 'text_area' => 'GDPRTextArea', // this will be translated using get_lang('GDPRTextArea') ], [ 'variable' => 'my_terms', 'display_text' => 'My test conditions', 'text_area' => 'This is a long text area, with lot of terms and conditions ... ', ], ], ];*/ // Make GDPR terms public (useful when using the platform for anonymous survey // invitations where users can leave personal info). // $_configuration['gdpr_terms_public'] = false; // Hide LP item prerequisite label in the LP view //$_configuration['hide_accessibility_label_on_lp_item'] = true; // Round score in exercise category export //$_configuration['exercise_category_round_score_in_export'] = false; // Redirect index to url for logged in users // In this example the index.php will be redirected to user_portal.php for logged in users //$_configuration['redirect_index_to_url_for_logged_users'] = 'user_portal.php'; // Teachers can CRUD classes // ALTER TABLE usergroup ADD author_id INT DEFAULT NULL; //$_configuration['allow_teachers_to_classes'] = false; // Do not unsubscribe users from session nor course when users are unsubscribe to class // $_configuration['usergroup_do_not_unsubscribe_users_from_course_nor_session_on_user_unsubscribe'] = false; // Do not unsubscribe users from course when courses are unsubscribe to class // $_configuration['usergroup_do_not_unsubscribe_users_from_course_on_course_unsubscribe'] = false; // Do not unsubscribe users from session when sessions are unsubscribe to class // $_configuration['usergroup_do_not_unsubscribe_users_from_session_on_session_unsubscribe'] = false; // Show all users in selector as initial list when subscribing users to class //$_configuration['usergroup_add_user_show_all_student_by_default'] = false; // Validate user login via a webservice, Chamilo will send a "login" and "password" parameters // to the "myWebServiceFunctionToLogin" function, the result should be "1" if the user have access. /*$_configuration['webservice_validation'] = [ 'options' => [ 'wsdl' => 'https://example.com/soap?wsdl', 'check_login_function' => 'myWebServiceFunctionToLogin' ] ];*/ // Hide the username when showing the complete name for a user. // Example: using api_get_user_info()['complete_name_with_username'] or $user->getCompleteNameWithUsername() //$_configuration['hide_username_with_complete_name'] = false; // Hide the username in course chat //$_configuration['hide_username_in_course_chat'] = false; // Allow multiple attempts in gradebook evaluations // CREATE TABLE gradebook_result_attempt (id INT AUTO_INCREMENT NOT NULL, result_id INT NOT NULL, score DOUBLE, comment LONGTEXT DEFAULT NULL, created_at DATETIME, updated_at DATETIME, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; //$_configuration['gradebook_multiple_evaluation_attempts'] = false; // Hide country flags in the language switcher // $_configuration['hide_flag_language_switcher'] = false; // Hide complete name in who is online page // $_configuration['hide_complete_name_in_whoisonline'] = false; // Block student publication edition BT#14985 // $_configuration['block_student_publication_edition'] = false; // Block student publication add documents BT#14986 //$_configuration['block_student_publication_add_documents'] = false; // Block teacher to modify a work score edition BT#14987 // $_configuration['block_student_publication_score_edition'] = false; // Enable system to manage e-mail templates in users registration forms /*CREATE TABLE mail_template( id int not null primary key auto_increment, name varchar(255) not null, -- a friendly name for the template, to remember what it is like template text, -- the template content (in Twig format) type varchar(255) not null, -- the type of the mail (we can use current template names to fill that) created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, author_id INT NOT NULL, url_id INT NOT NULL, default_template TINYINT not null, system int not null default 0 -- whether it can be deleted or not (system = 1 means it's initially from Chamilo, any other template can be created/deleted/edited, but the ones with system=1 cannot) );*/ // $_configuration['mail_template_system'] = false; // Enable filter by language for system and courses templates //ALTER TABLE system_template ADD language VARCHAR(40) NOT NULL DEFAULT 'english'; //Edit src/Chamilo/CoreBundle/Entity/SystemTemplate.php and add a '@' character in front of 'ORM\Column(name="language"' // $_configuration['template_activate_language_filter'] = false; // Students can only upload one publication // $_configuration['allow_only_one_student_publication_per_user'] = false; // Hide percentage in best/average gradebook results //$_configuration['hide_gradebook_percentage_user_result'] = true; // Use exercise platform score settings in the gradebook graph // $_configuration['gradebook_use_exercise_score_settings_in_categories'] = true; // Activate the view with ViewerJS for PDF files within the lessons for IPad and IPhone // $_configuration['allow_pdf_viewerjs_in_lp'] = false; // Allow DRH user to access all visible session course announcements // $_configuration['allow_drh_access_announcement'] = false; // Allow my personal files link in the homepage // $_configuration['allow_my_files_link_in_homepage'] = false; // This option sets default parameters in the main/session/session_import.php /*$_configuration['session_import_settings'] = [ 'options' => [ 'session_exists_default_option' => '1', 'send_mail_default_option' => '1', ] ];*/ /* * Fields visibility in the profile user page $_configuration['profile_fields_visibility'] = [ 'options' => [ 'vcard' => false, 'firstname' => false, 'lastname' => false, 'photo' => true, 'email' => true, 'chat' => true, 'terms_ville' => false, // extra field value ] ];*/ // This option sets default parameters in the main/admin/user_import.php /*$_configuration['user_import_settings'] = [ 'options' => [ 'send_mail_default_option' => '1', ] ];*/ // Disable all new exercise attempts in all the platform // $_configuration['exercises_disable_new_attempts'] = false; // Improve speed when rendering gradebook student reports using Doctrine APCU cache // $_configuration['gradebook_use_apcu_cache'] = true; /* Add a minimum time limit to be in the learning path in order to get the last item completed Requires a DB change: ALTER TABLE c_lp ADD accumulate_work_time INT NOT NULL; CREATE TABLE track_e_access_complete (id int(11) NOT NULL AUTO_INCREMENT, user_id int(11) NOT NULL, date_reg datetime NOT NULL, tool varchar(255) NOT NULL, tool_id int(11) NOT NULL, tool_id_detail int(11) NOT NULL, action varchar(255) NOT NULL, action_details varchar(255) NOT NULL, current_id int(11) NOT NULL, ip_user varchar(255) NOT NULL, user_agent varchar(255) NOT NULL, session_id int(11) NOT NULL, c_id int(11) NOT NULL, ch_sid varchar(255) NOT NULL, login_as int(11) NOT NULL, info longtext NOT NULL, url text NOT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=13989 DEFAULT CHARSET=utf8; CREATE INDEX user_course_session ON track_e_access_complete (user_id, c_id, session_id); Add course checkbox extra field "new_tracking_system" Add session checkbox extra field "new_tracking_system" Only applied for courses/sessions with extra field "new_tracking_system" to "1" */ //$_configuration['lp_minimum_time'] = false; // Add collapsable option for user course categories // ALTER TABLE user_course_category ADD collapsed TINYINT(1) DEFAULT NULL; // $_configuration['allow_user_course_category_collapsable'] = false; // Add collapsable option when showing the course list inside a session in userportal.php // ALTER TABLE session_rel_user ADD collapsed TINYINT(1) DEFAULT NULL; // Create a new session extra field called "collapsed" (checkbox yes/no - option) // $_configuration['allow_user_session_collapsable'] = false; // Allow to session admins login as teachers //$_configuration['allow_session_admin_login_as_teacher'] = false; // Allow gradebook stats // Requires to edit the GradebookLink.php And GradebookEvaluation.php files adding the "@" in the ORM phpdoc block /* ALTER TABLE gradebook_link ADD score_weight DOUBLE PRECISION DEFAULT NULL, ADD average_score DOUBLE PRECISION DEFAULT NULL, ADD best_score DOUBLE PRECISION DEFAULT NULL, ADD user_score_list LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)' ; ALTER TABLE gradebook_evaluation ADD score_weight DOUBLE PRECISION DEFAULT NULL, ADD average_score DOUBLE PRECISION DEFAULT NULL, ADD best_score DOUBLE PRECISION DEFAULT NULL, ADD user_score_list LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)' ; */ //$_configuration['allow_gradebook_stats'] = false; // Hide social media links //$_configuration['hide_social_media_links'] = false; // Show chamilo unique question id in exercises // $_configuration['show_question_id'] = false; // Show pagination if question list is bigger than "x" value, if 0 pagination will not appear. // Option only when building an exercise as a teacher // $_configuration['show_question_pagination'] = 100; // Number of questions to show in every page // Option only when building an exercise as a teacher // $_configuration['question_pagination_length'] = 20; // Teachers cannot delete an exercise/questions, change exercise visibility, download to qti, clean results // $_configuration['limit_exercise_teacher_access'] = false; // Changes the row list when using jqgrid/sortable tables //$_configuration['table_row_list'] = ['options' => [50, 100, 200, 500]]; // Default selected row in jqgrid/sortable tables //$_configuration['table_default_row'] = 50; // Disable Chamilo.org announcements at the top of the admin page //$_configuration['admin_chamilo_announcements_disable'] = false; /* Disable course report graphs 0 = Shown 1 = Hidden 2 = Click to show */ //$_configuration['hide_course_report_graph'] = 0; // Visually "fold" forum categories by default // $_configuration['forum_fold_categories'] = false; // Set extra fields as required in the inscription.php page /*$_configuration['required_extra_fields_in_inscription'] = [ 'options' => [ 'terms_ville', 'terms_paysresidence', ], ];*/ /* Set extra fields as required in the profile.php page $_configuration['required_extra_fields_in_profile'] = [ 'options' => [ 'terms_villedustage' ], ]; */ // Community manager users //$_configuration['community_managers_user_list'] = ['users' => [1]]; // Hide global chat video //$_configuration['hide_chat_video'] = false; // global forum in social network BT#15309 //$_configuration['global_forums_course_id'] = 0; // Hide forum post revision checkbox //$_configuration['hide_forum_post_revision_language'] = false; // Allow forum post revisions // Requires new forum_category and forum_post "language" extra fields (multiple select) //$_configuration['allow_forum_post_revisions'] = false; // Allow forum category filter on language // Requires new forum_category "language" extra fields (multiple select) //$_configuration['allow_forum_category_language_filter'] = false; //Allows to subscribe to notification of forums of the base course for users subscribed in a session //Only works if subscribe_users_to_forum_notifications is set to true in the course's settings //$_configuration['subscribe_users_to_forum_notifications_also_in_base_course'] = false; // Allow to show users in a map, users need to have a coordinates extra field BT#15176 //$_configuration['allow_social_map_fields'] = ['fields' => ['terms_villedustage', 'terms_ville']]; // Translate HTML based in the HTML "lang" attribute see BT#15166 //$_configuration['translate_html'] = false; // Avoid add a reply-to header when a no-reply address is set. //$_configuration['mail_no_reply_avoid_reply_to'] = false; // Allows to user add feedback (likes or dislikes) to posts in social wall. Requires DB changes: // CREATE TABLE message_feedback (id BIGINT AUTO_INCREMENT NOT NULL, message_id BIGINT NOT NULL, user_id INT NOT NULL, liked TINYINT(1) DEFAULT '0' NOT NULL, disliked TINYINT(1) DEFAULT '0' NOT NULL, updated_at DATETIME NOT NULL, INDEX IDX_DB0F8049537A1329 (message_id), INDEX IDX_DB0F8049A76ED395 (user_id), INDEX idx_message_feedback_uid_mid (message_id, user_id), PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049537A1329 FOREIGN KEY (message_id) REFERENCES message (id) ON DELETE CASCADE; // ALTER TABLE message_feedback ADD CONSTRAINT FK_DB0F8049A76ED395 FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE; // In 1.11.8, before enabling this feature, you also need to: // - edit src/Chamilo/CoreBundle/Entity/MessageFeedback.php // and follow the instructions about the @ORM\Entity() line // - edit src/Chamilo/CoreBundle/Entity/Message.php // and follow the instructions about the @ORM\OneToMany line for the $likes property // - launch "composer install" to rebuild the autoload.php //$_configuration['social_enable_messages_feedback'] = false; // Disable dislike button in the social network. //$_configuration['disable_dislike_option'] = false; // Block student's access to the course documents when using the ckeditor "Browse server" button //$_configuration['block_editor_file_manager_for_students'] = false; // Show a language flag next to the user picture in the social network //$_configuration['social_show_language_flag_in_profile'] = false; // Add subject and body in the mailto: footer //$_configuration['add_user_course_information_in_mailto'] = false; // Add gradebook score style configuration in the flat view // See api.lib.php in order to find the options: examples SCORE_DIV = 1, SCORE_PERCENT = 2, etc //$_configuration['gradebook_report_score_style'] = 1; // Means the score will be (X / Y) "SCORE_DIV" // Allow show the score display custom (when it is enabled) in a standalone column in gradebook //$_configuration['gradebook_score_display_custom_standalone'] = false; // Blocks "my files" access to anon users //$_configuration['block_my_files_access'] = false; // Allow .htaccess files in SCORM packages //$_configuration['allow_htaccess_import_from_scorm'] = false; // Allow general certificate //$_configuration['allow_general_certificate'] = false; // Allow exercise categories // CREATE TABLE c_exercise_category (id BIGINT AUTO_INCREMENT NOT NULL, c_id INT NOT NULL, name VARCHAR(255) NOT NULL, description LONGTEXT DEFAULT NULL, created_at DATETIME NOT NULL, updated_at DATETIME NOT NULL, position INT NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; // ALTER TABLE c_quiz ADD exercise_category_id INT DEFAULT NULL; // enable @ORM in CExerciseCategory adn CQuiz::exerciseCategoryId //$_configuration['allow_exercise_categories'] = false; // Send new user inscription notification only to general admins (table settings_current = emailAdministrator) //$_configuration['send_inscription_notification_to_general_admin_only'] = false; // Allow extra settings for the quiz results page // ALTER TABLE c_quiz ADD page_result_configuration LONGTEXT DEFAULT NULL COMMENT '(DC2Type:array)'; //$_configuration['allow_quiz_results_page_config'] = false; // Allows you to show or hide the number of the question in the exercises // ALTER TABLE c_quiz ADD COLUMN hide_question_number int NULL DEFAULT 0 COMMENT 'Show/Hide question number in quiz'; //$_configuration['quiz_hide_question_number'] = false; // Allows you to show or hide the attempts table of an exercise on start page // ALTER TABLE c_quiz ADD COLUMN hide_attempts_table int NULL DEFAULT 0 COMMENT 'Show/Hide attempts table of an exercise on start page'; //$_configuration['quiz_hide_attempts_table_on_start_page'] = false; // Allow multiple options for the exercise "save answer" option // ALTER TABLE c_quiz MODIFY COLUMN save_correct_answers INT NULL DEFAULT NULL; //$_configuration['allow_quiz_save_correct_options'] = false; // Show languages flags by country in the language switcher. //$_configuration['language_flags_by_country'] = false; // Allow compilatio plagiarism prevention tool /* CREATE TABLE c_plagiarism_compilatio_docs ( id INT AUTO_INCREMENT NOT NULL, c_id int(11) NOT NULL, document_id int(11) NOT NULL, compilatio_id varchar(40) CHARACTER SET utf8 NOT NULL, PRIMARY KEY (id) ) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; // If table exists already ALTER TABLE c_plagiarism_compilatio_docs drop primary key; ALTER TABLE c_plagiarism_compilatio_docs ADD COLUMN id INT AUTO_INCREMENT NOT NULL PRIMARY KEY; ALTER TABLE c_plagiarism_compilatio_docs CHANGE COLUMN id_doc document_id INT NOT NULL; ALTER TABLE c_plagiarism_compilatio_docs MODIFY compilatio_id VARCHAR(40) NOT NULL; */ //$_configuration['allow_compilatio_tool'] = false; /*$_configuration['compilatio_tool'] = [ 'settings' => [ 'key' => '', 'api_url' => 'https://app.compilatio.net/api', 'proxy_host' => '', 'proxy_port' => '', 'max_filesize' => '', ] ];*/ // Allow user to enter a LP item if it was validated in another session. // $_configuration['validate_lp_prerequisite_from_other_session'] = false; // 1 = SCORE_AVERAGE (5 / 10) // 2 = SCORE_PERCENT (50%) // 3 = SCORE_DIV_PERCENT (5 / 10 (50%)) // $_configuration['exercise_score_format'] = 0; // Hide course sidebar //$_configuration['hide_course_sidebar'] = true; // Allow online users by user profile // 1 = COURSEMANAGER (teacher) // 5 = STUDENT // 11 = PLATFORM_ADMIN // Example: The online users will be available only for teachers and students. //$_configuration['allow_online_users_by_status'] = ['status' => [1, 5]]; // Allow add one column by each user extra field indicated to the Gradebook Flatview for each user. // $_configuration['gradebook_flatview_extrafields_columns'] = ['variables' => []]; // Show hidden exercises that were added to a LP in the exercise list // $_configuration['show_hidden_exercise_added_to_lp'] = true; // Show full lp item title // $_configuration['show_full_lp_item_title_in_edition'] = false; // Hide course catalog welcome message //$_configuration['hide_course_catalog_welcome'] = true; // Survey // ALTER TABLE c_survey_question ADD parent_id INT(11) DEFAULT 0 NOT NULL; // ALTER TABLE c_survey_question ADD parent_option_id INT(11) DEFAULT 0 NOT NULL; //$_configuration['survey_question_dependency'] = true; // Student publication: force to download document before upload an assignment. // $_configuration['force_download_doc_before_upload_work' ] = true; // Allow teachers to decide which skills are assigned through their courses // $_configuration['skills_teachers_can_assign_skills'] = false; // Changes the ck editor enter mode value. Default: CKEDITOR.ENTER_P // $_configuration['ck_editor_enter_mode_value'] = 'CKEDITOR.ENTER_BR'; // Set CKEDITOR config for Vimeo Embed plugin //$_configuration['ckeditor_vimeo_embed'] = [ // 'config' => [ // 'client_id' => '', // 'client_secret' => '', // 'access_token' => '', // ], //]; // CREATE TABLE user_career (id INT AUTO_INCREMENT NOT NULL, user_id INT NOT NULL, career_id INT NOT NULL, created_at DATETIME NOT NULL, PRIMARY KEY(id)) DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE = InnoDB; // ALTER TABLE user_career ADD COLUMN extra_data LONGTEXT; // ALTER TABLE user_career ADD COLUMN updated_at DATETIME NOT NULL; // $_configuration['allow_career_users'] = false; // LP view menu location. Options: "left" or "right" // $_configuration['lp_menu_location'] = 'left'; // Hide the "Open in new window" button in learning paths when viewing long content (using the button disconnects SCORM tracking - more details in #4954) //$_configuration['lp_ios_hide_open_in_new_window_button'] = false; // Show notification events /*CREATE TABLE IF NOT EXISTS notification_event ( id INT unsigned NOT NULL auto_increment PRIMARY KEY, title VARCHAR(255), content TEXT, link TEXT, persistent INT, day_diff INT, event_type VARCHAR(255) ); ALTER TABLE notification_event ADD COLUMN event_id INT NULL; CREATE TABLE IF NOT EXISTS notification_event_rel_user ( id INT UNSIGNED AUTO_INCREMENT NOT NULL, event_id INT unsigned, user_id INT, INDEX FK_EVENT (event_id), INDEX FK_USER (user_id), PRIMARY KEY (id) ); ALTER TABLE notification_event_rel_user ADD CONSTRAINT FK_EVENT FOREIGN KEY (event_id) REFERENCES notification_event (id) ON DELETE CASCADE; ALTER TABLE notification_event_rel_user ADD CONSTRAINT FK_USER FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE; */ // create new user text extra field called 'notification_event' to save the persistent settings. // $_configuration['notification_event'] = false; // Add help text to put 2 names in registration form //$_configuration['registration_add_helptext_for_2_names'] = false; // Allow career/promotions in global announcements // ALTER TABLE sys_announcement ADD COLUMN career_id INT DEFAULT 0; // ALTER TABLE sys_announcement ADD COLUMN promotion_id INT DEFAULT 0; //$_configuration['allow_careers_in_global_announcements'] = false; // Allow career/promotions in global calendar. Require DB changes: // ALTER TABLE sys_calendar ADD COLUMN career_id INT DEFAULT 0; // ALTER TABLE sys_calendar ADD COLUMN promotion_id INT DEFAULT 0; //$_configuration['allow_careers_in_global_agenda'] = false; // Hide start/end dates in "My courses" page (user_portal.php) //$_configuration['hide_session_dates_in_user_portal'] = false; // Catalog search settings visibility /*$_configuration['catalog_settings'] = [ 'sessions' => [ 'by_title' => true, 'by_date' => true, 'by_tag' => true, 'show_session_info' => true, 'show_session_date' => true, ], 'courses' => [ 'by_title' => true, ], ];*/ // Enable learning paths with only one SCO item to use the score returned by // the SCO as an indicator of progress of the whole learning path // Before enabling, make sure you added an LP extra field of type int, called use_score_as_progress // $_configuration['lp_score_as_progress_enable'] = false; // Use this link as the "Forgot password?" link instead of the default. This setting should be transformed into a hook for plugins at a later time //$_configuration['pass_reminder_custom_link'] = ''; // In Scorm comunication use the username instead of the user_id //$_configuration['scorm_api_username_as_student_id'] = false; // Zoom in description images quiz // $_configuration['quiz_image_zoom'] = [ // 'options' => [ // 'zoomWindowWidth' => 400, // 'zoomWindowHeight' => 400, // ] // ]; // In Scorm comunication use a specific extra field instead of the user_id //$_configuration['scorm_api_extrafield_to_use_as_student_id'] = ''; // LMS will try to update SCO status every time the status is not sent by the SCO //$_configuration['scorm_lms_update_sco_status_all_time'] = false; // Show online user only to Administrators //$_configuration['whoisonline_only_for_admin'] = false; // Prevent going back to previous questions // ALTER TABLE c_quiz ADD COLUMN prevent_backwards INT DEFAULT 0; //$_configuration['quiz_prevent_backwards_move'] = false; // Allow third party plugins to be uploaded through a form in the plugins section //$_configuration['plugin_upload_enable'] = false; // ALTER TABLE session ADD COLUMN status INT DEFAULT 0; // $_configuration['allow_session_status'] = false; // Sets the sender id when using the script tests/scripts/disable_user_conditions.php // $_configuration['disable_user_conditions_sender_id'] = 0; // Set the default tab in the admin session list. Values: all, close, active, custom. //$_configuration['default_session_list_view'] = 'all'; // Search user by extra field in the user list. //$_configuration['user_search_on_extra_fields'] = ['extra_fields' => ['variable1', 'variable2']]; // user subscription to a session rather than to a base course // user session is created at first subscription //$_configuration['catalog_course_subscription_in_user_s_session'] = false; // user session duration in days - after the session end date, more subscriptions are prevented //$_configuration['user_s_session_duration'] = 3*365; // id of the admin to attach user session //$_configuration['session_automatic_creation_user_id'] = 1; // Skip scorm package file names clean up //$_configuration['skip_scorm_package_clean_up'] = false; // Course chat: Send message on button click only, if false then send on enter too. //$_configuration['course_chat_send_message_only_on_button'] = true; // Course catalog show extra fields (visible and filtered) //$_configuration['allow_course_extra_field_in_catalog'] = false; // Course catalog links behaviour. /* $_configuration['course_catalog_settings'] = [ 'link_settings' => [ 'info_url' => 'course_description_popup', // course description popup page 'title_url' => 'course_home', // Course home URL 'image_url' => 'course_about', // Course about URL ], 'hide_course_title' 'redirect_after_subscription' => 'course_home', // or 'course_catalog' to stay in the page 'extra_fields_in_search_form' => ['variable1', 'variable2'], 'extra_fields_in_course_block' => ['variable3', 'variable4'], 'standard_sort_options' => [ // 1 means allow sorting in ascending order // -1 means allow sorting in descending order 'title' => 1, 'creation_date' => -1, 'count_users' => -1, // subscription count 'point_info/point_average' => -1, // average score 'point_info/total_score' => -1, // score sum 'point_info/users' => -1, // vote count ], 'extra_field_sort_options' => [ 'variable5' => -1, 'variable6' => 1, ], 'pre_filter_on_language' => 1, // By default, filter the courses catalogue on user language (prevents searching without language) ]; */ // Display the course catalog in home page //$_configuration['course_catalog_display_in_home'] = false; // Page "My Courses" shows specific course extra fields (CourseManager::getExtraFieldsToBePresented) /*$_configuration['my_course_course_extrafields_to_be_presented'] = [ 'fields' => ['mots_cles', 'duree_en_min', 'format'], ];*/ // Disable fields to add an attachment when creating and announcement. //$_configuration['disable_announcement_attachment'] = false; // Disable sending emails. //$_configuration['disable_send_mail'] = false; // CKEditor font names /*$_configuration['ck_editor_font_names'] = [ 'names' => [ 'Arial' => 'Arial, Helvetica, sans-serif', 'Comic Sans MS' => 'Comic Sans MS, cursive', 'Courier New' => 'Courier New, Courier, monospace', 'Georgia' => 'Georgia, serif', 'Lucida Sans Unicode' => 'Lucida Sans Unicode, Lucida Grande, sans-serif', 'Tahoma' => 'Tahoma, Geneva, sans-serif', 'Times New Roman' => 'Times New Roman, Times, serif', 'Trebuchet MS' => 'Trebuchet MS, Helvetica, sans-serif', 'Verdana' => 'Verdana, Geneva, sans-serif', ] ];*/ /* Show download files button after finishing all LP. Example: ABC is the course code, and 1 and 100 are the doc id $_configuration['download_files_after_all_lp_finished'] = ['courses' => ['ABC' => [1, 100]]]; */ // Show/Hide password field in user profile. Adds a customizable link depending on the user status. /* $_configuration['auth_password_links'] = [ 'profiles' => [ 5 => [ 'azure' => [ 'show_password_field' => false, 'extra_link' => '