Here is a list of examples courses made with the main OTTR Template and has been published in three platforms: Bookdown, Leanpub and Coursera.
Introduction to Reproducibility in Cancer Informatics:
Computing for Cancer Informatics:
This template helps you prepare material to publish, but there are certain steps that cannot be automated. In those instances we’ve provided step-by-step guides to get you started on getting your material published on the platforms.
Depending on your goals and intended audience you may want to publish just one or all three of the platforms supported:
We are working to create other versions of our original template for specific uses. This could be a technical variation to do something more simple, something tangential, or something more complex compared to the original OTTR template.
We also noticed that if specific branding or variations of the original template need to be used many times, it’s often easier to create a new template.
We affectionately call these spinoff templates OTTR “babies”.
If you find yourself making a full set of courses and multiple repositories from OTTR, you may want to make a template from our template (If you need to go this route, we recommend talking directly to the OTTR maintainers by filing a GitHub issue and assigning @cansavvy
and @carriewright11
). Also please reach out if you have any other fun ideas!
A simplified spinoff template of the original OTTR was created to make websites:
OTTR_Template_Website - This is an example of how a website will look using this template, as well as guidance on how to make such a website.
Go to the OTTR_Template_Website to get started.
This is a template made from our main OTTR Template that is used for a set of courses being made for the AnVIL set of cloud tools
Courses will look similar to this link.
Bookdown is published using Github pages which you can set up following the set up repository instructions. Using Bookdown is fundamental to the other publishing platforms, so if you want to use Coursera or Leanpub you will have to publish with Bookdown.
As you modify the names of the chapters of your course and add more chapters (using the .Rmd
files), you need to update the _bookdown.yml
file accordingly.
For example let’s say that we added another chapter and named the file 03-new_chapter_of_course.Rmd
. We would update our _bookdown.yml
to look like this:
book_filename: "Course_Name"
chapter_name: "Chapter "
repo: https://github.com/jhudsl/OTTR_Template/ ##Make sure you update this for your GitHub Repo!!
rmd_files: ["index.Rmd",
"01-intro.Rmd",
"02-chapter_of_course.Rmd",
"03-new_chapter_of_course.Rmd", ##Only this is new!
"about.Rmd"]
new_session: yes
delete_merged_file: true
language:
ui:
chapter_name: "Chapter "
output_dir: "docs"
Notice how only one line is different - the one that says 03-chapter_of_course.Rmd",
Be careful about quotation marks: ""
as well as commas: ,
!
Once we do this we can preview the book!
You can do so by typing: bookdown::serve_book()
in the RStudio Console.
Note that when you run bookdown
it will create an .rds
file; you can generally ignore this file.
You will then see a live version of your book in your RStudio viewer.
Note that When a pull request is merged to main, bookdown::render_book()
will be re-run by the GitHub actions and the results added to main
.
OTTR contains all the files you need to publish your course to Leanpub. The ottrpal
package does the handling and automatic conversion to a rendered version that is ready for Leanpub.
These converted files are stored in the manuscript
folder. As a general rule, don’t edit files in manuscript
folder. This folder should be autogenerated by the render ottrpal and you in general shouldn’t make edits to it.
Note that if you wish your quizzes and their answers to remain hidden, there is a bit more set up involved with this process and you will need to create a separate private OTTR_Quizzes repository to store these quizzes. Start with these instructions first if you want your quizzes and answers to be hidden.
The ottrpal
package can do most of the formatting of links and etc for you (so long as you followed the formatting prescribed by the Setting up images
section of this Wiki.
Github actions in this repository will attempt to do the Bookdown to Leanpub conversions for you by running ottrpal::bookdown_to_leanpub()
function at the top of the repository.
To host your course on Leanpub follow these steps:
Make a Leanpub account here: https://leanpub.com/ if you don’t already have one.
Start a course
create a new course
add to plan
buttonCreate Preview
buttonIf you have errors in your course (typically from a quiz formatting issue) the render will fail and you will need to fix your quizzes. Also note, that occasionally the preview might fail and you should just try again, as it will work the second time. This might be due to a lag in GitHub and Leanpub communicating.
Quizzes need to be stored in the quizzes/
directory. Edit and add quizzes to this directory. See and copy this template quiz to get started. All quizzes need to be written in the Markua format. Refer to their documentation (but note that it is sometimes vague or out of date). The example question types in the template are ones that are verified to work.
After you add each new quiz to the quizzes/
directory, it’s filename needs to be added in its respective spot in the Book.txt
file (remember do not edit the one in manuscript
but the one at the top of the repository); this ensures its incorporated by Leanpub in the correct order.
If you wanted two quizzes (one called quiz_1.md
and one called quiz_2.md
) you could duplicate and modify quiz_1.md
for your needs and then you could make the Book.txt
file look like this (assuming you created a chapter called "03-chapter_of_course.Rmd"
and you wanted quiz_1 to be after 02-chapter-of_course
and quiz_2 to be after 03_chapter_of_course
:
01-intro.md
02-chapter_of_course.md
quiz_1.md
03-chapter_of_course.md
quiz_2.md
about.md
Note that any .md
files with an #
in front of the name in the Book.txt
file will be ignored by Leanpub. We have included an example of this in the Book.txt
file.
See an example quiz here Note that you cannot have two quizzes with the same quiz_id
.
Leanpub is specific about how quizzes should be formatted and it won’t create a preview if any question or quiz doesn’t follow these rules. Our GitHub action for checking quizzes (In file, .github/workflows/pull-request.yml
underneath check-quizzes
section) will print out a list of errors for you which you can retrieve from a pull request comment that is automatically printed. This check is only run when changes are made to the quizzes/
. At this time, two types of questions are supported. (Short answers are not yet supported by our checks but will be added in the future).
The answer choices are not randomized. And it looks like this:
? A question is here
a) A wrong answer
B) A correct answer has a capital letter
c) A wrong answer
d) A wrong answer
You can use choose-answers
option which will randomize the multiple choices or you can use a standard quiz question that doesn’t randomize. The notation for the answer choices are: C)
for correct answers m)
for mandatory incorrect answers and o)
for optional incorrect answers.
Note that the number given for the number of answers has to be at least equal to the number of correct and mandatory incorrect answers listed.
Here’s an example:
{choose-answers: 4}
? A question is here
C) The correct answer is signified with a capital C
m) A mandatory incorrect answer
m) A mandatory incorrect answer
o) An optional incorrect answer
o) An optional incorrect answer
Upon merging to the main
branch, a GitHub action will automatically run check-quizzes.yml
that will use the ottrpal
package to check that your quiz conforms to these rules. It will report the quiz formatting errors on your pull request should there be any problems.
C)
for correct answers m)
for mandatory incorrect answers and o)
for optional incorrect answers.See more instructions on how to port a course made from these templates to Coursera.
You can convert your quizzes to a nicely upload-able yaml file in this repository by running this command in the docker image
ottrpal::convert_quizzes()
Note that currently images and links are not supported and if your quizzes contain those, you will have to manually add them at this time.
You can run this same command locally if you wish to test something. This render the chapters without the table of Contents. If you do not wish to publish to Coursera and prefer this do not run, you may delete this section (but it shouldn’t hurt anything to keep as is – unless for some reason it causes you some troubles).
Additionally, the ottrpal
package has a ottrpal::convert_quizzes()
function if you choose to create quizzes and publish on both Leanpub and Coursera.
Your Leanpub course as been created on Leanpub
GitHub
and your main OTTR_Template repository is linked.
Repository is created and set to private
.
main
branch has been set up:
Require pull request reviews before merging
box is checked.Require status checks to pass before merging
box is checked.Require branches to be up to date before merging
box is checked.This repo has been enrolled in automatic updates from the original template.
Your Book.txt file is up to date.
Once your content has been largely developed you may want to add your course to Coursera.
This guide was prepared specifically for those developing courses for the ITN project at Johns Hopkins University or other Coursera partner institutions. It reflects the needs and goals of ITN course developers. Coursera’s Educator Resource Center is the authoritative source of documentation for using the Coursera platform.
If you are from Johns Hopkins: You will need to follow this document and send information Ira Gooding who will create a course shell for you.
If you are not from Johns Hopkins: You will need to set up your own educator profile and course shell through your institution.
The Github actions set up in the render-all.yml render your course material in a format suitable for linking to Coursera. This Coursera version is identical except that the table of contents bar on the left side has been dropped so as to not confuse Coursera users about navigating the course. These files can be previewed in the docs/no_toc
folder and a link to the Coursera version is printed out in a GitHub comment in your pull request by render-preview.yml
.
If you have written your quizzes in Leanpub format first, render-all.yml
github action will convert those quizzes so they are ready for upload to Coursera.
Or alternatively if you do not wish to have a Leanpub version of your course, you can write your quizzes directly on Coursera’s website. You can download the quiz you write on their website as a yaml and store it on your repository as well.
You can click on Go to Course
. And on your main course page click Edit Course
in the right corner.
This will bring you to your version page.
Underneath Content
, on the left side bar, at the bottom, there is the Programmed Messages
.
At the very least you should add a Welcome to the course
and a Completion
programmed message. Click on each of these to edit them. Click Preview
and then Publish
to save your edits.
Here are some templated messages to get you started:
Welcome to {Course Name}
We hope this course will {What will they learn?}
To get the most out of the course {What do you advise?}
If you ever encounter any problems with the course, have questions or ideas, please let us know using this feedback form.
Add a link to your feedback form by clicking the link icon. Click Preview
and then Publish
to save your edits.
Congratulations and thank you for completing {name of course}!
We hope this course has {What do you hope they learned}.
If you have feedback about our course we'd greatly appreciate you filling out this form.
Add a link to your feedback form by clicking the link icon. Click Preview
and then Publish
to save your edits.
For final grades in the course, you will need to set the Grading Formula. To get to this page, you can click on Go to Course
. And on your main course page click Edit Course
in the right corner.
This will bring you to your version page.
Now you can set the percentage that each module’s assignments are worth in the course.
You can find the settings for this under the Content
tab. Here you can modify how each of your modules should be assigned to each week of your course.
Module descriptions can be found right before learning objectives when you are editing content. Adding these helps learners know a bit more about what to expect.
Add an image for your course and consider adding the following to polish your course: * Estimated workload * Skills * Recommended background * Items students will learn
Since we are publishing on Coursera using plug-ins and because there are concerns about accessibility with plug-ins, we encourage you to point out that the course material is available elsewhere in a reading at the very beginning of your course so that students can find it right away. To create a reading, you can click the add reading button which is located to the add quiz button. If you need to, you can rearrange elements of the first module and move this reading to the top of the course by clicking and dragging the three horizontal line icon on the far left of the reading section.
Title the reading as:
Multiple Lesson Formats
Modify the following based on your course and publishing plans and paste into the reading:
Like many of our other courses, the content of this course is available in multiple formats.
You can also find the lessons for this course at [insert Bookdown link here]. This format might be most appropriate for you if you rely on screen-reader technology.
Our courses are open source, so you can also find all the source material on GitHub by visiting [insert GitHub link here].
These resources are used throughout this Coursera course in the form of ungraded plug-ins. You are welcome to use those plug-ins here on Coursera or connect to the content in other formats through the links above. Please select the format that most suits your needs.
Note about links in the plug-ins: The plug-ins used throughout the course feature links to other resources. To follow these links, right-click on them and open in a new tab or window.
Regardless of the format you choose for the instructional content, you must take and pass the quizzes here on Coursera if you want to earn a Coursera certificate.