AllSiteSettings

class AllSiteSettings[source]

The JSON representation of all options.

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. Note: teachers requesting this feature should be aware that this does not change the grading scale; grades are always “out of 10”. So if the max grade is configured to a value less than 10 students will never be able to achieve full marks for that assignment. The main use case for this feature is to be able to assign bonus points, not change the grading scale.

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_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.

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_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.

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.

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

Should we sync teachers to Hubspot.

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.

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

Whether we are running Codegrade for Pearson specifically. This will: - Enable Pearson template assignments. - Hide grades from students. Rubrics results are still shown however.

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.

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_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.

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.

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.

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

This enables whether we change the role of a user in a course when they launch with a different role than their current one.

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.

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.

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.

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.

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.

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.

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.

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.

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.

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

Whether to send a registration email to new users upon registration. Note: this includes all registrations, also through LTI or SSO.

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.

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

Whether a new user should be created on an SSO login of a user whose username is already taken by another user. The new user will get a (X) suffixed to their username to prevent the username collision, where X is a number. When this is disabled the SSO user logging in will be linked to the user with the same username, if one already exists.

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

Controls which option students will see by default when they have not yet paid for a course. - stripe: pay by credit card (Stripe or Paddle). - coupon: redeem a coupon to get access to the course.