Skip to content
This repository was archived by the owner on Sep 5, 2023. It is now read-only.

Add grader header and footer templates #305

Merged
merged 2 commits into from
Aug 31, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,8 @@ Three `nbgrader_config.py` files should exist:
* **Grader's home: `/home/grader-{course_id}/.jupyter/nbgrader_config.py`**: defines how `nbgrader` authenticates with a third party service. This setup uses the `JupyterHubAuthPlugin`, the log file's location, and the `course_id` the grader account manages.
* **Grader's course: `/home/grader-{course_id}/{course_id}/nbgrader_config.py`**: configurations related to how the course files themselves are managed, such as solution delimeters, code stubs, etc.

> **NOTE**: the grader's course confuguration has default values for `header.ipynb` and `footer.ipynb` template notebooks. These templates are added to the generated notebook, if present. These files should be located in the course's `source` sub-directory. The full paths for the header/footer templates are `/home/grader-{course_id}/{course_id}/source/header.ipynb` and `/home/grader-{course_id}/{course_id}/source/footer.ipynb`.

**Instructor/Learner Account**

* **Instructor/Learner settings `/etc/jupyter/nbgrader_config.py`**: defines how `nbgrader` authenticates with a third party service, such as `JupyterHub` using the `JupyterHubAuthPlugin`, the log file's location, etc. Instructor and learner accounts do **NOT** contain the `course_id` identifier in their nbgrader configuration files.
Expand Down
18 changes: 18 additions & 0 deletions ansible/wisc-dev.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
<cartridge_basiclti_link xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0" xmlns:blti="http://www.imsglobal.org/xsd/imsbasiclti_v1p0" xmlns:lticm="http://www.imsglobal.org/xsd/imslticm_v1p0" xmlns:lticp="http://www.imsglobal.org/xsd/imslticp_v1p0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.imsglobal.org/xsd/imslticc_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticc_v1p0.xsd http://www.imsglobal.org/xsd/imsbasiclti_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0p1.xsd http://www.imsglobal.org/xsd/imslticm_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd http://www.imsglobal.org/xsd/imslticp_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd">
<blti:title>IllumiDesk</blti:title>
<blti:description/>
<blti:launch_url>https://wisc-dev.illumidesk.com/hub/lti/launch</blti:launch_url>
<blti:extensions platform="canvas.instructure.com">
<lticm:property name="privacy_level">public</lticm:property>
<lticm:property name="domain">wisc-dev.illumidesk.com</lticm:property>
<lticm:property name="selection_width">1000</lticm:property>
<lticm:property name="selection_height">1000</lticm:property>
<lticm:options name="course_navigation">
<lticm:property name="enabled">false</lticm:property>
<lticm:property name="text">IllumiDesk</lticm:property>
<lticm:property name="url">https://wisc-dev.illumidesk.com/hub/lti/launch</lticm:property>
<lticm:property name="visibility">public</lticm:property>
<lticm:property name="windowTarget">_blank</lticm:property>
</lticm:options>
</blti:extensions>
</cartridge_basiclti_link>
2 changes: 2 additions & 0 deletions src/illumidesk/setup_course/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,4 +17,6 @@


c.CourseDirectory.course_id = '{course_id}'
c.IncludeHeaderFooter.header = 'source/header.ipynb'
c.IncludeHeaderFooter.footer = 'source/footer.ipynb'
"""