From e1c95a950cc6cedc3fd56d2e0514ef1467dfd03d Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Thu, 21 May 2020 07:53:08 -0400 Subject: [PATCH 1/8] ADR for Sysadmin Dashboard deprecation and removal --- .../0002-deprecate-sysadmin-dashboard-adr | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr new file mode 100644 index 000000000000..4c81f600a5f5 --- /dev/null +++ b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr @@ -0,0 +1,45 @@ +1. 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 it's 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/mitodl/edx-platform/blob/50dd1238408dc6785f022d8540961f96e0d6bb4f/lms/djangoapps/dashboard/sysadmin.py#L113-L151 + +2. Delete a cms user. + + This functionality should be removed entirely. CMS user accounts should be retired using the procedure described + ... instead of simply deleting them. + +3. Import a course from git + + https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/git_import.py + +4. Delete a course + +https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L383-L408 + +5. Staffing and Enrollment (TBD) + +https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477 + + This functionality may be redundant to features in the Insights application From 254fcd17b61e169dc74019cca435402ae02815e0 Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Thu, 18 Jun 2020 07:43:20 -0400 Subject: [PATCH 2/8] file extension --- ...in-dashboard-adr => 0002-deprecate-sysadmin-dashboard-adr.rst} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename lms/djangoapps/dashboard/decisions/{0002-deprecate-sysadmin-dashboard-adr => 0002-deprecate-sysadmin-dashboard-adr.rst} (100%) diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst similarity index 100% rename from lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr rename to lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst From fdc2aa31156918b9746a76dfd66debe8564cf73b Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Thu, 18 Jun 2020 07:57:37 -0400 Subject: [PATCH 3/8] copy edits --- .../0002-deprecate-sysadmin-dashboard-adr.rst | 30 +++++++++++-------- 1 file changed, 17 insertions(+), 13 deletions(-) diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst index 4c81f600a5f5..fff16e7a0c29 100644 --- a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst +++ b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst @@ -1,4 +1,4 @@ -1. Deprecating the Sysadmin Dashboard +2. Deprecating the Sysadmin Dashboard --------------------- Status @@ -10,7 +10,7 @@ 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 it's use cases are relevant to course authoring. +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 @@ -23,23 +23,27 @@ would need to be added and/or moved into the cms application 1. Create a cms user account - https://github.com/mitodl/edx-platform/blob/50dd1238408dc6785f022d8540961f96e0d6bb4f/lms/djangoapps/dashboard/sysadmin.py#L113-L151 + https://github.com/edx/edx-platform/blob/50dd1238408dc6785f022d8540961f96e0d6bb4f/lms/djangoapps/dashboard/sysadmin.py#L113-L151 -2. Delete a cms user. - - This functionality should be removed entirely. CMS user accounts should be retired using the procedure described - ... instead of simply deleting them. - -3. Import a course from git +2. Import a course from git https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/git_import.py -4. Delete a course +3. Delete a course -https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L383-L408 + https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L383-L408 -5. Staffing and Enrollment (TBD) +4. Staffing and Enrollment (TBD) -https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477 + https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477 This functionality may be redundant to features in the Insights application + +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 procedure described + ... instead of simply deleting them. + + From 6f3be0984b9d55c9a018d01d529ee7a8a6e14a9e Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Thu, 18 Jun 2020 07:57:59 -0400 Subject: [PATCH 4/8] link to user retirement docs --- .../decisions/0002-deprecate-sysadmin-dashboard-adr.rst | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst index fff16e7a0c29..395ab936a23a 100644 --- a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst +++ b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst @@ -43,7 +43,8 @@ These APIs can be removed entirely, as they are adequately covered by existing f 1. Delete a cms user. - This functionality should be removed entirely. CMS user accounts should be retired using the procedure described - ... instead of simply deleting them. + This functionality should be removed entirely. CMS user accounts should be retired using the existing `edX User + Retirement Feature`_. + From 01b0ee016a913e3ee06480bc3f226571942dc350 Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Thu, 18 Jun 2020 08:30:08 -0400 Subject: [PATCH 5/8] move staffing and enrollment to the remove section --- .../0002-deprecate-sysadmin-dashboard-adr.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst index 395ab936a23a..5dd44c649073 100644 --- a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst +++ b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst @@ -33,11 +33,6 @@ would need to be added and/or moved into the cms application https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L383-L408 -4. Staffing and Enrollment (TBD) - - https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477 - - This functionality may be redundant to features in the Insights application These APIs can be removed entirely, as they are adequately covered by existing functionality: @@ -46,5 +41,10 @@ These APIs can be removed entirely, as they are adequately covered by existing f This functionality should be removed entirely. CMS user accounts should be retired using the existing `edX User Retirement Feature`_. +2. Staffing and Enrollment (TBD) + + https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477 + + This functionality may be redundant to features in the Insights application From ab80bb9cb117a78694bf4dfb09cb98d8be0c16f7 Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Mon, 6 Jul 2020 11:47:20 -0400 Subject: [PATCH 6/8] format --- .../0002-deprecate-sysadmin-dashboard-adr.rst | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst index 5dd44c649073..6aa2eaad69b2 100644 --- a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst +++ b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst @@ -23,28 +23,28 @@ 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 + 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/master/lms/djangoapps/dashboard/sysadmin.py#L383-L408 + _ 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`_. + This functionality should be removed entirely. CMS user accounts should be retired using the existing `edX User + Retirement Feature `_. 2. Staffing and Enrollment (TBD) - https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477 + _ - This functionality may be redundant to features in the Insights application + This functionality may be redundant to features in the Insights application. From 03982bc44e28fa87a4552566f791d81ffd0db397 Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Mon, 6 Jul 2020 11:48:19 -0400 Subject: [PATCH 7/8] format --- .../decisions/0002-deprecate-sysadmin-dashboard-adr.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst index 6aa2eaad69b2..e58ee2e3f6ae 100644 --- a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst +++ b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst @@ -27,11 +27,11 @@ would need to be added and/or moved into the cms application 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/master/lms/djangoapps/dashboard/sysadmin.py#L383-L408 These APIs can be removed entirely, as they are adequately covered by existing functionality: @@ -43,7 +43,7 @@ These APIs can be removed entirely, as they are adequately covered by existing f 2. Staffing and Enrollment (TBD) - _ + https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477 This functionality may be redundant to features in the Insights application. From 302747835a60a7bc96005f73535cd40e492b4558 Mon Sep 17 00:00:00 2001 From: Peter Pinch <430126+pdpinch@users.noreply.github.com> Date: Thu, 22 Oct 2020 15:55:27 -0400 Subject: [PATCH 8/8] no longer TBD --- .../decisions/0002-deprecate-sysadmin-dashboard-adr.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst index e58ee2e3f6ae..320c9d6c4906 100644 --- a/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst +++ b/lms/djangoapps/dashboard/decisions/0002-deprecate-sysadmin-dashboard-adr.rst @@ -41,7 +41,7 @@ These APIs can be removed entirely, as they are adequately covered by existing f This functionality should be removed entirely. CMS user accounts should be retired using the existing `edX User Retirement Feature `_. -2. Staffing and Enrollment (TBD) +2. Staffing and Enrollment https://github.com/edx/edx-platform/blob/master/lms/djangoapps/dashboard/sysadmin.py#L419-L477