AllSiteSettings

class AllSiteSettings[source]

The JSON representation of all options.

new_auto_test_default_os: Just[Literal['Ubuntu 20.04', 'Ubuntu 24.04']] | _Nothing[Literal['Ubuntu 20.04', 'Ubuntu 24.04']] = Nothing

The default OS that should be used for new ATv2 configurations.

min_password_score: Just[int] | _Nothing[int] = Nothing

The minimum strength passwords by users should have. The higher this value the stronger the password should be. When increasing the strength all users with too weak passwords will be shown a warning on the next login.

max_large_upload_size: Just[int] | _Nothing[int] = Nothing

The maximum size of uploaded files that are mostly uploaded by “trusted” users. Examples of these kind of files include AutoTest fixtures and plagiarism base code.

max_normal_upload_size: Just[int] | _Nothing[int] = Nothing

The maximum total size of uploaded files that are uploaded by normal users. This is also the maximum total size of submissions. Increasing this size might cause a hosting costs to increase.

max_file_size: Just[int] | _Nothing[int] = Nothing

The maximum size of a single file uploaded by normal users. This limit is really here to prevent users from uploading extremely large files which can’t really be downloaded/shown anyway.

jwt_access_token_expires: Just[timedelta] | _Nothing[timedelta] = Nothing

The time a login session is valid. After this amount of time a user will always need to re-authenticate.

sso_username_decollision_enabled: Just[bool] | _Nothing[bool] = Nothing

Whether username decollision - adding a number after the username if it already exists - should be enabled for SSO tenants.

send_registration_email: Just[bool] | _Nothing[bool] = Nothing

Should a registration email be sent to new users upon registration.

lti_1p3_system_role_from_context_role: Just[bool] | _Nothing[bool] = Nothing

Also look at context roles when determining the system role for a new user in LMSes that have an extra_roles_mapping defined in their lms_capabilities.

lti_launch_data_logging: Just[bool] | _Nothing[bool] = Nothing

Enable logging of LTI launch data. NEVER ENABLE THIS SITE-WIDE, only for a single tenant, and disable this feature after you’ve gotten the data you need.

pearson_templates: Just[bool] | _Nothing[bool] = Nothing

Whether or not pearson templates should be enabled.

default_course_teacher_role: Just[Literal['Full Teacher', 'Non-Editing Teacher']] | _Nothing[Literal['Full Teacher', 'Non-Editing Teacher']] = Nothing

The teacher role to be used for teachers in new courses. Existing courses will not be affected.

default_course_ta_role: Just[Literal['Full TA', 'Non-Editing TA']] | _Nothing[Literal['Full TA', 'Non-Editing TA']] = Nothing

The TA role to be used for TAs in new courses. Existing courses will not be affected.

lti_1p3_nonce_and_state_validation_enabled: Just[bool] | _Nothing[bool] = Nothing

Whether LTI 1.3 launches using cookies (and sessions) should check for correct nonce and state. When disabling this feature flag, please be mindful. These validations protect us from certain attacks. If unsure, consult with the Security Officer before disabling.

name_and_email_from_nrps_only: Just[bool] | _Nothing[bool] = Nothing

Do not store names and emails of users, but always retrieve them through NRPS.

hubspot_syncing_enabled: Just[bool] | _Nothing[bool] = Nothing

Should we sync teachers to Hubspot.

is_pearson: Just[bool] | _Nothing[bool] = Nothing

Whether we are running Codegrade for Pearson specifically, flag aligns all the smallest adjustments needed that cannot be made into an actual feature.

lti_role_switching: Just[bool] | _Nothing[bool] = Nothing

This enables if we change the role of a user in a course when a launch is done for a different role than the user currently has.

per_course_payment_allowed: Just[bool] | _Nothing[bool] = Nothing

Controls whether users are also allowed to pay for courses individually. Tenant-wide access passes can always be used if available. If this setting is disabled, purchasing an access pass is the only way to pay for course access. If there are no tenant passes this setting has no influence.

payments_provider: Just[Literal['paddle', 'stripe']] | _Nothing[Literal['paddle', 'stripe']] = Nothing

The payment provider to use for student payments. This should usually be configured at the tenant level, and will make new prices created in that tenant use this provider. Any existing prices and transactions will not be affected.

access_token_modal_warning_time: Just[timedelta] | _Nothing[timedelta] = Nothing

The amount of time before an access token expires when we will show a modal with a warning that the user’s session is about to expire.

access_token_toast_warning_time: Just[timedelta] | _Nothing[timedelta] = Nothing

The amount of time before an access token expires when we will show a toast message warning the user that their session is about to expire.

ai_assistant_enabled: Just[bool] | _Nothing[bool] = Nothing

The main feature flag for all the AI assistant capabilities in codegrade, whether we enable the ai assistant to be inside the app.

assignment_default_grading_scale: Just[Literal['percentage', 'points']] | _Nothing[Literal['percentage', 'points']] = Nothing

The default value for the grading scale of new assignments.

assignment_default_grading_scale_points: Just[Fraction] | _Nothing[Fraction] = Nothing

The default points grading scale points of new assignments.

assignment_max_points_enabled: Just[bool] | _Nothing[bool] = Nothing

Whether the “Max Points” field within the assignment general settings is enabled. If disabled, teachers will not be able to award extra points for assignments.

