Your Community is getting an upgrade!
Read about our partnership with Higher Logic and how we will build the next generation of the Instructure Community.
Found this content helpful? Log in or sign up to leave a like!
I have quite a few assignments every week that are on paper. I used to be able to create the assignments for 6 weeks at a time. Mind you, this is high school and I am creating 4 assignments a week for one subject and I have three subjects in total. Prior to February, this was tedious but doable. The process was - go to Assignments tab, go to the assignment group, click on "+" to start a new assignment, give it a name, a due date (usually the end of the week), assign points, publish and done. I only need these assignments to show up in my gradebook and added to anything in modules.
Somewhere in February a student told me there was a quiz that hadn't taken yet and it showed up as "missing," which tanked their grade. I looked at it and there was this "text entry" requirement. Where did that come from? I removed it then had to manually remove all the "missing" and zeros that were added because of how my settings are. It gets worse. I didn't know about this change and had over 20 assignments floating around with this new "text entry" submission attached to all the assignment I made.
I cannot find anywhere online where or when this changed. It was ok in the beginning of January. Now, I have to go to assignments, find the category, click "+" to make the assignment, do all the things I mentioned, BUT now I have to select "More Options" where I then have to remove the option for the "text entry," save & publish, then go back to the assignment tab and start the next assignment. ARE YOU KIDDING ME???
I tried the help option in Canvas, which I am guessing is a chatbot. It told me this has always been the way Canvas has acted. No, it hasn't. Then I looked through all the release notes for the most recent updates. No mention of a change to this process anywhere. Even my school district IT person couldn't find anything. There's nothing on the internet about any change or it taking longer. This may not be a big issue if you only have 12-15 assignments a semester, but I am creating 4 assignments a week minimum for one subject!!
Solved! Go to Solution.
Hi @KK71 ...
I saw that you posted your original question in another thread, but I didn't see your response here until now.
Unfortunately, since I don't work for Instructure, I don't have any insights on to why something may have changed back in February. Although I'm not an instructor (I am a Canvas administrator for our College), it's been my experience with assignments that some of the properties of assignments (online, no submission, etc.) retain from one new assignment to another (for efficiency reasons?????).
I know you had mentioned that you had checked Release Notes but did not find anything. I'm not sure if you also check Canvas Deploy Notes, but those are also available (less significant changes). Canvas Releases - Instructure Community You can toggle between the Release Notes and the Deploy Notes on this page.
I think, if you use the "+ Assignment" button instead of the "+" icon, that will at lease eliminate a click or two in your assignment creation process. To be honest, I almost never use the "+" icon when creating new assignments. I use the "+ Assignment" button because I want to fill out all the details of my assignment all at once...and not on two separate screens.
Sorry to hear that duplicating assignments might not work for your needs. Even if you had some instructions that were the same throughout your assignments, it might be worth utilizing...so that you weren't having to re-add those instructions each time. I'll leave all of that up to you, though.
Thanks...
Hello there, @KK71 ...
As I read through your question, I wonder if you might be using some alternative ways to create assignments in your course. I see what you are referring to, though. When you are on your "Assignments" index page, you are clicking on the "+" sign in the gray heading of an Assignment Group where you then get a "Create Assignment" dialog box. I wasn't exactly sure what you had meant initially by a "More Options" button, but I do see this in the "Create Assignment" dialog box ... as you have indicated. In essence, each time you do this, you are just creating the assignment shell...as outlined in this Guide: How do I create an assignment shell in an assignment group?. Here is my suggestion for you...
Instead of using the "+" sign to bring up the "Create Assignment" dialog box from the "Assignments" index page, have you instead considered using the larger "+ Assignment" button at the top right corner of the "Assignments" index page? Clicking on this button instead presents you all the details you need immediately to create your assignment...the title, description, points, selection of which Assignment Group you want to place it in, submission type, etc. Once you have these details entered in your assignment, you can either "Save" or "Save & Publish".
You also mentioned that you are having to repeat this process multiple times when you create new assignments. I'm not sure if you've used this feature of Canvas, but on the "Assignments" index page, within the three-dot kebab menu of each assignment, you'll find an option to "Duplicate". This essentially creates a copy of any previous assignment that you've already edited. You can then edit the properties of the new copy without having to create a brand new assignment each time. This is really helpful if, for example, you had some properties of your assignments that remained the same and would not change...for example: due dates, certain parts of your instructions to students, number of points, etc. Here is a Guide for you on how to do this: How do I duplicate an assignment?.
I hope that these resources will be of help to you and that maybe this will help you in creating your assignments a bit quicker than before. If you have any other questions about this, please let us know here in the Community, and we'll be glad to help you as best we can.
Take care, and be well.
Hi @KK71 ...
I saw that you posted your original question in another thread, but I didn't see your response here until now.
Unfortunately, since I don't work for Instructure, I don't have any insights on to why something may have changed back in February. Although I'm not an instructor (I am a Canvas administrator for our College), it's been my experience with assignments that some of the properties of assignments (online, no submission, etc.) retain from one new assignment to another (for efficiency reasons?????).
I know you had mentioned that you had checked Release Notes but did not find anything. I'm not sure if you also check Canvas Deploy Notes, but those are also available (less significant changes). Canvas Releases - Instructure Community You can toggle between the Release Notes and the Deploy Notes on this page.
I think, if you use the "+ Assignment" button instead of the "+" icon, that will at lease eliminate a click or two in your assignment creation process. To be honest, I almost never use the "+" icon when creating new assignments. I use the "+ Assignment" button because I want to fill out all the details of my assignment all at once...and not on two separate screens.
Sorry to hear that duplicating assignments might not work for your needs. Even if you had some instructions that were the same throughout your assignments, it might be worth utilizing...so that you weren't having to re-add those instructions each time. I'll leave all of that up to you, though.
Thanks...
Clicking the "Save" button sends a POST request using the API: /api/v1/courses/:course/assignments, with "submission_types: online_text_entry" as part of the request.
Perhaps a userscript could change that to "on_paper" instead?
See Assignments - Canvas LMS REST API Documentation for more assignment creation options.
I'm willing to give it a try. How much of a background do I need in CS to get this to work? Where and how would I do this? Is there a step-by-step video or instructions for something like this? I am afraid to ask out IT department for help...they are a little territorial, which is understandable.
I don't know how to do it myself, but with some digging and ChatGPT, I have a script that worked for me just now:
Note that it is likely very inefficient, and you probably should not run this code without someone else who knows what they're doing checking it first, but here it is (you may need to install Tampermonkey to run it, and perhaps change the "match" row to your institution's URL if yours is different):
// ==UserScript==
// @Name Canvas: Force on-paper Submission Type
// @namespace http://tampermonkey.net/
// @version 0.3
// @description Intercept assignment-creation POSTs to any course and set submission_types to ["on_paper"]
// @match https://*.instructure.com/courses/*/assignments
// @grant none
// ==/UserScript==
;(function() {
'use strict';
// regex to detect any course‐ID in the assignments endpoint
const assignEndpointRE = /\/api\/v1\/courses\/\d+\/assignments/;
// —— Fetch override ——
const originalFetch = window.fetch;
window.fetch = function(resource, init = {}) {
const url = (typeof resource === 'string' ? resource : resource.url);
const method = (init.method || 'GET').toUpperCase();
if (method === 'POST'
&& assignEndpointRE.test(url)
&& init.headers?.['Content-Type']?.includes('application/json')
) {
try {
const bodyObj = JSON.parse(init.body);
if (bodyObj.assignment) {
bodyObj.assignment.submission_types = ['on_paper'];
init.body = JSON.stringify(bodyObj);
console.debug('📋 Forced on_paper via fetch', bodyObj);
}
} catch (err) {
console.warn('Could not parse JSON body for fetch:', err);
}
}
return originalFetch.call(this, resource, init);
};
// —— XHR override ——
const origOpen = XMLHttpRequest.prototype.open;
XMLHttpRequest.prototype.open = function(method, url) {
this._method = method;
this._url = url;
return origOpen.apply(this, arguments);
};
const origSend = XMLHttpRequest.prototype.send;
XMLHttpRequest.prototype.send = function(data) {
if (this._method.toUpperCase() === 'POST'
&& assignEndpointRE.test(this._url)
&& this._headers?.['Content-Type']?.includes('application/json')
) {
try {
const payload = JSON.parse(data);
if (payload.assignment) {
payload.assignment.submission_types = ['on_paper'];
data = JSON.stringify(payload);
console.debug('📋 Forced on_paper via XHR', payload);
}
} catch (err) {
console.warn('Could not parse JSON body for XHR:', err);
}
}
return origSend.call(this, data);
};
// Capture Content-Type header on XHR
const origSetHeader = XMLHttpRequest.prototype.setRequestHeader;
XMLHttpRequest.prototype.setRequestHeader = function(name, value) {
if (!this._headers) this._headers = {};
this._headers[name] = value;
return origSetHeader.apply(this, arguments);
};
})();
I also generally use the big red "+ Assignment button" instead of adding to the groups. And (as mentioned by Chris Hofer in another reply) I've noticed that it seems to keep the same settings (group, submission type, maybe other things?) as the last assignment I created.
Obviously not ideal, but perhaps you can make the first one this way, carefully attending to the options, and then on successive times it will keep those settings? Maybe there is even something similar going on in the add assignment to group button as well?
To interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign InTo interact with Panda Bot, our automated chatbot, you need to sign up or log in:
Sign In