Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents
maxLevel4

...

TaskWho's working on this?Status
Clean up and delete the edx-platform/common folder.Improved already!

Decentralize templates and assets.  They should be co-located with their owning apps.

In progress: Updating student_account to this new structure.
Decentralize urls.py.  Each app should have its own and the central one includes the app-specific ones.

In progress, but plenty more to do:

Merged: https://github.com/edx/edx-platform/pull/13672

Open: https://github.com/edx/edx-platform/pull/13682

Document what an ideal folder structure would be - with consistent and accurate names, considered division of labor, and scoped responsibilities.

...

Module in CommonDependency on LMS ModuleLMS functionalityProposed FixOwner & Status
auth_exchange/views
lms.djangoapps.oauth_dispatch
adapters

oauth_dispatch should be moved out of LMS

course_modes/admin
lms.djangoapps.verify_student.models
VerificationDeadline


course_modes/views
lms.djangoapps.commerce.utils
EcommerceService


enrollment/views
lms.djangoapps.commerce.utils
audit_log
move audit_log to openedx/core
student/helpers
lms.djangoapps.verify_student.models
VerificationDeadline
SoftwareSecurePhotoVerification


student/models
lms.djangoapps.badges.utils
badges_enabled
decouple by indirectly notifying badges app via django signal
lms.lib.comment_client
User.from_django_user


lms.djangoapps.badges.events.course_meta
award_enrollment_badge
decouple by indirectly notifying badges app via django signal
student/views
lms.djangoapps.commerce.utils
EcommerceService


lms.djangoapps.verify_student.models
SoftwareSecurePhotoVerification


student/management/commands/
get_grades

lms.djangoapps.courseware
lms.djangoapps.certificates.models
lms.djangoapps.grades
courses.get_course_by_id
GeneratedCertificate
course_grades.summary
Move this entire command to the new lms grades app.

student/management/commands/
sync_user_info

lms.lib.comment_client
User.from_django_usermove management command to LMS
lib/xmodule/..modulestore/django
lms.djangoapps.ccx.modulestore
CCXModulestoreWrapper
  • Have a separate LMS-specific modulestore/django wrapper that depends on CCX. 
  • Keep the rest of the code within xModule. 
  • Update all LMS code to use the LMS-specific wrapper.

lib/xmodule/..sequence/display.coffeelogging name: edx.ui.lms.sequence.tab_selected


Current issues in openedx/core folder

...

Module in openedxDependency on LMS ModuleLMS functionalityProposed FixOwner & Status
bookmarks/views.py

lms.djangoapps.lms_xblock.runtime

unquote_slashes
move unquote_slashes to openedx
ccxcon/api.pyccxcon/api.py
lms.djangoapps.courseware.courses
get_course_by_id


lms.djangoapps.instructor.access
list_with_level


course_overviews/models.py
lms.djangoapps.django_comment_client.utils
is_discussion_enabled

move course_overviews to lms;

but make sure the course publish/delete signal works across process space.



lms.djangoapps.certificates.api
get_active_web_certificate

lms.djangoapps.ccx.utils
get_ccx_from_ccx_locator

course_groups
lms.djangoapps.django_comment_client.utils
get_discussion_category_map,
get_discussion_categories_ids


credit/partition_schemes
lms.djangoapps.verify_student.models
SkippedReverification,
VerificationStatus


credit/api/provider
lms.djangoapps.django_comment_client.utils
JsonResponse
move JsonResponse to openedx
programs/utils

lms.djangoapps.certificates
api

lms.djangoapps.commerce.utils
EcommerceService

user_api/accounts/serializers.py
lms.djangoapps.badges.utils
badges_enabled


lib/api/view_utils
lms.djangoapps.courseware.courses
get_course_with_access
CoursewareAccessException
move view_course_access to lms
gating/api
lms.djangoapps.courseware.access
_has_access_to_course
create common function to check for course staff access

...