Skip to content

Extra fields dictionary v1

Nicolas Ducoulombier edited this page Jul 26, 2021 · 30 revisions

Extra fields

This page provides a dictionary of the available extra fields usable in Chamilo 1.*.

Extra fields are a feature of Chamilo that allows the Chamilo administrator to extend the data stored with some of the important resources of Chamilo (users, courses, learning paths, quizzes, etc). You can find a list of all resources that have extra fields enabled by going to your Administration page -> Platform -> Extra fields.

The intention is for this page to be exhaustive, but please note:

  • that they are only all available in the latest of the v1.* versions
  • that they sometimes require the activation of a plugin to provide any useful feature/behaviour
  • that they might disappear or be abandonned over time
  • that they might get integrated into more "solid" table in later major versions (this is why this is a list for v1.* only)

Extra fields' fields naming

There is usually a lot of confusion happening when trying to understand the extra_field table or entity because two names are clashing: extra_field.extra_field_type and extra_field.field_type.

List of known extra fields

Although the following table shows a few exceptions, we recommend extra fields to be named in lower_camel_case (no uppercase, one underscore between each word).

Field's internal name Related resource Field type Purpose Related feature/page/plugin
acquisition learning path view Radio buttons Adds a column "Acquisition" in student LPs table to enable teachers to mark a learning path as acquired and for the student to see which LPs are acquired by the student Learning path tracking
address user text User address Reports plugin
advancedcourselist exercise Multiple selection drop-down Enable to select the list of course to which the learner will be subscribe on exercise validation Automatically created by Remedial and Advance Courses plugin
already_logged_in user checkbox Available by default in Chamilo. Registers if the user already connected to the platform at some point
ask_for_revision forum_post checkbox Enable the possibility to ask for the revision of a post to be translated by others it used in common with revision_language that indicates the language in which it will be translated. // Hide forum post revision checkbox //$_configuration['hide_forum_post_revision_language'] = false;
ask_new_password user checkbox Requires enabling $_configuration['force_renew_password_at_first_login'] to force the user to change his/her password when they first login. This is great for added security when pre-provisioning user accounts
attachment scheduled announcements Enable attachment for scheduled announcements in sessions // 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
authenticationDate user .. CAS authentication
authenticationMethod user .. CAS authentication
azure_id user text User info necessary for Azure ID integration Automatically created by Azure Active Directory plugin
birthday user Stores the birthdate of a user Not really fixed to "birthday", but will appear in user's details
block_category exercise checkbox (Yes) when using categories in an exercise, when finishing all the question of a category the user will be presented with a page that indicates that if he continues to the next category he will not be able to come back to the one he just finished, he will be blocked. Requires enabling $_configuration['block_category_questions']. //ALTER TABLE track_e_exercises ADD COLUMN blocked_categories LONGTEXT; // Requires an exercise extra field "block_category" type checkbox (Yes) //$_configuration['block_category_questions'] = false;
buycourses_company user text Company name to buy a product BuyCourses plugin
buycourses_vat user text VAT number to buy a product BuyCourses plugin
buycourses_address user text Company address to buy a product BuyCourses plugin
categorie user French term for category, representing one of many extra information that can be saved in a user profile at import time through batch imports
captcha_blocked_until_date text user Internal: string holding a date until which the captcha is blocked
cas_user user Stores the CAS user identifier
careerid career integer External ID of career CSV import & careers diagrams
career_urls career text URLs of careers CSV import & careers diagrams
career_diagram career text CSV import & careers diagrams
categoria_profesional user text Professional category of user SEPE plugin
collapsed session Prevents users to see the full details of the session until extended Goes with $_configuration['allow_user_session_collapsable']
comunidad_residencia user select Community of residence of user SEPE plugin
comunidad_trabajo user select Community of residence of user SEPE plugin
ConsideredWorkingTime work / student_publication Stores the amount of hours a user is considered to have worked on an assignment Assignments time tracking
created_by user .. CAS authentication
credentialType user .. CAS authentication
dashboard user text
disable_emails user checkbox Indicates whether the e-mails from the platform should be held in a training pause Pause Training plugin
disable_import_calendar course 13
downloaded_at user_certificate text Holds the time of download of a given certificate for additional reporting Reports plugin
drupal_user_id user text The external user ID in Drupal Create Drupal User plugin
edad user date Birthdate of user SEPE plugin
etat user French term for state or status, representing one of many extra information that can be saved in a user profile at import time through batch imports
end_pause_date user datetime Indicates the date at which the pause ends in a training pause Pause Training plugin
experiencia_anterior user textarea Previous experience of user SEPE plugin
external_*_id * text In the context of automated imports, this can reference an ID from outside the Chamilo system
gdpr user checkbox Whether the user accepted the specific gdpr terms in the inscription form It goes with a configuration option // 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 ... ',         ],     ], ];*/  |

