FrontendSiteSettings

class FrontendSiteSettings[source]

The JSON representation of options visible to all users.

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

The default amount of time a step/substep in AutoTest can run. This can be overridden by the teacher.

auto_test_io_test_message: Just[str] | _Nothing[str] = Nothing

Default message for IO Test steps of an AutoTest.

auto_test_io_test_sub_message: Just[str] | _Nothing[str] = Nothing

Default message for IO Test sub-steps of an AutoTest.

auto_test_run_program_message: Just[str] | _Nothing[str] = Nothing

Default message for Run Program steps of an AutoTest.

auto_test_capture_points_message: Just[str] | _Nothing[str] = Nothing

Default message for Capture Points steps of an AutoTest.

auto_test_checkpoint_message: Just[str] | _Nothing[str] = Nothing

Default message for Checkpoint steps of an AutoTest.

auto_test_unit_test_message: Just[str] | _Nothing[str] = Nothing

Default message for Unit Test steps of an AutoTest.

auto_test_code_quality_message: Just[str] | _Nothing[str] = Nothing

Default message for Code Quality steps of an AutoTest.

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.

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

The maximum time a command may run in the build part of AutoTest 2.0.

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

The maximum time a command may run in the test part of AutoTest 2.0. This is also the default value for timeout steps.

code_editor_output_viewer_title: Just[str] | _Nothing[str] = Nothing

Title for the output viewer in the code editor when we run the ATv2 config.

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.

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

The maximum time-delta an exam may take. Increasing this value also increases the maximum amount of time the login tokens send via email are valid. Therefore, you should make this too long.

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

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

The amount of time a reset token is valid. You should not increase this value too much as users might be not be too careful with these tokens. Increasing this value will allow all existing tokens to live longer.

site_email: Just[str] | _Nothing[str] = Nothing

The email shown to users as the email of CodeGrade.

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.

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.

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

The maximum amount of lines that we should in render in one go. If a file contains more lines than this we will show a warning asking the user what to do.

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

The amount of time to wait between two consecutive polls to see if a user has new notifications. Setting this value too low will cause unnecessary stress on the server.

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

What is the maximum amount of time after a release a message should be shown on the HomeGrid. Note: this is the amount of time after the release, not after this instance has been upgraded to this release.

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.

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

The maximum amount of time that the global setup script in AutoTest may take. If it takes longer than this it will be killed and the run will fail.

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

The maximum amount of time that the per student setup script in AutoTest may take. If it takes longer than this it will be killed and the result of the student will be in the state “timed-out”.

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.

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.

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

If enabled teachers can view rubrics on the submissions list page. Here they have the student view version of the rubric as apposed to the editor view in the manage assignment page.

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

Currently unused.

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.

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

Should group assignments be enabled.

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

Should auto test be enabled.

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

Should it be possible for teachers to create links that users can use to register in a course. Links to enroll can be created even if this feature is disabled.

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

Should it be possible to render html files within CodeGrade. This opens up more attack surfaces as it is now possible by design for students to run javascript. This is all done in a sandboxed iframe but still.

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

Should it be possible to email students.

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

Should peer feedback be enabled.

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

Should AT image caching be enabled.

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

Should it be possible to let students pay for a course. Please note that to enable this deploy config needs to be updated, so don’t just enable it.

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.

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

Can students submit using the online editor.

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

Whether the time as detected locally on a user’s computer is corrected by the difference with the time as reported by the backend server.

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.

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

Feedback threads will start collapsed from this depth of the tree.

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

The maximum amount of difference between the server time and the local time before we consider the local time to be out of sync with our servers.

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

The interval at which we request the server time in case it is out of sync with the local time.

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.

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

How many lines of output we will still animate using the collapseable body in ATv2 output viewer.

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

How many steps in the failed state to expand automatically. Set to a negative value to automatically expand all steps.

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.

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.

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

The minimum size of a gradebook before we show a warning that there are so many entries in the gradebook that it may slow down rendering or crash the page.

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

Whether it is possible for teachers to create links for batches of users that can be used to register in a course. Links to enroll can be created even if this feature is disabled.

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

The file size above which users will be shown a warning that parsing the file might cause a slow down in their browser.

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

The amount of errors that occur above which we will ask the user to make sure that the given file is actually a CSV.

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

The maximum age a submission can be before we do not retry subscribing to its result if it cannot be found the first time.

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

Should course id form Canvas be copied through LTI(1.3), and stored in our database or not.

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

Whether the diff viewer should be shown in AutoTest v2 IO Test steps.

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

Whether to allow teachers to provide an URL of a GitHub repo, to be forked by the students when they setup a new repository via the GitHub integration.

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

Whether the community library is enabled and available.

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

Whether it is possible to publish new items to the community library. This feature only has effect when COMMUNITY_LIBRARY is enabled too.

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

Whether quality comments generated by code editor ATv2 runs should be displayed in the editor.

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

Whether during an SSO launch new user are granted their global role based on the SSO launch data.

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

The amount of time that the step will run before its output will automatically uncollapse in the output viewer unless the user has toggled the collapse themselves.

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

Whether to show the assignment description on the submissions page for teachers.

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.

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

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.

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.

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

Whether we hide the rubric row description space in the rubric viewer if the description is empty.

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.

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

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

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

Should we retry passing back grades for group submissions when the passback request failed for some but not all of the group members.

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.

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.

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

Whether the AI assistant in the app has access to tools to retrieve more information through requesting tool use while conversing with a user.

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.

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

Whether assistants can have guardrails configured. When enabled, instructors can select a guardrail level (standard-safety, privacy- protection, or exclusive-educational) for their assistants. When disabled, all assistants use the “off” guardrail setting.

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.

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

Whether to get the first day of the week in calendars from the user’s configured locale. If disabled the first day of the week will default to Sunday.

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

Whether to allow giving inline feedback on quiz questions.

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

Whether to hide the “▶️ Run” button in the editor sidebar when an assignment contains only quizzes with the “Run single questions” feature enabled.

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

Whether we are allowed to display the warning for missing newlines in the code viewer. If we set disable this feature, passing the property to show the warning will be overridden and the warning will never show.

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

Whether the Jupyter Notebook editor is enabled in the Code Editor. Note: after disabling this feature, existing Jupyter Notebooks will still continue to use the Jupyter Notebook editor.

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

Whether the Jupyter Notebook can be run in the Code Editor. Note: Disabling this feature does not prevent Jupyter Notebooks from being viewed. For that, see the JUPYTER_NOTEBOOK_EDITOR_ENABLED site setting.

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

Enables an action while answering a coding question, in the editor, to reset your answer to the question entirely. When triggered, the editor will revert to the starter code and mark the question as unanswered. Use with caution—especially for graded questions—as this could cause permanent loss of work, should the user leave the page before reverting the complete reset.

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

Allow quiz authors to configure a reference solution on coding questions. When enabled, quiz-takers can compare their code against the ATv2 reference implementation. During the quiz, users with permission will see an action on coding questions that reveals the configured solution.

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.

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

Whether to allow teachers to enable single page quizzes. In a single page quiz all questions are rendered below each other on a single, scrollable page.

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

Whether we should show a explanation and regex example for regex match steps.

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

Set to true to use the new student assignment overview introduced in the end of 2025.