From 1fbb07206253fe66a85fd31f903d15bf351fb920 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 2 Mar 2023 14:47:12 -0500 Subject: [PATCH 1/6] docs: Add a section for obsolete and replaced OEPs. --- oeps/index.rst | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/oeps/index.rst b/oeps/index.rst index 7069a1c31..3d78be24b 100644 --- a/oeps/index.rst +++ b/oeps/index.rst @@ -56,3 +56,17 @@ is no clear code repository where they should reside. :caption: Architectural Decisions architectural-decisions/oep-* + +Obsolete Or Replaced +==================== + +These are older decisions or documents that are no longer relevant to the +project but that we leave here for posterity and as useful reference if we run +into similar situations in the future. + +.. toctree:: + :maxdepth: 1 + :glob: + :caption: Obsolete or Replaced + + obsolete_or_replaced/oep-* From 769f940303c84f73bba7f8893c82edcd0d849d5f Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 2 Mar 2023 14:51:20 -0500 Subject: [PATCH 2/6] feat: Add a way to do redirects. sphinxext-rediraffe will let us generate redirects based on which files moved in our git history. This is usefule as we re-organize OEPs and mark them as obsoleted or replaced. --- oeps/conf.py | 4 ++++ requirements/base.in | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/oeps/conf.py b/oeps/conf.py index 09d650aab..eef988610 100644 --- a/oeps/conf.py +++ b/oeps/conf.py @@ -36,10 +36,14 @@ 'sphinx.ext.mathjax', 'sphinx.ext.graphviz', 'sphinx_copybutton', + 'sphinxext.rediraffe', ] graphviz_output_format = 'svg' +rediraffe_redirects = "redirects.txt" +rediraffe_branch = 'origin/master' + # Add any paths that contain templates here, relative to this directory. templates_path = ['_templates'] diff --git a/requirements/base.in b/requirements/base.in index 5ea192989..da91fd46a 100644 --- a/requirements/base.in +++ b/requirements/base.in @@ -4,4 +4,4 @@ sphinx sphinx-book-theme sphinx-copybutton - +sphinxext-rediraffe From 3b9def365fcbfc560234358ef76b459779b2c766 Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 2 Mar 2023 14:56:57 -0500 Subject: [PATCH 3/6] chore: Complie requirements to add sphinxext-rediraffe. Ran the following commands to just add rediraffe without pulling in other things: CUSTOM_COMPILE_COMMAND="make upgrade" pip-compile --rebuild -P spinxext-rediraffe -o requirements/base.txt requirements/base.in CUSTOM_COMPILE_COMMAND="make upgrade" pip-compile --rebuild -P spinxext-rediraffe -o requirements/dev.txt requirements/dev.in --- requirements/base.txt | 3 +++ requirements/dev.txt | 3 +++ 2 files changed, 6 insertions(+) diff --git a/requirements/base.txt b/requirements/base.txt index 29177de0e..b8ddc1b41 100644 --- a/requirements/base.txt +++ b/requirements/base.txt @@ -53,6 +53,7 @@ sphinx==4.5.0 # pydata-sphinx-theme # sphinx-book-theme # sphinx-copybutton + # sphinxext-rediraffe sphinx-book-theme==0.3.3 # via -r requirements/base.in sphinx-copybutton==0.5.1 @@ -69,6 +70,8 @@ sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx +sphinxext-rediraffe==0.2.7 + # via -r requirements/base.in urllib3==1.26.14 # via requests zipp==3.15.0 diff --git a/requirements/dev.txt b/requirements/dev.txt index 0465f31e7..fdf309f14 100644 --- a/requirements/dev.txt +++ b/requirements/dev.txt @@ -96,6 +96,7 @@ sphinx==4.5.0 # sphinx-autobuild # sphinx-book-theme # sphinx-copybutton + # sphinxext-rediraffe sphinx-autobuild==2021.3.14 # via -r requirements/dev.in sphinx-book-theme==0.3.3 @@ -126,6 +127,8 @@ sphinxcontrib-serializinghtml==1.1.5 # via # -r requirements/base.txt # sphinx +sphinxext-rediraffe==0.2.7 + # via -r requirements/base.txt tornado==6.2 # via livereload urllib3==1.26.14 From 655cde8cea1004cb7bb47121c2eb96be05ec810b Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 2 Mar 2023 21:55:03 -0500 Subject: [PATCH 4/6] feat: Add the ability redirect to moved files. * Add the conf to generate redirects based on changes between a branch and master. * Add a CI check so we don't miss files that got moved around. --- .github/workflows/ci.yml | 35 +++++++++++++++++++++++++++++++++++ Makefile | 8 ++++++++ oeps/redirects.txt | 0 3 files changed, 43 insertions(+) create mode 100644 .github/workflows/ci.yml create mode 100644 oeps/redirects.txt diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 000000000..0aac0f63d --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,35 @@ +name: CI + +on: + push: + branches: [master] + pull_request: + branches: + - '**' + +jobs: + check_for_moved_files: + name: + runs-on: ${{ matrix.os }} + strategy: + matrix: + os: [ubuntu-20.04] + python-version: ['3.8'] + + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + - name: setup python + uses: actions/setup-python@v4 + with: + python-version: ${{ matrix.python-version }} + + - name: Install pip + run: pip install -r requirements/pip.txt + + - name: Install Dependencies + run: pip install -r requirements/base.txt + + - name: Run Rediraffe Check + run: make check_redirects diff --git a/Makefile b/Makefile index 815cfc12d..f18b8de1b 100644 --- a/Makefile +++ b/Makefile @@ -248,3 +248,11 @@ requirements: dev-requirements: pip install -r requirements/dev.txt + +update_redirects: + # If files got moved there should be a redirect in redirects.txt + sphinx-build -b rediraffewritediff oeps $(BUILDDIR) + +check_redirects: + # Check to make sure that any files that got moved have a redirect in redirects.txt + sphinx-build -b rediraffecheckdiff oeps $(BUILDDIR) diff --git a/oeps/redirects.txt b/oeps/redirects.txt new file mode 100644 index 000000000..e69de29bb From 6ed85e3035ae3e91d9264e0c4ca029458879f76a Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Thu, 2 Mar 2023 14:59:54 -0500 Subject: [PATCH 5/6] docs: Move less relevant OEPs to an archived section. Add a small info box to give people context for why the OEPs are in this section. --- .../oep-0005-arch-containerize-devstack.rst | 8 +++++++- .../0001-location-of-decentralized-docs.rst | 0 .../decisions/0002-why-decentralized-devstack.rst | 0 .../0003-experiment-with-docker-interface.rst | 0 .../oep-0005/decisions/0004-data-dump.rst | 0 .../decisions/0005-centralized-devstack.rst | 0 .../oep-0007-bp-migrate-to-python3.rst | 11 ++++++++++- .../oep-0012-arch-fragment-views.rst | 8 +++++++- .../oep-0012/insights-cards.png | Bin .../oep-0012/proposed-instructor-dashboard.png | Bin .../oep-0025-proc-incremental-improvements.rst | 10 +++++++++- oeps/{processes => archived}/oep-0025/INCR_workflow | 0 .../oep-0025/INCR_workflow.png | Bin .../oep-0034-bp-lint-amnesty.rst | 7 ++++++- oeps/best-practices/oep-0037-bp-test-data.rst | 1 + oeps/index.rst | 6 +++--- 16 files changed, 43 insertions(+), 8 deletions(-) rename oeps/{architectural-decisions => archived}/oep-0005-arch-containerize-devstack.rst (97%) rename oeps/{architectural-decisions => archived}/oep-0005/decisions/0001-location-of-decentralized-docs.rst (100%) rename oeps/{architectural-decisions => archived}/oep-0005/decisions/0002-why-decentralized-devstack.rst (100%) rename oeps/{architectural-decisions => archived}/oep-0005/decisions/0003-experiment-with-docker-interface.rst (100%) rename oeps/{architectural-decisions => archived}/oep-0005/decisions/0004-data-dump.rst (100%) rename oeps/{architectural-decisions => archived}/oep-0005/decisions/0005-centralized-devstack.rst (100%) rename oeps/{best-practices => archived}/oep-0007-bp-migrate-to-python3.rst (98%) rename oeps/{architectural-decisions => archived}/oep-0012-arch-fragment-views.rst (98%) rename oeps/{architectural-decisions => archived}/oep-0012/insights-cards.png (100%) rename oeps/{architectural-decisions => archived}/oep-0012/proposed-instructor-dashboard.png (100%) rename oeps/{processes => archived}/oep-0025-proc-incremental-improvements.rst (97%) rename oeps/{processes => archived}/oep-0025/INCR_workflow (100%) rename oeps/{processes => archived}/oep-0025/INCR_workflow.png (100%) rename oeps/{best-practices => archived}/oep-0034-bp-lint-amnesty.rst (95%) diff --git a/oeps/architectural-decisions/oep-0005-arch-containerize-devstack.rst b/oeps/archived/oep-0005-arch-containerize-devstack.rst similarity index 97% rename from oeps/architectural-decisions/oep-0005-arch-containerize-devstack.rst rename to oeps/archived/oep-0005-arch-containerize-devstack.rst index 8240b9126..62b0d6827 100644 --- a/oeps/architectural-decisions/oep-0005-arch-containerize-devstack.rst +++ b/oeps/archived/oep-0005-arch-containerize-devstack.rst @@ -12,13 +12,19 @@ OEP-5: Pre-built Developer Environments +---------------+----------------------------------------------------+ | Arbiter | Jesse Zoldak | +---------------+----------------------------------------------------+ -| Status | Accepted | +| Status | Replaced | +---------------+----------------------------------------------------+ | Type | Architecture | +---------------+----------------------------------------------------+ | Created | 2016-06-28 | +---------------+----------------------------------------------------+ +.. attention:: + + This OEP has been replaced by + :doc:`/architectural-decisions/oep-0045/decisions/0001-tutor-as-replacement-for-edx-configuration` + a decision made as a part of :doc:`/architectural-decisions/oep-0045-arch-ops-and-config` + Abstract ******** diff --git a/oeps/architectural-decisions/oep-0005/decisions/0001-location-of-decentralized-docs.rst b/oeps/archived/oep-0005/decisions/0001-location-of-decentralized-docs.rst similarity index 100% rename from oeps/architectural-decisions/oep-0005/decisions/0001-location-of-decentralized-docs.rst rename to oeps/archived/oep-0005/decisions/0001-location-of-decentralized-docs.rst diff --git a/oeps/architectural-decisions/oep-0005/decisions/0002-why-decentralized-devstack.rst b/oeps/archived/oep-0005/decisions/0002-why-decentralized-devstack.rst similarity index 100% rename from oeps/architectural-decisions/oep-0005/decisions/0002-why-decentralized-devstack.rst rename to oeps/archived/oep-0005/decisions/0002-why-decentralized-devstack.rst diff --git a/oeps/architectural-decisions/oep-0005/decisions/0003-experiment-with-docker-interface.rst b/oeps/archived/oep-0005/decisions/0003-experiment-with-docker-interface.rst similarity index 100% rename from oeps/architectural-decisions/oep-0005/decisions/0003-experiment-with-docker-interface.rst rename to oeps/archived/oep-0005/decisions/0003-experiment-with-docker-interface.rst diff --git a/oeps/architectural-decisions/oep-0005/decisions/0004-data-dump.rst b/oeps/archived/oep-0005/decisions/0004-data-dump.rst similarity index 100% rename from oeps/architectural-decisions/oep-0005/decisions/0004-data-dump.rst rename to oeps/archived/oep-0005/decisions/0004-data-dump.rst diff --git a/oeps/architectural-decisions/oep-0005/decisions/0005-centralized-devstack.rst b/oeps/archived/oep-0005/decisions/0005-centralized-devstack.rst similarity index 100% rename from oeps/architectural-decisions/oep-0005/decisions/0005-centralized-devstack.rst rename to oeps/archived/oep-0005/decisions/0005-centralized-devstack.rst diff --git a/oeps/best-practices/oep-0007-bp-migrate-to-python3.rst b/oeps/archived/oep-0007-bp-migrate-to-python3.rst similarity index 98% rename from oeps/best-practices/oep-0007-bp-migrate-to-python3.rst rename to oeps/archived/oep-0007-bp-migrate-to-python3.rst index 2ef69db6c..5260cdb08 100644 --- a/oeps/best-practices/oep-0007-bp-migrate-to-python3.rst +++ b/oeps/archived/oep-0007-bp-migrate-to-python3.rst @@ -13,7 +13,7 @@ OEP-7: Migrating to Python 3 +---------------+-----------------------------------------------+ | Arbiter | Christopher Pappas | +---------------+-----------------------------------------------+ -| Status | Accepted | +| Status | Obsolete | +---------------+-----------------------------------------------+ | Type | Best Practice | +---------------+-----------------------------------------------+ @@ -24,6 +24,15 @@ OEP-7: Migrating to Python 3 .. _open-edx-proposals#21: https://github.com/openedx/open-edx-proposals/pull/21#pullrequestreview-18018383 + +.. attention:: + + This OEP is Obsolete as all systems within the Open edX platform now run on + Python >= 3.8 + + This OEP served as a coordination point for the upgrade related decisions but + is no longer relevant to the project. + Abstract ******** diff --git a/oeps/architectural-decisions/oep-0012-arch-fragment-views.rst b/oeps/archived/oep-0012-arch-fragment-views.rst similarity index 98% rename from oeps/architectural-decisions/oep-0012-arch-fragment-views.rst rename to oeps/archived/oep-0012-arch-fragment-views.rst index e8f103770..d35bcb4ce 100644 --- a/oeps/architectural-decisions/oep-0012-arch-fragment-views.rst +++ b/oeps/archived/oep-0012-arch-fragment-views.rst @@ -12,7 +12,7 @@ OEP-12: Pluggable User Interfaces +---------------+----------------------------------------------------+ | Arbiter | Clinton Blackburn | +---------------+----------------------------------------------------+ -| Status | Accepted | +| Status | Obsolete | +---------------+----------------------------------------------------+ | Type | Architecture | +---------------+----------------------------------------------------+ @@ -23,6 +23,12 @@ OEP-12: Pluggable User Interfaces .. _open-edx-proposals#34: https://github.com/openedx/open-edx-proposals/pull/34#pullrequestreview-18294926 +.. attention:: + + This OEP assumes UI components managed by Django however, the Open edX + platform has moved to JS based Micro-Frontends for its user interfaces and + thus the decisions and proposals in this OEP are no longer relevant. + Abstract ******** diff --git a/oeps/architectural-decisions/oep-0012/insights-cards.png b/oeps/archived/oep-0012/insights-cards.png similarity index 100% rename from oeps/architectural-decisions/oep-0012/insights-cards.png rename to oeps/archived/oep-0012/insights-cards.png diff --git a/oeps/architectural-decisions/oep-0012/proposed-instructor-dashboard.png b/oeps/archived/oep-0012/proposed-instructor-dashboard.png similarity index 100% rename from oeps/architectural-decisions/oep-0012/proposed-instructor-dashboard.png rename to oeps/archived/oep-0012/proposed-instructor-dashboard.png diff --git a/oeps/processes/oep-0025-proc-incremental-improvements.rst b/oeps/archived/oep-0025-proc-incremental-improvements.rst similarity index 97% rename from oeps/processes/oep-0025-proc-incremental-improvements.rst rename to oeps/archived/oep-0025-proc-incremental-improvements.rst index 302b83fb6..7f0150c77 100644 --- a/oeps/processes/oep-0025-proc-incremental-improvements.rst +++ b/oeps/archived/oep-0025-proc-incremental-improvements.rst @@ -12,7 +12,7 @@ OEP-25: Incremental Improvements +-----------------+----------------------------------------------------------+ | Arbiter | Adam Stankiewicz | +-----------------+----------------------------------------------------------+ -| Status | Accepted | +| Status | Obsolete | +-----------------+----------------------------------------------------------+ | Type | Process | +-----------------+----------------------------------------------------------+ @@ -25,6 +25,14 @@ OEP-25: Incremental Improvements .. _Original pull request: https://github.com/openedx/open-edx-proposals/pull/66#pullrequestreview-151034037 +.. attention:: + + The incremental improvements process is no longer being actively maintained. + If you are looking for places where you can help the project check out issues + tagged as `help wanted + ` + in the ``public-engineering`` project. + TL;DR ***** diff --git a/oeps/processes/oep-0025/INCR_workflow b/oeps/archived/oep-0025/INCR_workflow similarity index 100% rename from oeps/processes/oep-0025/INCR_workflow rename to oeps/archived/oep-0025/INCR_workflow diff --git a/oeps/processes/oep-0025/INCR_workflow.png b/oeps/archived/oep-0025/INCR_workflow.png similarity index 100% rename from oeps/processes/oep-0025/INCR_workflow.png rename to oeps/archived/oep-0025/INCR_workflow.png diff --git a/oeps/best-practices/oep-0034-bp-lint-amnesty.rst b/oeps/archived/oep-0034-bp-lint-amnesty.rst similarity index 95% rename from oeps/best-practices/oep-0034-bp-lint-amnesty.rst rename to oeps/archived/oep-0034-bp-lint-amnesty.rst index f5686839d..9bd462d58 100644 --- a/oeps/best-practices/oep-0034-bp-lint-amnesty.rst +++ b/oeps/archived/oep-0034-bp-lint-amnesty.rst @@ -13,7 +13,7 @@ OEP-34: Lint Amnesty +-----------------+--------------------------------------------------------+ | Arbiter | Usama Sadiq | +-----------------+--------------------------------------------------------+ -| Status | Accepted | +| Status | Obsolete | +-----------------+--------------------------------------------------------+ | Type | Best Practice | +-----------------+--------------------------------------------------------+ @@ -22,6 +22,11 @@ OEP-34: Lint Amnesty | `Review Period` | 2019-03-12 - 2021-04-30 | +-----------------+--------------------------------------------------------+ +.. attention:: + + This decision was a one time decision and is not relevant to the current + active project. + Context ******* diff --git a/oeps/best-practices/oep-0037-bp-test-data.rst b/oeps/best-practices/oep-0037-bp-test-data.rst index 8c4eee7ea..844e6b11d 100644 --- a/oeps/best-practices/oep-0037-bp-test-data.rst +++ b/oeps/best-practices/oep-0037-bp-test-data.rst @@ -23,6 +23,7 @@ OEP-37: Dev Data * - Review Period - 2019-06-19 to 2019-11-25 + Abstract ******** diff --git a/oeps/index.rst b/oeps/index.rst index 3d78be24b..4ff8a8afc 100644 --- a/oeps/index.rst +++ b/oeps/index.rst @@ -57,8 +57,8 @@ is no clear code repository where they should reside. architectural-decisions/oep-* -Obsolete Or Replaced -==================== +Archived Proposals +================== These are older decisions or documents that are no longer relevant to the project but that we leave here for posterity and as useful reference if we run @@ -69,4 +69,4 @@ into similar situations in the future. :glob: :caption: Obsolete or Replaced - obsolete_or_replaced/oep-* + archived/oep-* From 53888225bd2b54eb154ed6457a951943f8e26b1b Mon Sep 17 00:00:00 2001 From: Feanil Patel Date: Mon, 6 Mar 2023 12:12:53 -0500 Subject: [PATCH 6/6] docs: Add redirects for all the files that have been moved. --- oeps/redirects.txt | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/oeps/redirects.txt b/oeps/redirects.txt index e69de29bb..5083a0c46 100644 --- a/oeps/redirects.txt +++ b/oeps/redirects.txt @@ -0,0 +1,10 @@ +"architectural-decisions/oep-0005-arch-containerize-devstack.rst" "archived/oep-0005-arch-containerize-devstack.rst" +"architectural-decisions/oep-0005/decisions/0001-location-of-decentralized-docs.rst" "archived/oep-0005/decisions/0001-location-of-decentralized-docs.rst" +"architectural-decisions/oep-0005/decisions/0002-why-decentralized-devstack.rst" "archived/oep-0005/decisions/0002-why-decentralized-devstack.rst" +"architectural-decisions/oep-0005/decisions/0003-experiment-with-docker-interface.rst" "archived/oep-0005/decisions/0003-experiment-with-docker-interface.rst" +"architectural-decisions/oep-0005/decisions/0004-data-dump.rst" "archived/oep-0005/decisions/0004-data-dump.rst" +"architectural-decisions/oep-0005/decisions/0005-centralized-devstack.rst" "archived/oep-0005/decisions/0005-centralized-devstack.rst" +"architectural-decisions/oep-0012-arch-fragment-views.rst" "archived/oep-0012-arch-fragment-views.rst" +"best-practices/oep-0007-bp-migrate-to-python3.rst" "archived/oep-0007-bp-migrate-to-python3.rst" +"best-practices/oep-0034-bp-lint-amnesty.rst" "archived/oep-0034-bp-lint-amnesty.rst" +"processes/oep-0025-proc-incremental-improvements.rst" "archived/oep-0025-proc-incremental-improvements.rst"