| google_calendar_url | user | text | Links the user's google calendar with Chamilo's account, to export Chamilo events into Google | | | horario_accion_formativa | user | text | Business hours of training action of user | SEPE plugin | | image | session | 16 | Image illustrating a session | | | invisible | learning path view | | Prepend a column in student LPs table to display a checkbox to select the LP category and its LPs | | | is_mandatory | survey | checkbox | Allows the teacher to indicate if a survey is mandatory or not for the course (will lock the course if mandatory and not completed yet) | Course home | | isFromNewLogin | user | | .. | CAS authentication | | language | forum_category | | .. | | | language | forum_post | | .. | | | linkedin_url | user | text | By default: stores the URL to the user's linkedin profile | Social network | | legal_accept | user | text | Whether the user has accepted the terms and conditions | User edition or Terms and conditions checkbox | | longTermAuthentication RequestTokenUsed | user | | .. | CAS authentication | | mail_notify_invitation | user | checkbox | Define whether the user wants to be notified of invitations | | | mail_notify_message | user | checkbox | Define whether the user wants to be notified of messages | | | mail_notify_group_message | user | checkbox | Define whether the user wants to be notified of group messages | | | medio_conocimiento | user | textarea | Area of knowledge of training activity of user | SEPE plugin | | moodle_password | user | text | The password (in encrypted format) used in Moodle when importing a Moodle system to Chamilo | Migration Moodle plugin | | my_terms | user | | The version of the terms and conditions the users saw | | | new_tracking_system | course | | .. | | | new_tracking_system | session | | .. | | | nif | user | text | User's company ID (NIF in Spain) | Reports plugin | | niveau | user | | French term for level, representing one of many extra information that can be saved in a user profile at import time through batch imports | | | nivel_formativo | user | text | Training level of user | SEPE plugin | | notification_event| user | | Shows notification events | top menu bar | | notifications | quiz | | Sends a notification to each user with their results when finishing a test (requires $configuration['exercise_finished_notification_settings']) | | | oauth2_id | user | text | The OAuth2 ID of the user when using the OAuth2 SSO plugin | OAuth2 plugin | | office_address | course | | .. | Course logs (show as additional columns) | | office_phone_extension | course | | .. | Course logs (show as additional columns) | | organisationemail | user | text | User info necessary for Azure ID integration | Azure SSO plugin | | pause_formation | user | checkbox | Indicates whether the user is currently in a training pause | Pause Training plugin | | popular_courses | course | | Allows (with the enabling of $configuration['popular_courses_handpicked']) the admin to pick the courses that are popular, rather than using the community votes | Homepage and admin course edition section | | plugin_bbb_course_users_limit | course | integer | Info about limit of users in a conference for a given course | BigBlueButton plugin | | plugin_bbb_session_users_limit | session | integer | Info about limit of users in a conference for a given session | BigBlueButton plugin | | provincia_residencia | user | select | Province/Region of residence of user | SEPE plugin | | provincia_trabajo | user | select | Province/Region of work of user | SEPE plugin | | qualite | user | | French term for quality, representing one of many extra information that can be saved in a user profile at import time through batch imports | | | razones_teleformacion | user | textarea | Reasons for online training of user | SEPE plugin | | remedialcourselist | ? | text | | Remedial course plugin | | request_for_delete_account | user | | Indicates if the user has requested the deletion of his/her account | | | request_for_delete_account justification | user | text | A text explaining why the request to delete account | | | request_for_legal_agreement consent_removal | user | | Indicates if the user has requested the removal of his/her agreement | | | request_for_legal_agreement_ consent_removal_justification | user | | A text explaining why the request for the removal of his/her agreement | | | revision_language | forum_post | | | | | rssfeeds | user | | Allows the user to attach an RSS feed to his/her profile | Social profile (shared) page | | ruc | user | text | Company tax ID (Registro único de contribuyente) allowing user progress reports in the admin section to be grouped by company | | | send_to_coaches | scheduled announcements | | .. | | | session_courses_ read_only_mode | course | | Allowing setting courses in session in read-only mode | | | session_career | session | 1 | Links a session to a career during automatic imports | | | sexo | user | radio | Gender of user | SEPE plugin | | situacion_laboral | user | text | Work position of user | SEPE plugin | | skype | user | text | Stores the Skype username for each user | Social profile page | | special_course| course | checkbox | By default. Indicates whether a course is special and should appear to all, on top of the list of courses | Course edit + My courses | | start_pause_date | user | datetime | Indicates the date at which the pause started in a training pause | Pause Training plugin | | successful AuthenticationHandlers | user | | .. | CAS authentication | | tags | course | tag | Tags about the course | Course edition | | tags | portfolio | tag | Let users mark their contribution for later categorization | Portfolio reports | | tags | user | tag | Tags representing interests of the user | Social network | | tamano_empresa | user | text | Organization size of user | SEPE plugin | | terms_villedustage | user | | specific implementation related to $_configuration['allow_social_map_fields'] | | | terms_ville | user | | specific implementation related to $_configuration['allow_social_map_fields'] | | | time | quiz question | | Requires enabling $_configuration['allow_time_per_question'] to enable limiting the time per question in a test (rather than time per test) | | | timezone | user | text | Present by default. Stores the timezone for the user. | | | uid | user | | .. | CAS authentication | | update_type | user | text | | | | use_score_as_progress | learning path | | Adds the possibility for learning paths in SCORM to update progress by receiving a score data. This is useful for mono-SCO elements | | | user_chat_status| user | text | Internal: serves to hold the online status of the user for the global chat | hidden | | valoracion_modalidad | user | textarea | Value given to remote training by user | SEPE plugin | | video_url | course | 19 | A URL representing | | | whispeak_auth_uid | user | text | External authentication ID of user in Whispeak's system | Whispeak plugin | | whispeak_lp_item | lp_item | checkbox | Whether this LP item should be signed by a voice signature | Whispeak plugin | | whispeak_quiz_question | quiz question | checkbox | Whether this quiz question should be signed by a voice signature | Whispeak plugin |

