Community

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
abunag
Community Champion

Collecting Syllabi

I've been asked if it's possible to collect all syllabi from all Canvas courses, and if not currently possible, to look into options to make it possible in the future.  Anyone tried implementing something like this?

Tags (2)
33 Replies
tdelillo
Community Champion

I haven't tried to do this (we have a separate eSyllabus tool called Concourse that solves this problem) but there was another discussion started last week that might be related - Export syllabi? Also, a feature request for a mass export option has been created -

abunag
Community Champion

I saw that thread and idea post too.  It seems there's lots of third-party solutions where they build the syllabus then add to Canvas, but we've tried that with very little adoption, so they're asking for the other way around now in the hopes of a higher collection rate.

Thanks for the links, and the tool suggestion.  It'll be on my report back to the requester.

dgrobani
Community Member

I wrote a Python script a few years ago to find and download syllabi. I'd be happy to share it with you.

abunag
Community Champion

that would be nice to try.  You can either message me it, attach it here, or email me at abunag@pacific.edu.

Thank you very much!

dgrobani
Community Member

I've emailed you it. You're welcome!

abunag
Community Champion

Got it - Thanks again!

dgrobani
Community Member

You're welcome again!

jenn_stevens
Community Contributor

I too would love to see the python script! Does it use the API to only get the html from the syllabus page, or does it also get assignment information? I've been struggling with this problem as well, as Tracey noted above. (Thanks  @tdelillo ​!)

jennifer_stevens

All the script does is use the API to crawl through courses, look in the syllabus body for hyperlinked files, and download any files it finds. I'd be happy to send it to you, but if there's a way to contact you directly from here, I haven't found it yet.

jenn_stevens
Community Contributor

Huh, I totally thought there was too! My email is jennifer_stevens@emerson.edu​ - thanks dgrobani​!

Sent--you're welcome!

Daniel, I know this is an old discussion, but if you are still following it, I would love to see the Python script to collect syllabi - we've had the same issue come up at the College of New Rochelle. I can be reached at ecraig@cnr.edu  - Thanks much! - Emory 

0 Kudos
Reply
dgrobani
Community Member

Sent--you're welcome!

Thanks so much! Greatly appreciated! 

- Emory 

0 Kudos
Reply

Hi Daniel!

Could you possibly also provide me with that script? kelley.meeusen@cptc.edu

Thank you,

KLM

Sent--you're welcome!

Thanks Daniel!

I am also interested in your Python script, Daniel.

May I bother you for a copy of it (keeganlong-wheeler@ou.edu)?

Smiley Happy

JACOBSEN_C
Community Contributor

Daniel, is there a chance you could share that script you created with me?

Here's that script in my GitHub repository: dgrobani/py3-canvaslms-api/syllabi/syllabi_download_OLD.py.

I haven't run it in a long time, so use at your own risk Smiley Wink

Daniel, just want to thank you for sharing this script. While we are looking into refining our syllabus collection process and some of the other tools that people have shared, your script has been most useful. I was able to modify for our needs and I really appreciate it as I've used it for the past 2 semesters and am running it as I type this. 

I do have one quick question. Not asking you to troubleshoot, but wondering if you encountered this and found a workaround. One of the common errors I get is:

Traceback (most recent call last):
File "syllabus_v4.py", line 82, in <module>
if 'download?verifier' in url and file_name not in ('Preview the document', 'View in a new window'):
TypeError: argument of type 'NoneType' is not iterable

When I run into that the script halts, and I just remove that course from the CSV (and all previously processed courses) and restart the script. Any thoughts on what may cause that?

0 Kudos
Reply

 @troy-carroll ‌, my pleasure--I'm glad it's been useful!

I haven't used that script in years, but looking at the info you've provided, I suspect that what's happening is that url is None, which makes testing for that string in it bomb. Changing that line to this might fix it:

if url and 'download?verifier' in url and file_name not in ('Preview the document', 'View in a new window'):

Lemme know!

I know you wrote this a good while ago, but I'd love to take a loot at the Python script that you wrote to download syllabi.

0 Kudos
Reply
reynolds1
New Member

When we started migrating over to Canvas from eCollege we decided to make it as simple as possible to keep syllabi updated so we created a Google Drive folder and put all syllabi in that folder.  Then in each course we linked to that course's syllabus in the folder (shareable link where everyone could view).  Now we only have one place to update and that is to manage the versions in Google Drive folder and in seconds the syllabus is updated.  Sure has simplified our life for sure.  When faculty need to update they download the course file, update, send it to our office and then we update the Google Driver file.

QC99_tsilvius
Community Champion

If the

  • automated API syllabus system crawler solutions above don't work,
  • the amount of courses you're looking to syllabus-export isn't too large,
  • and you're looking for only a listing of assignment name and due date listing (not the content area on the top of the Canvas syllabus page)

you might consider this script.  It will export each assignment, it's assignment item number, publish state, and due date/time into a Google Doc. I've used James' script to help teachers in our cyber program who inherit a course copy but the due date shifter in the course copy procedure (although helpful) doesn't really get the entire job done to meet the teacher's needs.

If you're looking to automate grabbing the assignment listing from the syllabus page from a few hundred courses, this might not be the tool for you because automating bulk syllabus exporting isn't really what it was designed to do I believe.  But if you have a few dozen and have their course numbers, this might help you get the syllabus lists from courses into a spreadsheet. All you need is your Token and the course numbers and  @James  script does the rest!

Thanks Todd!

I actually need the syllabi descriptions, rather than the assignment list.

KLM

LOL. Sooo close  🙂 The one thing the report can't give you.

maguire
Community Champion

abunag
Community Champion

Bumping this to see if anyone has found any good solutions in the past 2 years for downloading syllabi.  We really need to get the full syllabus, and it's pretty frustrating that if someone tries to be "nice" to their students and copy/paste the content, it makes it even harder for us to scrape it.

0 Kudos
Reply
rake_9
Community Champion

I have to say that part of the challenge here (especially if you are at a bigger institution) is getting all the faculty to do the same thing, so that you could actually USE a systematic approach to gather what you need.  This is as much a people-management question as a technology question.

abunag
Community Champion

Oh, absolutely agree.  But the provosts office has asked us to build this project, so we're going to scrape what we can find and let them deal with the procedure adoption rate.

bdye
Community Participant

We have went with SALSA syllabus as well hosted on AWS. 

GitHub - idbygeorge/salsa: Web app for creating a syllabus in an accessible HTML document, publishin... 

It was a learning curve for Faculty but they greatly appreciate the institutional policies being updated as I handle that. It took some time initially but now it is a fairly simple process for them to setup semester to semester.

We have looked at Concourse but wasn't financially feasible. 

0 Kudos
Reply
Boekenoogen
Community Contributor

We have installed Salsa as our syllabus for Canvas and are using Syllabus Tracker to keep current and archived versions of our syllabi.

0 Kudos
Reply