-
Notifications
You must be signed in to change notification settings - Fork 3.9k
/
common.py
5569 lines (4785 loc) · 221 KB
/
common.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
"""
This is the common settings file, intended to set sane defaults.
If you wish to override some of the settings set here without needing to specify
everything, you should create a new settings file that imports the content of this
one and then overrides anything you wish to make overridable.
Some known files that extend this one:
- `production.py` - This file loads overrides from a yaml settings file and uses that
to override the settings set in this file.
Conventions
-----------
1. Extending a List Setting
Sometimes settings take the form of a list and rather than replacing the
whole list, we want to add items to the list. eg. CELERY_IMPORTS.
In this case, it is recommended that a new variable created in your extended
file that contains the word `EXTRA` and enough of the base variable to easily
let people map between the two items.
Examples:
- CELERY_EXTRA_IMPORTS (preferred format)
- EXTRA_MIDDLEWARE_CLASSES
- XBLOCK_EXTRA_MIXINS (preferred format)
The preferred format for the name of the new setting (e.g. `CELERY_EXTRA_IMPORTS`) is to use
the same prefix (e.g. `CELERY`) of the setting that is being appended (e.g. `CELERY_IMPORTS`).
"""
# We intentionally define lots of variables that aren't used
# pylint: disable=unused-import
# Pylint gets confused by path.py instances, which report themselves as class
# objects. As a result, pylint applies the wrong regex in validating names,
# and throws spurious errors. Therefore, we disable invalid-name checking.
# pylint: disable=invalid-name
import importlib.util
import sys
import os
import django
from corsheaders.defaults import default_headers as corsheaders_default_headers
from path import Path as path
from django.utils.translation import gettext_lazy as _
from enterprise.constants import (
ENTERPRISE_ADMIN_ROLE,
ENTERPRISE_LEARNER_ROLE,
ENTERPRISE_CATALOG_ADMIN_ROLE,
ENTERPRISE_DASHBOARD_ADMIN_ROLE,
ENTERPRISE_ENROLLMENT_API_ADMIN_ROLE,
ENTERPRISE_FULFILLMENT_OPERATOR_ROLE,
ENTERPRISE_REPORTING_CONFIG_ADMIN_ROLE,
ENTERPRISE_SSO_ORCHESTRATOR_OPERATOR_ROLE,
ENTERPRISE_OPERATOR_ROLE,
SYSTEM_ENTERPRISE_PROVISIONING_ADMIN_ROLE,
PROVISIONING_ENTERPRISE_CUSTOMER_ADMIN_ROLE,
PROVISIONING_PENDING_ENTERPRISE_CUSTOMER_ADMIN_ROLE,
DEFAULT_ENTERPRISE_ENROLLMENT_INTENTIONS_ROLE,
)
from openedx.core.constants import COURSE_KEY_REGEX, COURSE_KEY_PATTERN, COURSE_ID_PATTERN
from openedx.core.djangoapps.theming.helpers_dirs import (
get_themes_unchecked,
get_theme_base_dirs_from_settings
)
from openedx.core.lib.derived import derived, derived_collection_entry
from openedx.core.release import doc_version
from lms.djangoapps.lms_xblock.mixin import LmsBlockMixin
################################### FEATURES ###################################
# .. setting_name: PLATFORM_NAME
# .. setting_default: Your Platform Name Here
# .. setting_description: The display name of the platform to be used in
# templates/emails/etc.
PLATFORM_NAME = _('Your Platform Name Here')
PLATFORM_DESCRIPTION = _('Your Platform Description Here')
CC_MERCHANT_NAME = PLATFORM_NAME
PLATFORM_FACEBOOK_ACCOUNT = "http://www.facebook.com/YourPlatformFacebookAccount"
PLATFORM_TWITTER_ACCOUNT = "@YourPlatformTwitterAccount"
ENABLE_JASMINE = False
LMS_ROOT_URL = 'https://localhost:18000'
LMS_INTERNAL_ROOT_URL = LMS_ROOT_URL
LMS_ENROLLMENT_API_PATH = "/api/enrollment/v1/"
# List of logout URIs for each IDA that the learner should be logged out of when they logout of the LMS. Only applies to
# IDA for which the social auth flow uses DOT (Django OAuth Toolkit).
IDA_LOGOUT_URI_LIST = []
# Features
FEATURES = {
# .. toggle_name: FEATURES['DISPLAY_DEBUG_INFO_TO_STAFF']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Add a "Staff Debug" button to course blocks for debugging
# by course staff.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-09-04
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/2425
'DISPLAY_DEBUG_INFO_TO_STAFF': True,
# .. toggle_name: FEATURES['DISPLAY_HISTOGRAMS_TO_STAFF']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: This displays histograms in the Staff Debug Info panel to course staff.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-02-13
# .. toggle_warning: Generating histograms requires scanning the courseware_studentmodule table on each view. This
# can make staff access to courseware very slow on large courses.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/2425
'DISPLAY_HISTOGRAMS_TO_STAFF': False, # For large courses this slows down courseware access for staff.
'REROUTE_ACTIVATION_EMAIL': False, # nonempty string = address for all activation emails
# .. toggle_name: FEATURES['DISABLE_START_DATES']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When True, all courses will be active, regardless of start
# date.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2012-07-24
# .. toggle_warning: This will cause ALL courses to be immediately visible.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/17913
## DO NOT SET TO True IN THIS FILE
## Doing so will cause all courses to be released on production
'DISABLE_START_DATES': False,
# .. toggle_name: FEATURES['ENABLE_DISCUSSION_SERVICE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: When True, it will enable the Discussion tab in courseware for all courses. Setting this
# to False will not contain inline discussion components and discussion tab in any courses.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2012-08-14
# .. toggle_warning: If the discussion panel is present in the course and the value for this flag is False then,
# attempting to expand those components will cause errors. So, this should only be set to False with an LMS that
# is running courses that do not contain discussion components.
# For consistency in user-experience, keep the value in sync with the setting of the same name in the CMS.
'ENABLE_DISCUSSION_SERVICE': True,
# .. toggle_name: FEATURES['ENABLE_TEXTBOOK']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Add PDF and HTML textbook tabs to the courseware.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-03-27
# .. toggle_warning: For consistency in user-experience, keep the value in sync with the setting of the same name
# in the CMS.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/3064
'ENABLE_TEXTBOOK': True,
# .. toggle_name: FEATURES['ENABLE_DISCUSSION_HOME_PANEL']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Hides or displays a welcome panel under the Discussion tab, which includes a subscription
# on/off setting for discussion digest emails.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-07-30
# .. toggle_warning: This should remain off in production until digest notifications are online.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/520
'ENABLE_DISCUSSION_HOME_PANEL': False,
# .. toggle_name: FEATURES['ENABLE_DISCUSSION_EMAIL_DIGEST']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set this to True if you want the discussion digest emails
# enabled automatically for new users. This will be set on all new account
# registrations.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-08-19
# .. toggle_target_removal_date: None
# .. toggle_warning: It is not recommended to enable this feature if ENABLE_DISCUSSION_HOME_PANEL is not enabled,
# since subscribers who receive digests in that case will only be able to unsubscribe via links embedded in
# their emails, and they will have no way to resubscribe.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/4891
'ENABLE_DISCUSSION_EMAIL_DIGEST': False,
# .. toggle_name: FEATURES['ENABLE_UNICODE_USERNAME']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set this to True to allow unicode characters in username. Enabling this will also
# automatically enable SOCIAL_AUTH_CLEAN_USERNAMES. When this is enabled, usernames will have to match the
# regular expression defined by USERNAME_REGEX_PARTIAL.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-06-27
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/14729
'ENABLE_UNICODE_USERNAME': False,
# .. toggle_name: FEATURES['ENABLE_DJANGO_ADMIN_SITE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Set to False if you want to disable Django's admin site.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-09-26
# .. toggle_warning: It is not recommended to disable this feature as there are many settings available on
# Django's admin site and will be inaccessible to the superuser.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/829
'ENABLE_DJANGO_ADMIN_SITE': True,
'ENABLE_LMS_MIGRATION': False,
# .. toggle_name: FEATURES['ENABLE_MASQUERADE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: None
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-04-13
'ENABLE_MASQUERADE': True,
# .. toggle_name: FEATURES['DISABLE_LOGIN_BUTTON']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Removes the display of the login button in the navigation bar.
# Change is only at the UI level. Used in systems where login is automatic, eg MIT SSL
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-12-03
'DISABLE_LOGIN_BUTTON': False,
# .. toggle_name: FEATURES['ENABLE_OAUTH2_PROVIDER']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Enable this feature to allow this Open edX platform to be an OAuth2 authentication
# provider. This is necessary to enable some other features, such as the REST API for the mobile application.
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2014-09-09
# .. toggle_target_removal_date: None
# .. toggle_warning: This temporary feature toggle does not have a target removal date.
'ENABLE_OAUTH2_PROVIDER': False,
# .. toggle_name: FEATURES['ENABLE_XBLOCK_VIEW_ENDPOINT']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Enable an API endpoint, named "xblock_view", to serve rendered XBlock views. This might be
# used by external applications. See for instance jquery-xblock (now unmaintained):
# https://github.com/openedx/jquery-xblock
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-03-14
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/2968
'ENABLE_XBLOCK_VIEW_ENDPOINT': False,
# Allows to configure the LMS to provide CORS headers to serve requests from other
# domains
'ENABLE_CORS_HEADERS': False,
# Can be turned off if course lists need to be hidden. Effects views and templates.
# .. toggle_name: FEATURES['COURSES_ARE_BROWSABLE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: When this is set to True, all the courses will be listed on the /courses page and Explore
# Courses link will be visible. Set to False if courses list and Explore Courses link need to be hidden.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-09-28
# .. toggle_warning: This Effects views and templates.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/1073
'COURSES_ARE_BROWSABLE': True,
# Can be turned off to disable the help link in the navbar
# .. toggle_name: FEATURES['ENABLE_HELP_LINK']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: When True, a help link is displayed on the main navbar. Set False to hide it.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2021-03-05
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/26106
'ENABLE_HELP_LINK': True,
# .. toggle_name: FEATURES['HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When set, it hides the Courses list on the Learner Dashboard page if the learner has not
# yet activated the account and not enrolled in any courses.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2018-05-18
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1814
'HIDE_DASHBOARD_COURSES_UNTIL_ACTIVATED': False,
# .. toggle_name: FEATURES['ENABLE_STUDENT_HISTORY_VIEW']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: This provides a UI to show a student's submission history in a problem by the Staff Debug
# tool. Set to False if you want to hide Submission History from the courseware page.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-02-15
# .. toggle_tickets: https://github.com/openedx/edx-platform/commit/8f17e6ae9ed76fa75b3caf867b65ccb632cb6870
'ENABLE_STUDENT_HISTORY_VIEW': True,
# Turn on a page that lets staff enter Python code to be run in the
# sandbox, for testing whether it's enabled properly.
'ENABLE_DEBUG_RUN_PYTHON': False,
# Enable URL that shows information about the status of various services
'ENABLE_SERVICE_STATUS': False,
# Don't autoplay videos for students
'AUTOPLAY_VIDEOS': False,
# Move the student to next page when a video finishes. Set to True to show
# an auto-advance button in videos. If False, videos never auto-advance.
'ENABLE_AUTOADVANCE_VIDEOS': False,
# Enable instructor dash to submit background tasks
'ENABLE_INSTRUCTOR_BACKGROUND_TASKS': True,
# Enable instructor to assign individual due dates
# Note: In order for this feature to work, you must also add
# 'lms.djangoapps.courseware.student_field_overrides.IndividualStudentOverrideProvider' to
# the setting FIELD_OVERRIDE_PROVIDERS, in addition to setting this flag to
# True.
'INDIVIDUAL_DUE_DATES': False,
# .. toggle_name: CUSTOM_COURSES_EDX
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to enable Custom Courses for edX, a feature that is more commonly known as
# CCX. Documentation for configuring and using this feature is available at
# https://edx.readthedocs.io/projects/open-edx-ca/en/latest/set_up_course/custom_courses.html
# .. toggle_warning: When set to true, 'lms.djangoapps.ccx.overrides.CustomCoursesForEdxOverrideProvider' will
# be added to MODULESTORE_FIELD_OVERRIDE_PROVIDERS
# .. toggle_use_cases: opt_in, circuit_breaker
# .. toggle_creation_date: 2015-04-10
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/6636
'CUSTOM_COURSES_EDX': False,
# Toggle to enable certificates of courses on dashboard
'ENABLE_VERIFIED_CERTIFICATES': False,
# Settings for course import olx validation
'ENABLE_COURSE_OLX_VALIDATION': False,
# .. toggle_name: FEATURES['DISABLE_HONOR_CERTIFICATES']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to disable honor certificates. Typically used when your installation only
# allows verified certificates, like courses.edx.org.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2019-05-14
# .. toggle_tickets: https://openedx.atlassian.net/browse/PROD-269
'DISABLE_HONOR_CERTIFICATES': False, # Toggle to disable honor certificates
'DISABLE_AUDIT_CERTIFICATES': False, # Toggle to disable audit certificates
# .. toggle_name: FEATURES['AUTOMATIC_AUTH_FOR_TESTING']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to perform acceptance and load test. Auto auth view is responsible for load
# testing and is controlled by this feature flag. Session verification (of CacheBackedAuthenticationMiddleware)
# is a security feature, but it can be turned off by enabling this feature flag.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-07-25
# .. toggle_warning: If this has been set to True then the account activation email will be skipped.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/417
'AUTOMATIC_AUTH_FOR_TESTING': False,
# .. toggle_name: FEATURES['RESTRICT_AUTOMATIC_AUTH']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Prevent auto auth from creating superusers or modifying existing users. Auto auth is a
# mechanism where superusers can simply modify attributes of other users by accessing the "/auto_auth url" with
# the right
# querystring parameters.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2018-05-07
# .. toggle_tickets: https://openedx.atlassian.net/browse/TE-2545
'RESTRICT_AUTOMATIC_AUTH': True,
# .. toggle_name: FEATURES['ENABLE_LOGIN_MICROFRONTEND']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Enable the login micro frontend.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2018-05-07
# .. toggle_warning: The login MFE domain name should be listed in LOGIN_REDIRECT_WHITELIST.
'ENABLE_LOGIN_MICROFRONTEND': False,
# .. toggle_name: FEATURES['SKIP_EMAIL_VALIDATION']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Turn this on to skip sending emails for user validation.
# Beware, as this leaves the door open to potential spam abuse.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2018-05-07
# .. toggle_warning: The login MFE domain name should be listed in LOGIN_REDIRECT_WHITELIST.
'SKIP_EMAIL_VALIDATION': False,
# .. toggle_name: FEATURES['ENABLE_COSMETIC_DISPLAY_PRICE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Enable the display of "cosmetic_display_price", set in a course advanced settings. This
# cosmetic price is used when there is no registration price associated to the course.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-10-10
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/6876
# .. toggle_warning: The use case of this feature toggle is uncertain.
'ENABLE_COSMETIC_DISPLAY_PRICE': False,
# Automatically approve student identity verification attempts
# .. toggle_name: FEATURES['AUTOMATIC_VERIFY_STUDENT_IDENTITY_FOR_TESTING']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: If set to True, then we want to skip posting anything to Software Secure. Bypass posting
# anything to Software Secure if the auto verify feature for testing is enabled. We actually don't even create
# the message because that would require encryption and message signing that rely on settings.VERIFY_STUDENT
# values that aren't set in dev. So we just pretend like we successfully posted and automatically approve student
# identity verification attempts.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2013-10-03
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/1184
'AUTOMATIC_VERIFY_STUDENT_IDENTITY_FOR_TESTING': False,
# Maximum number of rows to include in the csv file for downloading problem responses.
'MAX_PROBLEM_RESPONSES_COUNT': 5000,
'ENABLED_PAYMENT_REPORTS': [
"refund_report",
"itemized_purchase_report",
"university_revenue_share",
"certificate_status"
],
# Turn off account locking if failed login attempts exceeds a limit
# .. toggle_name: FEATURES['ENABLE_MAX_FAILED_LOGIN_ATTEMPTS']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: This feature will keep track of the number of failed login attempts on a given user's
# email. If the number of consecutive failed login attempts - without a successful login at some point - reaches
# a configurable threshold (default 6), then the account will be locked for a configurable amount of seconds
# (30 minutes) which will prevent additional login attempts until this time period has passed. If a user
# successfully logs in, all the counter which tracks the number of failed attempts will be reset back to 0. If
# set to False then account locking will be disabled for failed login attempts.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-01-30
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/2331
'ENABLE_MAX_FAILED_LOGIN_ATTEMPTS': True,
# Hide any Personally Identifiable Information from application logs
'SQUELCH_PII_IN_LOGS': True,
# .. toggle_name: FEATURES['EMBARGO']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Turns on embargo functionality, which blocks users from
# the site or courses based on their location. Embargo can restrict users by states
# and whitelist/blacklist (IP Addresses (ie. 10.0.0.0), Networks (ie. 10.0.0.0/24)), or the user profile country.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-02-27
# .. toggle_target_removal_date: None
# .. toggle_warning: reverse proxy should be configured appropriately for example Client IP address headers
# (e.g HTTP_X_FORWARDED_FOR) should be configured.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/2749
'EMBARGO': False,
# Whether the Wiki subsystem should be accessible via the direct /wiki/ paths. Setting this to True means
# that people can submit content and modify the Wiki in any arbitrary manner. We're leaving this as True in the
# defaults, so that we maintain current behavior
'ALLOW_WIKI_ROOT_ACCESS': True,
# .. toggle_name: FEATURES['ENABLE_THIRD_PARTY_AUTH']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Turn on third-party auth. Disabled for now because full implementations are not yet
# available. Remember to run migrations if you enable this; we don't create tables by default. This feature can
# be enabled on a per-site basis. When enabling this feature, remember to define the allowed authentication
# backends with the AUTHENTICATION_BACKENDS setting.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-09-15
'ENABLE_THIRD_PARTY_AUTH': False,
# .. toggle_name: FEATURES['ENABLE_MKTG_SITE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Toggle to enable alternate urls for marketing links.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-03-24
# .. toggle_warning: When this is enabled, the MKTG_URLS setting should be defined. The use case of this feature
# toggle is uncertain.
'ENABLE_MKTG_SITE': False,
# Prevent concurrent logins per user
'PREVENT_CONCURRENT_LOGINS': True,
# .. toggle_name: FEATURES['ALWAYS_REDIRECT_HOMEPAGE_TO_DASHBOARD_FOR_AUTHENTICATED_USER']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: When a logged in user goes to the homepage ('/') the user will be redirected to the
# dashboard page when this flag is set to True - this is default Open edX behavior. Set to False to not redirect
# the user.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2014-09-16
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/5220
'ALWAYS_REDIRECT_HOMEPAGE_TO_DASHBOARD_FOR_AUTHENTICATED_USER': True,
# .. toggle_name: FEATURES['ENABLE_COURSE_SORTING_BY_START_DATE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: When a user goes to the homepage ('/') the user sees the courses listed in the
# announcement dates order - this is default Open edX behavior. Set to True to change the course sorting behavior
# by their start dates, latest first.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-03-27
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/7548
'ENABLE_COURSE_SORTING_BY_START_DATE': True,
# .. toggle_name: FEATURES['ENABLE_COURSE_HOME_REDIRECT']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: When enabled, along with the ENABLE_MKTG_SITE feature toggle, users who attempt to access a
# course "about" page will be redirected to the course home url.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2019-01-15
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/19604
'ENABLE_COURSE_HOME_REDIRECT': True,
# Expose Mobile REST API. Note that if you use this, you must also set
# ENABLE_OAUTH2_PROVIDER to True
'ENABLE_MOBILE_REST_API': False,
# .. toggle_name: FEATURES['ENABLE_COMBINED_LOGIN_REGISTRATION_FOOTER']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Display the standard footer in the login page. This feature can be overridden by a site-
# specific configuration.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2016-06-24
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1320
'ENABLE_COMBINED_LOGIN_REGISTRATION_FOOTER': False,
# Enable organizational email opt-in
'ENABLE_MKTG_EMAIL_OPT_IN': False,
# .. toggle_name: FEATURES['ENABLE_FOOTER_MOBILE_APP_LINKS']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True if you want show the mobile app links (Apple App Store & Google Play Store) in
# the footer.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-01-13
# .. toggle_warning: If you set this to True then you should also set your mobile application's app store and play
# store URLs in the MOBILE_STORE_URLS settings dictionary. These links are not part of the default theme. If you
# want these links on your footer then you should use the edx.org theme.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/6588
'ENABLE_FOOTER_MOBILE_APP_LINKS': False,
# Let students save and manage their annotations
# .. toggle_name: FEATURES['ENABLE_EDXNOTES']
# .. toggle_implementation: SettingToggle
# .. toggle_default: False
# .. toggle_description: This toggle enables the students to save and manage their annotations in the
# course using the notes service. The bulk of the actual work in storing the notes is done by
# a separate service (see the edx-notes-api repo).
# .. toggle_warning: Requires the edx-notes-api service properly running and to have configured the django settings
# EDXNOTES_INTERNAL_API and EDXNOTES_PUBLIC_API. If you update this setting, also update it in Studio.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-01-04
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/6321
'ENABLE_EDXNOTES': False,
# Toggle to enable coordination with the Publisher tool (keep in sync with cms/envs/common.py)
'ENABLE_PUBLISHER': False,
# Milestones application flag
'MILESTONES_APP': False,
# Prerequisite courses feature flag
'ENABLE_PREREQUISITE_COURSES': False,
# For easily adding modes to courses during acceptance testing
'MODE_CREATION_FOR_TESTING': False,
# For caching programs in contexts where the LMS can only
# be reached over HTTP.
'EXPOSE_CACHE_PROGRAMS_ENDPOINT': False,
# Courseware search feature
# .. toggle_name: FEATURES['ENABLE_COURSEWARE_SEARCH']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When enabled, this adds a Search the course widget on the course outline and courseware
# pages for searching courseware data.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-01-29
# .. toggle_warning: In order to get this working, your courses data should be indexed in Elasticsearch. You will
# see the search widget on the courseware page only if the DISABLE_COURSE_OUTLINE_PAGE_FLAG is set.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/6506
'ENABLE_COURSEWARE_SEARCH': False,
# .. toggle_name: FEATURES['ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When enabled, this adds a Search the course widget on the course outline and courseware
# pages for searching courseware data but for course staff users only.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2019-12-06
# .. toggle_warning: In order to get this working, your courses data should be indexed in Elasticsearch. If
# ENABLE_COURSEWARE_SEARCH is enabled then the search widget will be visible to all learners and this flag's
# value does not matter in that case. This flag is enabled in devstack by default.
# .. toggle_tickets: https://openedx.atlassian.net/browse/TNL-6931
'ENABLE_COURSEWARE_SEARCH_FOR_COURSE_STAFF': False,
# Dashboard search feature
# .. toggle_name: FEATURES['ENABLE_DASHBOARD_SEARCH']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When enabled, this adds a Search Your Courses widget on the dashboard page for searching
# courseware data.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-01-29
# .. toggle_warning: In order to get this working, your courses data should be indexed in Elasticsearch.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/6506
'ENABLE_DASHBOARD_SEARCH': False,
# log all information from cybersource callbacks
'LOG_POSTPAY_CALLBACKS': True,
# .. toggle_name: FEATURES['LICENSING']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Toggle platform-wide course licensing. The course.license attribute is then used to append
# license information to the courseware.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-05-14
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/7315
'LICENSING': False,
# .. toggle_name: FEATURES['CERTIFICATES_HTML_VIEW']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to enable course certificates on your instance of Open edX.
# .. toggle_warning: You must enable this feature flag in both Studio and the LMS and complete the configuration tasks
# described here:
# https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/enable_certificates.html pylint: disable=line-too-long,useless-suppression
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-03-13
# .. toggle_target_removal_date: None
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/7113
'CERTIFICATES_HTML_VIEW': False,
# .. toggle_name: FEATURES['CUSTOM_CERTIFICATE_TEMPLATES_ENABLED']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to enable custom certificate templates which are configured via Django admin.
# .. toggle_warning: None
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-08-13
# .. toggle_target_removal_date: None
# .. toggle_tickets: https://openedx.atlassian.net/browse/SOL-1044
'CUSTOM_CERTIFICATE_TEMPLATES_ENABLED': False,
# .. toggle_name: FEATURES['ENABLE_COURSE_DISCOVERY']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Add a course search widget to the LMS for searching courses. When this is enabled, the
# latest courses are no longer displayed on the LMS landing page. Also, an "Explore Courses" item is added to the
# navbar.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-04-23
# .. toggle_target_removal_date: None
# .. toggle_warning: The COURSE_DISCOVERY_MEANINGS setting should be properly defined.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/7845
'ENABLE_COURSE_DISCOVERY': False,
# .. toggle_name: FEATURES['ENABLE_COURSE_FILENAME_CCX_SUFFIX']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: If set to True, CCX ID will be included in the generated filename for CCX courses.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2021-03-16
# .. toggle_target_removal_date: None
# .. toggle_tickets: None
# .. toggle_warning: Turning this feature ON will affect all generated filenames which are related to CCX courses.
'ENABLE_COURSE_FILENAME_CCX_SUFFIX': False,
# Setting for overriding default filtering facets for Course discovery
# COURSE_DISCOVERY_FILTERS = ["org", "language", "modes"]
# Software secure fake page feature flag
'ENABLE_SOFTWARE_SECURE_FAKE': False,
# Teams feature
'ENABLE_TEAMS': True,
# Show video bumper in LMS
'ENABLE_VIDEO_BUMPER': False,
# How many seconds to show the bumper again, default is 7 days:
'SHOW_BUMPER_PERIODICITY': 7 * 24 * 3600,
# .. toggle_name: FEATURES['ENABLE_SPECIAL_EXAMS']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Enable to use special exams, aka timed and proctored exams.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-09-04
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/9744
'ENABLE_SPECIAL_EXAMS': False,
# .. toggle_name: FEATURES['ENABLE_LTI_PROVIDER']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When set to True, Open edX site can be used as an LTI Provider to other systems
# and applications.
# .. toggle_warning: After enabling this feature flag there are multiple steps involved to configure edX
# as LTI provider. Full guide is available here:
# https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/lti/index.html
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2015-04-24
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/7689
'ENABLE_LTI_PROVIDER': False,
# .. toggle_name: FEATURES['SHOW_HEADER_LANGUAGE_SELECTOR']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When set to True, language selector will be visible in the header.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-05-25
# .. toggle_warning: You should set the languages in the DarkLangConfig table to get this working. If you have
# not set any languages in the DarkLangConfig table then the language selector will not be visible in the header.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/15133
'SHOW_HEADER_LANGUAGE_SELECTOR': False,
# At edX it's safe to assume that English transcripts are always available
# This is not the case for all installations.
# The default value in {lms,cms}/envs/common.py and xmodule/tests/test_video.py should be consistent.
'FALLBACK_TO_ENGLISH_TRANSCRIPTS': True,
# .. toggle_name: FEATURES['SHOW_FOOTER_LANGUAGE_SELECTOR']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When set to True, language selector will be visible in the footer.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-05-25
# .. toggle_warning: LANGUAGE_COOKIE_NAME is required to use footer-language-selector, set it if it has not been set.
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/15133
'SHOW_FOOTER_LANGUAGE_SELECTOR': False,
# .. toggle_name: FEATURES['ENABLE_CSMH_EXTENDED']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Write Courseware Student Module History (CSMH) to the extended table: this logs all
# student activities to MySQL, in a separate database.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2020-11-05
# .. toggle_warning: Even though most Open edX instances run with a separate CSMH database, it may not always be
# the case. When disabling this feature flag, remember to remove "lms.djangoapps.coursewarehistoryextended"
# from the INSTALLED_APPS and the "StudentModuleHistoryExtendedRouter" from the DATABASE_ROUTERS.
'ENABLE_CSMH_EXTENDED': True,
# Read from both the CSMH and CSMHE history tables.
# This is the default, but can be disabled if all history
# lives in the Extended table, saving the frontend from
# making multiple queries.
'ENABLE_READING_FROM_MULTIPLE_HISTORY_TABLES': True,
# Set this to False to facilitate cleaning up invalid xml from your modulestore.
'ENABLE_XBLOCK_XML_VALIDATION': True,
# .. toggle_name: FEATURES['ALLOW_PUBLIC_ACCOUNT_CREATION']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Allow public account creation. If this is disabled, users will no longer have access to
# the signup page.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-04-12
# .. toggle_tickets: https://openedx.atlassian.net/browse/YONK-513
'ALLOW_PUBLIC_ACCOUNT_CREATION': True,
# .. toggle_name: FEATURES['SHOW_REGISTRATION_LINKS']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Allow registration links. If this is disabled, users will no longer see buttons to the
# the signup page.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2023-03-27
'SHOW_REGISTRATION_LINKS': True,
# .. toggle_name: FEATURES['ENABLE_COOKIE_CONSENT']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Enable header banner for cookie consent using this service:
# https://cookieconsent.insites.com/
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-03-03
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1560
'ENABLE_COOKIE_CONSENT': False,
# Whether or not the dynamic EnrollmentTrackUserPartition should be registered.
'ENABLE_ENROLLMENT_TRACK_USER_PARTITION': True,
# Enable one click program purchase
# See LEARNER-493
'ENABLE_ONE_CLICK_PROGRAM_PURCHASE': False,
# .. toggle_name: FEATURES['ALLOW_EMAIL_ADDRESS_CHANGE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Allow users to change their email address on the Account Settings page. If this is
# disabled, users will not be able to change their email address.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-06-26
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1735
'ALLOW_EMAIL_ADDRESS_CHANGE': True,
# .. toggle_name: FEATURES['ENABLE_BULK_ENROLLMENT_VIEW']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When set to True the bulk enrollment view is enabled and one can use it to enroll multiple
# users in a course using bulk enrollment API endpoint (/api/bulk_enroll/v1/bulk_enroll).
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-07-15
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/15006
'ENABLE_BULK_ENROLLMENT_VIEW': False,
# Set to enable Enterprise integration
'ENABLE_ENTERPRISE_INTEGRATION': False,
# .. toggle_name: FEATURES['ENABLE_HTML_XBLOCK_STUDENT_VIEW_DATA']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Whether HTML Block returns HTML content with the Course Blocks API when the API
# is called with student_view_data=html query parameter.
# .. toggle_warning: Because the Course Blocks API caches its data, the cache must be cleared (e.g. by
# re-publishing the course) for changes to this flag to take effect.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-08-28
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1880
'ENABLE_HTML_XBLOCK_STUDENT_VIEW_DATA': False,
# .. toggle_name: FEATURES['ENABLE_PASSWORD_RESET_FAILURE_EMAIL']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Whether to send an email for failed password reset attempts or not. This happens when a
# user asks for a password reset but they don't have an account associated to their email. This is useful for
# notifying users that they don't have an account associated with email addresses they believe they've registered
# with. This setting can be overridden by a site-specific configuration.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2017-07-20
# .. toggle_tickets: https://openedx.atlassian.net/browse/OSPR-1832
'ENABLE_PASSWORD_RESET_FAILURE_EMAIL': False,
# Sets the default browser support. For more information go to http://browser-update.org/customize.html
'UNSUPPORTED_BROWSER_ALERT_VERSIONS': "{i:10,f:-3,o:-3,s:-3,c:-3}",
# .. toggle_name: FEATURES['ENABLE_ACCOUNT_DELETION']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: True
# .. toggle_description: Whether to display the account deletion section on Account Settings page. Set to False to
# hide this section.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2018-06-01
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/18298
'ENABLE_ACCOUNT_DELETION': True,
# Enable feature to remove enrollments and users. Used to reset state of master's integration environments
'ENABLE_ENROLLMENT_RESET': False,
'DISABLE_MOBILE_COURSE_AVAILABLE': False,
# .. toggle_name: FEATURES['ENABLE_CHANGE_USER_PASSWORD_ADMIN']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to enable changing a user password through django admin. This is disabled by
# default because enabling allows a method to bypass password policy.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2020-02-21
# .. toggle_tickets: 'https://github.com/openedx/edx-platform/pull/21616'
'ENABLE_CHANGE_USER_PASSWORD_ADMIN': False,
# .. toggle_name: FEATURES['ENABLE_AUTHN_MICROFRONTEND']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Supports staged rollout of a new micro-frontend-based implementation of the logistration.
# .. toggle_use_cases: temporary, open_edx
# .. toggle_creation_date: 2020-09-08
# .. toggle_target_removal_date: None
# .. toggle_tickets: 'https://github.com/openedx/edx-platform/pull/24908'
# .. toggle_warning: Also set settings.AUTHN_MICROFRONTEND_URL for rollout. This temporary feature
# toggle does not have a target removal date.
'ENABLE_AUTHN_MICROFRONTEND': os.environ.get("EDXAPP_ENABLE_AUTHN_MFE", False),
### ORA Feature Flags ###
# .. toggle_name: FEATURES['ENABLE_ORA_ALL_FILE_URLS']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: A "work-around" feature toggle meant to help in cases where some file uploads are not
# discoverable. If enabled, will iterate through all possible file key suffixes up to the max for displaying
# file metadata in staff assessments.
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2020-03-03
# .. toggle_target_removal_date: None
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
# .. toggle_warning: This temporary feature toggle does not have a target removal date.
'ENABLE_ORA_ALL_FILE_URLS': False,
# .. toggle_name: FEATURES['ENABLE_ORA_USER_STATE_UPLOAD_DATA']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: A "work-around" feature toggle meant to help in cases where some file uploads are not
# discoverable. If enabled, will pull file metadata from StudentModule.state for display in staff assessments.
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2020-03-03
# .. toggle_target_removal_date: None
# .. toggle_tickets: https://openedx.atlassian.net/browse/EDUCATOR-4951
# .. toggle_warning: This temporary feature toggle does not have a target removal date.
'ENABLE_ORA_USER_STATE_UPLOAD_DATA': False,
# .. toggle_name: FEATURES['ENABLE_ORA_USERNAMES_ON_DATA_EXPORT']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to add deanonymized usernames to ORA data
# report.
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2020-06-11
# .. toggle_target_removal_date: None
# .. toggle_tickets: https://openedx.atlassian.net/browse/TNL-7273
# .. toggle_warning: This temporary feature toggle does not have a target removal date.
'ENABLE_ORA_USERNAMES_ON_DATA_EXPORT': False,
# .. toggle_name: FEATURES['ENABLE_COURSE_ASSESSMENT_GRADE_CHANGE_SIGNAL']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to start sending signals for assessment level grade updates. Notably, the only
# handler of this signal at the time of this writing sends assessment updates to enterprise integrated channels.
# .. toggle_use_cases: temporary
# .. toggle_creation_date: 2020-12-09
# .. toggle_target_removal_date: 2021-02-01
# .. toggle_tickets: https://openedx.atlassian.net/browse/ENT-3818
'ENABLE_COURSE_ASSESSMENT_GRADE_CHANGE_SIGNAL': False,
# .. toggle_name: FEATURES['ALLOW_ADMIN_ENTERPRISE_COURSE_ENROLLMENT_DELETION']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: If true, allows for the deletion of EnterpriseCourseEnrollment records via Django Admin.
# .. toggle_use_cases: opt_in
# .. toggle_creation_date: 2021-01-27
# .. toggle_tickets: https://openedx.atlassian.net/browse/ENT-4022
'ALLOW_ADMIN_ENTERPRISE_COURSE_ENROLLMENT_DELETION': False,
# .. toggle_name: FEATURES['ENABLE_BULK_USER_RETIREMENT']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Set to True to enable bulk user retirement through REST API. This is disabled by
# default.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2021-03-11
# .. toggle_target_removal_date: None
# .. toggle_warning: None
# .. toggle_tickets: 'https://openedx.atlassian.net/browse/OSPR-5290'
'ENABLE_BULK_USER_RETIREMENT': False,
# .. toggle_name: FEATURES['ENABLE_INTEGRITY_SIGNATURE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Whether to display honor code agreement for learners before their first grade assignment
# (https://github.com/edx/edx-name-affirmation)
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2022-02-15
# .. toggle_target_removal_date: None
# .. toggle_tickets: 'https://openedx.atlassian.net/browse/MST-1348'
'ENABLE_INTEGRITY_SIGNATURE': False,
# .. toggle_name: FEATURES['ENABLE_LTI_PII_ACKNOWLEDGEMENT']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: Enables the lti pii acknowledgement feature for a course
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2023-10
# .. toggle_target_removal_date: None
# .. toggle_tickets: 'https://2u-internal.atlassian.net/browse/MST-2055'
'ENABLE_LTI_PII_ACKNOWLEDGEMENT': False,
# .. toggle_name: FEATURES['ENABLE_NEW_BULK_EMAIL_EXPERIENCE']
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: When true, replaces the bulk email tool found on the
# instructor dashboard with a link to the new communications MFE version instead.
# Setting the tool to false will leave the old bulk email tool experience in place.
# .. toggle_use_cases: opt_in
# .. toggle_creation_date: 2022-03-21
# .. toggle_target_removal_date: None
# .. toggle_tickets: 'https://openedx.atlassian.net/browse/MICROBA-1758'
'ENABLE_NEW_BULK_EMAIL_EXPERIENCE': False,
# .. toggle_name: MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEW
# .. toggle_implementation: DjangoSetting
# .. toggle_default: False
# .. toggle_description: If enabled, the Library Content Block is marked as complete when users view it.
# Otherwise (by default), all children of this block must be completed.
# .. toggle_use_cases: open_edx
# .. toggle_creation_date: 2022-03-22
# .. toggle_target_removal_date: None
# .. toggle_tickets: https://github.com/openedx/edx-platform/pull/28268
# .. toggle_warning: For consistency in user-experience, keep the value in sync with the setting of the same name
# in the LMS and CMS.
'MARK_LIBRARY_CONTENT_BLOCK_COMPLETE_ON_VIEW': False,
# .. toggle_name: FEATURES['DISABLE_UNENROLLMENT']