Post'Em for Canvas@UD

Community Member
7 5 2,079

At the University of Delaware, we support two Learning Management Systems. We have been running Sakai ever since Blackboard bought out WebCT, and now we have added Canvas. Migration to Canvas is entirely optional. We really are not pressuring people to choose Canvas over Sakai, so no one needs to give up what they know. On the other hand, we like to remove barriers, and one tool that Canvas has no counterpart for is the Sakai Post'Em tool.

Post'Em itself is a work-around for anyone dissatisfied with the Sakai gradebook. It is a very simple tool, which allows instructors to upload the contents of their Excel gradebook spreadsheet, and have individual rows presented securely to students. This by-passes any and all limitations with the gradebook itself. You can take advantage of the full power of Excel (or any other program exportable to .csv) in order to calculate grades. Some instructors on our campus who are otherwise ready and willing to try something new were hesitant to make the move to Canvas without having a Post'Em equivalent, so we took advantage of the Canvas LTI and API to build one.

Recently, we have received a request from Indiana University to share the code, which we have done, and no doubt they are by now well on their way to making it better.

This is not necessarily the best place to try to make a record of what has been done, but I did promise to do something on the new Canvas Community site to get some conversation going around the Post'Em effort. Since I wanted to figure out how blogging works on this site, I thought I'd just throw something out there and see what happens. I apologize if this is the wrong approach to take.

Tags (1)
Learner II

This sounds like an amazing tool!  Does it display within the Canvas grade book or just via an LTI link directly?  Baylor used to have something like this many moons ago called "Get Grades" which was a stand-alone website where faculty to upload files like that.  I'd love to see something like this within Canvas.

Community Member

Post'Em has no contact Grades. Its only function is to filter out the table

rows containing the logged in student's id and display them. Whatever is in

the row, students can see it. There are a couple of other little niceties,

but that is the core of it. It is also possible to import csv data directly

into Grades, if that's what you want to do. Post'Em is for situations where

the Grades tool won't accommodate the data you want. For example, you can

put in as many text columns as you want in Post'Em, or have a comment

column beside each grade column. Also, when you import a new column into

Grades, it automatically generates a matching assignment, which you might

not actually want. Post'Em doesn't do anything unexpected. Instructors

upload, students view, that's it.

You can see some screenshots here:

Community Member

We would be interested in plugging Post'Em in to our installation here at our University. I'm aware there isn't a downloadable source or LTI configuration yet, so I am reaching out to see if you can help us do some trials?



Community Member

The problem with sharing something like Post'Em as an LTI tool is that it requires an instructor or admin level API token to work. The Canvas API is a tremendously powerful tool, and I'm thrilled with the way it has allowed me to enhance Canvas, but asking another institution for a token is a daunting proposition. My apps do have the ability to execute the token request flow, but I've never actually released an app that requires API access publicly, and on our campus, we generally do not bother with token request, since we have domain level tokens available that will work in any course.

If you have no qualms about providing the University of Delaware with the keys to your Canvas kingdom, please contact me directly. If you want to host the app on your own server, there is a github repository (not particularly up to date) available at GitHub - udcanvas/canvas.

The repo is not well documented, and does not include any information about the mysql database in which we store tokens, so you would have to replace some key pieces with your own information. In particular, the token request flow requires a developer key and secret, and mine is not only redacted, but would not be valid for a tool hosted on another server. If you already host other apps that access the API, it should be relatively easy to adapt Post'Em for your existing infrastructure, in which case all you would really need to download from the repository would be the Post'Em subfolder.

It has always been my intention to clean up the code for general consumption and put up a version with better documentation and clearer hooks for those who want to do the easiest possible thing (hard code in both your LTI secret and your API token). Maybe I will even get to it tomorrow, but I always seem to get sidetracked by the demands of our own campus.

Community Member

I just put up a new github repository with the lastest Post'Em code. I can't guarantee it will work, because I did make some modifications in order to simplify the installation process. If you try it, let me know how it goes. You can of course raise issues from within GitHub, or add them here.

GitHub - bkinney/postem: A single app, with simplified infrastructure, no token request flow. This o...