canvas-course-manager's People
canvas-course-manager's Issues
fix email sender
Email sent from CCM contain the simple "From" header:
From: [email protected]
This makes its messages appear to be sent from "4help" (depending on the email client and the view).
This header should be one of the following:
From: "Canvas Course Manager" <[email protected]>
From: "U-M Course Manager" <[email protected]>
From: "Canvas Course Manager" <[email protected]>
fix email sender
Email sent from CCM contain the simple "From" header:
From: [email protected]
This makes its messages appear to be sent from "4help" (depending on the email client and the view).
This header should be one of the following:
From: "Canvas Course Manager" <[email protected]>
From: "U-M Course Manager" <[email protected]>
From: "Canvas Course Manager" <[email protected]>
give better error messages (status code 401)
While attempting to add groups/members to a course, I received an email packed with error messages, like the following…
Group Set: fubar
The Groups and Enrollment failed due to
The enrollment "93620004" is not added to the group "M-Write Group 05" in group set "fubar" failed with status code 401
The enrollment "75031369" is not added to the group "M-Write Group 04" in group set "fubar" failed with status code 401
These messages are terse and difficult to understand. What is "status code 401"?
sis id acquisition possibile simplification
Currently we need to add Custom Fields Canvas.course.sisSourceId
in Canvas app edit, in order for lis_course_offering_sourcedid
to be available in the user payload.
There might be an easier way to do this from oauth. Ref:
make CSV header space insensitive, allow quotes
Spacing problem
When using CCM to create sections via CSV, it would not process the file with these column headings:
id_prefix, name
After I removed the space following the comma, it began processing the rest of the file. The column headings needed to look like:
id_prefix,name
Spaces after commas should not be significant when using CSVs. They should be ignored. Update CCM to ignore spaces after commas. If the user wants a leading space at the beginning of a value, they will need to enclose the value in quotes.
This also applies to the function for "Add multiple users to course sections through CSV". It gives the error message Something is wrong with your file. Bad or missing headers? Should be: "user_id, role, section_id"
. Note that spaces ARE INCLUDED in the recommended header. However, if that is used, it will give the same error message. It ONLY works when the spaces are removed from the header, like this:
user_id,role,section_id
Quoting problem
As I was working with data from another source, it used quotes around all values in the CSV, including the column headers. This is valid according to CSV standards. The headers were:
"groupset","name","user_id"
However, when this data file was used, CCM gave the error message Something is wrong with your file. Bad or missing headers? Should be: "groupset, name, user_id"
.
CCM processed the file correctly when I removed the quotes from the headers, giving this:
groupset,name,user_id
Since that's not the way CSV works, that is a bug.
Add feature to create new sections and add users in one step
Add a new feature that combines the two "Add multiple new sections to course through CSV" and "Add multiple users to course sections through CSV" features into one feature. It should take a CSV of group names, group ID prefixes, and user IDs.
Frontend should Read the CSV data and send a POST to backend URL
After upload of the csv file, FE should read the data and should do a POST to the backend to /sendAdminTask
with the task to perform like createSection
or addUsersToSection
Sample CSV for creating section
id_prefix,name
seed123,Section 20
seed456,Section 50
seed789,Section 43
seed1011,Section 53
seed1213,Section 64
seed1415,Section 83
seed1617,Section 92
seed1819,Section 10
seed2021,Section 11
seed123,Section 20
seed456,Section 50
seed456,Section 50
seed456,Section 50
seed789,Section 43
seed789,Section 43
seed789,Section 43
Create a view for accepting POST section data and passing it to the Canvas API
You can use canvasapi python library for it or requests library. use the Canvas Bearer token approch
Add user to section via sis import
HEre is the sample file upload should look like
the section needs to be sis id and the must is created from before, Student ids are sis id's as well
first 2 students in the sample are added to the section seed1819-ccmS232623
next 2 students in the sample are added to the section seed1819-ccmS232624
role,user_id,section_id
student,878787,seed1819-ccmS232623
student,878783,seed1819-ccmS232623
student,878784,seed1819-ccmS232624
student,878784,seed2021-ccmS232624
Create a UI elements that lets you upload the a csv file
Make the SIS process work for creating sections process work
https://canvas.instructure.com/doc/api/file.sis_csv.html
After receiving the information from the frontend with api_prefix
and section name
the python code should format the data as below. For each section received from Frontend Create a sis id for section, append SIS course ID (from django session)
section_id name status course_id
seed123-ccmS85491 Section 20 active p_practice_course
seed456-ccmS85491 Section 50 active p_practice_course
seed789-ccmS85491 Section 43 active p_practice_course
seed1011-ccmS85491 Section 53 active p_practice_course
seed1213-ccmS85491 Section 64 active p_practice_course
seed1415-ccmS85491 Section 83 active p_practice_course
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.