From ff453d1ad657190e10df8be37deaee2dff7af014 Mon Sep 17 00:00:00 2001 From: Michael Terry Date: Tue, 23 Nov 2021 15:20:29 -0500 Subject: [PATCH] chore: delete ancient unused ADRs for system dashboard This is long deprecated and these ADRs just document why it doesn't exist. They've explained that long enough that we can just remove this. --- .github/workflows/pylint-checks.yml | 2 +- .github/workflows/unit-tests.yml | 2 +- .../0007-sys-path-modification-removal.rst | 2 - .../decisions/0001-sysadmin-dashboard.rst | 44 ---------------- .../0002-deprecate-sysadmin-dashboard-adr.rst | 50 ------------------- 5 files changed, 2 insertions(+), 98 deletions(-) delete mode 100644 lms/djangoapps/dashboard/decisions/0001-sysadmin-dashboard.rst delete mode 100644 lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst diff --git a/.github/workflows/pylint-checks.yml b/.github/workflows/pylint-checks.yml index 0a2d145e28..8e86862b95 100644 --- a/.github/workflows/pylint-checks.yml +++ b/.github/workflows/pylint-checks.yml @@ -15,7 +15,7 @@ jobs: matrix: include: - module-name: lms-1 - path: "lms/djangoapps/badges/ lms/djangoapps/branding/ lms/djangoapps/bulk_email/ lms/djangoapps/bulk_enroll/ lms/djangoapps/bulk_user_retirement/ lms/djangoapps/ccx/ lms/djangoapps/certificates/ lms/djangoapps/commerce/ lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/dashboard/ lms/djangoapps/debug/ lms/djangoapps/courseware/ lms/djangoapps/course_goals/ lms/djangoapps/rss_proxy/" + path: "lms/djangoapps/badges/ lms/djangoapps/branding/ lms/djangoapps/bulk_email/ lms/djangoapps/bulk_enroll/ lms/djangoapps/bulk_user_retirement/ lms/djangoapps/ccx/ lms/djangoapps/certificates/ lms/djangoapps/commerce/ lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/debug/ lms/djangoapps/courseware/ lms/djangoapps/course_goals/ lms/djangoapps/rss_proxy/" - module-name: lms-2 path: "lms/djangoapps/gating/ lms/djangoapps/grades/ lms/djangoapps/instructor/ lms/djangoapps/instructor_analytics/ lms/djangoapps/discussion/ lms/djangoapps/edxnotes/ lms/djangoapps/email_marketing/ lms/djangoapps/experiments/ lms/djangoapps/instructor_task/ lms/djangoapps/learner_dashboard/ lms/djangoapps/lms_initialization/ lms/djangoapps/lms_xblock/ lms/djangoapps/lti_provider/ lms/djangoapps/mailing/ lms/djangoapps/mobile_api/ lms/djangoapps/monitoring/ lms/djangoapps/program_enrollments/ lms/djangoapps/rss_proxy lms/djangoapps/static_template_view/ lms/djangoapps/staticbook/ lms/djangoapps/support/ lms/djangoapps/survey/ lms/djangoapps/teams/ lms/djangoapps/tests/ lms/djangoapps/verify_student/ lms/envs/ lms/lib/ lms/tests.py" - module-name: openedx-1 diff --git a/.github/workflows/unit-tests.yml b/.github/workflows/unit-tests.yml index 1c533aaf56..4de9af0792 100644 --- a/.github/workflows/unit-tests.yml +++ b/.github/workflows/unit-tests.yml @@ -15,7 +15,7 @@ jobs: django-version: ["3.2"] test_module: [ "lms/djangoapps/badges/ lms/djangoapps/branding/ lms/djangoapps/bulk_email/ lms/djangoapps/bulk_enroll/ lms/djangoapps/bulk_user_retirement/ lms/djangoapps/ccx/ lms/djangoapps/certificates/ lms/djangoapps/commerce/", - "lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_goals/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/dashboard/ lms/djangoapps/debug/", + "lms/djangoapps/course_api/ lms/djangoapps/course_blocks/ lms/djangoapps/course_goals/ lms/djangoapps/course_home_api/ lms/djangoapps/course_wiki/ lms/djangoapps/coursewarehistoryextended/ lms/djangoapps/debug/", "lms/djangoapps/courseware/", "lms/djangoapps/discussion/ lms/djangoapps/edxnotes/ lms/djangoapps/email_marketing/ lms/djangoapps/experiments/", "lms/djangoapps/gating/ lms/djangoapps/grades/ lms/djangoapps/instructor/ lms/djangoapps/instructor_analytics/", diff --git a/docs/decisions/0007-sys-path-modification-removal.rst b/docs/decisions/0007-sys-path-modification-removal.rst index 8a94a4a45d..1a220d71bc 100644 --- a/docs/decisions/0007-sys-path-modification-removal.rst +++ b/docs/decisions/0007-sys-path-modification-removal.rst @@ -121,8 +121,6 @@ What the old imports are, and their replacements: +-------------------------------+----------------------------------------------+ | ``course_wiki`` | ``lms.djangoapps.course_wiki`` | +-------------------------------+----------------------------------------------+ -| ``dashboard`` | ``lms.djangoapps.dashboard`` | -+-------------------------------+----------------------------------------------+ | ``debug`` | ``lms.djangoapps.debug`` | +-------------------------------+----------------------------------------------+ | ``discussion`` | ``lms.djangoapps.discussion`` | diff --git a/lms/djangoapps/dashboard/decisions/0001-sysadmin-dashboard.rst b/lms/djangoapps/dashboard/decisions/0001-sysadmin-dashboard.rst deleted file mode 100644 index fb1e1e444c..0000000000 --- a/lms/djangoapps/dashboard/decisions/0001-sysadmin-dashboard.rst +++ /dev/null @@ -1,44 +0,0 @@ -1. Sysadmin Dashboard ---------------------- - -Status ------- - -Accepted - -Context -------- -When operating an Open edX installation, it is convenient to allow admins and course staff to perform some tasks from -the web browser instead of requiring access to django managment commands. These tasks include - -- creating user accounts -- importing courses (from git) -- deleting courses -- gathering cross-course enrollment data - -The SysAdmin Dashboard feature has remained functionally unchanged since 2015, but it has never been documented. -This ADR serves to captures the decisions that went into it, so that we may being the process of moving it out of -edx-platofrm and into a pluggable django app. - -Decision --------- - -The users tab provides Web based user management (create and delete user accounts), a listing of courses loaded, -and user statistics. - -The courses tabs manages adding/updating courses from git, deleting courses, and provides course listing information, -including commit hash, date and author for course imported from git. - -The Staffing tab provides a view of staffing and enrollment in courses. - -The Gitlogs tab provides a view into the import log of courses from git repositories. It is convenient for allowing -course teams to see what may be wrong wit their xml. This is the only view that allows permits access by course -staff, so they can review their own course import logs. - -Consequences ------------- - -The Sysadmin dashboard is little used outside of MIT and difficult to maintain. Many of its features have been -replicated elsewhere in edx-platform. It coudld be refactored as a pluggable app, but some of it's features rely on -internal edX APIs. In a subsequent ADR, we will identify the APIs that would be necessary for extracting the Sysadmin -Dashboard. diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst deleted file mode 100644 index bb6a33cb2c..0000000000 --- a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst +++ /dev/null @@ -1,50 +0,0 @@ -2. Deprecating the Sysadmin Dashboard ---------------------- - -Status ------- - -Draft - -Context -------- - -Maintaining the sysadmin dashboard is challenging, and it is not widely used. The code is part of the lms -application, even though most of its use cases are relevant to course authoring. - -The sysadmin dashboard would be better suited as a pluggable django application, using appropriate APIs in the -cms application - -Decision --------- - -In order to deprecate the sysadmin dashboard and move it to a pluggable django application, the followings APIs -would need to be added and/or moved into the cms application - -1. Create a cms user account - - https://github.com/edx/edx-platform/blob/50dd1238408dc6785f022d8540961f96e0d6bb4f/lms/djangoapps/dashboard/sysadmin.py#L113-L151 - -2. Import a course from git - - https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/git_import.py - -3. Delete a course - - https://github.com/edx/edx-platform/blob/b4556a4bec/lms/djangoapps/dashboard/sysadmin.py#L344-L369 - - -These APIs can be removed entirely, as they are adequately covered by existing functionality: - -1. Delete a cms user. - - This functionality should be removed entirely. CMS user accounts should be retired using the existing `edX User - Retirement Feature `_. - -2. Staffing and Enrollment - - https://github.com/edx/edx-platform/blob/b4556a4bec/lms/djangoapps/dashboard/sysadmin.py#L380-L413 - - This functionality may be redundant to features in the Insights application. - -