Index

headless_lms_dev

Tables

Name Columns Comment Type
public._sqlx_migrations 6 BASE TABLE
public.block_feedback 8 Used to link feedback to the related blocks. BASE TABLE
public.certificate_configuration_to_requirements 7 A join table that can be used to figure out what course modules and course instances are required to be completed to be eligible for a specific certificate. To find out all requirements one will need to query for all rows that match a certificate configuration id. Note that this is the correct table if you want a certificate to relate to a course or to courses because all courses have course modules and course instances. BASE TABLE
public.certificate_configurations 25 Configures how a certificate should be rendered. Can be used to change certificate background, certificate overlay, font sizes, font positions, etc. BASE TABLE
public.certificate_fonts 7 When renderding certificates, we will load all the fonts from this table to be available during rendering. Fonts that are not in this table will not be rendered. BASE TABLE
public.chapters 14 Chapters divide pages of a course. They also have a front page. BASE TABLE
public.cheater_thresholds 7 This table stores thresholds set by the instructor, representing the maximum score or duration a student can surpass before being suspected of cheating cheaters. BASE TABLE
public.course_background_question_answers 7 An answer to a background question. A single user can have only one answer to one question. BASE TABLE
public.course_background_questions 8 A teacher-defined extra question that gets asked from the students when they start a course. The question can be either for all students in a course or it can be only for the students that selected a specific course instance. BASE TABLE
public.course_exams 5 Links exams to courses. BASE TABLE
public.course_instance_enrollments 6 Tells in which of the courses many instances certain user has enrolled to. The relationship defines to which instance we should associate the student’s submissions and scores. BASE TABLE
public.course_instances 12 Allows teachers to use a course multiple times with different points, submissions, and enrollments. BASE TABLE
public.course_language_groups 4 Group of courses that have the same content but in different languages. BASE TABLE
public.course_module_completion_registered_to_study_registries 10 Completed course module completion registrations to study registries. BASE TABLE
public.course_module_completions 17 Internal student completions for course modules. BASE TABLE
public.course_modules 17 A module is a collection of chapters which can be used to categorise the chapters of a course. BASE TABLE
public.course_specific_consent_form_answers 8 Stores information about students answers to questions in consent forms BASE TABLE
public.course_specific_consent_form_questions 7 Stores a custom research consent questions for a specific course BASE TABLE
public.course_specific_research_consent_forms 6 Stores a custom research consent forms for a specific course BASE TABLE
public.courses 16 Collection of course materials and exercises that define a online course. BASE TABLE
public.email_deliveries 8 An email delivery table, which contains info about if an email has been sent to an user or if it failed BASE TABLE
public.email_templates 10 An email template table, which contains the email subject and content written in the Gutenberg Editor. Supports adding exercise points/completions threshold templates for course instances. BASE TABLE
public.ended_processed_exams 4 Helper table for listing ended exams that have been processed. BASE TABLE
public.exam_enrollments 8 Stores which users are enrolled in which exams and related data. BASE TABLE
public.exams 12 An exam is a special set of exercises with a common deadline. BASE TABLE
public.exercise_language_groups 5 Used to figure out which exercises are the same in different course language versions. Each page belongs to one language group though the exercises.exercise_language_group_id column. If two exercises have the same exercise language group, they are the same exercise but in different languages. For finding course language versions itself, please see the table course_language_groups. This table is not used for exercises not related to courses, like exam exercises. BASE TABLE
public.exercise_repositories 10 A git repository that contains exercises. BASE TABLE
public.exercise_service_info 8 Information that exercise service has reported. Contains for example endpoints where the functionalities of this service can be accessed. BASE TABLE
public.exercise_services 9 Implements an exercise type. Tasks and user interfaces unique to the exercise type are delegated to these services. BASE TABLE
public.exercise_slide_submissions 11 Table that groups together all individual task submissions for a single exercise slise submission. BASE TABLE
public.exercise_slides 6 Ordered or randomly selected part of an exercise. A slide can contain multiple individual tasks that are shown to the student at once and submitted at the same time. BASE TABLE
public.exercise_task_gradings 18 Stores the result of grading done by an exercise service. Either created when a user submits an answer or when we’re regrading answers. Feedback is stored either in textual form (feedback_text) or in a general form (feedback_json). BASE TABLE
public.exercise_task_regrading_submissions 8 Join table that tells which submissions belong in one regrading operation. BASE TABLE
public.exercise_task_submissions 10 A returned exercise task. The system is oblivious to the structure of the submission. Does not contain anything related to points or grading. BASE TABLE
public.exercise_tasks 12 Contains the specific assignment and the activity which the students complete. Assignment text has the same format as pages content.Table also contains both private and public specs. Public spec is shown to the student to display an exercise and private spec specifies how answers should be checked for correctness and is not revealed to the student.. BASE TABLE
public.exercises 19 Exercise is an collection of exercise tasks. The exercise itself does not contain any information on what kind of activities it contains – that information lives inside the tasks. This enables us for example to combine different exercise types or to provide different assignments to different students. BASE TABLE
public.feedback 11 Users can send feedback to help improve the course material. Feedback consists of written text from the user. BASE TABLE
public.file_uploads 8 Stores metadata regarding files uploaded to the server by users or exercise services. BASE TABLE
public.generated_certificates 8 A certificate generated for a student to provide proof that they have completed a given course module. BASE TABLE
public.glossary 7 A list of terms and their explanations. BASE TABLE
public.material_references 7 References to scientific publications of which teachers use in their course materials to refer to. BASE TABLE
public.offered_answers_to_peer_review_temporary 6 Stores the answer that was offered to a user to be peer reviewed. Used to make sure the user is likely to get the same answer to review if they reload their browser. All entries are cleaned from here after 1 hour. Also, the user will be given a different answer to review if the answer stored here no longer needs peer review. BASE TABLE
public.open_university_registration_links 5 Table for active completion registration links. Completion links change over time, so they need to be updated occasionally. BASE TABLE
public.organizations 8 A unit that organizes and manages courses e.g. University of Helsinki, Department of Computer Science. BASE TABLE
public.other_domain_to_course_redirections 6 Allows to redirect other domains than the site’s main domain to specific courses. For example, For example https://example-course.mooc.fi could redirect one to https://courses.mooc.fi/org/uh-cs/courses/example-course. BASE TABLE
public.page_audio_files 6 An audio file can be played on a course material page. This table stores data regarding files uploaded to any page by teachers. BASE TABLE
public.page_history 10 Contains all past and current revisions of each page’s content. BASE TABLE
public.page_language_groups 5 Used to figure out which pages are the same in different course language versions. Each page belongs to one language group though the pages.page_language_group_id column. If two pages have the same page language group, they are the same page but in different languages. For finding course language versions itself, please see the table course_language_groups. This table is not used for pages not related to courses, like exam pages. BASE TABLE
public.page_visit_datum 21 An anonymous piece of data used to count the number of visitors that has viewed a page. BASE TABLE
public.page_visit_datum_daily_visit_hashing_keys 5 Stores daily rotated keys used for hashing the anonymous identifiers in page_visit_datum. The key for the day is permanently deleted the next day. BASE TABLE
public.page_visit_datum_summary_by_courses 14 Holds an aggregate of page view stats for a whole course for a given day. Can be also used to count all visitors to a course if you sum visits from all combinations of columns (including null values). BASE TABLE
public.page_visit_datum_summary_by_courses_countries 9 Holds an aggregate of page view stats for a course and country for a given day. If someone visits any page on a course, they will be counted in this stat. Can be also used to count all visitors to a course if you sum visits from all countries. BASE TABLE
public.page_visit_datum_summary_by_courses_device_types 12 Holds an aggregate of page view stats for a course and differnet types of devices for a given day. For example, this table can be used to figure out what browsers people are using on the courses usually. BASE TABLE
public.page_visit_datum_summary_by_pages 9 Holds an aggregate of page view stats for a given page for a given day. Can be also used to count all visitors to a page if you sum visits from all combinations of columns (including null values). BASE TABLE
public.pages 17 A web page that either contains course material or information about a course. The content of the page is stored in the content field as as an array of blocks that have to be rendered before showing to users. Each page has a unique URL which can be customized if necessary. BASE TABLE
public.peer_or_self_review_configs 13 Collection of settings and peer review questions that users have to answer to evaluate each others’ answers. BASE TABLE
public.peer_or_self_review_question_submissions 8 Submission for an individual question of a peer review. BASE TABLE
public.peer_or_self_review_questions 10 Question that is a part of a peer review. BASE TABLE
public.peer_or_self_review_submissions 9 User made peer review submissions. BASE TABLE
public.peer_review_queue_entries 11 Table for queueing up for peer reviews. Once user has given enough peer reviews, they will get added to this queue where additional peer reviews given will increase their own priority of receiving peer reviews. BASE TABLE
public.pending_roles 9 A role that will be added for a user once they login to the system. Limited to course and course instance roles for security reasons BASE TABLE
public.playground_examples 8 BASE TABLE
public.proposed_block_edits 10 A suggestion to change the contents of a single block, part of some set of proposed edits to a page. BASE TABLE
public.proposed_page_edits 8 Concrete suggestions to improve the contents of a single course material page sent in by students, which can be automatically applied. Consists of one or more edits to individual course material blocks. BASE TABLE
public.regradings 10 A collection of submissions that will be graded again in the background. Created either by request from teachers or when we have edited exercise task specifications. BASE TABLE
public.rejected_exercise_slide_submissions 6 If an exercise slide submission is rejected, the submission is stored here. Rejections happen usually when there is some bug in the exercise service. This data if used for diagnosing problems. BASE TABLE
public.rejected_exercise_task_submissions 6 If an exercise task submission is rejected, the submission is stored here. Rejections happen usually when there is some bug in the exercise service. This data if used for diagnosing problems. BASE TABLE
public.repository_exercises 9 An exercise that corresponds to an exercise in a git repository. BASE TABLE
public.roles 11 Gives users permissions to perform actions in the system. Roles can also be related to courses and organizations so that each organization and course can have its specialized roles. If course_id is defined, the role is related to a course, if organization_id is defined and course_id is not defined, the role is related to an organization. Otherwise the role is global. BASE TABLE
public.student_countries 7 This table stores the country of each student in a course. BASE TABLE
public.study_registry_registrars 6 Authorized third parties that can access course module completions for study registration purposes. BASE TABLE
public.suspected_cheaters 7 Contains a student that are suspected of cheating because they meet the cheating requirement (i.e. score > threshold && duration > average_duration). BASE TABLE
public.teacher_grading_decisions 8 Keeps track of teacher decisions regarding answers with notice if is suspected of plagiarism. Detailed information on the answer can be found from user_exercise_state BASE TABLE
public.url_redirections 7 A url redirection is typically created when a page is moved. The redirection will be used to redirect old links to the new location. If there’s a conflict with a page url and a redirection, the page will win the conflict. BASE TABLE
public.user_course_instance_exercise_service_variables 10 A variable is a record that an exercise service can save for a specific user that will be available in all the exercises that use the same exercise service in the future. An exercise service could use this for example to remember some data that user has inputted later on – for example it could remember the user’s name or it could remember a link to a picture that the user has uploaded. BASE TABLE
public.user_course_settings 7 User setting for a language version group of courses. BASE TABLE
public.user_details 7 Contains the details of user accounts such as their email, names, etc. It is not possible to soft delete these records – only hard deletes are supported in this table. BASE TABLE
public.user_exercise_slide_states 8 Part of user a exercise state, keeps track of the state of a single exercise slide. BASE TABLE
public.user_exercise_states 13 Keeps track of state related to a user and to an exercise. Each course instance run has their own entries in the table. It is the source of truth for activity status, points etc. BASE TABLE
public.user_exercise_task_states 7 Part of user a exercise state, keeps track of the state of a single exercise task. BASE TABLE
public.user_research_consents 6 Stores information whether a student has consented to participate on research done on courses BASE TABLE
public.users 6 Either students, teachers or staff. BASE TABLE

