-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
6 changed files
with
43 additions
and
84 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,94 +1,52 @@ | ||
Edx Username Changer | ||
======================= | ||
|
||
Canvas Integration Plugin | ||
============================= | ||
|
||
A django app plugin to add Canvas integration to Open edX. | ||
|
||
**NOTE:** | ||
|
||
We had to make some changes to edx-platform itself in order to add the "Canvas" tab to the instructor dashboard. | ||
|
||
The ``edx-platform`` branch/tag you're using must include one of the below commit for ``ol-openedx-canvas-integration`` plugin to work properly: | ||
|
||
**For "Sumac" or more recent release of edX platform, you should cherry-pick below commit:** | ||
|
||
TBA - Will be added when we merge the PR in edx-platform | ||
|
||
**For "Quince" to "Redwood" release of edX platform, you should cherry-pick below commit:** | ||
|
||
https://github.com/mitodl/edx-platform/commit/7a2edd5d29ead6845cb33d2001746207cf696383 | ||
|
||
**For "Nutmeg" to "Palm" release of edX platform, you should cherry-pick below commit:** | ||
|
||
- https://github.com/mitodl/edx-platform/pull/297/commits/c354a99bd14393b89a780692d07b6e70b586d172 | ||
|
||
**For any release prior to "Nutmeg" you should cherry-pick below commit:** | ||
|
||
- https://github.com/mitodl/edx-platform/pull/274/commits/97a51d208f3cdfd26df0a62281b0964de10ff40a | ||
|
||
A plugin to enable update usernames through admin panel in Open edX (and other apps that log into Open edX via OAuth). | ||
|
||
Version Compatibility | ||
--------------------- | ||
|
||
**For "Sumac" or more recent release of edX platform** | ||
It only supports koa and latest releases of Open edX. | ||
|
||
Use ``0.4.0`` or a above version of this plugin | ||
|
||
**For "Quince" to "Redwood" release of edX platform** | ||
|
||
Use ``0.3.0`` or a above version of this plugin | ||
|
||
**For "Nutmeg" to "Palm" release of edX platform** | ||
|
||
Use ``0.2.4`` or a above version of this plugin | ||
|
||
**For releases prior to "Nutmeg"** | ||
|
||
Use ``0.1.1`` version of this plugin | ||
|
||
Installation | ||
------------ | ||
Installing The Plugin | ||
--------------------- | ||
|
||
For detailed installation instructions, please refer to the `plugin installation guide <../../docs#installation-guide>`_. | ||
|
||
Installation required in: | ||
|
||
* LMS | ||
* CMS | ||
|
||
Configuration | ||
------------ | ||
|
||
**1) edx-platform configuration** | ||
Configurations | ||
-------------- | ||
To configure this plugin, you need to do one of the following steps: | ||
|
||
- Add the following configuration values to the config file in Open edX. For any release after Juniper, that config file is ``/edx/etc/lms.yml``. If using `private.py`, you will need to add these values in `lms/envs/private.py`. These should be added to the top level. **Ask a fellow developer or devops for these values.** | ||
1. Add/Enable a feature flag (ENABLE_EDX_USERNAME_CHANGER) into your environment variables (through ``private.py`` in LMS) | ||
|
||
.. code-block:: | ||
.. code-block:: | ||
FEATURES["ENABLE_EDX_USERNAME_CHANGER"] = True | ||
CANVAS_ACCESS_TOKEN: <some access token value> | ||
CANVAS_BASE_URL: <the base URL where Canvas is running> | ||
2. Add/Enable a feature flag (ENABLE_EDX_USERNAME_CHANGER) into your environment variables (through ``lms.env.yml`` file) | ||
|
||
- For Tutor installations, these values can also be managed through a `custom tutor plugin <https://docs.tutor.edly.io/tutorials/plugin.html#plugin-development-tutorial>`_. | ||
.. code-block:: | ||
**2) Add course settings value** | ||
FEATURES: | ||
... | ||
ENABLE_EDX_USERNAME_CHANGER: True | ||
... | ||
1) Open your course in Studio. | ||
2) Navigate to "Advanced Settings". | ||
3) Enable other course settings by enabling ``ENABLE_OTHER_COURSE_SETTINGS`` feature flag in CMS | ||
4) Open course advanced settings in Open edX CMS, Add a dictionary in ``{"canvas_id": <canvas_course_id>}``. The ``canvas_course_id`` should be the id of a course that exists on Canvas. (NOTE: Canvas tab would only be visible if this value is set) | ||
3. For Tutor installations, these values can also be managed through a `custom Tutor plugin <https://docs.tutor.edly.io/tutorials/plugin.html#plugin-development-tutorial>`_. | ||
|
||
|
||
How To Use | ||
How to use | ||
---------- | ||
Its usage is as simple as changing the username of a user account through django's admin panel. Here are the steps (for clarity): | ||
|
||
1. In Studio, create/navigate to a course and create some graded assignments/quizzes. | ||
2. In LMS, open the above course, navigate to the "Instructor" tab, and make sure that you see can see a "Canvas" tab. | ||
|
||
|
||
Some of the functionality available in this tab: | ||
1. Install edx-username-changer plugin. | ||
2. Use an admin account to access django admin panel. | ||
3. Go to Users model and select an account to change its username. | ||
4. In the account editor page change the username field. | ||
5. Hit Save (present at the bottom-right of page). | ||
|
||
- ``List enrollments on Canvas`` - Show all enrollments for the course on Canvas. | ||
- ``Merge enrollment list using Canvas`` - Enroll all the users that are present on edX. For the users that don't exist on edX, a ``CourseEnrollmentAllowed`` object will be created. | ||
- ``Overload enrollment list using Canvas`` - Ensure that enrollment records in edX match the enrollments in Canvas (i.e.: create any enrollments that exist in Canvas but don't exist in edX, and delete enrollments that exist in edX but not in Canvas) | ||
- ``Push all MITx grades to Canvas`` - Ensure that Canvas has the equivalent assignments/quizzes for the course, and create/update the user grades for those assignments/quizzes in Canvas (The assignments must have a `Published` status on Canvas) | ||
- ``List Canvas assignments`` - Show a dropdown of all the assignments that are present on Canvas, and upon selecting an assignment, show a list of grades. | ||
The whole process can be done on lms or studio or on both of them. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters