mitodl / edx-platform

The Open edX platform, the software that powers edX!
http://open.edx.org/
GNU Affero General Public License v3.0
6 stars 1 forks source link

Research: Determine how to enable "Notes" feature #268

Closed blarghmatey closed 3 years ago

blarghmatey commented 3 years ago

We would like to enable the 'Notes' feature on edx-platform for some of our installations. There is some research necessary to determine how that feature is enabled and whether it lives in the edx-platform code or requires deployment of edx-notes or another IDA.

User-facing docs for this feature are at https://edx.readthedocs.io/projects/open-edx-learner-guide/en/latest/SFD_notes.html

HamzaIbnFarooq commented 3 years ago

The code related to bookmarks is embedded in edx-platform's core code.

The bookmark is store in MySQL (Ref)

By taking a glimpse at the code, there isn't any flag to turn the feature on or off, it's turned on by default. The user just needs to be enrolled in the course to view bookmarks or do bookmarking. Although there is a setting called MAX_BOOKMARKS_PER_COURSE which puts a limitation on the number of bookmarks a learner can create.

Here is the flow of how bookmarks get loaded: 1) course_bookmarks plugin is added through setup.py at ref 2) CourseBookmarksTool has a method to define if it should be added in course tools, ref which doesn't require any feature flag to turn on. 3) All enabled course tools are fetched (ref)and added to course page (ref)

pdpinch commented 3 years ago

Sorry @HamzaIbnFarooq, we were confused about the feature in question. We're actually interested in the "notes" feature which is more sophisticated that "bookmarks"

I updated the issue title and description to clarify.

HamzaIbnFarooq commented 3 years ago

Notes api can be turned on by: 1) Setting settings.FEATURES["ENABLE_EDXNOTES"]=True through environment yml files in LMS. 2) Setting Enable Student Notes to true in Advanced Settings of the specific course in Studio. 3) In case we are going to run notes service on different server / ip, we might have to change the environment variables mentioned here as well.

Notes feature is dependent on edx-notes-api, MySQL and elasticsearch to work properly. Although we can disable the usage of elasticsearch by setting settings.ES_DISABLED=True in edx-notes-api environment. We can use the MAX_NOTES_PER_COURSE variable in the edx-notes-api environment to limit notes creation as well.

pdpinch commented 3 years ago

@blarghmatey can this be closed?

blarghmatey commented 3 years ago

Yes. I just opened a new issue to track the actual deployment and integration.