diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 6ec2e55e..7742ae6b 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,6 @@
variables:
TUTOR_PLUGIN: mfe
- TUTOR_IMAGES: mfe authn-dev account-dev communications-dev course-authoring-dev discussions-dev gradebook-dev learner-dashboard-dev learning-dev ora-grading-dev profile-dev
+ TUTOR_IMAGES: mfe account-dev authn-dev authoring-dev communications-dev discussions-dev gradebook-dev learner-dashboard-dev learning-dev ora-grading-dev profile-dev
TUTOR_PYPI_PACKAGE: tutor-mfe
GITHUB_REPO: overhangio/tutor-mfe
diff --git a/README.rst b/README.rst
index 240950ee..aace8302 100644
--- a/README.rst
+++ b/README.rst
@@ -6,9 +6,9 @@ This plugin makes it possible to easily add micro frontend (MFE) applications on
In addition, this plugin comes with a few MFEs which are enabled by default:
- `Authn `__
+- `Authoring `__
- `Account `__
- `Communications `__
-- `Course Authoring `__
- `Discussions `__
- `Gradebook `__
- `Learner Dashboard `__
@@ -39,6 +39,14 @@ To check what the current value of `MFE_HOST` is actually set to, run::
tutor config printvalue MFE_HOST
+Account
+~~~~~~~
+
+.. image:: https://raw.githubusercontent.com/overhangio/tutor-mfe/master/media/account.png
+ :alt: Account MFE screenshot
+
+An MFE to manage account-specific information for every LMS user. Each user's account page is available at ``http(s)://{{ MFE_HOST }}/account``. For instance, when running locally: https://apps.local.edly.io/account.
+
Authn
~~~~~
@@ -47,13 +55,14 @@ Authn
This is a micro-frontend application responsible for the login, registration and password reset functionality.
-Account
-~~~~~~~
+Authoring
+~~~~~~~~~
-.. image:: https://raw.githubusercontent.com/overhangio/tutor-mfe/master/media/account.png
- :alt: Account MFE screenshot
+.. image:: https://raw.githubusercontent.com/overhangio/tutor-mfe/master/media/authoring.png
+ :alt: Course Authoring MFE screenshot
+
+This MFE is meant for course authors and maintainers. For a given course, it exposes a "Pages & Resources" menu in Studio where one can enable or disable a variety of features, including, for example, the Wiki and Discussions. Optionally, it allows authors to replace the legacy HTML, Video, and Problem authoring tools with experimental React-based versions, as well as exposing a new proctoring interface that can be enabled if the `edx-exams `_ service is available.
-An MFE to manage account-specific information for every LMS user. Each user's account page is available at ``http(s)://{{ MFE_HOST }}/account``. For instance, when running locally: https://apps.local.edly.io/account.
Communications
~~~~~~~~~~~~~~
@@ -63,14 +72,6 @@ Communications
The Communications micro-frontend exposes an interface for course teams to communicate with learners. It achieves this by allowing instructors to send out emails in bulk, either by scheduling them or on demand.
-Course Authoring
-~~~~~~~~~~~~~~~~
-
-.. image:: https://raw.githubusercontent.com/overhangio/tutor-mfe/master/media/course-authoring.png
- :alt: Course Authoring MFE screenshot
-
-This MFE is meant for course authors and maintainers. For a given course, it exposes a "Pages & Resources" menu in Studio where one can enable or disable a variety of features, including, for example, the Wiki and Discussions. Optionally, it allows authors to replace the legacy HTML, Video, and Problem authoring tools with experimental React-based versions, as well as exposing a new proctoring interface that can be enabled if the `edx-exams `_ service is available.
-
Discussions
~~~~~~~~~~~
diff --git a/changelog.d/20240920_143739_regis_authoring_rename.md b/changelog.d/20240920_143739_regis_authoring_rename.md
new file mode 100644
index 00000000..377e5242
--- /dev/null
+++ b/changelog.d/20240920_143739_regis_authoring_rename.md
@@ -0,0 +1 @@
+- 💥[Feature] Rename course-authoring MFE to "authoring". Existing URLs are redirected for backward compatibility. (by @regisb)
diff --git a/media/course-authoring.png b/media/authoring.png
similarity index 100%
rename from media/course-authoring.png
rename to media/authoring.png
diff --git a/tutormfe/patches/openedx-cms-development-settings b/tutormfe/patches/openedx-cms-development-settings
index ec895df5..9b712402 100644
--- a/tutormfe/patches/openedx-cms-development-settings
+++ b/tutormfe/patches/openedx-cms-development-settings
@@ -1,7 +1,7 @@
# MFE-specific settings
-{% if get_mfe("course-authoring") %}
-COURSE_AUTHORING_MICROFRONTEND_URL = "http://{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}/course-authoring"
-CORS_ORIGIN_WHITELIST.append("http://{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}")
-LOGIN_REDIRECT_WHITELIST.append("{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}")
-CSRF_TRUSTED_ORIGINS.append("http://{{ MFE_HOST }}:{{ get_mfe('course-authoring')["port"] }}")
+{% if get_mfe("authoring") %}
+COURSE_AUTHORING_MICROFRONTEND_URL = "http://{{ MFE_HOST }}:{{ get_mfe('authoring')["port"] }}/authoring"
+CORS_ORIGIN_WHITELIST.append("http://{{ MFE_HOST }}:{{ get_mfe('authoring')["port"] }}")
+LOGIN_REDIRECT_WHITELIST.append("{{ MFE_HOST }}:{{ get_mfe('authoring')["port"] }}")
+CSRF_TRUSTED_ORIGINS.append("http://{{ MFE_HOST }}:{{ get_mfe('authoring')["port"] }}")
{% endif %}
diff --git a/tutormfe/patches/openedx-cms-production-settings b/tutormfe/patches/openedx-cms-production-settings
index b1b5e163..e3866092 100644
--- a/tutormfe/patches/openedx-cms-production-settings
+++ b/tutormfe/patches/openedx-cms-production-settings
@@ -1,6 +1,6 @@
# MFE-specific settings
-{% if get_mfe("course-authoring") %}
-COURSE_AUTHORING_MICROFRONTEND_URL = "{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}/course-authoring"
+{% if get_mfe("authoring") %}
+COURSE_AUTHORING_MICROFRONTEND_URL = "{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}/authoring"
{% endif %}
LOGIN_REDIRECT_WHITELIST.append("{{ MFE_HOST }}")
diff --git a/tutormfe/patches/openedx-lms-development-settings b/tutormfe/patches/openedx-lms-development-settings
index 79da7401..ce484dde 100644
--- a/tutormfe/patches/openedx-lms-development-settings
+++ b/tutormfe/patches/openedx-lms-development-settings
@@ -35,8 +35,8 @@ ACCOUNT_MICROFRONTEND_URL = "http://{{ MFE_HOST }}:{{ get_mfe("account")["port"]
MFE_CONFIG["ACCOUNT_SETTINGS_URL"] = ACCOUNT_MICROFRONTEND_URL
{% endif %}
-{% if get_mfe("course-authoring") %}
-MFE_CONFIG["COURSE_AUTHORING_MICROFRONTEND_URL"] = "http://{{ MFE_HOST }}:{{ get_mfe("course-authoring")["port"] }}/course-authoring"
+{% if get_mfe("authoring") %}
+MFE_CONFIG["COURSE_AUTHORING_MICROFRONTEND_URL"] = "http://{{ MFE_HOST }}:{{ get_mfe("authoring")["port"] }}/authoring"
MFE_CONFIG["ENABLE_ASSETS_PAGE"] = "true"
MFE_CONFIG["ENABLE_HOME_PAGE_COURSE_API_V2"] = "true"
MFE_CONFIG["ENABLE_PROGRESS_GRAPH_SETTINGS"] = "true"
diff --git a/tutormfe/patches/openedx-lms-production-settings b/tutormfe/patches/openedx-lms-production-settings
index d7b7a42a..baaf6026 100644
--- a/tutormfe/patches/openedx-lms-production-settings
+++ b/tutormfe/patches/openedx-lms-production-settings
@@ -36,8 +36,8 @@ ACCOUNT_MICROFRONTEND_URL = "{% if ENABLE_HTTPS %}https://{% else %}http://{% en
MFE_CONFIG["ACCOUNT_SETTINGS_URL"] = ACCOUNT_MICROFRONTEND_URL
{% endif %}
-{% if get_mfe("course-authoring") %}
-MFE_CONFIG["COURSE_AUTHORING_MICROFRONTEND_URL"] = "{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}/course-authoring"
+{% if get_mfe("authoring") %}
+MFE_CONFIG["COURSE_AUTHORING_MICROFRONTEND_URL"] = "{% if ENABLE_HTTPS %}https://{% else %}http://{% endif %}{{ MFE_HOST }}/authoring"
MFE_CONFIG["ENABLE_ASSETS_PAGE"] = "true"
MFE_CONFIG["ENABLE_HOME_PAGE_COURSE_API_V2"] = "true"
MFE_CONFIG["ENABLE_PROGRESS_GRAPH_SETTINGS"] = "true"
diff --git a/tutormfe/plugin.py b/tutormfe/plugin.py
index 9f8a6487..6cc34fc9 100644
--- a/tutormfe/plugin.py
+++ b/tutormfe/plugin.py
@@ -35,6 +35,10 @@
"repository": "https://github.com/openedx/frontend-app-authn.git",
"port": 1999,
},
+ "authoring": {
+ "repository": "https://github.com/openedx/frontend-app-authoring.git",
+ "port": 2001,
+ },
"account": {
"repository": "https://github.com/openedx/frontend-app-account.git",
"port": 1997,
@@ -43,10 +47,6 @@
"repository": "https://github.com/openedx/frontend-app-communications.git",
"port": 1984,
},
- "course-authoring": {
- "repository": "https://github.com/openedx/frontend-app-course-authoring.git",
- "port": 2001,
- },
"discussions": {
"repository": "https://github.com/openedx/frontend-app-discussions.git",
"port": 2002,
diff --git a/tutormfe/templates/mfe/apps/mfe/Caddyfile b/tutormfe/templates/mfe/apps/mfe/Caddyfile
index 19081c99..115d57c5 100644
--- a/tutormfe/templates/mfe/apps/mfe/Caddyfile
+++ b/tutormfe/templates/mfe/apps/mfe/Caddyfile
@@ -20,6 +20,12 @@
header_up Host {{ LMS_HOST }}
}
+ {% if is_mfe_enabled("authoring") %}
+ # redirect /course-authoring to /authoring, for backward compatibility
+ @authoring path_regexp authoring /course-authoring/(.*)
+ redir @authoring /authoring/{re.authoring.1} permanent
+ {% endif %}
+
{% for app_name, app in iter_mfes() %}
@mfe_{{ app_name }} {
path /{{ app_name }} /{{ app_name }}/*
diff --git a/tutormfe/templates/mfe/build/mfe/Dockerfile b/tutormfe/templates/mfe/build/mfe/Dockerfile
index ad89839c..29cc7efd 100644
--- a/tutormfe/templates/mfe/build/mfe/Dockerfile
+++ b/tutormfe/templates/mfe/build/mfe/Dockerfile
@@ -12,7 +12,7 @@ RUN apt update \
python g++ \
# required for image-webpack-loader (on arm)
libpng-dev \
- # required for building node-canvas (on arm, for course-authoring)
+ # required for building node-canvas (on arm, for authoring)
# https://www.npmjs.com/package/canvas
libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
diff --git a/tutormfe/templates/mfe/tasks/lms/init b/tutormfe/templates/mfe/tasks/lms/init
index 74cd7c70..76247c3b 100644
--- a/tutormfe/templates/mfe/tasks/lms/init
+++ b/tutormfe/templates/mfe/tasks/lms/init
@@ -35,7 +35,7 @@ grep courseware.always_open_auxiliary_sidebar /tmp/lms_waffle_flags.txt || ./man
courseware.always_open_auxiliary_sidebar
{% endif %}
-{% if is_mfe_enabled("course-authoring") %}
+{% if is_mfe_enabled("authoring") %}
grep contentstore.new_studio_mfe.use_new_advanced_settings_page /tmp/lms_waffle_flags.txt || ./manage.py lms waffle_flag --create --everyone contentstore.new_studio_mfe.use_new_advanced_settings_page
grep contentstore.new_studio_mfe.use_new_certificates_page /tmp/lms_waffle_flags.txt || ./manage.py lms waffle_flag --create --everyone contentstore.new_studio_mfe.use_new_certificates_page
grep contentstore.new_studio_mfe.use_new_course_outline_page /tmp/lms_waffle_flags.txt || ./manage.py lms waffle_flag --create --everyone contentstore.new_studio_mfe.use_new_course_outline_page