Miscellaneous references

In app/config/configuration.php (or if you are upgrading from an older Chamilo, in main/install/configuration.dist.php for the template), you may find a series of settings that are dependent on arbitrary named extra fields, or that apply to all extra fields of a particular type of resource. These sometimes require to be combined with database changes to be enabled (if so, those changes are documented in configuration.php):

// 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']];

// Allow add one column by each user extra field indicated to the Gradebook Flatview for each user.
// $_configuration['gradebook_flatview_extrafields_columns'] = ['variables' => []];

// In Scorm comunication use a specific extra field instead of the user_id
//$_configuration['scorm_api_extrafield_to_use_as_student_id'] = '';

// Search user by extra field in the user list.
//$_configuration['user_search_on_extra_fields'] = ['extra_fields' => ['variable1', 'variable2']];

// Course catalog show extra fields (visible and filtered)
//$_configuration['allow_course_extra_field_in_catalog'] = false;

/*
$_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,
    ],
];
*/

// 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'],
];*/

// After a user updates his profile, send notifications.
/*$_configuration['user_notification_settings'] = [
    'notification1' => [ // Notification label
        'email' => 'admin1@example.com,admin2@example.com', // multiple emails allowed
        'sender_email' => 'sender@example.com',
        //'if_extra_field_changes' => ['variable1', 'variable2'],
        'if_field_changes' => ['phone', 'email'],
        'subject' => 'User profile update',
        'content' => '/mail/user_profile_update.dist.tpl',
    ],
];*/

// Block question categories BT#17789
//ALTER TABLE track_e_exercises ADD COLUMN blocked_categories LONGTEXT;
// Requires an exercise extra field "block_category" type checkbox (Yes)
//$_configuration['block_category_questions'] = false;

// Allow time per question. BT#17791
// Requires a question text extra field called "time", value in seconds.
// ALTER TABLE track_e_attempt ADD COLUMN seconds_spent INT;
//$_configuration['allow_time_per_question'] = true;
Clone this wiki locally