assignment_percentage_decimals: Just[int] | _Nothing[int] = Nothing

Number of decimals for percentage-based grades in assignments, this also determines which decimal position the grade is rounded to.

assignment_point_decimals: Just[int] | _Nothing[int] = Nothing

Number of decimals for point-based grades in assignments, this also determines which decimal position the grade is rounded to.

assistant_models: Just[Sequence[str]] | _Nothing[Sequence[str]] = Nothing

Which LLM models are allowed to create a new assistant with. Defines the entire list, which means it can also be used to deprecate models by removing them. Beware that adding something to this list does not automatically add support for in the system to actually use the LLM through bedrock. For that we require to set up our deploy config to allow it. Note: The ground truth for which models are actually set up is defined in our app configuration, this simply can be used to disable any model that is configured to no longer allow it. Similarly, adding an unknown model in this list will not suddenly enable it for use.

blackboard_zip_upload_enabled: Just[bool] | _Nothing[bool] = Nothing

If enabled teachers are allowed to bulk upload submissions (and create users) using a zip file in a format created by Blackboard.

code_editor_start_on_assignment_description: Just[bool] | _Nothing[bool] = Nothing

Whether to open the assignment description as the first file in the Code Editor, if the assignment has one, or the first file in the file tree.

default_submission_page_tab: Just[Literal['auto-test', 'code', 'feedback-overview', 'peer-feedback', 'smart']] | _Nothing[Literal['auto-test', 'code', 'feedback-overview', 'peer-feedback', 'smart']] = Nothing

The default tab to select when going to a submission.

display_grades_enabled: Just[bool] | _Nothing[bool] = Nothing

Whether we should show the grades of submissions created within this tenant. This will not hide the rubric results, only the grades. This is meant to be used with LTI providers that apply penalties (for example when handing in late) outside of CodeGrade.

download_editor_files_enabled: Just[bool] | _Nothing[bool] = Nothing

Allows users to download files from those listed in the file tree within the code editor. This includes quizzes, Jupyter Notebooks, images, code and other files which can be viewed as text.

grading_notifications_enabled: Just[bool] | _Nothing[bool] = Nothing

Whether teachers have access to the assignment manager - notifications panel, which gives control over when to send notifications to graders to finish their job, and also allows teachers to provide email(s) to notify when all graders are finished.

hide_code_editor_filetree_controls_with_only_quiz_steps: Just[bool] | _Nothing[bool] = Nothing

Whether we will hide the buttons to add a file and a directory in the code editor, if we have a quiz-only atv2 config.

hide_code_editor_output_viewer_with_only_quiz_steps: Just[bool] | _Nothing[bool] = Nothing

Whether we will hide all of the steps in the code editor sidebar output viewer if we have in a quiz-only atv2 config.

hide_no_deadline_enabled: Just[bool] | _Nothing[bool] = Nothing

Should we hide the “No deadline” message if no deadline or lock date is set.

inline_rubric_viewer_enabled: Just[bool] | _Nothing[bool] = Nothing

Whether the submission rubric viewer uses inline when the tab view does not fit. On the submission page we show the rubric viewer that will allow the teacher to fill in the rubric and the student to view their score in the different categories. With this feature enabled, we calculate whether all of the categories fit on a single line, and otherwise use a dropdown with previous and next buttons to select categories.

login_token_before_time: Just[Sequence[timedelta]] | _Nothing[Sequence[timedelta]] = Nothing

This determines how long before the exam we will send the login emails to the students (only when enabled of course).

lti_lock_date_copying_enabled: Just[bool] | _Nothing[bool] = Nothing

Should the lock date be copied from the LMS through LTI, or should we allow the user to set it in CodeGrade.

max_plagiarism_matches: Just[int] | _Nothing[int] = Nothing

The maximum amount of matches of a plagiarism run that we will store. If there are more matches than this they will be discarded.

new_auto_test_ubuntu_20_04_base_image_ids: Just[Sequence[str]] | _Nothing[Sequence[str]] = Nothing

The base image that should be used for Ubuntu 20.04.

new_auto_test_ubuntu_24_04_base_image_ids: Just[Sequence[str]] | _Nothing[Sequence[str]] = Nothing

The base image that should be used for Ubuntu 24.04.

prompt_engineering_step_enabled: Just[bool] | _Nothing[bool] = Nothing

The main feature flag for the ATv2 prompt engineering step. If enabled the step will be available within the AutoTestv2 editor.

quiz_minimum_questions_for_dropdown: Just[int] | _Nothing[int] = Nothing

The minimum number of questions a quiz needs in order to display a dropdown of all questions.

register_enabled: Just[bool] | _Nothing[bool] = Nothing

Should it be possible to register on the website. This makes it possible for any body to register an account on the website.

simple_submission_navigate_to_latest_editor_session: Just[bool] | _Nothing[bool] = Nothing

Whether we update the simple submission mode navigation to check if we have an editor session which is later than the submission when we launch the assignment. This feature is only available when the simple submission mode is enabled. Be mindful of turning this on when the tenant uses deadlines.

student_payment_main_option: Just[Literal['coupon', 'stripe']] | _Nothing[Literal['coupon', 'stripe']] = Nothing

Define what will be shown as the main option for student payment, the default will show stripe as the main payment option.