diff --git a/_docs/instructor/course_management/managing_enrollment.md b/_docs/instructor/course_management/managing_enrollment.md index fcb8415c..4670792d 100644 --- a/_docs/instructor/course_management/managing_enrollment.md +++ b/_docs/instructor/course_management/managing_enrollment.md @@ -54,6 +54,10 @@ Once the user registers for the course, the instructor(s) will receive an email 3. Check the checkbox for `Enable Self Registration`. 4. (Optional) Select the default section you want users to be added to. This defaults to the first section. This can also be edited in the `Manage Sections` page. +A related feature allows new users to make an account on your server. +See also [System Administrator instructions to enable Self Account Creation](/sysadmin/configuration/self_account_creation) + + ### Add students one-at-a-time 1. Instructors can add students to their course from the "Students" diff --git a/_docs/student/account/index.md b/_docs/student/account/index.md index 9726ad6f..5761c162 100644 --- a/_docs/student/account/index.md +++ b/_docs/student/account/index.md @@ -11,12 +11,21 @@ favorite web browser. ![](/images/Login.png) -Have your login credentials ready. (Again, your instructor should -provide this information.) If you have trouble +Have your login credentials ready. Again, your instructor or +university should provide this information. If you have trouble authenticating/accessing the page, double check the URL and your username and password, and contact the instructor, TA, or system administrator as appropriate. +If your school allows for users to create their own accounts, your +login page will include a button "New to Submitty? Sign up now!". + +![](/images/Login_self_account_creation.png) + +Click that button and follow the instructions to specify your email address, +given name, family name, and choose your Submitty User ID and Password. + + ## My Courses diff --git a/_docs/sysadmin/configuration/self_account_creation.md b/_docs/sysadmin/configuration/self_account_creation.md new file mode 100644 index 00000000..7139f170 --- /dev/null +++ b/_docs/sysadmin/configuration/self_account_creation.md @@ -0,0 +1,59 @@ +--- +category: System Administrator > Configuration & Administration +title: Self Account Creation +--- + +The feature of User Account Creation (a.k.a. Self Account Creation) is +only available on systems that use DatabaseAuthentication. + +To change authentication types, either re-run `CONFIGURE_SUBMITTY.py` +or manually edit `/usr/local/submitty/config/authentication.json` and +change the authentication method to `DatabaseAuthentication`. + +See also [Managing Enrollment](/instructor/course_management/managing_enrollment) + + +### Enable Self Account Creation + +To enable self account creation if you already have a Submitty instance setup, manually edit the +`/usr/local/submitty/config/submitty.json` configuration file. By +default, `user_create_account` is set to `false`. To enable it, change +this to `true`. You will also need to add configuration settings for +`"user_id_requirements"`: + + +```json +"user_create_account": true, +"user_id_requirements": { + "any_user_id": true, + "require_name": false, + "min_length": 6, + "max_length": 25, + "name_requirements": { + "given_first": false, + "given_name": 2, + "family_name": 4 + }, + "require_email": false, + "email_requirements": { + "whole_email": false, + "whole_prefix": false, + "prefix_count": 6 + }, + "accepted_emails": [ + "gmail.com" + ] +} +``` + + +### Email and User ID Requirements + + +* If `require_name` is true, then the `user_id` must start with and contain a +certain amount of characters from the given name and/or family name. + +* If the user does not have the character amount for the given part of the name, it will accept shorter usernames. (e.g. James Wo -> woja, and James Joseph -> joseja) + +* `given_first` determines whether the given name or family name must come first. (e.g. Test User -> userte vs teuser) + diff --git a/images/Login_self_account_creation.png b/images/Login_self_account_creation.png new file mode 100644 index 00000000..92e2c0d3 Binary files /dev/null and b/images/Login_self_account_creation.png differ diff --git a/navtreedata.js b/navtreedata.js index 04ce4057..e46bb064 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -179,6 +179,7 @@ var NAVTREE = [ "Course Creation", "/sysadmin/configuration/course_creation", null ], [ "Ansible Course Creation", "/sysadmin/configuration/ansible_course_creation", null ], [ "Setting up Version Control", "/sysadmin/configuration/version_control", null ], + [ "Self Account Creation", "/sysadmin/configuration/self_account_creation", null ], [ "SAML Authentication", "/sysadmin/configuration/saml_authentication", null ], [ "Email Configuration", "/sysadmin/configuration/email_configuration", null ], [ "Registration Feed", "/sysadmin/configuration/registration_feed", null ],