Skip to content

[Feature:System] Add Self Account Creation docs #657

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 10 commits into from
Jul 28, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions _docs/instructor/course_management/managing_enrollment.md
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
13 changes: 11 additions & 2 deletions _docs/student/account/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand Down
59 changes: 59 additions & 0 deletions _docs/sysadmin/configuration/self_account_creation.md
Original file line number Diff line number Diff line change
@@ -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)

Binary file added images/Login_self_account_creation.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions navtreedata.js
Original file line number Diff line number Diff line change
Expand Up @@ -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 ],
Expand Down
Loading