Represents a document to index.
Note that, if you are writting a search engine and you want to change core_search\document behaviour, you can overwrite this class, will be automatically loaded from search_YOURENGINE\document.
- Copyright
- 2015 David Monllao
- License
- http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
core_search\document::export_for_template |
( |
\renderer_base | $output | ) |
|
Export the document data to be used as a template context.
Adding more info than the required one as people might be interested in extending the template.
Although content is a required field when setting up the document, it accepts '' (empty) values as they may be the result of striping out HTML.
SECURITY NOTE: It is the responsibility of the document to properly escape any text to be displayed. The renderer will output the content without any further cleaning.
- Parameters
-
- Return values
-
Function to export the renderer data in a format that is suitable for a mustache template.
This means:
- No complex types - only stdClass, array, int, string, float, bool
- Any additional info that is required for the template is pre-calculated (e.g. capability checks).
- Parameters
-
renderer_base | $output | Used to do a final render of any components that need to be rendered for export. |
- Return values
-
Implemented in action_menu, assign_attempt_history_chooser, block_lp\output\competencies_to_review_page, block_lp\output\plans_to_review_page, block_lp\output\summary, block_myoverview\output\main, block_myprofile\output\myprofile, block_recentlyaccessedcourses\output\main, block_recentlyaccesseditems\output\main, block_search_forums\output\search_form, block_starredcourses\output\main, block_timeline\output\main, booktool_print\output\print_book_chapter_page, booktool_print\output\print_book_page, component_action, core\navigation\output\more_menu, core\output\activity_header, core\output\checkbox_toggleall, core\output\chooser, core\output\chooser_item, core\output\chooser_section, core\output\dynamic_tabs, core\output\select_menu, core_auth\output\digital_minor_page, core_auth\output\login, core_auth\output\verify_age_location_page, core_badges\output\manage_badge_action_bar, core_badges\output\recipients_action_bar, core_badges\output\standard_action_bar, core_contentbank\output\bankcontent, core_contentbank\output\viewcontent, core_course\output\activity_information, core_course\output\completion_action_bar, core_courseformat\output\local\content\cm, core_courseformat\output\local\content\section, core_grades\output\gradebook_dropdown, core_group\output\group_details, core_group\output\index_page, core_h5p\output\libraries, core_privacy\output\exported_html_page, core_privacy\output\exported_navigation_page, core_question\output\qbank_action_menu, core_question\output\question_version_selection, core_reportbuilder\output\custom_report, core_reportbuilder\output\dynamictabs\access, core_reportbuilder\output\dynamictabs\audience, core_reportbuilder\output\dynamictabs\editor, core_reportbuilder\output\dynamictabs\schedules, core_reportbuilder\output\system_report, core_tag\output\tag, core_tag\output\tagcloud, core_tag\output\tagfeed, core_tag\output\tagindex, core_tag\output\taglist, core_user\output\participants_filter, core_user\output\status_field, custom_menu_item, enrol_lti\output\registration, format_topics\output\courseformat\content, forumreport_summary\output\filters, gradereport_singleview\output\action_bar, help_icon, initials_bar, login_signup_form, mod_assign\output\grading_app, mod_assign\output\timelimit_panel, mod_bigbluebuttonbn\output\import_view, mod_bigbluebuttonbn\output\instance_updated_message, mod_bigbluebuttonbn\output\recording_row_actionbar, mod_bigbluebuttonbn\output\recording_row_playback, mod_bigbluebuttonbn\output\recording_row_preview, mod_bigbluebuttonbn\output\recordings_session, mod_bigbluebuttonbn\output\view_page, mod_data\output\presets, mod_data\output\view_footer, mod_feedback\output\base_action_bar, mod_feedback\output\summary, mod_forum\output\big_search_form, mod_forum\output\forum_actionbar, mod_forum\output\quick_search_form, mod_forum\output\subscription_actionbar, mod_glossary\output\standard_action_bar, mod_h5pactivity\output\attempt, mod_h5pactivity\output\reportattempts, mod_h5pactivity\output\reportlink, mod_h5pactivity\output\reportresults, mod_h5pactivity\output\result, mod_h5pactivity\output\result\longfillin, mod_h5pactivity\output\result\other, mod_lti\output\external_registration_return_page, mod_lti\output\registration_upgrade_choice_page, mod_lti\output\repost_crosssite_page, mod_lti\output\tool_configure_page, mod_quiz\output\overrides_actions, mod_scorm\output\actionbar, mod_scorm\output\userreportsactionbar, mod_survey\output\actionbar, mod_workshop\output\actionbar, MoodleQuickForm_advcheckbox, MoodleQuickForm_autocomplete, MoodleQuickForm_checkbox, MoodleQuickForm_date_selector, MoodleQuickForm_date_time_selector, MoodleQuickForm_editor, MoodleQuickForm_filemanager, MoodleQuickForm_filepicker, MoodleQuickForm_grading, MoodleQuickForm_group, MoodleQuickForm_passwordunmask, MoodleQuickForm_recaptcha, MoodleQuickForm_select, MoodleQuickForm_selectgroups, MoodleQuickForm_selectwithlink, MoodleQuickForm_static, MoodleQuickForm_submit, MoodleQuickForm_tags, MoodleQuickForm_textarea, MoodleQuickForm_url, MoodleQuickForm_warning, MoodleQuickForm_wikieditor, paging_bar, pix_icon, pix_icon_font, progress_bar, report_competency\output\report, report_competency\output\user_course_navigation, single_select, tabobject, tabtree, tool_admin_presets\output\export_import, tool_admin_presets\output\presets_list, tool_componentlibrary\local\examples\dynamictabs\tab1, tool_componentlibrary\local\examples\dynamictabs\tab2, tool_customlang\output\translator, tool_dataprivacy\output\categories, tool_dataprivacy\output\data_deletion_page, tool_dataprivacy\output\data_registry_compliance_page, tool_dataprivacy\output\data_registry_page, tool_dataprivacy\output\data_requests_page, tool_dataprivacy\output\defaults_page, tool_dataprivacy\output\my_data_requests_page, tool_dataprivacy\output\purposes, tool_dataprivacy\output\request_filter, tool_dataprivacy\output\summary_page, tool_langimport\output\langimport_page, tool_lp\output\competency_plan_navigation, tool_lp\output\competency_summary, tool_lp\output\course_competencies_page, tool_lp\output\manage_competencies_page, tool_lp\output\manage_competency_frameworks_page, tool_lp\output\manage_templates_page, tool_lp\output\module_navigation, tool_lp\output\plans_page, tool_lp\output\related_competencies, tool_lp\output\template_competencies_page, tool_lp\output\user_competency_course_navigation, tool_lp\output\user_competency_summary, tool_lp\output\user_competency_summary_in_course, tool_lp\output\user_evidence_list_page, tool_policy\output\acceptances, tool_policy\output\guestconsent, tool_policy\output\page_agreedocs, tool_policy\output\page_managedocs_list, tool_policy\output\page_nopermission, tool_policy\output\page_viewalldoc, tool_policy\output\page_viewdoc, tool_templatelibrary\output\list_templates_page, and url_select.
static core_search\document::format_time_for_engine |
( |
| $timestamp | ) |
|
|
static |
Formats the timestamp preparing the time fields to be inserted into the search engine.
By default it just returns a timestamp so any search engine could just store integers and use integers comparison to get documents between x and y timestamps, but search engines might be interested in using their own field formats. They can do it extending this class in search_xxx\document.
- Parameters
-
- Return values
-
Reimplemented in search_solr\document.
static core_search\document::import_time_from_engine |
( |
| $time | ) |
|
|
static |
Returns a timestamp from the value stored in the search engine.
By default it just returns a timestamp so any search engine could just store integers and use integers comparison to get documents between x and y timestamps, but search engines might be interested in using their own field formats. They should do it extending this class in search_xxx\document.
- Parameters
-
- Return values
-
Reimplemented in search_solr\document.
array core_search\document::$enginefields = array() |
|
staticprotected |
Any fields that are engine specifc.
These are fields that are solely used by a search engine plugin for internal purposes.
Field names should be prefixed with engine name to avoid potential conflict with core fields.
Uses same format as fields above.
array core_search\document::$requiredfields |
|
staticprotected |
All required fields any doc should contain.
We have to choose a format to specify field types, using solr format as we have to choose one and solr is the default search engine.
Search engine plugins are responsible of setting their appropriate field types and map these naming to whatever format they need.