Stored procedures and functions

Name ReturnType Arguments Type
public.uuid_nil uuid FUNCTION
public.uuid_ns_dns uuid FUNCTION
public.uuid_ns_url uuid FUNCTION
public.uuid_ns_oid uuid FUNCTION
public.uuid_ns_x500 uuid FUNCTION
public.uuid_generate_v1 uuid FUNCTION
public.uuid_generate_v1mc uuid FUNCTION
public.uuid_generate_v3 uuid namespace uuid, name text FUNCTION
public.uuid_generate_v4 uuid FUNCTION
public.uuid_generate_v5 uuid namespace uuid, name text FUNCTION
public.trigger_set_timestamp trigger FUNCTION
public.strict_word_similarity_op bool text, text FUNCTION
public.strict_word_similarity_commutator_op bool text, text FUNCTION
public.strict_word_similarity_dist_op float4 text, text FUNCTION
public.strict_word_similarity_dist_commutator_op float4 text, text FUNCTION
public.gtrgm_options void internal FUNCTION
public.extract_searchable_text_from_document_schema jsonb content jsonb FUNCTION
public.digest bytea text, text FUNCTION
public.digest bytea bytea, text FUNCTION
public.hmac bytea text, text, text FUNCTION
public.hmac bytea bytea, bytea, text FUNCTION
public.crypt text text, text FUNCTION
public.gen_salt text text FUNCTION
public.gen_salt text text, integer FUNCTION
public.encrypt bytea bytea, bytea, text FUNCTION
public.decrypt bytea bytea, bytea, text FUNCTION
public.encrypt_iv bytea bytea, bytea, bytea, text FUNCTION
public.decrypt_iv bytea bytea, bytea, bytea, text FUNCTION
public.gen_random_bytes bytea integer FUNCTION
public.gen_random_uuid uuid FUNCTION
public.pgp_sym_encrypt bytea text, text FUNCTION
public.pgp_sym_encrypt_bytea bytea bytea, text FUNCTION
public.pgp_sym_encrypt bytea text, text, text FUNCTION
public.pgp_sym_encrypt_bytea bytea bytea, text, text FUNCTION
public.pgp_sym_decrypt text bytea, text FUNCTION
public.pgp_sym_decrypt_bytea bytea bytea, text FUNCTION
public.pgp_sym_decrypt text bytea, text, text FUNCTION
public.pgp_sym_decrypt_bytea bytea bytea, text, text FUNCTION
public.pgp_pub_encrypt bytea text, bytea FUNCTION
public.pgp_pub_encrypt_bytea bytea bytea, bytea FUNCTION
public.pgp_pub_encrypt bytea text, bytea, text FUNCTION
public.pgp_pub_encrypt_bytea bytea bytea, bytea, text FUNCTION
public.pgp_pub_decrypt text bytea, bytea FUNCTION
public.pgp_pub_decrypt_bytea bytea bytea, bytea FUNCTION
public.pgp_pub_decrypt text bytea, bytea, text FUNCTION
public.pgp_pub_decrypt_bytea bytea bytea, bytea, text FUNCTION
public.pgp_pub_decrypt text bytea, bytea, text, text FUNCTION
public.pgp_pub_decrypt_bytea bytea bytea, bytea, text, text FUNCTION
public.pgp_key_id text bytea FUNCTION
public.armor text bytea FUNCTION
public.armor text bytea, text[], text[] FUNCTION
public.dearmor bytea text FUNCTION
public.pgp_armor_headers record text, OUT key text, OUT value text FUNCTION
public.set_limit float4 real FUNCTION
public.show_limit float4 FUNCTION
public.show_trgm _text text FUNCTION
public.similarity float4 text, text FUNCTION
public.similarity_op bool text, text FUNCTION
public.word_similarity float4 text, text FUNCTION
public.word_similarity_op bool text, text FUNCTION
public.word_similarity_commutator_op bool text, text FUNCTION
public.similarity_dist float4 text, text FUNCTION
public.word_similarity_dist_op float4 text, text FUNCTION
public.word_similarity_dist_commutator_op float4 text, text FUNCTION
public.gtrgm_in gtrgm cstring FUNCTION
public.gtrgm_out cstring gtrgm FUNCTION
public.gtrgm_consistent bool internal, text, smallint, oid, internal FUNCTION
public.gtrgm_distance float8 internal, text, smallint, oid, internal FUNCTION
public.gtrgm_compress internal internal FUNCTION
public.gtrgm_decompress internal internal FUNCTION
public.gtrgm_penalty internal internal, internal, internal FUNCTION
public.gtrgm_picksplit internal internal, internal FUNCTION
public.gtrgm_union gtrgm internal, internal FUNCTION
public.gtrgm_same internal gtrgm, gtrgm, internal FUNCTION
public.gin_extract_value_trgm internal text, internal FUNCTION
public.gin_extract_query_trgm internal text, internal, smallint, internal, internal, internal, internal FUNCTION
public.gin_trgm_consistent bool internal, smallint, text, integer, internal, internal, internal, internal FUNCTION
public.gin_trgm_triconsistent char internal, smallint, text, integer, internal, internal, internal FUNCTION
public.strict_word_similarity float4 text, text FUNCTION
public.trigger_set_pages_content_search trigger FUNCTION

Relations

er

Generated by tbls