Welcome to RELATE’s documentation!¶
RELATE is a web-based courseware package. It is set apart by the following features:
Focus on easy content creation
See example content.
Flexible rules for participation, access, and grading
Versioning of content through deep integration with git. Instructors can preview newly-authored content while students work with prior versions, all from the same instance of RELATE.
Multiple courses can be hosted on the same installation
Allow students to write code into a text box (with syntax highlighting)
Optional second-stage grading by a human
Class calendar and grade book functionality.
Statistics/analytics of student answers.
Facilitates live quizzes in the classroom.
In-class instant messaging via XMPP. Works well with xmpp-popup.
Built-in support for VideoJS offers easy-to-use support for integrating HTML5 video into course content without the need for third-party content hosting.
RELATE is a based on the popular Django web framework for Python. It lets students participate in online activities, each of which is (generically) called a “flow”, which allows a sequence of pages, each of which can be both static or interactive content, for exapmle a video, a quiz question, a page of text, or, within the confines of HTML, something completely different.
Table of Contents¶
- Writing content for RELATE
- Git repository
- On system lock-in
- RELATE markup
- The Main Course Page File
- “Static” (i.e. non-interactive) pages
- Calendar and Events
- An Example
- Overall Structure of a Flow
- Flow rules
- Flow pages
- Predefined Page Types
- Show a Page of Text/HTML (Ungraded)
- Fill-in-the-Blank (Automatically Graded)
- Free-Answer Survey (Ungraded)
- Fill-in-the-Blank (long-/short-form) (Human-graded)
- Fill-in-Multiple-Blanks (Automatically Graded)
- One-out-of-Many Choice (Automatically Graded)
- Many-out-of-Many Choice (Automatically Graded)
- One-out-of-Many Survey (Ungraded)
- Write Python Code (Automatically Graded)
- Write Python Code (Automatically and Human-Graded)
- Upload a File (Human-Graded)
- Definining your own page types
- Life cycle
- Sample Rule Sets
- Flow Page Interface
- Canonicalization of Django Names
- Stub Docs
- REST API
- Frequently Asked Questions
- Content Creation
- What does the ‘view’ permission do?
- Can flows be set up to branch somehow?
- Can participants do work in a flow that cannot be undone without starting a new session?
- How do I have students realistically deal with data files in code questions?
- I wrote a Yes/No question, but RELATE shows “True/False” instead of “Yes/No”–why on earth would it do that?
- Course Operations
- How do I launch an exam?
- How do I grant an extension for a particular student?
- Some events happen twice or three times in a week. How can I create create recurring events for that circumstance?
- Sometimes we need to postpone or put in advance all the following events, which belong or not belong to the same kind of events, by a specific interval of time. How do I avoid editing events one by one?
- How do I manually upload a file for a student, after the deadline has passed?
- How do I adjust a particular student’s grade up?
- Minimal Install for Validating Course Content
- Installation for Relate Development
- Additional setup steps for Docker
- Long-term maintenance
- Setting up SAML2
- Setting up Social Authentication (Google as an example)
- Enabling I18n support/Translating RELATE into other Languages
- User-visible Changes
- 🚀 Github