Added SIS CSV page, added sis_csv table to css, changed h2 css to top margin 30px for all documentation
Change-Id: I180b1a83a3545804f84e8d736dcdfd981ce9dd89 Reviewed-on: https://gerrit.instructure.com/6040 Tested-by: Hudson <hudson@instructure.com> Reviewed-by: Brian Palmer <brianp@instructure.com>
This commit is contained in:
parent
d51b5d9a73
commit
99faa3aa6d
|
@ -35,6 +35,7 @@ h2 {
|
|||
border-bottom: 1px #aaa solid;
|
||||
padding: 0 0 3px;
|
||||
font-size: 1.4em;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
#sidebar {
|
||||
|
@ -103,6 +104,19 @@ h3 .defined-in {
|
|||
.method_details h4 {
|
||||
}
|
||||
|
||||
table.sis_csv {
|
||||
border: 2px solid gray;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
table.sis_csv th, table.sis_csv td {
|
||||
padding: 4px;
|
||||
border: 1px inset gray;
|
||||
border-spacing: 1px;
|
||||
}
|
||||
table.sis_csv th {
|
||||
background-color: #DDD;
|
||||
}
|
||||
|
||||
/* Footer */
|
||||
#footer {
|
||||
clear: left;
|
||||
|
|
|
@ -76,8 +76,9 @@ def generate_assets
|
|||
end
|
||||
end
|
||||
|
||||
|
||||
def serialize_static_pages
|
||||
%w( authentication.md object_ids.md pagination.md oauth.md ).each do |file|
|
||||
%w( authentication.md object_ids.md pagination.md oauth.md sis_csv.md ).each do |file|
|
||||
options[:file] = "doc/templates/rest/#{file}"
|
||||
serialize(file.sub(/\..*$/, '.html'))
|
||||
options.delete(:file)
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
<a href="<%= url_for("authentication.html") %>" class="<%= 'current' if options[:object] == 'authentication.html' %>">Authentication</a>
|
||||
<a href="<%= url_for("oauth.html") %>" class="<%= 'current' if options[:object] == 'oauth.html' %>">OAuth</a>
|
||||
<a href="<%= url_for("object_ids.html") %>" class="<%= 'current' if options[:object] == 'object_ids.html' %>">SIS IDs</a>
|
||||
<a href="<%= url_for("sis_csv.html") %>" class="<%= 'current' if options[:object] == 'sis_csv.html' %>">SIS CSV</a>
|
||||
<a href="<%= url_for("pagination.html") %>" class="<%= 'current' if options[:object] == 'pagination.html' %>">Pagination</a>
|
||||
<h2>Resources</h2>
|
||||
<% options[:resources].each_with_index do |(resource, controllers), i| %>
|
||||
|
|
|
@ -0,0 +1,532 @@
|
|||
SIS Import Format Documentation
|
||||
===============================
|
||||
|
||||
Instructure Canvas can integrate with an institution's Student Information Services (SIS) in
|
||||
several ways. The simplest way involves providing Canvas with several CSV files describing
|
||||
users, courses, and enrollments.
|
||||
These files can be zipped together and uploaded to the Account admin area.
|
||||
|
||||
Standard CSV rules apply:
|
||||
|
||||
* The first row will be interpreted as a header defining the ordering of your columns. This
|
||||
header row is mandatory.
|
||||
* Fields that contain a comma must be surrounded by double-quotes.
|
||||
* Fields that contain double-quotes must also be surrounded by double-quotes, with the
|
||||
internal double-quotes doubled. Example: Chevy "The Man" Chase would be included in
|
||||
the CSV as "Chevy ""The Man"" Chase".
|
||||
|
||||
All text should be UTF-8 encoded.
|
||||
|
||||
|
||||
Batch Mode
|
||||
----------
|
||||
|
||||
If the option to do a "full batch update" is selected in the UI, then this SIS upload is considered
|
||||
to be the new canonical set of data, and data from previous SIS imports that isn't present in
|
||||
this import will be deleted. This can be useful if the source SIS software doesn't have a way
|
||||
to send delete records as part of the import. This deletion is scoped to a single term, which
|
||||
must be specified when uploading the SIS import. Use this option with caution, as it can delete
|
||||
large data sets without any prompting on the individual records. Currently, this affects courses,
|
||||
sections and enrollments.
|
||||
|
||||
This option will only affect data created via previous SIS imports. Manually created courses, for
|
||||
example, won't be deleted even if they don't appear in the new SIS import.
|
||||
|
||||
users.csv
|
||||
---------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_id</td>
|
||||
<td>text</td>
|
||||
<td><em>required</em></td>
|
||||
<td>A unique identifier used to reference users in the enrollments table.
|
||||
This identifier must not change for the user, and must be globally unique.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>login_id</td>
|
||||
<td>text</td>
|
||||
<td><em>required</em></td>
|
||||
<td>The name that a user will use to login to Instructure. If you have an
|
||||
authentication service configured (like LDAP), this will be their username
|
||||
from the remote system.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>password</td>
|
||||
<td>text</td>
|
||||
<td></td>
|
||||
<td><p>If the account is configured to use LDAP or an SSO protocol then
|
||||
this isn't needed. Otherwise this is the password that will be used to
|
||||
login to Canvas along with the 'login_id' above.</p>
|
||||
<p>If the user already has a password (from previous SIS import or
|
||||
otherwise) it will <em>not</em> be overwritten</p></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>first_name</td>
|
||||
<td>text</td>
|
||||
<td></td>
|
||||
<td>Given name of the user.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>last_name</td>
|
||||
<td>text</td>
|
||||
<td></td>
|
||||
<td>Last name of the user.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>email</td>
|
||||
<td>text</td>
|
||||
<td></td>
|
||||
<td>The email address of the user. This might be the same as login_id, but should
|
||||
still be provided.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td><em>active</em></td>
|
||||
<td>active, deleted</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<p>When a student is 'deleted' all of its enrollments will also be deleted and
|
||||
they won't be able to log in to the school's account. If you still want the
|
||||
student to be able to log in but just not participate, leave the student
|
||||
'active' but set the enrollments to 'concluded'.</p>
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
user_id,login_id,password,first_name,last_name,email,status
|
||||
01103,bsmith01,,Bob,Smith,bob.smith@myschool.edu,active
|
||||
13834,jdoe03,,John,Doe,john.doe@myschool.edu,active
|
||||
13aa3,psue01,,Peggy,Sue,peggy.sue@myschool.edu,active
|
||||
</pre>
|
||||
|
||||
A column to be added in the future:
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>local_account</td>
|
||||
<td>boolean</td>
|
||||
<td>false</td>
|
||||
<td>If true, and if the account (as found by the login_id) is not found, this user will be sent an invitation
|
||||
via their email address. They will choose their password when the click the invitation link.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
accounts.csv
|
||||
------------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>A unique identifier used to reference accounts in the enrollments data.
|
||||
This identifier must not change for the account, and must be globally unique.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>parent_account_id</td>
|
||||
<td>text</td>
|
||||
<td> </td>
|
||||
<td>The account identifier of the parent account.
|
||||
If this is blank the parent account will be the root account.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The name of the account</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td>active</td>
|
||||
<td>active, deleted</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Any account that will have child accounts must be listed in the csv before any child account references it.
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
account_id,parent_account_id,name,status
|
||||
A001,,Humanities,active
|
||||
A002,A001,English,active
|
||||
A003,A001,Spanish,active
|
||||
</pre>
|
||||
|
||||
terms.csv
|
||||
------------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>term_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>A unique identifier used to reference terms in the enrollments data.
|
||||
This identifier must not change for the account, and must be globally unique.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The name of the term</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td>active</td>
|
||||
<td>active, deleted</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>start_date</td>
|
||||
<td>date</td>
|
||||
<td></td>
|
||||
<td>The date the term starts. The format should be: YYYY-mm-DD HH:MM:SS</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>end_date</td>
|
||||
<td>date</td>
|
||||
<td></td>
|
||||
<td>The date the term ends. The format should be: YYYY-mm-DD HH:MM:SS</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Any account that will have child accounts must be listed in the csv before any child account references it.
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
term_id,name,status,start_date,end_date
|
||||
T001,Winter2011,active,,
|
||||
T002,Spring2011,active,2010-9-03 00:00:00,2010-12-14 00:00:00
|
||||
T003,Fall2011,active,,
|
||||
</pre>
|
||||
|
||||
courses.csv
|
||||
------------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>course_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>A unique identifier used to reference courses in the enrollments data.
|
||||
This identifier must not change for the account, and must be globally unique.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>short_name</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>A short name for the course</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>long_name</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>A long name for the course. (This can be the same as the short name,
|
||||
but if both are available, it will provide a better user experience to provide both.)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_id</td>
|
||||
<td>text</td>
|
||||
<td> </td>
|
||||
<td>The account identifier from accounts.csv, if none is specified the course will be attached to the root account</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>term_id</td>
|
||||
<td>text</td>
|
||||
<td> </td>
|
||||
<td>The term identifier from terms.csv, if no term_id is specified the default term for the account will be used</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td>active</td>
|
||||
<td>active, deleted, completed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>start_date</td>
|
||||
<td>date</td>
|
||||
<td></td>
|
||||
<td>The date the term starts. The format should be: YYYY-mm-DD HH:MM:SS</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>end_date</td>
|
||||
<td>date</td>
|
||||
<td></td>
|
||||
<td>The date the term ends. The format should be: YYYY-mm-DD HH:MM:SS</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
course_id,short_name,long_name,account_id,term_id,status
|
||||
E411208,ENG115,English 115: Intro to English,A002,,active
|
||||
R001104,BIO300,"Biology 300: Rocking it, Bio Style",A004,Fall2011,active
|
||||
A110035,ART105,"Art 105: ""Art as a Medium""",A001,,active
|
||||
</pre>
|
||||
|
||||
sections.csv
|
||||
------------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>section_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>A unique identifier used to reference sections in the enrollments data.
|
||||
This identifier must not change for the account, and must be globally unique.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>course_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The course identifier from courses.csv</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The name of the section</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td>active</td>
|
||||
<td>active, deleted, completed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>start_date</td>
|
||||
<td>date</td>
|
||||
<td></td>
|
||||
<td>The date the term starts. The format should be: YYYY-mm-DD HH:MM:SS</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>end_date</td>
|
||||
<td>date</td>
|
||||
<td></td>
|
||||
<td>The date the term ends. The format should be: YYYY-mm-DD HH:MM:SS</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_id</td>
|
||||
<td>text</td>
|
||||
<td> </td>
|
||||
<td>The account identifier from accounts.csv, if none is specified the course will be attached to the root account</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
section_id,course_id,name,status,start_date,end_date
|
||||
S001,E411208,Section 1,active,,
|
||||
S002,E411208,Section 2,active,,
|
||||
S003,R001104,Section 1,active,,
|
||||
</pre>
|
||||
|
||||
enrollments.csv
|
||||
---------------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>course_id</td>
|
||||
<td>text</td>
|
||||
<td>required if section_id missing</td>
|
||||
<td>The course identifier from courses.csv</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The User identifier from users.csv</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>role</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>student, teacher, ta, observer, designer</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>section_id</td>
|
||||
<td>text</td>
|
||||
<td>required if course_id missing</td>
|
||||
<td>The section identifier from sections.csv, if none is specified the default section for the course will be used</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td>active</td>
|
||||
<td>active, deleted, completed</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>associated_user_id</td>
|
||||
<td>text</td>
|
||||
<td> </td>
|
||||
<td>For observers, the user identifier from users.csv of a student
|
||||
in the same course that this observer should be able to see grades for.
|
||||
Ignored for any role other than observer</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
|
||||
When an enrollment is in a 'completed' state the student is limited to read-only access to the course.
|
||||
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
course_id,user_id,role,section_id,status
|
||||
E411208,01103,student,1B,active
|
||||
E411208,13834,student,2A,active
|
||||
E411208,13aa3,teacher,2A,active
|
||||
</pre>
|
||||
|
||||
This new column will be implemented some time in the future:
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>exclusive_section</td>
|
||||
<td>boolean</td>
|
||||
<td>false</td>
|
||||
<td>If true, then any enrollments for
|
||||
this user in this course NOT in the section specified in section_name will be deleted.</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
groups.csv
|
||||
------------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>group_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>A unique identifier used to reference groups in the group_users data.
|
||||
This identifier must not change for the group, and must be globally unique.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>account_id</td>
|
||||
<td>text</td>
|
||||
<td> </td>
|
||||
<td>The account identifier from accounts.csv, if none is specified the group will be attached to the root account.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>name</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The name of the group.</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td>active</td>
|
||||
<td>available, closed, completed, deleted</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
group_id,account_id,name,status
|
||||
G411208,A001,Group1,available
|
||||
G411208,,Group2,available
|
||||
G411208,,Group3,deleted
|
||||
</pre>
|
||||
|
||||
groups_membership.csv
|
||||
------------
|
||||
|
||||
<table class="sis_csv">
|
||||
<tr>
|
||||
<th>Field Name</th>
|
||||
<th>Data Type</th>
|
||||
<th>Default</th>
|
||||
<th>Description</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>group_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The group identifier from groups.csv</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>user_id</td>
|
||||
<td>text</td>
|
||||
<td>required</td>
|
||||
<td>The user identifier from users.csv</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>status</td>
|
||||
<td>enum</td>
|
||||
<td>active</td>
|
||||
<td>accepted deleted</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
Sample:
|
||||
|
||||
<pre>
|
||||
group_id,user_id,status
|
||||
G411208,U001,accepted
|
||||
G411208,U002,accepted
|
||||
G411208,U003,deleted
|
||||
</pre>
|
Loading…
Reference in New Issue