diff --git a/cms/devstack.yml b/cms/devstack.yml
index 2833419d1afe45029734e90952599daaf94ca820..2167b0c0758c553053798468191e2167347f79cd 100644
--- a/cms/devstack.yml
+++ b/cms/devstack.yml
@@ -5,10 +5,10 @@ ANALYTICS_DASHBOARD_NAME: Your Platform Name Here Insights
 ANALYTICS_DASHBOARD_URL: http://localhost:18110/courses
 AUTH_PASSWORD_VALIDATORS:
 -   NAME: django.contrib.auth.password_validation.UserAttributeSimilarityValidator
--   NAME: util.password_policy_validators.MinimumLengthValidator
+-   NAME: common.djangoapps.util.password_policy_validators.MinimumLengthValidator
     OPTIONS:
         min_length: 2
--   NAME: util.password_policy_validators.MaximumLengthValidator
+-   NAME: common.djangoapps.util.password_policy_validators.MaximumLengthValidator
     OPTIONS:
         max_length: 75
 AWS_ACCESS_KEY_ID: null
@@ -34,47 +34,47 @@ BULK_EMAIL_LOG_SENT_EMAILS: false
 CACHES:
     celery:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: celery
         LOCATION:
         - edx.devstack.memcached:11211
         TIMEOUT: '7200'
     configuration:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: 1001c6274ca4
         LOCATION:
         - edx.devstack.memcached:11211
     course_structure_cache:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: course_structure
         LOCATION:
         - edx.devstack.memcached:11211
         TIMEOUT: '7200'
     default:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: default
         LOCATION:
         - edx.devstack.memcached:11211
         VERSION: '1'
     general:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: general
         LOCATION:
         - edx.devstack.memcached:11211
     mongo_metadata_inheritance:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: mongo_metadata_inheritance
         LOCATION:
         - edx.devstack.memcached:11211
         TIMEOUT: 300
     staticfiles:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: 1001c6274ca4_general
         LOCATION:
         - edx.devstack.memcached:11211
diff --git a/cms/djangoapps/api/v1/serializers/course_runs.py b/cms/djangoapps/api/v1/serializers/course_runs.py
index 2ff60fc6564d7477b0f67fa0e50a3d3348edcc49..2579a6cdee09c74305e79b38f83ca338486359f2 100644
--- a/cms/djangoapps/api/v1/serializers/course_runs.py
+++ b/cms/djangoapps/api/v1/serializers/course_runs.py
@@ -15,7 +15,7 @@ from rest_framework.fields import empty
 from cms.djangoapps.contentstore.views.assets import update_course_run_asset
 from cms.djangoapps.contentstore.views.course import create_new_course, get_course_and_check_access, rerun_course
 from openedx.core.lib.courses import course_image_url
-from student.models import CourseAccessRole
+from common.djangoapps.student.models import CourseAccessRole
 from xmodule.modulestore.django import modulestore
 
 IMAGE_TYPES = {
diff --git a/cms/djangoapps/api/v1/tests/test_serializers/test_course_runs.py b/cms/djangoapps/api/v1/tests/test_serializers/test_course_runs.py
index acadff7df8f0ce455ee715a2f8288b78c1bc8488..b37c067939b9f02dfe8e40dad606463aed24eca6 100644
--- a/cms/djangoapps/api/v1/tests/test_serializers/test_course_runs.py
+++ b/cms/djangoapps/api/v1/tests/test_serializers/test_course_runs.py
@@ -8,8 +8,8 @@ import pytz
 from django.test import RequestFactory
 
 from openedx.core.lib.courses import course_image_url
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py b/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py
index 1933a75fdf4a88264f26ed41d7769d55df44409b..f62e74d9e4458be8eeaef50670fc489d0273d515 100644
--- a/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py
+++ b/cms/djangoapps/api/v1/tests/test_views/test_course_runs.py
@@ -13,9 +13,9 @@ from opaque_keys.edx.keys import CourseKey
 from rest_framework.test import APIClient
 
 from openedx.core.lib.courses import course_image_url
-from student.models import CourseAccessRole
-from student.tests.factories import TEST_PASSWORD, AdminFactory, UserFactory
-from util.organizations_helpers import add_organization, get_course_organizations
+from common.djangoapps.student.models import CourseAccessRole
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, AdminFactory, UserFactory
+from common.djangoapps.util.organizations_helpers import add_organization, get_course_organizations
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
 from xmodule.exceptions import NotFoundError
diff --git a/cms/djangoapps/cms_user_tasks/tasks.py b/cms/djangoapps/cms_user_tasks/tasks.py
index 0a8f1db9bf2b176260771655243bf8d20437fc97..4f88fa104f2c9eceb1e620cd1868864df4fd5766 100644
--- a/cms/djangoapps/cms_user_tasks/tasks.py
+++ b/cms/djangoapps/cms_user_tasks/tasks.py
@@ -10,7 +10,7 @@ from celery.utils.log import get_task_logger
 from django.conf import settings
 from django.core import mail
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 
 LOGGER = get_task_logger(__name__)
diff --git a/cms/djangoapps/contentstore/api/tests/base.py b/cms/djangoapps/contentstore/api/tests/base.py
index 304a2c5cd063f685de0fbc2eda695f34ceaef75a..b125ff704fb453f15d21c0ab705015b9213015af 100644
--- a/cms/djangoapps/contentstore/api/tests/base.py
+++ b/cms/djangoapps/contentstore/api/tests/base.py
@@ -7,7 +7,7 @@ from django.urls import reverse
 from rest_framework.test import APITestCase
 
 from lms.djangoapps.courseware.tests.factories import StaffFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/cms/djangoapps/contentstore/api/tests/test_import.py b/cms/djangoapps/contentstore/api/tests/test_import.py
index 85511a0a8e5a0c4c5bba3cef23be6baba1325cb6..a9899935908692a714acb5ce32648138acfd9537 100644
--- a/cms/djangoapps/contentstore/api/tests/test_import.py
+++ b/cms/djangoapps/contentstore/api/tests/test_import.py
@@ -14,7 +14,7 @@ from rest_framework.test import APITestCase
 from user_tasks.models import UserTaskStatus
 
 from lms.djangoapps.courseware.tests.factories import StaffFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/cms/djangoapps/contentstore/api/tests/test_validation.py b/cms/djangoapps/contentstore/api/tests/test_validation.py
index 2e891d2ba243950b2ec260f9fc32eb4ac3517c79..cf570c7fcf6c52bf6b200222f1a102a6e21c55f8 100644
--- a/cms/djangoapps/contentstore/api/tests/test_validation.py
+++ b/cms/djangoapps/contentstore/api/tests/test_validation.py
@@ -10,7 +10,7 @@ from rest_framework import status
 from rest_framework.test import APITestCase
 
 from lms.djangoapps.courseware.tests.factories import StaffFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/cms/djangoapps/contentstore/api/views/utils.py b/cms/djangoapps/contentstore/api/views/utils.py
index e758c71610edbaa8bb6535fb8cd7d060d0beda94..92e75ae1a22ee2eae3c297a1f83416cf51efca86 100644
--- a/cms/djangoapps/contentstore/api/views/utils.py
+++ b/cms/djangoapps/contentstore/api/views/utils.py
@@ -12,7 +12,7 @@ from rest_framework.generics import GenericAPIView
 from openedx.core.djangoapps.util.forms import to_bool
 from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin, view_auth_classes
 from openedx.core.lib.cache_utils import request_cached
-from student.auth import has_course_author_access
+from common.djangoapps.student.auth import has_course_author_access
 from xmodule.modulestore.django import modulestore
 
 
diff --git a/cms/djangoapps/contentstore/course_group_config.py b/cms/djangoapps/contentstore/course_group_config.py
index b1db7761a2e6a4afd6c4087fafe639d80eaf4125..bea95bc619f911273ce6ac1e42635e62b229fc65 100644
--- a/cms/djangoapps/contentstore/course_group_config.py
+++ b/cms/djangoapps/contentstore/course_group_config.py
@@ -12,7 +12,7 @@ from django.utils.translation import ugettext as _
 from cms.djangoapps.contentstore.utils import reverse_usage_url
 from lms.lib.utils import get_parent_unit
 from openedx.core.djangoapps.course_groups.partition_scheme import get_cohorted_user_partition
-from util.db import MYSQL_MAX_INT, generate_int_id
+from common.djangoapps.util.db import MYSQL_MAX_INT, generate_int_id
 from xmodule.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, ReadOnlyUserPartitionError, UserPartition
 from xmodule.partitions.partitions_service import get_all_partitions_for_course
 from xmodule.split_test_module import get_split_user_partitions
diff --git a/cms/djangoapps/contentstore/courseware_index.py b/cms/djangoapps/contentstore/courseware_index.py
index 1896c60c08d39782e1b36ec9ce1aa486c482e42b..865ad760bc126594b27d7a3a6c5af4abaa267eee 100644
--- a/cms/djangoapps/contentstore/courseware_index.py
+++ b/cms/djangoapps/contentstore/courseware_index.py
@@ -14,7 +14,7 @@ from search.search_engine_base import SearchEngine
 from six import add_metaclass, string_types, text_type
 
 from cms.djangoapps.contentstore.course_group_config import GroupConfiguration
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.lib.courses import course_image_url
 from xmodule.annotator_mixin import html_to_text
 from xmodule.library_tools import normalize_key_for_search
diff --git a/cms/djangoapps/contentstore/management/commands/tests/test_delete_course.py b/cms/djangoapps/contentstore/management/commands/tests/test_delete_course.py
index 91eb078c9a842179b4c132f7dfbc08c9884da9be..e566c8a16c8146445286855809f6e65748a31e35 100644
--- a/cms/djangoapps/contentstore/management/commands/tests/test_delete_course.py
+++ b/cms/djangoapps/contentstore/management/commands/tests/test_delete_course.py
@@ -6,8 +6,8 @@ Delete course tests.
 import mock
 from django.core.management import CommandError, call_command
 
-from student.roles import CourseInstructorRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.roles import CourseInstructorRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
 from xmodule.modulestore.django import modulestore
diff --git a/cms/djangoapps/contentstore/management/commands/tests/test_sync_courses.py b/cms/djangoapps/contentstore/management/commands/tests/test_sync_courses.py
index 53548f5fee4308b60be8860f9feeafd6c6de8c60..276f858a53c227016d5fb249707f2c44c8c434a0 100644
--- a/cms/djangoapps/contentstore/management/commands/tests/test_sync_courses.py
+++ b/cms/djangoapps/contentstore/management/commands/tests/test_sync_courses.py
@@ -9,7 +9,7 @@ from testfixtures import LogCapture
 from cms.djangoapps.contentstore.views.course import create_new_course_in_store
 from openedx.core.djangoapps.catalog.tests.factories import CourseRunFactory
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/cms/djangoapps/contentstore/rest_api/v1/tests/test_views.py b/cms/djangoapps/contentstore/rest_api/v1/tests/test_views.py
index dce70be31a36f5f65c9bfdf86dfaf98780b646b2..a17a4cf34bcd30eee2fe0598634a1470d8a38a41 100644
--- a/cms/djangoapps/contentstore/rest_api/v1/tests/test_views.py
+++ b/cms/djangoapps/contentstore/rest_api/v1/tests/test_views.py
@@ -9,7 +9,7 @@ from rest_framework import status
 from rest_framework.test import APITestCase
 
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory, InstructorFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/cms/djangoapps/contentstore/signals/handlers.py b/cms/djangoapps/contentstore/signals/handlers.py
index b40d4f1b27ccc97460262b07ca59a7bd383b7189..d37a77bc406dae3a2bf9a703be42d0c970113d14 100644
--- a/cms/djangoapps/contentstore/signals/handlers.py
+++ b/cms/djangoapps/contentstore/signals/handlers.py
@@ -15,8 +15,8 @@ from cms.djangoapps.contentstore.proctoring import register_special_exams
 from lms.djangoapps.grades.api import task_compute_all_grades_for_course
 from openedx.core.djangoapps.credit.signals import on_course_publish
 from openedx.core.lib.gating import api as gating_api
-from track.event_transaction_utils import get_event_transaction_id, get_event_transaction_type
-from util.module_utils import yield_dynamic_descriptor_descendants
+from common.djangoapps.track.event_transaction_utils import get_event_transaction_id, get_event_transaction_type
+from common.djangoapps.util.module_utils import yield_dynamic_descriptor_descendants
 from xmodule.modulestore.django import SignalHandler, modulestore
 
 from .signals import GRADING_POLICY_CHANGED
diff --git a/cms/djangoapps/contentstore/tasks.py b/cms/djangoapps/contentstore/tasks.py
index 651412db91ad2c912f6f830327288b6a95977dbe..37fae0292606ea71505054537b5cf77bf5e04ba5 100644
--- a/cms/djangoapps/contentstore/tasks.py
+++ b/cms/djangoapps/contentstore/tasks.py
@@ -39,11 +39,11 @@ from cms.djangoapps.contentstore.courseware_index import (
 from cms.djangoapps.contentstore.storage import course_import_export_storage
 from cms.djangoapps.contentstore.utils import initialize_permissions, reverse_usage_url, translation_language
 from cms.djangoapps.models.settings.course_metadata import CourseMetadata
-from course_action_state.models import CourseRerunState
+from common.djangoapps.course_action_state.models import CourseRerunState
 from openedx.core.djangoapps.embargo.models import CountryAccessRule, RestrictedCourse
 from openedx.core.lib.extract_tar import safetar_extractall
-from student.auth import has_course_author_access
-from util.organizations_helpers import add_organization_course, get_organization_by_short_name
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.util.organizations_helpers import add_organization_course, get_organization_by_short_name
 from xmodule.contentstore.django import contentstore
 from xmodule.course_module import CourseFields
 from xmodule.exceptions import SerializationError
diff --git a/cms/djangoapps/contentstore/tests/test_clone_course.py b/cms/djangoapps/contentstore/tests/test_clone_course.py
index cc22e9d817290e7953ab12822a6026b1518200ae..d37ddb68231df33fc4b41fe3fe79d08f52e670d8 100644
--- a/cms/djangoapps/contentstore/tests/test_clone_course.py
+++ b/cms/djangoapps/contentstore/tests/test_clone_course.py
@@ -12,9 +12,9 @@ from opaque_keys.edx.locator import CourseLocator
 
 from cms.djangoapps.contentstore.tasks import rerun_course
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
-from course_action_state.managers import CourseRerunUIStateManager
-from course_action_state.models import CourseRerunState
-from student.auth import has_course_author_access
+from common.djangoapps.course_action_state.managers import CourseRerunUIStateManager
+from common.djangoapps.course_action_state.models import CourseRerunState
+from common.djangoapps.student.auth import has_course_author_access
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
 from xmodule.modulestore import EdxJSONEncoder, ModuleStoreEnum
diff --git a/cms/djangoapps/contentstore/tests/test_contentstore.py b/cms/djangoapps/contentstore/tests/test_contentstore.py
index fc8a91060cb42bbe577c711b9e1d993b5462757c..f8fadc33c524fd1371410a44a9f445c956b57af6 100644
--- a/cms/djangoapps/contentstore/tests/test_contentstore.py
+++ b/cms/djangoapps/contentstore/tests/test_contentstore.py
@@ -34,13 +34,13 @@ from cms.djangoapps.contentstore.config import waffle
 from cms.djangoapps.contentstore.tests.utils import AjaxEnabledTestClient, CourseTestCase, get_url, parse_json
 from cms.djangoapps.contentstore.utils import delete_course, reverse_course_url, reverse_url
 from cms.djangoapps.contentstore.views.component import ADVANCED_COMPONENT_TYPES
-from course_action_state.managers import CourseActionStateItemNotFoundError
-from course_action_state.models import CourseRerunState, CourseRerunUIStateManager
+from common.djangoapps.course_action_state.managers import CourseActionStateItemNotFoundError
+from common.djangoapps.course_action_state.models import CourseRerunState, CourseRerunUIStateManager
 from openedx.core.djangoapps.django_comment_common.utils import are_permissions_roles_seeded
 from openedx.core.lib.tempdir import mkdtemp_clean
-from student import auth
-from student.models import CourseEnrollment
-from student.roles import CourseCreatorRole, CourseInstructorRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseCreatorRole, CourseInstructorRole
 from xmodule.capa_module import ProblemBlock
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
diff --git a/cms/djangoapps/contentstore/tests/test_course_create_rerun.py b/cms/djangoapps/contentstore/tests/test_course_create_rerun.py
index c381a3c118d1915aa53878ec82f2fa29c01cd718..b819d504ffc22a59bcd47c6c78c23dfd5b92569e 100644
--- a/cms/djangoapps/contentstore/tests/test_course_create_rerun.py
+++ b/cms/djangoapps/contentstore/tests/test_course_create_rerun.py
@@ -13,9 +13,9 @@ from mock import patch
 from opaque_keys.edx.keys import CourseKey
 
 from cms.djangoapps.contentstore.tests.utils import AjaxEnabledTestClient, parse_json
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import UserFactory
-from util.organizations_helpers import add_organization, get_course_organizations
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.organizations_helpers import add_organization, get_course_organizations
 from xmodule.course_module import CourseFields
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
diff --git a/cms/djangoapps/contentstore/tests/test_course_listing.py b/cms/djangoapps/contentstore/tests/test_course_listing.py
index a96eb4c02b4f73fad912c1ec372963a5f4e89691..e80e506404a55b6166e860ab1fb45ece993d4a75 100644
--- a/cms/djangoapps/contentstore/tests/test_course_listing.py
+++ b/cms/djangoapps/contentstore/tests/test_course_listing.py
@@ -23,8 +23,8 @@ from cms.djangoapps.contentstore.views.course import (
     _accessible_courses_summary_iter,
     get_courses_accessible_to_user
 )
-from course_action_state.models import CourseRerunState
-from student.roles import (
+from common.djangoapps.course_action_state.models import CourseRerunState
+from common.djangoapps.student.roles import (
     CourseInstructorRole,
     CourseStaffRole,
     GlobalStaff,
@@ -32,7 +32,7 @@ from student.roles import (
     OrgStaffRole,
     UserBasedRole
 )
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.course_module import CourseSummary
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/cms/djangoapps/contentstore/tests/test_course_settings.py b/cms/djangoapps/contentstore/tests/test_course_settings.py
index f9f494d24ce5eeb8711d40282e17ba8f8277bd6a..deaab43e1168209f2708f01e172192895b32e317 100644
--- a/cms/djangoapps/contentstore/tests/test_course_settings.py
+++ b/cms/djangoapps/contentstore/tests/test_course_settings.py
@@ -30,12 +30,12 @@ from cms.djangoapps.models.settings.course_grading import (
 from cms.djangoapps.models.settings.course_metadata import CourseMetadata
 from cms.djangoapps.models.settings.encoder import CourseSettingsEncoder
 from cms.djangoapps.models.settings.waffle import MATERIAL_RECOMPUTE_ONLY_FLAG
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.models.course_details import CourseDetails
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import UserFactory
-from util import milestones_helpers
-from xblock_django.models import XBlockStudioConfigurationFlag
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util import milestones_helpers
+from common.djangoapps.xblock_django.models import XBlockStudioConfigurationFlag
 from xmodule.fields import Date
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
@@ -514,7 +514,7 @@ class CourseGradingTest(CourseTestCase):
             subgrader = CourseGradingModel.fetch_grader(self.course.id, i)
             self.assertDictEqual(grader, subgrader, str(i) + "th graders not equal")
 
-    @mock.patch('track.event_transaction_utils.uuid4')
+    @mock.patch('common.djangoapps.track.event_transaction_utils.uuid4')
     @mock.patch('cms.djangoapps.models.settings.course_grading.tracker')
     @mock.patch('cms.djangoapps.contentstore.signals.signals.GRADING_POLICY_CHANGED.send')
     @ddt.data(ModuleStoreEnum.Type.mongo, ModuleStoreEnum.Type.split)
@@ -651,7 +651,7 @@ class CourseGradingTest(CourseTestCase):
         )
         self.assertTrue(result)
 
-    @mock.patch('track.event_transaction_utils.uuid4')
+    @mock.patch('common.djangoapps.track.event_transaction_utils.uuid4')
     @mock.patch('cms.djangoapps.models.settings.course_grading.tracker')
     @mock.patch('cms.djangoapps.contentstore.signals.signals.GRADING_POLICY_CHANGED.send')
     def test_update_grader_from_json(self, send_signal, tracker, uuid):
@@ -696,7 +696,7 @@ class CourseGradingTest(CourseTestCase):
             ) for policy_hash in {grading_policy_2, grading_policy_3}
         ], any_order=True)
 
-    @mock.patch('track.event_transaction_utils.uuid4')
+    @mock.patch('common.djangoapps.track.event_transaction_utils.uuid4')
     @mock.patch('cms.djangoapps.models.settings.course_grading.tracker')
     def test_update_cutoffs_from_json(self, tracker, uuid):
         uuid.return_value = 'mockUUID'
@@ -757,7 +757,7 @@ class CourseGradingTest(CourseTestCase):
         # Once deleted, the grace period should simply be None
         self.assertEqual(None, altered_grader.grace_period, "Delete grace period")
 
-    @mock.patch('track.event_transaction_utils.uuid4')
+    @mock.patch('common.djangoapps.track.event_transaction_utils.uuid4')
     @mock.patch('cms.djangoapps.models.settings.course_grading.tracker')
     @mock.patch('cms.djangoapps.contentstore.signals.signals.GRADING_POLICY_CHANGED.send')
     def test_update_section_grader_type(self, send_signal, tracker, uuid):
diff --git a/cms/djangoapps/contentstore/tests/test_courseware_index.py b/cms/djangoapps/contentstore/tests/test_courseware_index.py
index 679ed9e39e6d1aa0adccabc8483785eb873c0dc0..74ed0f6d32d97903caa41f743dc8f7fb78e3c221 100644
--- a/cms/djangoapps/contentstore/tests/test_courseware_index.py
+++ b/cms/djangoapps/contentstore/tests/test_courseware_index.py
@@ -30,8 +30,8 @@ from cms.djangoapps.contentstore.signals.handlers import listen_for_course_publi
 from cms.djangoapps.contentstore.tasks import update_search_index
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url, reverse_usage_url
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.models.course_details import CourseDetails
 from xmodule.library_tools import normalize_key_for_search
 from xmodule.modulestore import ModuleStoreEnum
diff --git a/cms/djangoapps/contentstore/tests/test_libraries.py b/cms/djangoapps/contentstore/tests/test_libraries.py
index 70c261b21bbaf22b4d3829ed3ca2bc23afa21358..f387764916595bd91dbf510b0e7e899f324f695b 100644
--- a/cms/djangoapps/contentstore/tests/test_libraries.py
+++ b/cms/djangoapps/contentstore/tests/test_libraries.py
@@ -16,9 +16,9 @@ from cms.djangoapps.contentstore.views.item import _duplicate_item
 from cms.djangoapps.contentstore.views.preview import _load_preview_module
 from cms.djangoapps.contentstore.views.tests.test_library import LIBRARY_REST_URL
 from cms.djangoapps.course_creators.views import add_user_with_status_granted
-from student import auth
-from student.auth import has_studio_read_access, has_studio_write_access
-from student.roles import (
+from common.djangoapps.student import auth
+from common.djangoapps.student.auth import has_studio_read_access, has_studio_write_access
+from common.djangoapps.student.roles import (
     CourseInstructorRole,
     CourseStaffRole,
     LibraryUserRole,
@@ -26,8 +26,8 @@ from student.roles import (
     OrgLibraryUserRole,
     OrgStaffRole
 )
-from student.tests.factories import UserFactory
-from xblock_django.user_service import DjangoXBlockUserService
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.xblock_django.user_service import DjangoXBlockUserService
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/cms/djangoapps/contentstore/tests/test_orphan.py b/cms/djangoapps/contentstore/tests/test_orphan.py
index a28940d435ebc47e382d727a6bcd004d3ba1a685..c6deba4d682155e597170e85a8fcae3f4de3baa6 100644
--- a/cms/djangoapps/contentstore/tests/test_orphan.py
+++ b/cms/djangoapps/contentstore/tests/test_orphan.py
@@ -11,7 +11,7 @@ from opaque_keys.edx.locator import BlockUsageLocator
 
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.search import path_to_location
 from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls_range
diff --git a/cms/djangoapps/contentstore/tests/test_permissions.py b/cms/djangoapps/contentstore/tests/test_permissions.py
index 3520a6592a18c34ac8f470b0cffac0295871bff3..210c8f0bcb126f83f6ec699fbad50888468e44a2 100644
--- a/cms/djangoapps/contentstore/tests/test_permissions.py
+++ b/cms/djangoapps/contentstore/tests/test_permissions.py
@@ -10,8 +10,8 @@ from six.moves import range
 
 from cms.djangoapps.contentstore.tests.utils import AjaxEnabledTestClient
 from cms.djangoapps.contentstore.utils import reverse_course_url, reverse_url
-from student import auth
-from student.roles import CourseInstructorRole, CourseStaffRole, OrgInstructorRole, OrgStaffRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole, OrgInstructorRole, OrgStaffRole
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 
diff --git a/cms/djangoapps/contentstore/tests/test_signals.py b/cms/djangoapps/contentstore/tests/test_signals.py
index 561468e476dff5ee7b0f38f734b30d15382dd60a..c92928808b6e564498e7b46979118e403cbc75a2 100644
--- a/cms/djangoapps/contentstore/tests/test_signals.py
+++ b/cms/djangoapps/contentstore/tests/test_signals.py
@@ -6,8 +6,8 @@ import six
 from mock import Mock, patch
 
 from cms.djangoapps.contentstore.signals.handlers import GRADING_POLICY_COUNTDOWN_SECONDS, handle_grading_policy_changed
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/cms/djangoapps/contentstore/tests/test_tasks.py b/cms/djangoapps/contentstore/tests/test_tasks.py
index 020be9654b5ae5dcae2681fc019ce9e8bd275721..192280682a37539db9dec3f5e84ce65df0a08ed3 100644
--- a/cms/djangoapps/contentstore/tests/test_tasks.py
+++ b/cms/djangoapps/contentstore/tests/test_tasks.py
@@ -19,7 +19,7 @@ from user_tasks.models import UserTaskArtifact, UserTaskStatus
 from cms.djangoapps.contentstore.tasks import export_olx, rerun_course
 from cms.djangoapps.contentstore.tests.test_libraries import LibraryTestCase
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
-from course_action_state.models import CourseRerunState
+from common.djangoapps.course_action_state.models import CourseRerunState
 from openedx.core.djangoapps.embargo.models import Country, CountryAccessRule, RestrictedCourse
 from xmodule.modulestore.django import modulestore
 
diff --git a/cms/djangoapps/contentstore/tests/test_transcripts_utils.py b/cms/djangoapps/contentstore/tests/test_transcripts_utils.py
index f8bc06d1a261d0af9c01f21a584b2d3385d7e9ef..887a245ea3c1b062db3ee792ff9316c1acf2e5c3 100644
--- a/cms/djangoapps/contentstore/tests/test_transcripts_utils.py
+++ b/cms/djangoapps/contentstore/tests/test_transcripts_utils.py
@@ -18,7 +18,7 @@ from mock import Mock, patch
 from six import text_type
 
 from cms.djangoapps.contentstore.tests.utils import mock_requests_get
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
 from xmodule.exceptions import NotFoundError
diff --git a/cms/djangoapps/contentstore/tests/test_users_default_role.py b/cms/djangoapps/contentstore/tests/test_users_default_role.py
index 85fbbc0d38f6b21af191e016e0a2e1cbafe936b6..e968fd8caead6b817a60b143793b2f66204d4cec 100644
--- a/cms/djangoapps/contentstore/tests/test_users_default_role.py
+++ b/cms/djangoapps/contentstore/tests/test_users_default_role.py
@@ -7,7 +7,7 @@ after deleting it creates same course again
 from cms.djangoapps.contentstore.tests.utils import AjaxEnabledTestClient
 from cms.djangoapps.contentstore.utils import delete_course, reverse_url
 from lms.djangoapps.courseware.tests.factories import UserFactory
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 
diff --git a/cms/djangoapps/contentstore/tests/utils.py b/cms/djangoapps/contentstore/tests/utils.py
index be9dc5c30cf01f71a453afc3f912f32650e52220..0c9dc771a78676d32778374f4486ad54d0181758 100644
--- a/cms/djangoapps/contentstore/tests/utils.py
+++ b/cms/djangoapps/contentstore/tests/utils.py
@@ -14,7 +14,7 @@ from mock import Mock
 from opaque_keys.edx.keys import AssetKey, CourseKey
 
 from cms.djangoapps.contentstore.utils import reverse_url
-from student.models import Registration
+from common.djangoapps.student.models import Registration
 from xmodule.contentstore.django import contentstore
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.inheritance import own_metadata
diff --git a/cms/djangoapps/contentstore/utils.py b/cms/djangoapps/contentstore/utils.py
index 5f46a5f1c41fffeee232939ee7528d27b354f477..aed8c315ef804b6d8e9adb8e32a500e355eeb8a7 100644
--- a/cms/djangoapps/contentstore/utils.py
+++ b/cms/djangoapps/contentstore/utils.py
@@ -23,9 +23,9 @@ from openedx.core.djangoapps.site_configuration import helpers as configuration_
 from openedx.core.djangoapps.site_configuration.models import SiteConfiguration
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.content_type_gating.partitions import CONTENT_TYPE_GATING_SCHEME
-from student import auth
-from student.models import CourseEnrollment
-from student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
diff --git a/cms/djangoapps/contentstore/views/access.py b/cms/djangoapps/contentstore/views/access.py
index b49edef6e73baef3262a00391aaf3568b1d1a60f..a714cc545d4854703cf5629aadafbb86097792d0 100644
--- a/cms/djangoapps/contentstore/views/access.py
+++ b/cms/djangoapps/contentstore/views/access.py
@@ -1,8 +1,8 @@
 """ Helper methods for determining user access permissions in Studio """
 
 
-from student import auth
-from student.roles import CourseInstructorRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.roles import CourseInstructorRole
 
 
 def get_user_role(user, course_id):
diff --git a/cms/djangoapps/contentstore/views/assets.py b/cms/djangoapps/contentstore/views/assets.py
index 0bfe3488b5ed3658e681d0a9d26364a59dad2ca9..7974041b5632e147760094c7f13e50606631238f 100644
--- a/cms/djangoapps/contentstore/views/assets.py
+++ b/cms/djangoapps/contentstore/views/assets.py
@@ -19,11 +19,11 @@ from opaque_keys.edx.keys import AssetKey, CourseKey
 from pymongo import ASCENDING, DESCENDING
 from six import text_type
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.contentserver.caching import del_cached_content
-from student.auth import has_course_author_access
-from util.date_utils import get_default_time_display
-from util.json_request import JsonResponse
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.util.date_utils import get_default_time_display
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
 from xmodule.exceptions import NotFoundError
diff --git a/cms/djangoapps/contentstore/views/certificates.py b/cms/djangoapps/contentstore/views/certificates.py
index 3c5b18ce15f5b94393abd31d7cee88d70a684cb8..7b16ba6d36aa9d3e4f17fea137ac66eca397ce39 100644
--- a/cms/djangoapps/contentstore/views/certificates.py
+++ b/cms/djangoapps/contentstore/views/certificates.py
@@ -39,12 +39,12 @@ from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import AssetKey, CourseKey
 from six import text_type
 
-from course_modes.models import CourseMode
-from edxmako.shortcuts import render_to_response
-from student.auth import has_studio_write_access
-from student.roles import GlobalStaff
-from util.db import MYSQL_MAX_INT, generate_int_id
-from util.json_request import JsonResponse
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student.auth import has_studio_write_access
+from common.djangoapps.student.roles import GlobalStaff
+from common.djangoapps.util.db import MYSQL_MAX_INT, generate_int_id
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.modulestore import EdxJSONEncoder
 from xmodule.modulestore.django import modulestore
 
diff --git a/cms/djangoapps/contentstore/views/checklists.py b/cms/djangoapps/contentstore/views/checklists.py
index 4ea8e3a3279f2e20c8499bd4f6c72b477b84aa9c..a04cf8ec2828574520a45674f720eaf2d575d4db 100644
--- a/cms/djangoapps/contentstore/views/checklists.py
+++ b/cms/djangoapps/contentstore/views/checklists.py
@@ -3,8 +3,8 @@ from django.core.exceptions import PermissionDenied
 from django.views.decorators.csrf import ensure_csrf_cookie
 from opaque_keys.edx.keys import CourseKey
 
-from edxmako.shortcuts import render_to_response
-from student.auth import has_course_author_access
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student.auth import has_course_author_access
 from xmodule.modulestore.django import modulestore
 
 __all__ = ['checklists_handler']
diff --git a/cms/djangoapps/contentstore/views/component.py b/cms/djangoapps/contentstore/views/component.py
index 5ddf06d948e5ef227c83e97f56a7319ff9da2d20..dde19152d7954a849cb4d6f7e0f7eaad81303112 100644
--- a/cms/djangoapps/contentstore/views/component.py
+++ b/cms/djangoapps/contentstore/views/component.py
@@ -21,11 +21,11 @@ from xblock.exceptions import NoSuchHandlerError
 from xblock.plugin import PluginMissingError
 from xblock.runtime import Mixologist
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.lib.xblock_utils import get_aside_from_xblock, is_xblock_aside
-from student.auth import has_course_author_access
-from xblock_django.api import authorable_xblocks, disabled_xblocks
-from xblock_django.models import XBlockStudioConfigurationFlag
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.xblock_django.api import authorable_xblocks, disabled_xblocks
+from common.djangoapps.xblock_django.models import XBlockStudioConfigurationFlag
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
diff --git a/cms/djangoapps/contentstore/views/course.py b/cms/djangoapps/contentstore/views/course.py
index ccc04088c11854c03d2cbd393ee1f501081650c6..afb4b7c9558f2ca17278953fce3d1fbb6a36af57 100644
--- a/cms/djangoapps/contentstore/views/course.py
+++ b/cms/djangoapps/contentstore/views/course.py
@@ -35,10 +35,10 @@ from cms.djangoapps.course_creators.views import add_user_with_status_unrequeste
 from cms.djangoapps.models.settings.course_grading import CourseGradingModel
 from cms.djangoapps.models.settings.course_metadata import CourseMetadata
 from cms.djangoapps.models.settings.encoder import CourseSettingsEncoder
-from course_action_state.managers import CourseActionStateItemNotFoundError
-from course_action_state.models import CourseRerunState, CourseRerunUIStateManager
-from course_modes.models import CourseMode
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.course_action_state.managers import CourseActionStateItemNotFoundError
+from common.djangoapps.course_action_state.models import CourseRerunState, CourseRerunUIStateManager
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.credit.api import get_credit_requirements, is_credit_course
 from openedx.core.djangoapps.credit.tasks import update_credit_course_requirements
@@ -51,22 +51,26 @@ from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.content_type_gating.partitions import CONTENT_TYPE_GATING_SCHEME
 from openedx.features.course_experience.waffle import ENABLE_COURSE_ABOUT_SIDEBAR_HTML
 from openedx.features.course_experience.waffle import waffle as course_experience_waffle
-from student import auth
-from student.auth import has_course_author_access, has_studio_read_access, has_studio_write_access
-from student.roles import CourseCreatorRole, CourseInstructorRole, CourseStaffRole, GlobalStaff, UserBasedRole
-from util.course import get_link_for_about_page
-from util.date_utils import get_default_time_display
-from util.json_request import JsonResponse, JsonResponseBadRequest, expect_json
-from util.milestones_helpers import (
+from common.djangoapps.student import auth
+from common.djangoapps.student.auth import has_course_author_access, has_studio_read_access, has_studio_write_access
+from common.djangoapps.student.roles import (
+    CourseCreatorRole, CourseInstructorRole, CourseStaffRole, GlobalStaff, UserBasedRole
+)
+from common.djangoapps.util.course import get_link_for_about_page
+from common.djangoapps.util.date_utils import get_default_time_display
+from common.djangoapps.util.json_request import JsonResponse, JsonResponseBadRequest, expect_json
+from common.djangoapps.util.milestones_helpers import (
     is_prerequisite_courses_enabled,
     is_valid_course_key,
     remove_prerequisite_course,
     set_prerequisite_courses
 )
-from util.organizations_helpers import add_organization_course, get_organization_by_short_name, organizations_enabled
-from util.string_utils import _has_non_ascii_characters
 from openedx.core import toggles as core_toggles
-from xblock_django.api import deprecated_xblocks
+from common.djangoapps.util.organizations_helpers import (
+    add_organization_course, get_organization_by_short_name, organizations_enabled
+)
+from common.djangoapps.util.string_utils import _has_non_ascii_characters
+from common.djangoapps.xblock_django.api import deprecated_xblocks
 from xmodule.contentstore.content import StaticContent
 from xmodule.course_module import DEFAULT_START_DATE, CourseFields
 from xmodule.error_module import ErrorDescriptor
diff --git a/cms/djangoapps/contentstore/views/dev.py b/cms/djangoapps/contentstore/views/dev.py
index f04818e08e82927465548d523686e20a396e50ab..85d451fb6f3362a2a89bd61b2fc8e052395b7846 100644
--- a/cms/djangoapps/contentstore/views/dev.py
+++ b/cms/djangoapps/contentstore/views/dev.py
@@ -4,7 +4,7 @@ These views will NOT be shown on production: trying to access them will result
 in a 404 error.
 """
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 
 
 def dev_mode(request):
diff --git a/cms/djangoapps/contentstore/views/entrance_exam.py b/cms/djangoapps/contentstore/views/entrance_exam.py
index b33b44307c0a188387a8c4e8333159ecbc5cacae..90528c05faaa664aa3a5cd45227c91670124a19f 100644
--- a/cms/djangoapps/contentstore/views/entrance_exam.py
+++ b/cms/djangoapps/contentstore/views/entrance_exam.py
@@ -18,8 +18,8 @@ from opaque_keys.edx.keys import CourseKey, UsageKey
 
 from cms.djangoapps.models.settings.course_metadata import CourseMetadata
 from openedx.core.djangolib.js_utils import dump_js_escaped_json
-from student.auth import has_course_author_access
-from util import milestones_helpers
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.util import milestones_helpers
 from openedx.core import toggles as core_toggles
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
diff --git a/cms/djangoapps/contentstore/views/error.py b/cms/djangoapps/contentstore/views/error.py
index eb4b234e40c15e51e7b6170315373506f10649de..9fd2734b676351af8936ae70d2e52e9de6a2ac43 100644
--- a/cms/djangoapps/contentstore/views/error.py
+++ b/cms/djangoapps/contentstore/views/error.py
@@ -2,9 +2,9 @@ import functools
 
 from django.http import HttpResponse, HttpResponseNotFound, HttpResponseServerError
 
-from edxmako.shortcuts import render_to_response, render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_response, render_to_string
 from openedx.core.djangolib.js_utils import dump_js_escaped_json
-from util.views import fix_crum_request
+from common.djangoapps.util.views import fix_crum_request
 
 __all__ = ['not_found', 'server_error', 'render_404', 'render_500']
 
diff --git a/cms/djangoapps/contentstore/views/export_git.py b/cms/djangoapps/contentstore/views/export_git.py
index dddfd0cfb4df9b82ae9f9ba116bee574f0e9417a..c392347061204b6fa45274c4d6db5ea59f9f93f0 100644
--- a/cms/djangoapps/contentstore/views/export_git.py
+++ b/cms/djangoapps/contentstore/views/export_git.py
@@ -14,8 +14,8 @@ from django.views.decorators.csrf import ensure_csrf_cookie
 from opaque_keys.edx.keys import CourseKey
 
 import cms.djangoapps.contentstore.git_export_utils as git_export_utils
-from edxmako.shortcuts import render_to_response
-from student.auth import has_course_author_access
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student.auth import has_course_author_access
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/cms/djangoapps/contentstore/views/helpers.py b/cms/djangoapps/contentstore/views/helpers.py
index 2c51df68677a94000f96758a8d7a685ec9cebb0a..bf563b412bbc2166017114e8cc609af4cecd9a77 100644
--- a/cms/djangoapps/contentstore/views/helpers.py
+++ b/cms/djangoapps/contentstore/views/helpers.py
@@ -12,8 +12,8 @@ from opaque_keys.edx.keys import UsageKey
 from xblock.core import XBlock
 
 from cms.djangoapps.models.settings.course_grading import CourseGradingModel
-from edxmako.shortcuts import render_to_string
 from openedx.core.toggles import ENTRANCE_EXAMS
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from xmodule.modulestore.django import modulestore
 from xmodule.tabs import StaticTab
 
diff --git a/cms/djangoapps/contentstore/views/import_export.py b/cms/djangoapps/contentstore/views/import_export.py
index 83f7703f6a31f1eb0795ddc608d313fea1b0dba4..839005ceb95db8466153a6c99175b3630fb6adf8 100644
--- a/cms/djangoapps/contentstore/views/import_export.py
+++ b/cms/djangoapps/contentstore/views/import_export.py
@@ -30,10 +30,10 @@ from storages.backends.s3boto import S3BotoStorage
 from user_tasks.conf import settings as user_tasks_settings
 from user_tasks.models import UserTaskArtifact, UserTaskStatus
 
-from edxmako.shortcuts import render_to_response
-from student.auth import has_course_author_access
-from util.json_request import JsonResponse
-from util.views import ensure_valid_course_key
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.util.json_request import JsonResponse
+from common.djangoapps.util.views import ensure_valid_course_key
 from xmodule.modulestore.django import modulestore
 
 from ..storage import course_import_export_storage
diff --git a/cms/djangoapps/contentstore/views/item.py b/cms/djangoapps/contentstore/views/item.py
index a4ba2a9a40c90f53ab3970ea3bd4c841fbf54d7a..204c8d0a1f4a9fdeeb6d91e2dbdaa7af13c595df 100644
--- a/cms/djangoapps/contentstore/views/item.py
+++ b/cms/djangoapps/contentstore/views/item.py
@@ -35,16 +35,16 @@ from cms.djangoapps.contentstore.config.waffle import SHOW_REVIEW_RULES_FLAG
 from cms.djangoapps.models.settings.course_grading import CourseGradingModel
 from cms.djangoapps.xblock_config.models import CourseEditLTIFieldsEnabledFlag
 from cms.lib.xblock.authoring_mixin import VISIBILITY_VIEW
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from openedx.core.djangoapps.schedules.config import COURSE_UPDATE_WAFFLE_FLAG
 from openedx.core.lib.gating import api as gating_api
 from openedx.core.lib.xblock_utils import hash_resource, request_token, wrap_xblock, wrap_xblock_aside
-from static_replace import replace_static_urls
-from student.auth import has_studio_read_access, has_studio_write_access
-from util.date_utils import get_default_time_display
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.static_replace import replace_static_urls
+from common.djangoapps.student.auth import has_studio_read_access, has_studio_write_access
 from openedx.core.toggles import ENTRANCE_EXAMS
-from xblock_django.user_service import DjangoXBlockUserService
+from common.djangoapps.util.date_utils import get_default_time_display
+from common.djangoapps.util.json_request import JsonResponse, expect_json
+from common.djangoapps.xblock_django.user_service import DjangoXBlockUserService
 from xmodule.course_module import DEFAULT_START_DATE
 from xmodule.library_tools import LibraryToolsService
 from xmodule.modulestore import EdxJSONEncoder, ModuleStoreEnum
diff --git a/cms/djangoapps/contentstore/views/library.py b/cms/djangoapps/contentstore/views/library.py
index cb203132d4a43c6506759aa5686569c2a9ecc615..0b9a38543a07b3b8b24a14ae1582ad6c5d2b5a79 100644
--- a/cms/djangoapps/contentstore/views/library.py
+++ b/cms/djangoapps/contentstore/views/library.py
@@ -20,16 +20,16 @@ from opaque_keys.edx.locator import LibraryLocator, LibraryUsageLocator
 from six import text_type
 
 from cms.djangoapps.course_creators.views import get_course_creator_status
-from edxmako.shortcuts import render_to_response
-from student.auth import (
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student.auth import (
     STUDIO_EDIT_ROLES,
     STUDIO_VIEW_USERS,
     get_user_permissions,
     has_studio_read_access,
     has_studio_write_access
 )
-from student.roles import CourseInstructorRole, CourseStaffRole, LibraryUserRole
-from util.json_request import JsonResponse, JsonResponseBadRequest, expect_json
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole, LibraryUserRole
+from common.djangoapps.util.json_request import JsonResponse, JsonResponseBadRequest, expect_json
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import DuplicateCourseError
diff --git a/cms/djangoapps/contentstore/views/organization.py b/cms/djangoapps/contentstore/views/organization.py
index 04000259bb70e1c7a006239c210029ab284573aa..89f6bab278610860ffc66868d481fc3cdb5ef1c0 100644
--- a/cms/djangoapps/contentstore/views/organization.py
+++ b/cms/djangoapps/contentstore/views/organization.py
@@ -7,7 +7,7 @@ from django.utils.decorators import method_decorator
 from django.views.generic import View
 
 from openedx.core.djangolib.js_utils import dump_js_escaped_json
-from util.organizations_helpers import get_organizations
+from common.djangoapps.util.organizations_helpers import get_organizations
 
 
 class OrganizationListView(View):
diff --git a/cms/djangoapps/contentstore/views/preview.py b/cms/djangoapps/contentstore/views/preview.py
index 638faaea5ee037093b58975caf17f6ac1739804e..81b1f813da29e1cf1fce87a7c65b54d84326c9e2 100644
--- a/cms/djangoapps/contentstore/views/preview.py
+++ b/cms/djangoapps/contentstore/views/preview.py
@@ -16,10 +16,10 @@ from xblock.django.request import django_to_webob_request, webob_to_django_respo
 from xblock.exceptions import NoSuchHandlerError
 from xblock.runtime import KvsFieldData
 
-import static_replace
+from common.djangoapps import static_replace
 from cms.djangoapps.xblock_config.models import StudioConfig
 from cms.lib.xblock.field_data import CmsFieldData
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from lms.djangoapps.lms_xblock.field_data import LmsFieldData
 from openedx.core.lib.license import wrap_with_license
 from openedx.core.lib.xblock_utils import (
@@ -30,7 +30,7 @@ from openedx.core.lib.xblock_utils import (
     wrap_xblock_aside,
     xblock_local_resource_url
 )
-from xblock_django.user_service import DjangoXBlockUserService
+from common.djangoapps.xblock_django.user_service import DjangoXBlockUserService
 from xmodule.contentstore.django import contentstore
 from xmodule.error_module import ErrorDescriptor
 from xmodule.exceptions import NotFoundError, ProcessingError
diff --git a/cms/djangoapps/contentstore/views/public.py b/cms/djangoapps/contentstore/views/public.py
index 4462f7d88feec119cef67e91d6090b4645df4fa6..b6fd4a54742202bcb3f1972bb7f98bbe5f021f11 100644
--- a/cms/djangoapps/contentstore/views/public.py
+++ b/cms/djangoapps/contentstore/views/public.py
@@ -8,7 +8,7 @@ from django.shortcuts import redirect
 from django.utils.http import urlquote_plus
 from waffle.decorators import waffle_switch
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 
 from ..config import waffle
 
diff --git a/cms/djangoapps/contentstore/views/tabs.py b/cms/djangoapps/contentstore/views/tabs.py
index 7b03b0b225a9a45ee8fd52dcef2e60f866219337..11438ae3e4705f5ff84aa203f13ad78b6b41c919 100644
--- a/cms/djangoapps/contentstore/views/tabs.py
+++ b/cms/djangoapps/contentstore/views/tabs.py
@@ -11,9 +11,9 @@ from django.views.decorators.csrf import ensure_csrf_cookie
 from django.views.decorators.http import require_http_methods
 from opaque_keys.edx.keys import CourseKey, UsageKey
 
-from edxmako.shortcuts import render_to_response
-from student.auth import has_course_author_access
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.tabs import CourseTab, CourseTabList, InvalidTabsException, StaticTab
diff --git a/cms/djangoapps/contentstore/views/tests/test_access.py b/cms/djangoapps/contentstore/views/tests/test_access.py
index e410399c4e59e497d8d4f7a7bb070cec7195c514..fa7cff61cdcc34ef3d592d5d3f6da1120b6caee0 100644
--- a/cms/djangoapps/contentstore/views/tests/test_access.py
+++ b/cms/djangoapps/contentstore/views/tests/test_access.py
@@ -7,9 +7,9 @@ from django.contrib.auth.models import User
 from django.test import TestCase
 from opaque_keys.edx.locator import CourseLocator
 
-from student.auth import add_users
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.auth import add_users
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory
 
 from ..access import get_user_role
 
diff --git a/cms/djangoapps/contentstore/views/tests/test_assets.py b/cms/djangoapps/contentstore/views/tests/test_assets.py
index 1dbefda6e27b0947618aa9fcee946aa384fbe94d..872922a7f0dc551932125339a46106facfd8a5fe 100644
--- a/cms/djangoapps/contentstore/views/tests/test_assets.py
+++ b/cms/djangoapps/contentstore/views/tests/test_assets.py
@@ -21,7 +21,7 @@ from pytz import UTC
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url
 from cms.djangoapps.contentstore.views import assets
-from static_replace import replace_static_urls
+from common.djangoapps.static_replace import replace_static_urls
 from xmodule.assetstore import AssetMetadata
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
diff --git a/cms/djangoapps/contentstore/views/tests/test_certificates.py b/cms/djangoapps/contentstore/views/tests/test_certificates.py
index 4a3bf1cec8f212605c45c8fd608a9f2425711690..4b36da92124c84dc252abb1b9041b81077c5afe7 100644
--- a/cms/djangoapps/contentstore/views/tests/test_certificates.py
+++ b/cms/djangoapps/contentstore/views/tests/test_certificates.py
@@ -18,11 +18,11 @@ from six.moves import range
 
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import get_lms_link_for_certificate_web_view, reverse_course_url
-from course_modes.tests.factories import CourseModeFactory
-from student.models import CourseEnrollment
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import UserFactory
-from util.testing import EventTestMixin, UrlResetMixin
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import EventTestMixin, UrlResetMixin
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
 from xmodule.exceptions import NotFoundError
diff --git a/cms/djangoapps/contentstore/views/tests/test_course_index.py b/cms/djangoapps/contentstore/views/tests/test_course_index.py
index ec6b86e906dc638a13c49c908ba244c1a88c5999..4ac5f6cf76088184fcb06132fe5a6a9ae33f71d5 100644
--- a/cms/djangoapps/contentstore/views/tests/test_course_index.py
+++ b/cms/djangoapps/contentstore/views/tests/test_course_index.py
@@ -21,12 +21,12 @@ from search.api import perform_search
 from cms.djangoapps.contentstore.courseware_index import CoursewareSearchIndexer, SearchIndexingError
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import add_instructor, reverse_course_url, reverse_usage_url
-from course_action_state.managers import CourseRerunUIStateManager
-from course_action_state.models import CourseRerunState
+from common.djangoapps.course_action_state.managers import CourseRerunUIStateManager
+from common.djangoapps.course_action_state.models import CourseRerunState
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
-from student.auth import has_course_author_access
-from student.roles import CourseStaffRole, GlobalStaff, LibraryUserRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.student.roles import CourseStaffRole, GlobalStaff, LibraryUserRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, LibraryFactory, check_mongo_calls
diff --git a/cms/djangoapps/contentstore/views/tests/test_entrance_exam.py b/cms/djangoapps/contentstore/views/tests/test_entrance_exam.py
index 9e07f057487cf19663b437fe745d08eace952759..bb80d7fa8974eefd426e864996ac38dc4b9dc9d3 100644
--- a/cms/djangoapps/contentstore/views/tests/test_entrance_exam.py
+++ b/cms/djangoapps/contentstore/views/tests/test_entrance_exam.py
@@ -17,8 +17,8 @@ from cms.djangoapps.contentstore.tests.utils import AjaxEnabledTestClient, Cours
 from cms.djangoapps.contentstore.utils import reverse_url
 from cms.djangoapps.models.settings.course_grading import CourseGradingModel
 from cms.djangoapps.models.settings.course_metadata import CourseMetadata
-from student.tests.factories import UserFactory
-from util import milestones_helpers
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util import milestones_helpers
 from xmodule.modulestore.django import modulestore
 
 from ..entrance_exam import (
diff --git a/cms/djangoapps/contentstore/views/tests/test_exam_settings_view.py b/cms/djangoapps/contentstore/views/tests/test_exam_settings_view.py
index 278787855d4a1d30c64bfa3a9c7223141d7273b0..c24d3fa04418766681e0e2a42b6d6555fc280122 100644
--- a/cms/djangoapps/contentstore/views/tests/test_exam_settings_view.py
+++ b/cms/djangoapps/contentstore/views/tests/test_exam_settings_view.py
@@ -11,7 +11,7 @@ from django.test.utils import override_settings
 
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url
-from util.testing import UrlResetMixin
+from common.djangoapps.util.testing import UrlResetMixin
 
 FEATURES_WITH_CERTS_ENABLED = settings.FEATURES.copy()
 FEATURES_WITH_CERTS_ENABLED['CERTIFICATES_HTML_VIEW'] = True
diff --git a/cms/djangoapps/contentstore/views/tests/test_header_menu.py b/cms/djangoapps/contentstore/views/tests/test_header_menu.py
index cd11613c765c638b42f3f49610dd063a3a3293ba..f2fd6e8c2d30131fa0e84129d0a42e63e7b43dda 100644
--- a/cms/djangoapps/contentstore/views/tests/test_header_menu.py
+++ b/cms/djangoapps/contentstore/views/tests/test_header_menu.py
@@ -10,7 +10,7 @@ from django.test.utils import override_settings
 
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url
-from util.testing import UrlResetMixin
+from common.djangoapps.util.testing import UrlResetMixin
 
 FEATURES_WITH_CERTS_ENABLED = settings.FEATURES.copy()
 FEATURES_WITH_CERTS_ENABLED['CERTIFICATES_HTML_VIEW'] = True
diff --git a/cms/djangoapps/contentstore/views/tests/test_import_export.py b/cms/djangoapps/contentstore/views/tests/test_import_export.py
index 292fb71326c0e82b0c9de104f6a674fcc4aea786..75ad02cc6983b1a8b3a1251e3044f882cf9227d2 100644
--- a/cms/djangoapps/contentstore/views/tests/test_import_export.py
+++ b/cms/djangoapps/contentstore/views/tests/test_import_export.py
@@ -31,9 +31,9 @@ from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url
 from cms.djangoapps.models.settings.course_metadata import CourseMetadata
 from openedx.core.lib.extract_tar import safetar_extractall
-from student import auth
-from student.roles import CourseInstructorRole, CourseStaffRole
-from util import milestones_helpers
+from common.djangoapps.student import auth
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.util import milestones_helpers
 from xmodule.contentstore.django import contentstore
 from xmodule.modulestore import LIBRARY_ROOT, ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
diff --git a/cms/djangoapps/contentstore/views/tests/test_item.py b/cms/djangoapps/contentstore/views/tests/test_item.py
index ed8707395ac8323f60ad5834d499460e4afe2adb..ddf1c8b64dcdd9e7cccde1beb82b859ceb05f5df 100644
--- a/cms/djangoapps/contentstore/views/tests/test_item.py
+++ b/cms/djangoapps/contentstore/views/tests/test_item.py
@@ -36,9 +36,11 @@ from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url, reverse_usage_url
 from cms.djangoapps.contentstore.views import item as item_module
 from lms.djangoapps.lms_xblock.mixin import NONSENSICAL_ACCESS_RESTRICTION
-from student.tests.factories import UserFactory
-from xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
-from xblock_django.user_service import DjangoXBlockUserService
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.xblock_django.models import (
+    XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
+)
+from common.djangoapps.xblock_django.user_service import DjangoXBlockUserService
 from xmodule.capa_module import ProblemBlock
 from xmodule.course_module import DEFAULT_START_DATE
 from xmodule.modulestore import ModuleStoreEnum
diff --git a/cms/djangoapps/contentstore/views/tests/test_library.py b/cms/djangoapps/contentstore/views/tests/test_library.py
index bd212b1e560d66c83ae210a4b415980aac565963..96d3f68012fa09b5e79f8d83fe435f3158980b4b 100644
--- a/cms/djangoapps/contentstore/views/tests/test_library.py
+++ b/cms/djangoapps/contentstore/views/tests/test_library.py
@@ -17,7 +17,7 @@ from six.moves import range
 from cms.djangoapps.contentstore.tests.utils import AjaxEnabledTestClient, CourseTestCase, parse_json
 from cms.djangoapps.contentstore.utils import reverse_course_url, reverse_library_url
 from cms.djangoapps.course_creators.views import add_user_with_status_granted as grant_course_creator_status
-from student.roles import LibraryUserRole
+from common.djangoapps.student.roles import LibraryUserRole
 from xmodule.modulestore.tests.factories import LibraryFactory
 
 from ..component import get_component_templates
diff --git a/cms/djangoapps/contentstore/views/tests/test_organizations.py b/cms/djangoapps/contentstore/views/tests/test_organizations.py
index 1b7fabe6536f5fa942eb4eb04e97c39588011c4c..6aabcbd781b9aa40cccb9e3a606e772a95e3d58a 100644
--- a/cms/djangoapps/contentstore/views/tests/test_organizations.py
+++ b/cms/djangoapps/contentstore/views/tests/test_organizations.py
@@ -7,8 +7,8 @@ from django.test import TestCase
 from django.urls import reverse
 from mock import patch
 
-from student.tests.factories import UserFactory
-from util.organizations_helpers import add_organization
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.organizations_helpers import add_organization
 
 
 @patch.dict('django.conf.settings.FEATURES', {'ORGANIZATIONS_APP': True})
diff --git a/cms/djangoapps/contentstore/views/tests/test_preview.py b/cms/djangoapps/contentstore/views/tests/test_preview.py
index ba03a735be90d6fc103490bd6ac2cf619e649044..efff1760f9e1c15b554dcf3506c0aa6477f6b1f0 100644
--- a/cms/djangoapps/contentstore/views/tests/test_preview.py
+++ b/cms/djangoapps/contentstore/views/tests/test_preview.py
@@ -13,7 +13,7 @@ from xblock.core import XBlock, XBlockAside
 
 from cms.djangoapps.contentstore.utils import reverse_usage_url
 from cms.djangoapps.xblock_config.models import StudioConfig
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py b/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py
index 2ba55b7cf8c31a614ce2b64659dc044406ca0ec4..90ce580450cc4364280bb7a2b52b54399ada737f 100644
--- a/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py
+++ b/cms/djangoapps/contentstore/views/tests/test_transcript_settings.py
@@ -14,7 +14,7 @@ from mock import ANY, Mock, patch
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url
 from openedx.core.djangoapps.profile_images.tests.helpers import make_image_file
-from student.roles import CourseStaffRole
+from common.djangoapps.student.roles import CourseStaffRole
 
 from ..transcript_settings import TranscriptionProviderErrorType, validate_transcript_credentials
 
diff --git a/cms/djangoapps/contentstore/views/tests/test_user.py b/cms/djangoapps/contentstore/views/tests/test_user.py
index 51a1a826c9977795c776810e24f9b58289a57f84..c0ccf75122acb00a0aea397d00c5a4cf99455b50 100644
--- a/cms/djangoapps/contentstore/views/tests/test_user.py
+++ b/cms/djangoapps/contentstore/views/tests/test_user.py
@@ -9,9 +9,9 @@ from django.contrib.auth.models import User
 
 from cms.djangoapps.contentstore.tests.utils import CourseTestCase
 from cms.djangoapps.contentstore.utils import reverse_course_url
-from student import auth
-from student.models import CourseEnrollment
-from student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
 
 
 class UsersTestCase(CourseTestCase):
diff --git a/cms/djangoapps/contentstore/views/transcript_settings.py b/cms/djangoapps/contentstore/views/transcript_settings.py
index f191acfc75525a70a4079ebf34a520498a0d8b5e..b6bd83add2e332ffc9ff17e9248f5324b8484e54 100644
--- a/cms/djangoapps/contentstore/views/transcript_settings.py
+++ b/cms/djangoapps/contentstore/views/transcript_settings.py
@@ -23,8 +23,8 @@ from opaque_keys.edx.keys import CourseKey
 
 from openedx.core.djangoapps.video_config.models import VideoTranscriptEnabledFlag
 from openedx.core.djangoapps.video_pipeline.api import update_3rd_party_transcription_service_credentials
-from student.auth import has_studio_write_access
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.student.auth import has_studio_write_access
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 from xmodule.video_module.transcripts_utils import Transcript, TranscriptsGenerationException
 
 from .videos import TranscriptProvider
diff --git a/cms/djangoapps/contentstore/views/transcripts_ajax.py b/cms/djangoapps/contentstore/views/transcripts_ajax.py
index eea7d68139a21e6d0f84bf3cc2e4d0be1576166d..378d03dd6a96900f89dd7c0f79831629f371529f 100644
--- a/cms/djangoapps/contentstore/views/transcripts_ajax.py
+++ b/cms/djangoapps/contentstore/views/transcripts_ajax.py
@@ -25,8 +25,8 @@ from opaque_keys.edx.keys import UsageKey
 from six import text_type
 
 from cms.djangoapps.contentstore.views.videos import TranscriptProvider
-from student.auth import has_course_author_access
-from util.json_request import JsonResponse
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
 from xmodule.exceptions import NotFoundError
diff --git a/cms/djangoapps/contentstore/views/user.py b/cms/djangoapps/contentstore/views/user.py
index b0fc143d0704e5eb484dba19c27018ab2a493a87..3af7087d24f52481b717fc45828c42a5e1765c27 100644
--- a/cms/djangoapps/contentstore/views/user.py
+++ b/cms/djangoapps/contentstore/views/user.py
@@ -12,12 +12,12 @@ from opaque_keys.edx.keys import CourseKey
 from opaque_keys.edx.locator import LibraryLocator
 
 from cms.djangoapps.course_creators.views import user_requested_access
-from edxmako.shortcuts import render_to_response
-from student import auth
-from student.auth import STUDIO_EDIT_ROLES, STUDIO_VIEW_USERS, get_user_permissions
-from student.models import CourseEnrollment
-from student.roles import CourseInstructorRole, CourseStaffRole, LibraryUserRole
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student import auth
+from common.djangoapps.student.auth import STUDIO_EDIT_ROLES, STUDIO_VIEW_USERS, get_user_permissions
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole, LibraryUserRole
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 from xmodule.modulestore.django import modulestore
 
 __all__ = ['request_course_creator', 'course_team_handler']
diff --git a/cms/djangoapps/contentstore/views/videos.py b/cms/djangoapps/contentstore/views/videos.py
index d00b9d46392ee8734f8c3f9a252b2a8f8a265014..c6e0cabbcd32f4b576f005207f913acee81d7dc2 100644
--- a/cms/djangoapps/contentstore/views/videos.py
+++ b/cms/djangoapps/contentstore/views/videos.py
@@ -45,7 +45,7 @@ from rest_framework.decorators import api_view
 from rest_framework.response import Response
 
 from edx_toggles.toggles import WaffleFlagNamespace, WaffleSwitchNamespace
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.video_config.models import VideoTranscriptEnabledFlag
 from openedx.core.djangoapps.video_pipeline.config.waffle import (
     DEPRECATE_YOUTUBE,
@@ -54,7 +54,7 @@ from openedx.core.djangoapps.video_pipeline.config.waffle import (
 )
 from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag
 from openedx.core.lib.api.view_utils import view_auth_classes
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 from xmodule.video_module.transcripts_utils import Transcript
 
 from ..models import VideoUploadConfig
diff --git a/cms/djangoapps/course_creators/admin.py b/cms/djangoapps/course_creators/admin.py
index 46e9363fc4d452c91b9a1b96bf474091be02dfab..5b607eb60351f5af4505115567e83da2ea79aa79 100644
--- a/cms/djangoapps/course_creators/admin.py
+++ b/cms/djangoapps/course_creators/admin.py
@@ -18,7 +18,7 @@ from cms.djangoapps.course_creators.models import (
     update_creator_state
 )
 from cms.djangoapps.course_creators.views import update_course_creator_group
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 
 log = logging.getLogger("studio.coursecreatoradmin")
 
diff --git a/cms/djangoapps/course_creators/tests/test_admin.py b/cms/djangoapps/course_creators/tests/test_admin.py
index 4bf60e6e3052a56d62c56e2cff78350f55b4fd1e..4905e90bb849f3e6f3ff4961274393fc66ca96fd 100644
--- a/cms/djangoapps/course_creators/tests/test_admin.py
+++ b/cms/djangoapps/course_creators/tests/test_admin.py
@@ -13,8 +13,8 @@ from six.moves import range
 
 from cms.djangoapps.course_creators.admin import CourseCreatorAdmin
 from cms.djangoapps.course_creators.models import CourseCreator
-from student import auth
-from student.roles import CourseCreatorRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.roles import CourseCreatorRole
 
 
 def mock_render_to_string(template_name, context):
diff --git a/cms/djangoapps/course_creators/tests/test_views.py b/cms/djangoapps/course_creators/tests/test_views.py
index faea3a70e63e2e58735792f5d7b1c75add9c3eac..78493ce85715a9f116d7eb476c76d3b1f91643ba 100644
--- a/cms/djangoapps/course_creators/tests/test_views.py
+++ b/cms/djangoapps/course_creators/tests/test_views.py
@@ -16,8 +16,8 @@ from cms.djangoapps.course_creators.views import (
     update_course_creator_group,
     user_requested_access
 )
-from student import auth
-from student.roles import CourseCreatorRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.roles import CourseCreatorRole
 
 
 class CourseCreatorView(TestCase):
diff --git a/cms/djangoapps/course_creators/views.py b/cms/djangoapps/course_creators/views.py
index 06727c17be084ff82a6e106e135edb432812d47e..80f081706722867377ea74d4eed0dd8225b32956 100644
--- a/cms/djangoapps/course_creators/views.py
+++ b/cms/djangoapps/course_creators/views.py
@@ -4,8 +4,8 @@ Methods for interacting programmatically with the user creator table.
 
 
 from cms.djangoapps.course_creators.models import CourseCreator
-from student import auth
-from student.roles import CourseCreatorRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.roles import CourseCreatorRole
 
 
 def add_user_with_status_unrequested(user):
diff --git a/cms/djangoapps/maintenance/tests.py b/cms/djangoapps/maintenance/tests.py
index c15965385ee14e791027093427e66f4f6da14fd6..6200aa8e1ed4265772334f2563967b6ca51310c1 100644
--- a/cms/djangoapps/maintenance/tests.py
+++ b/cms/djangoapps/maintenance/tests.py
@@ -12,7 +12,7 @@ from django.urls import reverse
 
 from cms.djangoapps.contentstore.management.commands.utils import get_course_versions
 from openedx.features.announcements.models import Announcement
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/cms/djangoapps/maintenance/views.py b/cms/djangoapps/maintenance/views.py
index 4ee6520bb05242c9822c6551abfd0291651f6fbe..207966960ea015baa895eed6b37bb23ca92afc20 100644
--- a/cms/djangoapps/maintenance/views.py
+++ b/cms/djangoapps/maintenance/views.py
@@ -19,11 +19,11 @@ from opaque_keys.edx.keys import CourseKey
 from six import text_type
 
 from cms.djangoapps.contentstore.management.commands.utils import get_course_versions
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.features.announcements.forms import AnnouncementForm
 from openedx.features.announcements.models import Announcement
-from util.json_request import JsonResponse
-from util.views import require_global_staff
+from common.djangoapps.util.json_request import JsonResponse
+from common.djangoapps.util.views import require_global_staff
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
diff --git a/cms/djangoapps/models/settings/course_grading.py b/cms/djangoapps/models/settings/course_grading.py
index d34407a7f73f763e87b58a79c7dd7b8479dbd996..3cc7ff00dfd4694c33dc83a6bdd5a83308f876f6 100644
--- a/cms/djangoapps/models/settings/course_grading.py
+++ b/cms/djangoapps/models/settings/course_grading.py
@@ -12,7 +12,7 @@ from eventtracking import tracker
 
 from cms.djangoapps.contentstore.signals.signals import GRADING_POLICY_CHANGED
 from cms.djangoapps.models.settings.waffle import material_recompute_only
-from track.event_transaction_utils import create_new_event_transaction_id
+from common.djangoapps.track.event_transaction_utils import create_new_event_transaction_id
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/cms/djangoapps/models/settings/course_metadata.py b/cms/djangoapps/models/settings/course_metadata.py
index dfd32fdca1615d6850570517f20993a76fb9b6c4..cd3e5d5884b3a9bb1e400c5f89dcd0c003bf35b7 100644
--- a/cms/djangoapps/models/settings/course_metadata.py
+++ b/cms/djangoapps/models/settings/course_metadata.py
@@ -16,8 +16,8 @@ from xblock.fields import Scope
 
 from openedx.core.lib.teams_config import TeamsetType
 from openedx.features.course_experience import COURSE_ENABLE_UNENROLLED_ACCESS_FLAG
-from student.roles import GlobalStaff
-from xblock_django.models import XBlockStudioConfigurationFlag
+from common.djangoapps.student.roles import GlobalStaff
+from common.djangoapps.xblock_django.models import XBlockStudioConfigurationFlag
 from xmodule.modulestore.django import modulestore
 
 
diff --git a/cms/envs/bok_choy.auth.json b/cms/envs/bok_choy.auth.json
index 402121e7411eaec8ee28e283491f0edfb7aa6863..4a9a2f71501208ce98bbcd706b24ce196422e1dc 100644
--- a/cms/envs/bok_choy.auth.json
+++ b/cms/envs/bok_choy.auth.json
@@ -78,7 +78,7 @@
                                 "localhost"
                             ],
                             "port": 27017,
-                            "render_template": "edxmako.shortcuts.render_to_string"
+                            "render_template": "common.djangoapps.edxmako.shortcuts.render_to_string"
                         }
                     },
                     {
diff --git a/cms/envs/bok_choy.env.json b/cms/envs/bok_choy.env.json
index daff45b4434eef341ff3f1b0d670c0069e8e2477..b40518b7d3567d86b08e5d325796eaa37ab24de3 100644
--- a/cms/envs/bok_choy.env.json
+++ b/cms/envs/bok_choy.env.json
@@ -4,7 +4,7 @@
     "CACHES": {
         "celery": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "integration_celery",
             "LOCATION": [
                 "localhost:11211"
@@ -12,7 +12,7 @@
         },
         "default": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "sandbox_default",
             "LOCATION": [
                 "localhost:11211"
@@ -20,7 +20,7 @@
         },
         "general": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "sandbox_general",
             "LOCATION": [
                 "localhost:11211"
@@ -28,7 +28,7 @@
         },
         "mongo_metadata_inheritance": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "integration_mongo_metadata_inheritance",
             "LOCATION": [
                 "localhost:11211"
@@ -36,7 +36,7 @@
         },
         "staticfiles": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "integration_static_files",
             "LOCATION": [
                 "localhost:11211"
diff --git a/cms/envs/bok_choy.py b/cms/envs/bok_choy.py
index 10eb11254286f5b6a960c82def0aae7cc1823276..62a6e8aa98545ef9b1f81d1fa8b84673e4ac9d7b 100644
--- a/cms/envs/bok_choy.py
+++ b/cms/envs/bok_choy.py
@@ -90,7 +90,7 @@ MEDIA_ROOT = TEST_ROOT / "uploads"
 WEBPACK_LOADER['DEFAULT']['STATS_FILE'] = TEST_ROOT / "staticfiles" / "cms" / "webpack-stats.json"
 
 LOG_OVERRIDES = [
-    ('track.middleware', logging.CRITICAL),
+    ('common.djangoapps.track.middleware', logging.CRITICAL),
     ('edx.discussion', logging.CRITICAL),
 ]
 for log_name, log_level in LOG_OVERRIDES:
diff --git a/cms/envs/bok_choy.yml b/cms/envs/bok_choy.yml
index 6aa54f0b849b4ef30696db1d799c8aa3c7ef7ebe..00647134600caae6d18b1e5a2a7dcf3376f1c739 100644
--- a/cms/envs/bok_choy.yml
+++ b/cms/envs/bok_choy.yml
@@ -7,27 +7,27 @@ BULK_EMAIL_DEFAULT_FROM_EMAIL: no-reply@example.com
 CACHES:
   celery:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_celery
     LOCATION: ['localhost:11211']
   default:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_default
     LOCATION: ['localhost:11211']
   general:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_general
     LOCATION: ['localhost:11211']
   mongo_metadata_inheritance:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_mongo_metadata_inheritance
     LOCATION: ['localhost:11211']
   staticfiles:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_static_files
     LOCATION: ['localhost:11211']
 CELERY_ALWAYS_EAGER: true
diff --git a/cms/envs/bok_choy_docker.auth.json b/cms/envs/bok_choy_docker.auth.json
index 1fa9f754947c1b65477a93d2cb79b960648ce2fd..98c999fb7c59649c59f4c14a7ebdcef4ff0fea87 100644
--- a/cms/envs/bok_choy_docker.auth.json
+++ b/cms/envs/bok_choy_docker.auth.json
@@ -78,7 +78,7 @@
                                 "edx.devstack.mongo"
                             ],
                             "port": 27017,
-                            "render_template": "edxmako.shortcuts.render_to_string"
+                            "render_template": "common.djangoapps.edxmako.shortcuts.render_to_string"
                         }
                     },
                     {
diff --git a/cms/envs/bok_choy_docker.env.json b/cms/envs/bok_choy_docker.env.json
index f5d18281e95179a23f75d1a0c809d70367aa0d7a..628e374856e8f4855e0762bb4a57d49fe7d12a5b 100644
--- a/cms/envs/bok_choy_docker.env.json
+++ b/cms/envs/bok_choy_docker.env.json
@@ -4,7 +4,7 @@
     "CACHES": {
         "celery": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "integration_celery",
             "LOCATION": [
                 "edx.devstack.memcached:11211"
@@ -12,7 +12,7 @@
         },
         "default": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "sandbox_default",
             "LOCATION": [
                 "edx.devstack.memcached:11211"
@@ -20,7 +20,7 @@
         },
         "general": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "sandbox_general",
             "LOCATION": [
                 "edx.devstack.memcached:11211"
@@ -28,7 +28,7 @@
         },
         "mongo_metadata_inheritance": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "integration_mongo_metadata_inheritance",
             "LOCATION": [
                 "edx.devstack.memcached:11211"
@@ -36,7 +36,7 @@
         },
         "staticfiles": {
             "BACKEND": "django.core.cache.backends.memcached.MemcachedCache",
-            "KEY_FUNCTION": "util.memcache.safe_key",
+            "KEY_FUNCTION": "common.djangoapps.util.memcache.safe_key",
             "KEY_PREFIX": "integration_static_files",
             "LOCATION": [
                 "edx.devstack.memcached:11211"
diff --git a/cms/envs/bok_choy_docker.yml b/cms/envs/bok_choy_docker.yml
index 99aede0ad865f10d8c39dfa665b54fd9b2cba847..a3bd2151f096c7d69b0e532282d8e377027b312b 100644
--- a/cms/envs/bok_choy_docker.yml
+++ b/cms/envs/bok_choy_docker.yml
@@ -7,27 +7,27 @@ BULK_EMAIL_DEFAULT_FROM_EMAIL: no-reply@example.com
 CACHES:
   celery:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_celery
     LOCATION: ['edx.devstack.memcached:11211']
   default:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_default
     LOCATION: ['edx.devstack.memcached:11211']
   general:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_general
     LOCATION: ['edx.devstack.memcached:11211']
   mongo_metadata_inheritance:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_mongo_metadata_inheritance
     LOCATION: ['edx.devstack.memcached:11211']
   staticfiles:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_static_files
     LOCATION: ['edx.devstack.memcached:11211']
 CELERY_ALWAYS_EAGER: true
diff --git a/cms/envs/common.py b/cms/envs/common.py
index 0539804ce1cad264b4e1465a25fee0ba2799a5e6..ab1a55e609a7b1cf9b397189ec349689086072ca 100644
--- a/cms/envs/common.py
+++ b/cms/envs/common.py
@@ -447,12 +447,10 @@ COURSES_ROOT = ENV_ROOT / "data"
 
 GITHUB_REPO_ROOT = ENV_ROOT / "data"
 
-# TODO: Is this next line necessary?
-sys.path.append(REPO_ROOT)
-# TODO: The next two path modifications will be removed in an upcoming Open edX release.
+# TODO: This path modification exists as temporary support for deprecated import patterns.
+# It will be removed in an upcoming Open edX release.
 # See docs/decisions/0007-sys-path-modification-removal.rst
 sys.path.append(REPO_ROOT / 'import_shims' / 'studio')
-sys.path.append(COMMON_ROOT / 'djangoapps')
 
 # For geolocation ip database
 GEOIP_PATH = REPO_ROOT / "common/static/data/geoip/GeoLite2-Country.mmdb"
@@ -511,8 +509,8 @@ TEMPLATES = [
                 # We have to use mako-aware template loaders to be able to include
                 # mako templates inside django templates (such as main_django.html).
                 'openedx.core.djangoapps.theming.template_loaders.ThemeTemplateLoader',
-                'edxmako.makoloader.MakoFilesystemLoader',
-                'edxmako.makoloader.MakoAppDirectoriesLoader',
+                'common.djangoapps.edxmako.makoloader.MakoFilesystemLoader',
+                'common.djangoapps.edxmako.makoloader.MakoAppDirectoriesLoader',
             ),
             'context_processors': CONTEXT_PROCESSORS,
             # Change 'debug' in your environment settings files - not here.
@@ -521,7 +519,7 @@ TEMPLATES = [
     },
     {
         'NAME': 'mako',
-        'BACKEND': 'edxmako.backend.Mako',
+        'BACKEND': 'common.djangoapps.edxmako.backend.Mako',
         'APP_DIRS': False,
         'DIRS': _make_mako_template_dirs,
         'OPTIONS': {
@@ -532,7 +530,7 @@ TEMPLATES = [
     {
         # This separate copy of the Mako backend is used to render previews using the LMS templates
         'NAME': 'preview',
-        'BACKEND': 'edxmako.backend.Mako',
+        'BACKEND': 'common.djangoapps.edxmako.backend.Mako',
         'APP_DIRS': False,
         'DIRS': lms.envs.common.MAKO_TEMPLATE_DIRS_BASE,
         'OPTIONS': {
@@ -691,11 +689,11 @@ MIDDLEWARE = [
     # Instead of AuthenticationMiddleware, we use a cache-backed version
     'openedx.core.djangoapps.cache_toolbox.middleware.CacheBackedAuthenticationMiddleware',
 
-    'student.middleware.UserStandingMiddleware',
+    'common.djangoapps.student.middleware.UserStandingMiddleware',
     'openedx.core.djangoapps.contentserver.middleware.StaticContentServer',
 
     'django.contrib.messages.middleware.MessageMiddleware',
-    'track.middleware.TrackMiddleware',
+    'common.djangoapps.track.middleware.TrackMiddleware',
 
     # This is used to set or update the user language preferences.
     'openedx.core.djangoapps.lang_pref.middleware.LanguagePreferenceMiddleware',
@@ -833,7 +831,7 @@ MODULESTORE = {
                     'OPTIONS': {
                         'default_class': 'xmodule.hidden_module.HiddenDescriptor',
                         'fs_root': DATA_DIR,
-                        'render_template': 'edxmako.shortcuts.render_to_string',
+                        'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string',
                     }
                 },
                 {
@@ -843,7 +841,7 @@ MODULESTORE = {
                     'OPTIONS': {
                         'default_class': 'xmodule.hidden_module.HiddenDescriptor',
                         'fs_root': DATA_DIR,
-                        'render_template': 'edxmako.shortcuts.render_to_string',
+                        'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string',
                     }
                 }
             ]
@@ -1347,7 +1345,7 @@ INSTALLED_APPS = [
 
     'openedx.core.djangoapps.contentserver',
     'cms.djangoapps.course_creators',
-    'student.apps.StudentConfig',  # misleading name due to sharing with lms
+    'common.djangoapps.student.apps.StudentConfig',  # misleading name due to sharing with lms
     'openedx.core.djangoapps.course_groups',  # not used in cms (yet), but tests run
     'cms.djangoapps.xblock_config.apps.XBlockConfig',
 
@@ -1359,13 +1357,13 @@ INSTALLED_APPS = [
     'openedx.core.djangoapps.util.apps.UtilConfig',
 
     # Tracking
-    'track',
+    'common.djangoapps.track',
     'eventtracking.django.apps.EventTrackingConfig',
 
     # For asset pipelining
-    'edxmako.apps.EdxMakoConfig',
+    'common.djangoapps.edxmako.apps.EdxMakoConfig',
     'pipeline',
-    'static_replace',
+    'common.djangoapps.static_replace',
     'require',
     'webpack_loader',
 
@@ -1382,7 +1380,7 @@ INSTALLED_APPS = [
     'django.contrib.admin',
 
     # for managing course modes
-    'course_modes.apps.CourseModesConfig',
+    'common.djangoapps.course_modes.apps.CourseModesConfig',
 
     # Verified Track Content Cohorting (Beta feature that will hopefully be removed)
     'openedx.core.djangoapps.verified_track_content',
@@ -1403,7 +1401,7 @@ INSTALLED_APPS = [
     'openedx.core.djangoapps.embargo',
 
     # Course action state
-    'course_action_state',
+    'common.djangoapps.course_action_state',
 
     # Additional problem types
     'edx_jsme',    # Molecular Structure
@@ -1423,7 +1421,7 @@ INSTALLED_APPS = [
     # Credit courses
     'openedx.core.djangoapps.credit.apps.CreditConfig',
 
-    'xblock_django',
+    'common.djangoapps.xblock_django',
 
     # Catalog integration
     'openedx.core.djangoapps.catalog',
@@ -1470,7 +1468,7 @@ INSTALLED_APPS = [
     'cms.djangoapps.cms_user_tasks.apps.CmsUserTasksConfig',
 
     # Unusual migrations
-    'database_fixups',
+    'common.djangoapps.database_fixups',
 
     # Customized celery tasks, including persisting failed tasks so they can
     # be retried
@@ -1487,10 +1485,10 @@ INSTALLED_APPS = [
     'csrf.apps.CsrfAppConfig',  # Enables frontend apps to retrieve CSRF tokens.
 
     # Entitlements, used in openedx tests
-    'entitlements',
+    'common.djangoapps.entitlements',
 
     # Asset management for mako templates
-    'pipeline_mako',
+    'common.djangoapps.pipeline_mako',
 
     # API Documentation
     'drf_yasg',
@@ -1542,7 +1540,7 @@ TRACK_MAX_EVENT = 50000
 
 TRACKING_BACKENDS = {
     'logger': {
-        'ENGINE': 'track.backends.logger.LoggerBackend',
+        'ENGINE': 'common.djangoapps.track.backends.logger.LoggerBackend',
         'OPTIONS': {
             'name': 'tracking'
         }
@@ -1568,8 +1566,8 @@ EVENT_TRACKING_BACKENDS = {
                 }
             },
             'processors': [
-                {'ENGINE': 'track.shim.LegacyFieldMappingProcessor'},
-                {'ENGINE': 'track.shim.PrefixedEventProcessor'}
+                {'ENGINE': 'common.djangoapps.track.shim.LegacyFieldMappingProcessor'},
+                {'ENGINE': 'common.djangoapps.track.shim.PrefixedEventProcessor'}
             ]
         }
     },
@@ -1587,7 +1585,7 @@ EVENT_TRACKING_BACKENDS = {
                     }
                 },
                 {
-                    'ENGINE': 'track.shim.GoogleAnalyticsProcessor'
+                    'ENGINE': 'common.djangoapps.track.shim.GoogleAnalyticsProcessor'
                 }
             ]
         }
@@ -1603,13 +1601,13 @@ AUTH_PASSWORD_VALIDATORS = [
         "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
     },
     {
-        "NAME": "util.password_policy_validators.MinimumLengthValidator",
+        "NAME": "common.djangoapps.util.password_policy_validators.MinimumLengthValidator",
         "OPTIONS": {
             "min_length": 2
         }
     },
     {
-        "NAME": "util.password_policy_validators.MaximumLengthValidator",
+        "NAME": "common.djangoapps.util.password_policy_validators.MaximumLengthValidator",
         "OPTIONS": {
             "max_length": 75
         }
@@ -1858,53 +1856,53 @@ DATABASE_ROUTERS = [
 CACHES = {
     'blockstore': {
         'KEY_PREFIX': 'blockstore',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': '86400',  # This data should be long-lived for performance, BundleCache handles invalidation
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'course_structure_cache': {
         'KEY_PREFIX': 'course_structure',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': '7200',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'celery': {
         'KEY_PREFIX': 'celery',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': '7200',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'mongo_metadata_inheritance': {
         'KEY_PREFIX': 'mongo_metadata_inheritance',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': 300,
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'staticfiles': {
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'staticfiles_general',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'default': {
         'VERSION': '1',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'default',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'configuration': {
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'configuration',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'general': {
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'general',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
diff --git a/cms/envs/devstack.py b/cms/envs/devstack.py
index 215447d856db4c7b2beedd108f38ad04e44b1297..79d41d633831b4a12fea49be2cb5531d832da4d6 100644
--- a/cms/envs/devstack.py
+++ b/cms/envs/devstack.py
@@ -26,7 +26,7 @@ CMS_BASE = 'localhost:18010'
 
 
 # Disable noisy loggers
-for pkg_name in ['track.contexts', 'track.middleware']:
+for pkg_name in ['common.djangoapps.track.contexts', 'common.djangoapps.track.middleware']:
     logging.getLogger(pkg_name).setLevel(logging.CRITICAL)
 
 # Docker does not support the syslog socket at /dev/log. Rely on the console.
diff --git a/cms/envs/devstack_decentralized.py b/cms/envs/devstack_decentralized.py
index 4b33d18c4007c7ca3984a9a2f8db860fc311e838..40f1d0179966924868551f35adf9a702d5eacf3b 100644
--- a/cms/envs/devstack_decentralized.py
+++ b/cms/envs/devstack_decentralized.py
@@ -24,7 +24,7 @@ CMS_BASE = 'localhost:8010'
 
 
 # Disable noisy loggers
-for pkg_name in ['track.contexts', 'track.middleware']:
+for pkg_name in ['common.djangoapps.track.contexts', 'common.djangoapps.track.middleware']:
     logging.getLogger(pkg_name).setLevel(logging.CRITICAL)
 
 # Docker does not support the syslog socket at /dev/log. Rely on the console.
diff --git a/cms/envs/test.py b/cms/envs/test.py
index 126b941834e12cffdb43d9254bb8c6f4528658b7..579ad6e597c1e712ccb2090207a3e93273bccc56 100644
--- a/cms/envs/test.py
+++ b/cms/envs/test.py
@@ -146,7 +146,7 @@ CACHES = {
     'default': {
         'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
         'LOCATION': 'edx_loc_mem_cache',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
     },
 
     # The general cache is what you get if you use our util.cache. It's used for
@@ -158,14 +158,14 @@ CACHES = {
         'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
         'KEY_PREFIX': 'general',
         'VERSION': 4,
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
     },
 
     'mongo_metadata_inheritance': {
         'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
         'LOCATION': os.path.join(tempfile.gettempdir(), 'mongo_metadata_inheritance'),
         'TIMEOUT': 300,
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
     },
     'loc_cache': {
         'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
diff --git a/cms/lib/xblock/tagging/tagging.py b/cms/lib/xblock/tagging/tagging.py
index cfd2fbf442c4cfb923d744ab283dc6ff8981fcfd..067e4ac510b91931cb01aec0aa7849db26eb505d 100644
--- a/cms/lib/xblock/tagging/tagging.py
+++ b/cms/lib/xblock/tagging/tagging.py
@@ -11,7 +11,7 @@ from webob import Response
 from xblock.core import XBlock, XBlockAside
 from xblock.fields import Dict, Scope
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from xmodule.capa_module import ProblemBlock
 from xmodule.x_module import AUTHOR_VIEW
 
diff --git a/cms/lib/xblock/tagging/test.py b/cms/lib/xblock/tagging/test.py
index 670831fbda8eab0917405ab3b2eb7e879da2f08d..41e8277dc7ab869293a220a8186a7f306b47a5a2 100644
--- a/cms/lib/xblock/tagging/test.py
+++ b/cms/lib/xblock/tagging/test.py
@@ -23,7 +23,7 @@ from cms.djangoapps.contentstore.views.preview import get_preview_fragment
 from cms.djangoapps.xblock_config.models import StudioConfig
 from cms.lib.xblock.tagging import StructuredTagsAside
 from cms.lib.xblock.tagging.models import TagAvailableValues, TagCategories
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/cms/lib/xblock/test/test_authoring_mixin.py b/cms/lib/xblock/test/test_authoring_mixin.py
index 1193e16827a23f0ad49664ad07e5f7f9557b26e4..de2559d31dd106e75edff998f93bf7550809653f 100644
--- a/cms/lib/xblock/test/test_authoring_mixin.py
+++ b/cms/lib/xblock/test/test_authoring_mixin.py
@@ -6,7 +6,7 @@ Tests for the Studio authoring XBlock mixin.
 from django.conf import settings
 from django.test.utils import override_settings
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.partitions.partitions import (
diff --git a/cms/templates/checklists.html b/cms/templates/checklists.html
index d5b602b946cc5fcc464d4cb73b8945ce52f81d23..10dc44d8364ace24e6b4f258b4c321562afad095 100644
--- a/cms/templates/checklists.html
+++ b/cms/templates/checklists.html
@@ -10,7 +10,7 @@
   from django.utils.translation import ugettext as _
   from openedx.core.djangolib.markup import HTML, Text
   from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
-  from util.course import has_certificates_enabled
+  from common.djangoapps.util.course import has_certificates_enabled
 %>
 <%block name="title">${_("Checklists")}</%block>
 <%block name="bodyclass">is-signedin course view-checklists</%block>
diff --git a/cms/templates/course_outline.html b/cms/templates/course_outline.html
index 2de2563610197fb1caeffd0ee8ed679b76aeab1c..1be2997a434f73e4a56ea5a38f8c54bbacb77ad3 100644
--- a/cms/templates/course_outline.html
+++ b/cms/templates/course_outline.html
@@ -7,7 +7,7 @@ import six
 from six.moves.urllib.parse import quote
 
 from cms.djangoapps.contentstore.config.waffle_utils import should_show_checklists_quality
-from util.date_utils import get_default_time_display
+from common.djangoapps.util.date_utils import get_default_time_display
 from django.utils.translation import ugettext as _
 from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
 from openedx.core.djangolib.markup import HTML, Text
diff --git a/cms/templates/widgets/user_dropdown.html b/cms/templates/widgets/user_dropdown.html
index 88d03079c4fd2780c07ea3d2d9101ccc7b782026..8e91704d781ea7473272fd53174120b81e5893fc 100644
--- a/cms/templates/widgets/user_dropdown.html
+++ b/cms/templates/widgets/user_dropdown.html
@@ -5,7 +5,7 @@
   from django.urls import reverse
   from django.utils.translation import ugettext as _
   from edx_django_utils.monitoring import set_custom_attribute
-  from student.roles import GlobalStaff
+  from common.djangoapps.student.roles import GlobalStaff
 %>
 
 <h3 class="title">
diff --git a/cms/urls.py b/cms/urls.py
index 0fc4f44351dc7c8f4d489283fe242396b721634a..a03fca8039e616cb86841259b4bdecfa2224d935 100644
--- a/cms/urls.py
+++ b/cms/urls.py
@@ -44,7 +44,7 @@ LIBRARY_KEY_PATTERN = r'(?P<library_key_string>library-v1:[^/+]+\+[^/+]+)'
 
 urlpatterns = [
     url(r'', include('openedx.core.djangoapps.user_authn.urls_common')),
-    url(r'', include('student.urls')),
+    url(r'', include('common.djangoapps.student.urls')),
     url(r'^transcripts/upload$', contentstore_views.upload_transcripts, name='upload_transcripts'),
     url(r'^transcripts/download$', contentstore_views.download_transcripts, name='download_transcripts'),
     url(r'^transcripts/check$', contentstore_views.check_transcripts, name='check_transcripts'),
diff --git a/common/djangoapps/__init__.py b/common/djangoapps/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391
diff --git a/common/djangoapps/course_action_state/models.py b/common/djangoapps/course_action_state/models.py
index 2867ddf8a1c8dc1c73b9a2f18614f41813255303..47c194ca413172588436b951f1469f09afe3bf47 100644
--- a/common/djangoapps/course_action_state/models.py
+++ b/common/djangoapps/course_action_state/models.py
@@ -13,7 +13,7 @@ file and check it in at the same time as your model changes. To do that,
 from django.contrib.auth.models import User
 from django.db import models
 from opaque_keys.edx.django.models import CourseKeyField
-from course_action_state.managers import CourseActionStateManager, CourseRerunUIStateManager
+from common.djangoapps.course_action_state.managers import CourseActionStateManager, CourseRerunUIStateManager
 
 
 class CourseActionState(models.Model):
diff --git a/common/djangoapps/course_action_state/tests/test_managers.py b/common/djangoapps/course_action_state/tests/test_managers.py
index 68fc954ce409f3e29a840bd0c4b16c9835d4e70d..cdda2aa62b4e430932a6c267e1d4e51181552e48 100644
--- a/common/djangoapps/course_action_state/tests/test_managers.py
+++ b/common/djangoapps/course_action_state/tests/test_managers.py
@@ -10,8 +10,8 @@ from django.test import TestCase
 from opaque_keys.edx.locations import CourseLocator
 from six.moves import range
 
-from course_action_state.managers import CourseActionStateItemNotFoundError
-from course_action_state.models import CourseRerunState
+from common.djangoapps.course_action_state.managers import CourseActionStateItemNotFoundError
+from common.djangoapps.course_action_state.models import CourseRerunState
 
 # Sequence of Action models to be tested with ddt.
 COURSE_ACTION_STATES = (CourseRerunState, )
diff --git a/common/djangoapps/course_action_state/tests/test_rerun_manager.py b/common/djangoapps/course_action_state/tests/test_rerun_manager.py
index b0e26b85d58ca9603d88d51ef39d1bf7ba82902c..5292677ea413c0a77ba632957d6b91a98097a9df 100644
--- a/common/djangoapps/course_action_state/tests/test_rerun_manager.py
+++ b/common/djangoapps/course_action_state/tests/test_rerun_manager.py
@@ -7,9 +7,9 @@ from django.test import TestCase
 from opaque_keys.edx.locations import CourseLocator
 from six import text_type
 
-from course_action_state.managers import CourseRerunUIStateManager
-from course_action_state.models import CourseRerunState
-from student.tests.factories import UserFactory
+from common.djangoapps.course_action_state.managers import CourseRerunUIStateManager
+from common.djangoapps.course_action_state.models import CourseRerunState
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestCourseRerunStateManager(TestCase):
diff --git a/common/djangoapps/course_modes/admin.py b/common/djangoapps/course_modes/admin.py
index 3138ea989caf6db2983c4a465f2309750d4d169a..56b41001dabad33f8a4a3574b8fd73b84aca7ec2 100644
--- a/common/djangoapps/course_modes/admin.py
+++ b/common/djangoapps/course_modes/admin.py
@@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _
 from opaque_keys.edx.keys import CourseKey
 from pytz import UTC, timezone
 
-from course_modes.models import CourseMode, CourseModeExpirationConfig
+from common.djangoapps.course_modes.models import CourseMode, CourseModeExpirationConfig
 # Technically, we shouldn't be doing this, since verify_student is defined
 # in LMS, and course_modes is defined in common.
 #
@@ -23,7 +23,7 @@ from course_modes.models import CourseMode, CourseModeExpirationConfig
 # the verification deadline table won't exist.
 from lms.djangoapps.verify_student import models as verification_models
 from openedx.core.lib.courses import clean_course_id
-from util.date_utils import get_time_display
+from common.djangoapps.util.date_utils import get_time_display
 
 COURSE_MODE_SLUG_CHOICES = [(key, enrollment_mode['display_name'])
                             for key, enrollment_mode in six.iteritems(settings.COURSE_ENROLLMENT_MODES)]
diff --git a/common/djangoapps/course_modes/api.py b/common/djangoapps/course_modes/api.py
index 2dce97f412c533439c2bf65d897080f0f999f9a6..8da8167edef399f5f2b196044ca9394148dc2b95 100644
--- a/common/djangoapps/course_modes/api.py
+++ b/common/djangoapps/course_modes/api.py
@@ -2,7 +2,7 @@
 Python APIs exposed by the course_modes app to other in-process apps.
 """
 
-from course_modes.models import CourseMode as _CourseMode
+from common.djangoapps.course_modes.models import CourseMode as _CourseMode
 
 
 def get_paid_modes_for_course(course_run_id):
diff --git a/common/djangoapps/course_modes/apps.py b/common/djangoapps/course_modes/apps.py
index e0420ea199a0b3ac9d2bc56815cfc6a2499aca49..39cf5de2f11081d216ac115bbff5341137da36ad 100644
--- a/common/djangoapps/course_modes/apps.py
+++ b/common/djangoapps/course_modes/apps.py
@@ -5,8 +5,8 @@ from django.apps import AppConfig
 
 
 class CourseModesConfig(AppConfig):
-    name = 'course_modes'
+    name = 'common.djangoapps.course_modes'
     verbose_name = "Course Modes"
 
     def ready(self):
-        import course_modes.signals  # pylint: disable=unused-import
+        from . import signals  # pylint: disable=unused-import
diff --git a/common/djangoapps/course_modes/helpers.py b/common/djangoapps/course_modes/helpers.py
index 7bca76cd2108d100103b2e6a8a71c3e76e1d1d26..c237b15223cff367e6f477c10e2da7241f0c06d7 100644
--- a/common/djangoapps/course_modes/helpers.py
+++ b/common/djangoapps/course_modes/helpers.py
@@ -8,8 +8,8 @@ from django.utils.translation import ugettext_lazy as _
 from requests.exceptions import ConnectionError, Timeout  # pylint: disable=redefined-builtin
 from slumber.exceptions import SlumberBaseException
 
-from course_modes.models import CourseMode
-from student.helpers import VERIFY_STATUS_APPROVED, VERIFY_STATUS_NEED_TO_VERIFY, VERIFY_STATUS_SUBMITTED
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.helpers import VERIFY_STATUS_APPROVED, VERIFY_STATUS_NEED_TO_VERIFY, VERIFY_STATUS_SUBMITTED
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
 
 DISPLAY_VERIFIED = "verified"
diff --git a/common/djangoapps/course_modes/rest_api/serializers.py b/common/djangoapps/course_modes/rest_api/serializers.py
index 4510fd4eeca8942d98e05b906b72d3c4b414e2f1..f3c73657a2a37cec0681e09b5f019b70a5d2060b 100644
--- a/common/djangoapps/course_modes/rest_api/serializers.py
+++ b/common/djangoapps/course_modes/rest_api/serializers.py
@@ -5,7 +5,7 @@ Course modes API serializers.
 
 from rest_framework import serializers
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 
 
diff --git a/common/djangoapps/course_modes/rest_api/urls.py b/common/djangoapps/course_modes/rest_api/urls.py
index 349efb8a3f25d78d3c87db8d37ee048edd3065d9..9bcba6ec2f0beb3abc059c0e75fa84e7e8052bdc 100644
--- a/common/djangoapps/course_modes/rest_api/urls.py
+++ b/common/djangoapps/course_modes/rest_api/urls.py
@@ -8,5 +8,5 @@ from django.conf.urls import include, url
 app_name = 'common.djangoapps.course_modes.rest_api'
 
 urlpatterns = [
-    url(r'^v1/', include('course_modes.rest_api.v1.urls', namespace='v1')),
+    url(r'^v1/', include('common.djangoapps.course_modes.rest_api.v1.urls', namespace='v1')),
 ]
diff --git a/common/djangoapps/course_modes/rest_api/v1/tests/test_views.py b/common/djangoapps/course_modes/rest_api/v1/tests/test_views.py
index 8a079f9bbd260d6208891fd00b014d74c0d6e9d9..e1eba7eeec31cbbffbf0dfab1853020c04b2d628 100644
--- a/common/djangoapps/course_modes/rest_api/v1/tests/test_views.py
+++ b/common/djangoapps/course_modes/rest_api/v1/tests/test_views.py
@@ -14,12 +14,12 @@ from rest_framework import status
 from rest_framework.test import APITestCase
 from six import text_type
 
-from course_modes.rest_api.v1.views import CourseModesView
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.rest_api.v1.views import CourseModesView
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.user_authn.tests.utils import JWT_AUTH_TYPES, AuthAndScopesTestMixin, AuthType
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 
diff --git a/common/djangoapps/course_modes/rest_api/v1/urls.py b/common/djangoapps/course_modes/rest_api/v1/urls.py
index 7dd28e36fdd266271c908fbf49362bd2a4de254d..a95e5de5aaaac08c311610397dc35666a224bb85 100644
--- a/common/djangoapps/course_modes/rest_api/v1/urls.py
+++ b/common/djangoapps/course_modes/rest_api/v1/urls.py
@@ -6,7 +6,7 @@ URL definitions for the course_modes v1 API.
 from django.conf import settings
 from django.conf.urls import url
 
-from course_modes.rest_api.v1 import views
+from common.djangoapps.course_modes.rest_api.v1 import views
 
 app_name = 'v1'
 
diff --git a/common/djangoapps/course_modes/rest_api/v1/views.py b/common/djangoapps/course_modes/rest_api/v1/views.py
index e8d963e986ded243949f15377d7989f57b203dd8..caeebb7097cf2e2349da94b253de2aee65e7a4cf 100644
--- a/common/djangoapps/course_modes/rest_api/v1/views.py
+++ b/common/djangoapps/course_modes/rest_api/v1/views.py
@@ -14,8 +14,8 @@ from rest_framework import status
 from rest_framework.generics import ListCreateAPIView, RetrieveUpdateDestroyAPIView
 from rest_framework.response import Response
 
-from course_modes.rest_api.serializers import CourseModeSerializer
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.rest_api.serializers import CourseModeSerializer
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
 from openedx.core.lib.api.parsers import MergePatchParser
 
diff --git a/common/djangoapps/course_modes/tests/factories.py b/common/djangoapps/course_modes/tests/factories.py
index dbd7c0bb0d7a5b5ee9b82d8a2646e69bec0926df..ee3974dff909e302d7a44c01b36ea5ff7ca7de4e 100644
--- a/common/djangoapps/course_modes/tests/factories.py
+++ b/common/djangoapps/course_modes/tests/factories.py
@@ -10,7 +10,7 @@ from factory import lazy_attribute
 from factory.django import DjangoModelFactory
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 
diff --git a/common/djangoapps/course_modes/tests/test_admin.py b/common/djangoapps/course_modes/tests/test_admin.py
index d0b8c91aa64f9f99419e6a2e1f1a3b740b2c137e..b71e87db1e469a47209853e50ef046ed026b35dc 100644
--- a/common/djangoapps/course_modes/tests/test_admin.py
+++ b/common/djangoapps/course_modes/tests/test_admin.py
@@ -12,17 +12,17 @@ from django.conf import settings
 from django.urls import reverse
 from pytz import UTC, timezone
 
-from course_modes.admin import CourseModeForm
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.admin import CourseModeForm
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 # Technically, we shouldn't be importing verify_student, since it's
 # defined in the LMS and course_modes is in common.  However, the benefits
 # of putting all this configuration in one place outweigh the downsides.
 # Once the course admin tool is deployed, we can remove this dependency.
 from lms.djangoapps.verify_student.models import VerificationDeadline
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.tests.factories import UserFactory
-from util.date_utils import get_time_display
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.date_utils import get_time_display
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/course_modes/tests/test_models.py b/common/djangoapps/course_modes/tests/test_models.py
index 199dcdb4b240bec9b2a30a927d4a7c733d6b978d..a0e5ed5ffc9432ec5358159a00610536a5d83fcc 100644
--- a/common/djangoapps/course_modes/tests/test_models.py
+++ b/common/djangoapps/course_modes/tests/test_models.py
@@ -18,9 +18,9 @@ from opaque_keys.edx.locator import CourseLocator
 import six
 from six.moves import zip
 
-from course_modes.helpers import enrollment_mode_display
-from course_modes.models import CourseMode, Mode, get_cosmetic_display_price, invalidate_course_mode_cache
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.helpers import enrollment_mode_display
+from common.djangoapps.course_modes.models import CourseMode, Mode, get_cosmetic_display_price, invalidate_course_mode_cache
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
@@ -546,12 +546,18 @@ class TestDisplayPrices(ModuleStoreTestCase):
         course = CourseFactory.create()
         registration_price = 99
         course.cosmetic_display_price = 10
-        with patch('course_modes.models.CourseMode.min_course_price_for_currency', return_value=registration_price):
+        with patch(
+                'common.djangoapps.course_modes.models.CourseMode.min_course_price_for_currency',
+                return_value=registration_price,
+        ):
             # Since registration_price is set, it overrides the cosmetic_display_price and should be returned
             self.assertEqual(get_cosmetic_display_price(course), "$99")
 
         registration_price = 0
-        with patch('course_modes.models.CourseMode.min_course_price_for_currency', return_value=registration_price):
+        with patch(
+                'common.djangoapps.course_modes.models.CourseMode.min_course_price_for_currency',
+                return_value=registration_price,
+        ):
             # Since registration_price is not set, cosmetic_display_price should be returned
             self.assertEqual(get_cosmetic_display_price(course), "$10")
 
diff --git a/common/djangoapps/course_modes/tests/test_signals.py b/common/djangoapps/course_modes/tests/test_signals.py
index 6730d426004ab8d36844e548f3b8d058f80d2d84..679f3c568ebe89f8be77ca8c6434648515d20d01 100644
--- a/common/djangoapps/course_modes/tests/test_signals.py
+++ b/common/djangoapps/course_modes/tests/test_signals.py
@@ -10,8 +10,8 @@ from django.conf import settings
 from mock import patch
 from pytz import UTC
 
-from course_modes.models import CourseMode
-from course_modes.signals import _listen_for_course_publish
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.signals import _listen_for_course_publish
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
@@ -67,7 +67,7 @@ class CourseModeSignalTest(ModuleStoreTestCase):
         course_mode, __ = self.create_mode('verified', 'verified', 10)
         self.assertIsNone(course_mode.expiration_datetime)
 
-        with patch('course_modes.models.CourseModeExpirationConfig.current') as config:
+        with patch('common.djangoapps.course_modes.models.CourseModeExpirationConfig.current') as config:
             instance = config.return_value
             instance.verification_window = timedelta(days=verification_window)
 
@@ -83,7 +83,7 @@ class CourseModeSignalTest(ModuleStoreTestCase):
         course_mode.expiration_datetime_is_explicit = True
         self.assertIsNone(course_mode.expiration_datetime)
 
-        with patch('course_modes.models.CourseModeExpirationConfig.current') as config:
+        with patch('common.djangoapps.course_modes.models.CourseModeExpirationConfig.current') as config:
             instance = config.return_value
             instance.verification_window = timedelta(days=verification_window)
 
diff --git a/common/djangoapps/course_modes/tests/test_views.py b/common/djangoapps/course_modes/tests/test_views.py
index f6977ef558e9ac4309eb2e4eab85abbf8a2f7e88..590d577c62445dce8e9b93afada45dbe8c253748 100644
--- a/common/djangoapps/course_modes/tests/test_views.py
+++ b/common/djangoapps/course_modes/tests/test_views.py
@@ -16,17 +16,17 @@ from django.conf import settings
 from django.urls import reverse
 from mock import patch
 
-from course_modes.models import CourseMode, Mode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode, Mode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.commerce.tests import test_utils as ecomm_test_utils
 from lms.djangoapps.commerce.tests.mocks import mock_payment_processors
 from openedx.core.djangoapps.catalog.tests.mixins import CatalogIntegrationMixin
 from openedx.core.djangoapps.embargo.test_utils import restrict_course
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme
-from student.models import CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import UrlResetMixin
-from util.tests.mixins.discovery import CourseCatalogServiceMockMixin
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
+from common.djangoapps.util.tests.mixins.discovery import CourseCatalogServiceMockMixin
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
@@ -38,7 +38,7 @@ class CourseModeViewTest(CatalogIntegrationMixin, UrlResetMixin, ModuleStoreTest
     """
     Course Mode View tests
     """
-    URLCONF_MODULES = ['course_modes.urls']
+    URLCONF_MODULES = ['common.djangoapps.course_modes.urls']
 
     @patch.dict(settings.FEATURES, {'MODE_CREATION_FOR_TESTING': True})
     def setUp(self):
@@ -200,8 +200,8 @@ class CourseModeViewTest(CatalogIntegrationMixin, UrlResetMixin, ModuleStoreTest
             self.assertNotContains(response, "Credit")
 
     @httpretty.activate
-    @patch('course_modes.views.enterprise_customer_for_request')
-    @patch('course_modes.views.get_course_final_price')
+    @patch('common.djangoapps.course_modes.views.enterprise_customer_for_request')
+    @patch('common.djangoapps.course_modes.views.get_course_final_price')
     @ddt.data(
         (1.0, True),
         (50.0, False),
diff --git a/common/djangoapps/course_modes/urls.py b/common/djangoapps/course_modes/urls.py
index c1c8fbe39256aa4c8fc6fc1add593108d768e4c3..8e3937ef1417deb19f4ecc4d7ea5bee51ea306af 100644
--- a/common/djangoapps/course_modes/urls.py
+++ b/common/djangoapps/course_modes/urls.py
@@ -4,7 +4,7 @@
 from django.conf import settings
 from django.conf.urls import url
 
-from course_modes import views
+from common.djangoapps.course_modes import views
 
 urlpatterns = [
     url(r'^choose/{}/$'.format(settings.COURSE_ID_PATTERN), views.ChooseModeView.as_view(), name='course_modes_choose'),
diff --git a/common/djangoapps/course_modes/views.py b/common/djangoapps/course_modes/views.py
index 7e01196f10b043d1d76a6373d9adb80f60be4ae1..3f190340b69e3921d29a4df1f7a48148353e4668 100644
--- a/common/djangoapps/course_modes/views.py
+++ b/common/djangoapps/course_modes/views.py
@@ -25,9 +25,9 @@ from ipware.ip import get_ip
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from common.djangoapps.course_modes.helpers import get_course_final_price
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.commerce.utils import EcommerceService
 from lms.djangoapps.experiments.utils import get_experiment_user_metadata_context
 from lms.djangoapps.verify_student.services import IDVerificationService
@@ -37,8 +37,8 @@ from openedx.core.djangoapps.enrollments.permissions import ENROLL_IN_COURSE
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
 from openedx.features.enterprise_support.api import enterprise_customer_for_request
-from student.models import CourseEnrollment
-from util.db import outer_atomic
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.db import outer_atomic
 from xmodule.modulestore.django import modulestore
 
 LOG = logging.getLogger(__name__)
diff --git a/common/djangoapps/edxmako/apps.py b/common/djangoapps/edxmako/apps.py
index 7ac79c3089ab28e013ee9111875406c67d3191f9..5c2f9fdc1e84780153ce2b597feef6b3c11205e5 100644
--- a/common/djangoapps/edxmako/apps.py
+++ b/common/djangoapps/edxmako/apps.py
@@ -12,7 +12,7 @@ class EdxMakoConfig(AppConfig):
     """
     Configuration class for the edxmako Django application.
     """
-    name = 'edxmako'
+    name = 'common.djangoapps.edxmako'
     verbose_name = "edX Mako Templating"
 
     def ready(self):
diff --git a/common/djangoapps/edxmako/makoloader.py b/common/djangoapps/edxmako/makoloader.py
index b0541eae4030827490539f99a82e8dafd18c694f..c3639273992b5f295e82c14b0df1cd0cd4ef56a6 100644
--- a/common/djangoapps/edxmako/makoloader.py
+++ b/common/djangoapps/edxmako/makoloader.py
@@ -8,7 +8,7 @@ from django.template import Engine, engines, TemplateDoesNotExist
 from django.template.loaders.app_directories import Loader as AppDirectoriesLoader
 from django.template.loaders.filesystem import Loader as FilesystemLoader
 
-from edxmako.template import Template
+from common.djangoapps.edxmako.template import Template
 from openedx.core.lib.tempdir import mkdtemp_clean
 
 log = logging.getLogger(__name__)
diff --git a/common/djangoapps/edxmako/tests.py b/common/djangoapps/edxmako/tests.py
index e3f630c34935999d013da9b0c22c80819024b85f..1f81a238e90f942c91a5f6f12df72dd5b428ca90 100644
--- a/common/djangoapps/edxmako/tests.py
+++ b/common/djangoapps/edxmako/tests.py
@@ -12,11 +12,16 @@ from django.urls import reverse
 from edx_django_utils.cache import RequestCache
 from mock import Mock, patch
 
-from edxmako import LOOKUP, add_lookup
-from edxmako.request_context import get_template_request_context
-from edxmako.shortcuts import is_any_marketing_link_set, is_marketing_link_set, marketing_link, render_to_string
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.edxmako import LOOKUP, add_lookup
+from common.djangoapps.edxmako.request_context import get_template_request_context
+from common.djangoapps.edxmako.shortcuts import (
+    is_any_marketing_link_set,
+    is_marketing_link_set,
+    marketing_link,
+    render_to_string
+)
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 
 
 @ddt.ddt
@@ -118,7 +123,7 @@ class AddLookupTests(TestCase):
     """
     Test the `add_lookup` function.
     """
-    @patch('edxmako.LOOKUP', {})
+    @patch('common.djangoapps.edxmako.LOOKUP', {})
     def test_with_package(self):
         add_lookup('test', 'management', __name__)
         dirs = LOOKUP['test'].directories
@@ -147,7 +152,7 @@ class MakoRequestContextTest(TestCase):
         returns a RequestContext.
         """
 
-        with patch('edxmako.request_context.get_current_request', return_value=self.request):
+        with patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=self.request):
             # requestcontext should not be None.
             self.assertIsNotNone(get_template_request_context())
 
@@ -156,7 +161,7 @@ class MakoRequestContextTest(TestCase):
         Test that if get_current_request returns None, then get_template_request_context
         returns None.
         """
-        with patch('edxmako.request_context.get_current_request', return_value=None):
+        with patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=None):
             # requestcontext should be None.
             self.assertIsNone(get_template_request_context())
 
@@ -164,17 +169,17 @@ class MakoRequestContextTest(TestCase):
         """
         Test that the RequestContext is cached in the RequestCache.
         """
-        with patch('edxmako.request_context.get_current_request', return_value=None):
+        with patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=None):
             # requestcontext should be None, because the cache isn't filled
             self.assertIsNone(get_template_request_context())
 
-        with patch('edxmako.request_context.get_current_request', return_value=self.request):
+        with patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=self.request):
             # requestcontext should not be None, and should fill the cache
             self.assertIsNotNone(get_template_request_context())
 
         mock_get_current_request = Mock()
-        with patch('edxmako.request_context.get_current_request'):
-            with patch('edxmako.request_context.RequestContext.__init__') as mock_context_init:
+        with patch('common.djangoapps.edxmako.request_context.get_current_request'):
+            with patch('common.djangoapps.edxmako.request_context.RequestContext.__init__') as mock_context_init:
                 # requestcontext should not be None, because the cache is filled
                 self.assertIsNotNone(get_template_request_context())
                 mock_context_init.assert_not_called()
@@ -182,7 +187,7 @@ class MakoRequestContextTest(TestCase):
 
         RequestCache.clear_all_namespaces()
 
-        with patch('edxmako.request_context.get_current_request', return_value=None):
+        with patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=None):
             # requestcontext should be None, because the cache isn't filled
             self.assertIsNone(get_template_request_context())
 
diff --git a/common/djangoapps/entitlements/apps.py b/common/djangoapps/entitlements/apps.py
index 50a8d9a5258c0fef3a18ebb05a9b6b9b555a4ff6..0b88b896c8b60a8fe035e13921e3d7481e171304 100644
--- a/common/djangoapps/entitlements/apps.py
+++ b/common/djangoapps/entitlements/apps.py
@@ -12,7 +12,7 @@ class EntitlementsConfig(AppConfig):
     """
     Application Configuration for Entitlements.
     """
-    name = u'entitlements'
+    name = 'common.djangoapps.entitlements'
 
     def ready(self):
         """
diff --git a/common/djangoapps/entitlements/management/commands/expire_old_entitlements.py b/common/djangoapps/entitlements/management/commands/expire_old_entitlements.py
index 3b76a5ec17f807f34b935aac90bf505101471790..6965a457fbfd003dc7f2ee252c039579e621bdd6 100644
--- a/common/djangoapps/entitlements/management/commands/expire_old_entitlements.py
+++ b/common/djangoapps/entitlements/management/commands/expire_old_entitlements.py
@@ -9,8 +9,8 @@ from textwrap import dedent
 from django.core.management import BaseCommand
 from six.moves import range
 
-from entitlements.models import CourseEntitlement
-from entitlements.tasks import expire_old_entitlements
+from common.djangoapps.entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.tasks import expire_old_entitlements
 
 logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
 
diff --git a/common/djangoapps/entitlements/management/commands/tests/test_expire_old_entitlements.py b/common/djangoapps/entitlements/management/commands/tests/test_expire_old_entitlements.py
index 7e1e6e489bf507e024e431c6c2d642c881ebb65e..fb9663dadd485bdde31626aea831d64bc7a19cb3 100644
--- a/common/djangoapps/entitlements/management/commands/tests/test_expire_old_entitlements.py
+++ b/common/djangoapps/entitlements/management/commands/tests/test_expire_old_entitlements.py
@@ -6,12 +6,12 @@ from django.core.management import call_command
 from django.test import TestCase
 from six.moves import range
 
-from entitlements.tests.factories import CourseEntitlementFactory
+from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
 
 
 @skip_unless_lms
-@mock.patch('entitlements.tasks.expire_old_entitlements.delay')
+@mock.patch('common.djangoapps.entitlements.tasks.expire_old_entitlements.delay')
 class TestExpireOldEntitlementsCommand(TestCase):
     """
     Test expire_old_entitlement management command.
diff --git a/common/djangoapps/entitlements/management/commands/update_entitlement_mode.py b/common/djangoapps/entitlements/management/commands/update_entitlement_mode.py
index f00f0cc66278eacb2f334ca6a4cf7c9725e99386..0b97ce463a3119a56cdef38ee69ea6dda92acf89 100644
--- a/common/djangoapps/entitlements/management/commands/update_entitlement_mode.py
+++ b/common/djangoapps/entitlements/management/commands/update_entitlement_mode.py
@@ -8,7 +8,7 @@ from textwrap import dedent
 
 from django.core.management import BaseCommand
 
-from entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.models import CourseEntitlement
 
 logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
 
diff --git a/common/djangoapps/entitlements/models.py b/common/djangoapps/entitlements/models.py
index 4041f02bc2483a9b08c75cc2a247455ef727990f..23f3b341cf7debdd2a8b516ca7d4aeb6be84f389 100644
--- a/common/djangoapps/entitlements/models.py
+++ b/common/djangoapps/entitlements/models.py
@@ -14,14 +14,14 @@ from model_utils import Choices
 from model_utils.models import TimeStampedModel
 from simple_history.models import HistoricalRecords
 
-from course_modes.models import CourseMode
-from entitlements.utils import is_course_run_entitlement_fulfillable
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.entitlements.utils import is_course_run_entitlement_fulfillable
 from lms.djangoapps.certificates.models import GeneratedCertificate
 from lms.djangoapps.commerce.utils import refund_entitlement
 from openedx.core.djangoapps.catalog.utils import get_course_uuid_for_course
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment, CourseEnrollmentException
-from util.date_utils import strftime_localized
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentException
+from common.djangoapps.util.date_utils import strftime_localized
 
 log = logging.getLogger("common.entitlements.models")
 
diff --git a/common/djangoapps/entitlements/rest_api/urls.py b/common/djangoapps/entitlements/rest_api/urls.py
index cda3bb602e499a904e5e1b8c7973c40e5e8be0bc..18bafa5679661d90b3bf0393a2ac16d851886199 100644
--- a/common/djangoapps/entitlements/rest_api/urls.py
+++ b/common/djangoapps/entitlements/rest_api/urls.py
@@ -6,5 +6,5 @@ from django.conf.urls import include, url
 
 app_name = 'entitlements'
 urlpatterns = [
-    url(r'^v1/', include('entitlements.rest_api.v1.urls')),
+    url(r'^v1/', include('common.djangoapps.entitlements.rest_api.v1.urls')),
 ]
diff --git a/common/djangoapps/entitlements/rest_api/v1/filters.py b/common/djangoapps/entitlements/rest_api/v1/filters.py
index 984b7464013f6fcf43c70468502d63bc61d36bb9..78e326bf82694d0fb90d7c3d642781652d5ff58b 100644
--- a/common/djangoapps/entitlements/rest_api/v1/filters.py
+++ b/common/djangoapps/entitlements/rest_api/v1/filters.py
@@ -4,7 +4,7 @@ Filters for the Entitlements API.
 
 from django_filters import rest_framework as filters
 
-from entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.models import CourseEntitlement
 
 
 class CharListFilter(filters.CharFilter):
diff --git a/common/djangoapps/entitlements/rest_api/v1/serializers.py b/common/djangoapps/entitlements/rest_api/v1/serializers.py
index 3a7084c4e91b53c5dd74063e6f5e28dab6b6eb1f..a64d6d25bb313fd81a9ef1c9afe4cd3fb2890f90 100644
--- a/common/djangoapps/entitlements/rest_api/v1/serializers.py
+++ b/common/djangoapps/entitlements/rest_api/v1/serializers.py
@@ -6,7 +6,7 @@ Serializers for all Course Entitlement related return objects.
 from django.contrib.auth import get_user_model
 from rest_framework import serializers
 
-from entitlements.models import CourseEntitlement, CourseEntitlementSupportDetail
+from common.djangoapps.entitlements.models import CourseEntitlement, CourseEntitlementSupportDetail
 from openedx.core.lib.api.serializers import CourseKeyField
 
 
diff --git a/common/djangoapps/entitlements/rest_api/v1/tests/test_serializers.py b/common/djangoapps/entitlements/rest_api/v1/tests/test_serializers.py
index c1e9a70b348ef2a6ddd6b90240dccd11c9985b70..d3ac3e0c3bbd70bff07188872187d90ba7271e55 100644
--- a/common/djangoapps/entitlements/rest_api/v1/tests/test_serializers.py
+++ b/common/djangoapps/entitlements/rest_api/v1/tests/test_serializers.py
@@ -11,8 +11,8 @@ from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 # Entitlements is not in CMS' INSTALLED_APPS so these imports will error during test collection
 if settings.ROOT_URLCONF == 'lms.urls':
-    from entitlements.rest_api.v1.serializers import CourseEntitlementSerializer
-    from entitlements.tests.factories import CourseEntitlementFactory
+    from common.djangoapps.entitlements.rest_api.v1.serializers import CourseEntitlementSerializer
+    from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 
 
 @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
diff --git a/common/djangoapps/entitlements/rest_api/v1/tests/test_views.py b/common/djangoapps/entitlements/rest_api/v1/tests/test_views.py
index 4195e4a208a62f94d785a8bf74c57ba2534c6693..a12aa5b179de404514896173c00d397793da7d85 100644
--- a/common/djangoapps/entitlements/rest_api/v1/tests/test_views.py
+++ b/common/djangoapps/entitlements/rest_api/v1/tests/test_views.py
@@ -15,16 +15,16 @@ from mock import patch
 from opaque_keys.edx.locator import CourseKey
 from pytz import UTC
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangoapps.user_api.models import UserOrgTag
-from student.models import CourseEnrollment
-from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -32,10 +32,10 @@ log = logging.getLogger(__name__)
 
 # Entitlements is not in CMS' INSTALLED_APPS so these imports will error during test collection
 if settings.ROOT_URLCONF == 'lms.urls':
-    from entitlements.tests.factories import CourseEntitlementFactory
-    from entitlements.models import CourseEntitlement, CourseEntitlementPolicy, CourseEntitlementSupportDetail
-    from entitlements.rest_api.v1.serializers import CourseEntitlementSerializer
-    from entitlements.rest_api.v1.views import set_entitlement_policy
+    from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
+    from common.djangoapps.entitlements.models import CourseEntitlement, CourseEntitlementPolicy, CourseEntitlementSupportDetail
+    from common.djangoapps.entitlements.rest_api.v1.serializers import CourseEntitlementSerializer
+    from common.djangoapps.entitlements.rest_api.v1.views import set_entitlement_policy
 
 
 @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
@@ -370,7 +370,7 @@ class EntitlementViewSetTest(ModuleStoreTestCase):
         )
         assert course_entitlement.policy == policy
 
-    @patch("entitlements.rest_api.v1.views.get_owners_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_owners_for_course")
     def test_email_opt_in_single_org(self, mock_get_owners):
         course_uuid = uuid.uuid4()
         entitlement_data = self._get_data_set(self.user, str(course_uuid))
@@ -389,7 +389,7 @@ class EntitlementViewSetTest(ModuleStoreTestCase):
         result_obj = UserOrgTag.objects.get(user=self.user, org=org, key='email-optin')
         self.assertEqual(result_obj.value, u"True")
 
-    @patch("entitlements.rest_api.v1.views.get_owners_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_owners_for_course")
     def test_email_opt_in_multiple_orgs(self, mock_get_owners):
         course_uuid = uuid.uuid4()
         entitlement_data = self._get_data_set(self.user, str(course_uuid))
@@ -438,7 +438,7 @@ class EntitlementViewSetTest(ModuleStoreTestCase):
         )
         assert results == CourseEntitlementSerializer(course_entitlement).data
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_add_entitlement_and_upgrade_audit_enrollment(self, mock_get_course_runs):
         """
         Verify that if an entitlement is added for a user, if the user has one upgradeable enrollment
@@ -475,7 +475,7 @@ class EntitlementViewSetTest(ModuleStoreTestCase):
         assert course_entitlement.enrollment_course_run == enrollment
         assert results == CourseEntitlementSerializer(course_entitlement).data
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_add_entitlement_and_upgrade_audit_enrollment_with_dynamic_deadline(self, mock_get_course_runs):
         """
         Verify that if an entitlement is added for a user, if the user has one upgradeable enrollment
@@ -524,7 +524,7 @@ class EntitlementViewSetTest(ModuleStoreTestCase):
         assert course_entitlement.enrollment_course_run == enrollment
         assert results == CourseEntitlementSerializer(course_entitlement).data
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_add_entitlement_inactive_audit_enrollment(self, mock_get_course_runs):
         """
         Verify that if an entitlement is added for a user, if the user has an inactive audit enrollment
@@ -687,7 +687,7 @@ class EntitlementViewSetTest(ModuleStoreTestCase):
         course_entitlement.refresh_from_db()
         assert course_entitlement.expired_at is not None
 
-    @patch("entitlements.models.get_course_uuid_for_course")
+    @patch("common.djangoapps.entitlements.models.get_course_uuid_for_course")
     def test_revoke_unenroll_entitlement(self, mock_course_uuid):
         enrollment = CourseEnrollmentFactory.create(
             user=self.user,
@@ -846,7 +846,7 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
             {'key': str(self.course2.id)}
         ]
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_user_can_enroll(self, mock_get_course_runs):
         course_entitlement = CourseEntitlementFactory.create(user=self.user, mode=CourseMode.VERIFIED)
         mock_get_course_runs.return_value = self.return_values
@@ -870,8 +870,8 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert CourseEnrollment.is_enrolled(self.user, self.course.id)
         assert course_entitlement.enrollment_course_run is not None
 
-    @patch("entitlements.models.get_course_uuid_for_course")
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.models.get_course_uuid_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_user_can_unenroll(self, mock_get_course_runs, mock_get_course_uuid):
         course_entitlement = CourseEntitlementFactory.create(user=self.user, mode=CourseMode.VERIFIED)
         mock_get_course_runs.return_value = self.return_values
@@ -906,7 +906,7 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert not CourseEnrollment.is_enrolled(self.user, self.course.id)
         assert course_entitlement.enrollment_course_run is None
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_user_can_switch(self, mock_get_course_runs):
         mock_get_course_runs.return_value = self.return_values
         course_entitlement = CourseEntitlementFactory.create(user=self.user, mode=CourseMode.VERIFIED)
@@ -944,7 +944,7 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert CourseEnrollment.is_enrolled(self.user, self.course2.id)
         assert course_entitlement.enrollment_course_run is not None
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_user_already_enrolled(self, mock_get_course_runs):
         course_entitlement = CourseEntitlementFactory.create(user=self.user, mode=CourseMode.VERIFIED)
         mock_get_course_runs.return_value = self.return_values
@@ -969,7 +969,7 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert CourseEnrollment.is_enrolled(self.user, self.course.id)
         assert course_entitlement.enrollment_course_run is not None
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_already_enrolled_course_ended(self, mock_get_course_runs):
         """
         Test that already enrolled user can still select a session while
@@ -1008,7 +1008,7 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert is_active and (enrolled_mode == course_entitlement.mode)
         assert course_entitlement.enrollment_course_run is not None
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_user_already_enrolled_in_unpaid_mode(self, mock_get_course_runs):
         course_entitlement = CourseEntitlementFactory.create(user=self.user, mode=CourseMode.VERIFIED)
         mock_get_course_runs.return_value = self.return_values
@@ -1035,7 +1035,7 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert is_active and (enrolled_mode == course_entitlement.mode)
         assert course_entitlement.enrollment_course_run is not None
 
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_user_cannot_enroll_in_unknown_course_run_id(self, mock_get_course_runs):
         fake_course_str = str(self.course.id) + 'fake'
         fake_course_key = CourseKey.from_string(fake_course_str)
@@ -1061,9 +1061,9 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert response.data['message'] == expected_message
         assert not CourseEnrollment.is_enrolled(self.user, fake_course_key)
 
-    @patch('entitlements.models.refund_entitlement', return_value=True)
-    @patch('entitlements.rest_api.v1.views.get_course_runs_for_course')
-    @patch("entitlements.models.get_course_uuid_for_course")
+    @patch('common.djangoapps.entitlements.models.refund_entitlement', return_value=True)
+    @patch('common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course')
+    @patch("common.djangoapps.entitlements.models.get_course_uuid_for_course")
     def test_user_can_revoke_and_refund(self, mock_course_uuid, mock_get_course_runs, mock_refund_entitlement):
         course_entitlement = CourseEntitlementFactory.create(user=self.user, mode=CourseMode.VERIFIED)
         mock_get_course_runs.return_value = self.return_values
@@ -1103,9 +1103,9 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert course_entitlement.enrollment_course_run is None
         assert course_entitlement.expired_at is not None
 
-    @patch('entitlements.rest_api.v1.views.CourseEntitlement.is_entitlement_refundable', return_value=False)
-    @patch('entitlements.models.refund_entitlement', return_value=True)
-    @patch('entitlements.rest_api.v1.views.get_course_runs_for_course')
+    @patch('common.djangoapps.entitlements.rest_api.v1.views.CourseEntitlement.is_entitlement_refundable', return_value=False)
+    @patch('common.djangoapps.entitlements.models.refund_entitlement', return_value=True)
+    @patch('common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course')
     def test_user_can_revoke_and_no_refund_available(
             self,
             mock_get_course_runs,
@@ -1147,9 +1147,9 @@ class EntitlementEnrollmentViewSetTest(ModuleStoreTestCase):
         assert course_entitlement.enrollment_course_run is not None
         assert course_entitlement.expired_at is None
 
-    @patch('entitlements.rest_api.v1.views.CourseEntitlement.is_entitlement_refundable', return_value=True)
-    @patch('entitlements.models.refund_entitlement', return_value=False)
-    @patch("entitlements.rest_api.v1.views.get_course_runs_for_course")
+    @patch('common.djangoapps.entitlements.rest_api.v1.views.CourseEntitlement.is_entitlement_refundable', return_value=True)
+    @patch('common.djangoapps.entitlements.models.refund_entitlement', return_value=False)
+    @patch("common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course")
     def test_user_is_not_unenrolled_on_failed_refund(
             self,
             mock_get_course_runs,
diff --git a/common/djangoapps/entitlements/rest_api/v1/views.py b/common/djangoapps/entitlements/rest_api/v1/views.py
index 81e02f9e86c611de0aca4c0a4b0ad4488996d42f..7fb0133e672ea9cb77b03d1ab20b6461f15fbfb8 100644
--- a/common/djangoapps/entitlements/rest_api/v1/views.py
+++ b/common/djangoapps/entitlements/rest_api/v1/views.py
@@ -16,17 +16,17 @@ from rest_framework import permissions, status, viewsets
 from rest_framework.authentication import SessionAuthentication
 from rest_framework.response import Response
 
-from course_modes.models import CourseMode
-from entitlements.rest_api.v1.filters import CourseEntitlementFilter
-from entitlements.rest_api.v1.permissions import IsAdminOrSupportOrAuthenticatedReadOnly
-from entitlements.rest_api.v1.serializers import CourseEntitlementSerializer
-from entitlements.models import CourseEntitlement, CourseEntitlementPolicy, CourseEntitlementSupportDetail
-from entitlements.utils import is_course_run_entitlement_fulfillable
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.entitlements.rest_api.v1.filters import CourseEntitlementFilter
+from common.djangoapps.entitlements.rest_api.v1.permissions import IsAdminOrSupportOrAuthenticatedReadOnly
+from common.djangoapps.entitlements.rest_api.v1.serializers import CourseEntitlementSerializer
+from common.djangoapps.entitlements.models import CourseEntitlement, CourseEntitlementPolicy, CourseEntitlementSupportDetail
+from common.djangoapps.entitlements.utils import is_course_run_entitlement_fulfillable
 from openedx.core.djangoapps.catalog.utils import get_course_runs_for_course, get_owners_for_course
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.cors_csrf.authentication import SessionAuthenticationCrossDomainCsrf
 from openedx.core.djangoapps.user_api.preferences.api import update_email_opt_in
-from student.models import AlreadyEnrolledError, CourseEnrollment, CourseEnrollmentException
+from common.djangoapps.student.models import AlreadyEnrolledError, CourseEnrollment, CourseEnrollmentException
 
 log = logging.getLogger(__name__)
 
diff --git a/common/djangoapps/entitlements/signals.py b/common/djangoapps/entitlements/signals.py
index 8a3c80b1ff2b5822e54dbadf225bb5511924ce6f..8495e9074327c1e8be12021606c4d194e65b35bc 100644
--- a/common/djangoapps/entitlements/signals.py
+++ b/common/djangoapps/entitlements/signals.py
@@ -5,8 +5,8 @@ Entitlements related signal handlers.
 
 from django.dispatch import receiver
 
-from entitlements.models import CourseEntitlement
-from student.signals import UNENROLL_DONE
+from common.djangoapps.entitlements.models import CourseEntitlement
+from common.djangoapps.student.signals import UNENROLL_DONE
 
 
 @receiver(UNENROLL_DONE)
diff --git a/common/djangoapps/entitlements/tasks.py b/common/djangoapps/entitlements/tasks.py
index 2d3724ce2fc1554ba3b4453e235dda5df30b28db..48d7e7f4d12bd57630f9cd79d5fa413cb2d0bb50 100644
--- a/common/djangoapps/entitlements/tasks.py
+++ b/common/djangoapps/entitlements/tasks.py
@@ -7,7 +7,7 @@ from celery import task
 from celery.utils.log import get_task_logger
 from django.conf import settings
 
-from entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.models import CourseEntitlement
 
 LOGGER = get_task_logger(__name__)
 # Under cms the following setting is not defined, leading to errors during tests.
diff --git a/common/djangoapps/entitlements/tests/factories.py b/common/djangoapps/entitlements/tests/factories.py
index b3028db152f0eca6440c724263815b6317cbad24..934a781bf18478c7b12cb9b5e2a9c6c811ef7471 100644
--- a/common/djangoapps/entitlements/tests/factories.py
+++ b/common/djangoapps/entitlements/tests/factories.py
@@ -6,10 +6,10 @@ from uuid import uuid4
 import factory
 from factory.fuzzy import FuzzyChoice, FuzzyText
 
-from course_modes.helpers import CourseMode
-from entitlements.models import CourseEntitlement, CourseEntitlementPolicy
+from common.djangoapps.course_modes.helpers import CourseMode
+from common.djangoapps.entitlements.models import CourseEntitlement, CourseEntitlementPolicy
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class CourseEntitlementPolicyFactory(factory.django.DjangoModelFactory):
diff --git a/common/djangoapps/entitlements/tests/test_models.py b/common/djangoapps/entitlements/tests/test_models.py
index 4879723ffe88217bf6ad6d4e0a7596ab6caf6afc..1c75c1eaea4930d3c16eff88d775aa472c89f97b 100644
--- a/common/djangoapps/entitlements/tests/test_models.py
+++ b/common/djangoapps/entitlements/tests/test_models.py
@@ -10,21 +10,21 @@ from django.test import TestCase
 from django.utils.timezone import now
 from mock import patch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.certificates.api import MODES
 from lms.djangoapps.certificates.models import CertificateStatuses
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.models import CourseEnrollment
-from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
 # Entitlements is not in CMS' INSTALLED_APPS so these imports will error during test collection
 if settings.ROOT_URLCONF == 'lms.urls':
-    from entitlements.tests.factories import CourseEntitlementFactory
-    from entitlements.models import CourseEntitlement
+    from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
+    from common.djangoapps.entitlements.models import CourseEntitlement
 
 
 @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
@@ -37,7 +37,7 @@ class TestCourseEntitlementModelHelpers(ModuleStoreTestCase):
         self.user = UserFactory()
         self.client.login(username=self.user.username, password=TEST_PASSWORD)
 
-    @patch("entitlements.models.get_course_uuid_for_course")
+    @patch("common.djangoapps.entitlements.models.get_course_uuid_for_course")
     def test_check_for_existing_entitlement_and_enroll(self, mock_get_course_uuid):
         course = CourseFactory()
         CourseModeFactory(
@@ -64,7 +64,7 @@ class TestCourseEntitlementModelHelpers(ModuleStoreTestCase):
         entitlement.refresh_from_db()
         assert entitlement.enrollment_course_run
 
-    @patch("entitlements.models.get_course_uuid_for_course")
+    @patch("common.djangoapps.entitlements.models.get_course_uuid_for_course")
     def test_check_for_no_entitlement_and_do_not_enroll(self, mock_get_course_uuid):
         course = CourseFactory()
         CourseModeFactory(
@@ -302,8 +302,8 @@ class TestModels(TestCase):
         assert expired_at_datetime
         assert entitlement.expired_at
 
-    @patch("entitlements.models.get_course_uuid_for_course")
-    @patch("entitlements.models.CourseEntitlement.refund")
+    @patch("common.djangoapps.entitlements.models.get_course_uuid_for_course")
+    @patch("common.djangoapps.entitlements.models.CourseEntitlement.refund")
     def test_unenroll_entitlement_with_audit_course_enrollment(self, mock_refund, mock_get_course_uuid):
         """
         Test that entitlement is not refunded if un-enroll is called on audit course un-enroll.
diff --git a/common/djangoapps/entitlements/tests/test_tasks.py b/common/djangoapps/entitlements/tests/test_tasks.py
index 7465cee637c254cca69039a903583778a1f80a15..8a4278cd017d1c26cda9c3720f945893626882a0 100644
--- a/common/djangoapps/entitlements/tests/test_tasks.py
+++ b/common/djangoapps/entitlements/tests/test_tasks.py
@@ -9,9 +9,9 @@ import mock
 import pytz
 from django.test import TestCase
 
-from entitlements import tasks
-from entitlements.models import CourseEntitlementPolicy
-from entitlements.tests.factories import CourseEntitlementFactory
+from common.djangoapps.entitlements import tasks
+from common.djangoapps.entitlements.models import CourseEntitlementPolicy
+from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
 
 
@@ -40,7 +40,7 @@ class TestExpireOldEntitlementsTask(TestCase):
         make_entitlement()
 
         with mock.patch(
-            'entitlements.models.CourseEntitlement.expired_at_datetime',
+            'common.djangoapps.entitlements.models.CourseEntitlement.expired_at_datetime',
             new_callable=mock.PropertyMock
         ) as mock_datetime:
             tasks.expire_old_entitlements.delay(1, 3).get()
@@ -56,7 +56,7 @@ class TestExpireOldEntitlementsTask(TestCase):
         make_entitlement()
 
         with mock.patch(
-            'entitlements.models.CourseEntitlement.expired_at_datetime',
+            'common.djangoapps.entitlements.models.CourseEntitlement.expired_at_datetime',
             new_callable=mock.PropertyMock
         ) as mock_datetime:
             tasks.expire_old_entitlements.delay(1, 3).get()
@@ -72,7 +72,7 @@ class TestExpireOldEntitlementsTask(TestCase):
         make_entitlement()
 
         with mock.patch(
-            'entitlements.models.CourseEntitlement.expired_at_datetime',
+            'common.djangoapps.entitlements.models.CourseEntitlement.expired_at_datetime',
             new_callable=mock.PropertyMock,
             side_effect=boom
         ) as mock_datetime:
diff --git a/common/djangoapps/entitlements/tests/test_utils.py b/common/djangoapps/entitlements/tests/test_utils.py
index b1a91ac72068e11a2d363df38477d73d4b1f7ad4..1bf380a45162595edf41c139bcc96982dfa2ec7e 100644
--- a/common/djangoapps/entitlements/tests/test_utils.py
+++ b/common/djangoapps/entitlements/tests/test_utils.py
@@ -9,16 +9,16 @@ from django.conf import settings
 from django.utils.timezone import now
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, CourseOverviewFactory, UserFactory
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, CourseOverviewFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 # Entitlements is not in CMS' INSTALLED_APPS so these imports will error during test collection
 if settings.ROOT_URLCONF == 'lms.urls':
-    from entitlements.tests.factories import CourseEntitlementFactory
-    from entitlements.utils import is_course_run_entitlement_fulfillable
+    from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
+    from common.djangoapps.entitlements.utils import is_course_run_entitlement_fulfillable
 
 
 @skip_unless_lms
diff --git a/common/djangoapps/entitlements/utils.py b/common/djangoapps/entitlements/utils.py
index 0b4594e7cff547e4e01f78f0df9181554a641f9b..3d1e5822f557053b607e6fb394c32028261ff917 100644
--- a/common/djangoapps/entitlements/utils.py
+++ b/common/djangoapps/entitlements/utils.py
@@ -7,9 +7,9 @@ import logging
 
 from django.utils import timezone
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 log = logging.getLogger("common.entitlements.utils")
 
diff --git a/common/djangoapps/pipeline_mako/__init__.py b/common/djangoapps/pipeline_mako/__init__.py
index 8c82533ad897dd5681b3aa3f3b5e2c02e954f6f4..ae9ed7705e328461127e33f5e14ea40618f8076f 100644
--- a/common/djangoapps/pipeline_mako/__init__.py
+++ b/common/djangoapps/pipeline_mako/__init__.py
@@ -6,8 +6,8 @@ from pipeline.conf import settings
 from pipeline.packager import Packager
 from pipeline.utils import guess_type
 
-from edxmako.shortcuts import render_to_string
-from static_replace import try_staticfiles_lookup
+from common.djangoapps.edxmako.shortcuts import render_to_string
+from common.djangoapps.static_replace import try_staticfiles_lookup
 
 
 def compressed_css(package_name, raw=False):
diff --git a/common/djangoapps/pipeline_mako/templates/static_content.html b/common/djangoapps/pipeline_mako/templates/static_content.html
index 1acdf2a8cd9cbd05f20df0981342cc9dc3e0cfcc..a5a2a575b0e989944ea502d865961a99fc3f734f 100644
--- a/common/djangoapps/pipeline_mako/templates/static_content.html
+++ b/common/djangoapps/pipeline_mako/templates/static_content.html
@@ -3,11 +3,11 @@
 import logging
 import json
 from django.contrib.staticfiles.storage import staticfiles_storage
-from pipeline_mako import compressed_css, compressed_js
-from pipeline_mako.helpers.studiofrontend import load_sfe_i18n_messages
+from common.djangoapps.pipeline_mako import compressed_css, compressed_js
+from common.djangoapps.pipeline_mako.helpers.studiofrontend import load_sfe_i18n_messages
 from django.utils.translation import get_language_bidi
 from mako.exceptions import TemplateLookupException
-from edxmako.shortcuts import marketing_link
+from common.djangoapps.edxmako.shortcuts import marketing_link
 
 from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
 from openedx.core.djangolib.markup import HTML
diff --git a/common/djangoapps/pipeline_mako/tests/test_render.py b/common/djangoapps/pipeline_mako/tests/test_render.py
index 77aca11ec15cf0b9d070634efad5ce3d6455412f..54121ac0919af1699bef665a0b730aa40662fe9b 100644
--- a/common/djangoapps/pipeline_mako/tests/test_render.py
+++ b/common/djangoapps/pipeline_mako/tests/test_render.py
@@ -9,7 +9,7 @@ from django.test import TestCase
 from mock import patch
 from six.moves import map
 
-from pipeline_mako import compressed_css, compressed_js, render_require_js_path_overrides
+from common.djangoapps.pipeline_mako import compressed_css, compressed_js, render_require_js_path_overrides
 
 
 class RequireJSPathOverridesTest(TestCase):
@@ -50,7 +50,7 @@ class PipelineRenderTest(TestCase):
     def mock_staticfiles_lookup(path):
         return '/static/' + path
 
-    @patch('static_replace.try_staticfiles_lookup', side_effect=mock_staticfiles_lookup)
+    @patch('common.djangoapps.static_replace.try_staticfiles_lookup', side_effect=mock_staticfiles_lookup)
     @ddt.data(
         (True,),
         (False,),
@@ -72,7 +72,7 @@ class PipelineRenderTest(TestCase):
             self.assertIn(u'lms-main-v1.css?raw', css_include)
 
     @patch('django.contrib.staticfiles.storage.staticfiles_storage.exists', return_value=True)
-    @patch('static_replace.try_staticfiles_lookup', side_effect=mock_staticfiles_lookup)
+    @patch('common.djangoapps.static_replace.try_staticfiles_lookup', side_effect=mock_staticfiles_lookup)
     def test_compressed_js(self, mock_staticfiles_lookup, mock_staticfiles_exists):
         """
         Verify the behavior of compressed_css, with the pipeline
diff --git a/common/djangoapps/pipeline_mako/tests/test_static_content.py b/common/djangoapps/pipeline_mako/tests/test_static_content.py
index 88eec2c7185fc0a490e708b4ebfbd6ccfad9c235..8435240b8a84f815e577e1446c8d304815aa4543 100644
--- a/common/djangoapps/pipeline_mako/tests/test_static_content.py
+++ b/common/djangoapps/pipeline_mako/tests/test_static_content.py
@@ -5,7 +5,7 @@ Tests of pipeline_mako/templates/static_content.html
 
 import unittest
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 
 
 class TestStaticContent(unittest.TestCase):
diff --git a/common/djangoapps/static_replace/__init__.py b/common/djangoapps/static_replace/__init__.py
index c21d273e41b367461b1469f14cf364ca7984a806..c246a37f4db5da19a0028c9e74d2d1eb92599f39 100644
--- a/common/djangoapps/static_replace/__init__.py
+++ b/common/djangoapps/static_replace/__init__.py
@@ -202,7 +202,7 @@ def replace_static_urls(text, data_directory=None, course_id=None, static_asset_
                 # if not, then assume it's courseware specific content and then look in the
                 # Mongo-backed database
                 # Import is placed here to avoid model import at project startup.
-                from static_replace.models import AssetBaseUrlConfig, AssetExcludedExtensionsConfig
+                from common.djangoapps.static_replace.models import AssetBaseUrlConfig, AssetExcludedExtensionsConfig
                 base_url = AssetBaseUrlConfig.get_base_url()
                 excluded_exts = AssetExcludedExtensionsConfig.get_excluded_extensions()
                 url = StaticContent.get_canonicalized_asset_path(course_id, rest, base_url, excluded_exts)
diff --git a/common/djangoapps/static_replace/test/test_static_replace.py b/common/djangoapps/static_replace/test/test_static_replace.py
index 38c1f45f5e8c5bd2b8dcde134aa2a30fefe2c916..3ecf9c0c4b8c68ffd06f3da37c8543bae7f90bc5 100644
--- a/common/djangoapps/static_replace/test/test_static_replace.py
+++ b/common/djangoapps/static_replace/test/test_static_replace.py
@@ -14,7 +14,7 @@ from mock import Mock, patch
 from opaque_keys.edx.keys import CourseKey
 from PIL import Image
 
-from static_replace import (
+from common.djangoapps.static_replace import (
     _url_replace_regex,
     make_static_urls_absolute,
     process_static_urls,
@@ -91,7 +91,7 @@ def test_static_urls(mock_request):
     assert result == '\"http:///static/file.png\"'
 
 
-@patch('static_replace.staticfiles_storage', autospec=True)
+@patch('common.djangoapps.static_replace.staticfiles_storage', autospec=True)
 def test_storage_url_exists(mock_storage):
     mock_storage.exists.return_value = True
     mock_storage.url.return_value = '/static/file.png'
@@ -101,7 +101,7 @@ def test_storage_url_exists(mock_storage):
     mock_storage.url.assert_called_once_with('file.png')
 
 
-@patch('static_replace.staticfiles_storage', autospec=True)
+@patch('common.djangoapps.static_replace.staticfiles_storage', autospec=True)
 def test_storage_url_not_exists(mock_storage):
     mock_storage.exists.return_value = False
     mock_storage.url.return_value = '/static/data_dir/file.png'
@@ -111,10 +111,10 @@ def test_storage_url_not_exists(mock_storage):
     mock_storage.url.assert_called_once_with('data_dir/file.png')
 
 
-@patch('static_replace.StaticContent', autospec=True)
+@patch('common.djangoapps.static_replace.StaticContent', autospec=True)
 @patch('xmodule.modulestore.django.modulestore', autospec=True)
-@patch('static_replace.models.AssetBaseUrlConfig.get_base_url')
-@patch('static_replace.models.AssetExcludedExtensionsConfig.get_excluded_extensions')
+@patch('common.djangoapps.static_replace.models.AssetBaseUrlConfig.get_base_url')
+@patch('common.djangoapps.static_replace.models.AssetExcludedExtensionsConfig.get_excluded_extensions')
 def test_mongo_filestore(mock_get_excluded_extensions, mock_get_base_url, mock_modulestore, mock_static_content):
 
     mock_modulestore.return_value = Mock(MongoModuleStore)
@@ -132,9 +132,9 @@ def test_mongo_filestore(mock_get_excluded_extensions, mock_get_base_url, mock_m
     mock_static_content.get_canonicalized_asset_path.assert_called_once_with(COURSE_KEY, 'file.png', u'', ['foobar'])
 
 
-@patch('static_replace.settings', autospec=True)
+@patch('common.djangoapps.static_replace.settings', autospec=True)
 @patch('xmodule.modulestore.django.modulestore', autospec=True)
-@patch('static_replace.staticfiles_storage', autospec=True)
+@patch('common.djangoapps.static_replace.staticfiles_storage', autospec=True)
 def test_data_dir_fallback(mock_storage, mock_modulestore, mock_settings):
     mock_modulestore.return_value = Mock(XMLModuleStore)
     mock_storage.url.side_effect = Exception
@@ -158,7 +158,7 @@ def test_raw_static_check():
 
 
 @pytest.mark.django_db
-@patch('static_replace.staticfiles_storage', autospec=True)
+@patch('common.djangoapps.static_replace.staticfiles_storage', autospec=True)
 @patch('xmodule.modulestore.django.modulestore', autospec=True)
 def test_static_url_with_query(mock_modulestore, mock_storage):
     """
@@ -175,7 +175,7 @@ def test_static_url_with_query(mock_modulestore, mock_storage):
 
 
 @pytest.mark.django_db
-@patch('static_replace.staticfiles_storage', autospec=True)
+@patch('common.djangoapps.static_replace.staticfiles_storage', autospec=True)
 @patch('xmodule.modulestore.django.modulestore', autospec=True)
 def test_static_paths_out(mock_modulestore, mock_storage):
     """
@@ -221,7 +221,7 @@ def test_regex():
         assert not re.match(regex, s)
 
 
-@patch('static_replace.staticfiles_storage', autospec=True)
+@patch('common.djangoapps.static_replace.staticfiles_storage', autospec=True)
 @patch('xmodule.modulestore.django.modulestore', autospec=True)
 def test_static_url_with_xblock_resource(mock_modulestore, mock_storage):
     """
@@ -236,7 +236,7 @@ def test_static_url_with_xblock_resource(mock_modulestore, mock_storage):
     assert replace_static_urls(pre_text, DATA_DIRECTORY, COURSE_KEY) == post_text
 
 
-@patch('static_replace.staticfiles_storage', autospec=True)
+@patch('common.djangoapps.static_replace.staticfiles_storage', autospec=True)
 @patch('xmodule.modulestore.django.modulestore', autospec=True)
 @override_settings(STATIC_URL='https://example.com/static/')
 def test_static_url_with_xblock_resource_on_cdn(mock_modulestore, mock_storage):
diff --git a/common/djangoapps/student/admin.py b/common/djangoapps/student/admin.py
index ab9b546b8b41dfd67175d56f46f5b7e73b9bdfd6..b9e382242d185e095b88e05fb2fade4a3688a6d8 100644
--- a/common/djangoapps/student/admin.py
+++ b/common/djangoapps/student/admin.py
@@ -24,8 +24,8 @@ from opaque_keys.edx.keys import CourseKey
 
 from edx_toggles.toggles import WaffleSwitch
 from openedx.core.lib.courses import clean_course_id
-from student import STUDENT_WAFFLE_NAMESPACE
-from student.models import (
+from common.djangoapps.student import STUDENT_WAFFLE_NAMESPACE
+from common.djangoapps.student.models import (
     AccountRecovery,
     AccountRecoveryConfiguration,
     AllowedAuthUser,
@@ -45,7 +45,7 @@ from student.models import (
     UserProfile,
     UserTestGroup
 )
-from student.roles import REGISTERED_ACCESS_ROLES
+from common.djangoapps.student.roles import REGISTERED_ACCESS_ROLES
 from xmodule.modulestore.django import modulestore
 
 User = get_user_model()  # pylint:disable=invalid-name
diff --git a/common/djangoapps/student/api.py b/common/djangoapps/student/api.py
index 610f495d816f6448f2194e4638f1c5d8eb50e238..6ccdcef7489a78f1c468b26b46008f41fbacf9fb 100644
--- a/common/djangoapps/student/api.py
+++ b/common/djangoapps/student/api.py
@@ -7,10 +7,10 @@ Python APIs exposed by the student app to other in-process apps.
 from django.contrib.auth import get_user_model
 from django.conf import settings
 
-from student.models_api import create_manual_enrollment_audit as _create_manual_enrollment_audit
-from student.models_api import get_course_access_role
-from student.models_api import get_course_enrollment as _get_course_enrollment
-from student.models_api import (
+from common.djangoapps.student.models_api import create_manual_enrollment_audit as _create_manual_enrollment_audit
+from common.djangoapps.student.models_api import get_course_access_role
+from common.djangoapps.student.models_api import get_course_enrollment as _get_course_enrollment
+from common.djangoapps.student.models_api import (
     ENROLLED_TO_ENROLLED as _ENROLLED_TO_ENROLLED,
     ENROLLED_TO_UNENROLLED as _ENROLLED_TO_UNENROLLED,
     UNENROLLED_TO_ENROLLED as _UNENROLLED_TO_ENROLLED,
@@ -20,7 +20,7 @@ from student.models_api import (
     ALLOWEDTOENROLL_TO_UNENROLLED as _ALLOWEDTOENROLL_TO_UNENROLLED,
     DEFAULT_TRANSITION_STATE as _DEFAULT_TRANSITION_STATE,
 )
-from student.roles import REGISTERED_ACCESS_ROLES as _REGISTERED_ACCESS_ROLES
+from common.djangoapps.student.roles import REGISTERED_ACCESS_ROLES as _REGISTERED_ACCESS_ROLES
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 
 
diff --git a/common/djangoapps/student/apps.py b/common/djangoapps/student/apps.py
index 83287fc4dd46420f228dfc505055aef3427b6f98..92ef89cb840288c69b631b8b64f5f3c0d9eb5fd4 100644
--- a/common/djangoapps/student/apps.py
+++ b/common/djangoapps/student/apps.py
@@ -12,7 +12,7 @@ class StudentConfig(AppConfig):
     """
     Default configuration for the ``student`` application.
     """
-    name = 'student'
+    name = 'common.djangoapps.student'
 
     def ready(self):
         # Connect signal handlers.
@@ -21,7 +21,7 @@ class StudentConfig(AppConfig):
         # The django-simple-history model on CourseEnrollment creates performance
         # problems in testing, we mock it here so that the mock impacts all tests.
         if os.environ.get('DISABLE_COURSEENROLLMENT_HISTORY', False):
-            import student.models as student_models
+            import common.djangoapps.student.models as student_models
             from mock import MagicMock
 
             student_models.CourseEnrollment.history = MagicMock()
diff --git a/common/djangoapps/student/auth.py b/common/djangoapps/student/auth.py
index 1215972b281915989921a4c5446396060a40daad..21c476098c16dcab1771bb62393ee71428528c95 100644
--- a/common/djangoapps/student/auth.py
+++ b/common/djangoapps/student/auth.py
@@ -11,7 +11,7 @@ from django.conf import settings
 from django.core.exceptions import PermissionDenied
 from opaque_keys.edx.locator import LibraryLocator
 
-from student.roles import (
+from common.djangoapps.student.roles import (
     CourseBetaTesterRole,
     CourseCreatorRole,
     CourseInstructorRole,
diff --git a/common/djangoapps/student/forms.py b/common/djangoapps/student/forms.py
index 6375e30c51c69a9128b9cb0f2685fedb3ce07bbb..91957b8139249f537afcaf378c204bf34649d52c 100644
--- a/common/djangoapps/student/forms.py
+++ b/common/djangoapps/student/forms.py
@@ -24,8 +24,8 @@ from openedx.core.djangoapps.user_api import accounts as accounts_settings
 from openedx.core.djangoapps.user_api.accounts.utils import is_secondary_email_feature_enabled
 from openedx.core.djangoapps.user_authn.utils import should_redirect_to_logistration_mircrofrontend
 from openedx.core.djangoapps.user_api.preferences.api import get_user_preference
-from student.message_types import AccountRecovery as AccountRecoveryMessage
-from student.models import CourseEnrollmentAllowed, email_exists_or_retired
+from common.djangoapps.student.message_types import AccountRecovery as AccountRecoveryMessage
+from common.djangoapps.student.models import CourseEnrollmentAllowed, email_exists_or_retired
 
 
 def send_account_recovery_email_for_user(user, request, email=None):
diff --git a/common/djangoapps/student/helpers.py b/common/djangoapps/student/helpers.py
index 9e49ce19dc9c3e986b28911bbd9c929e24cda74e..ee1291ed692001db5d75357cf685b9651b3b2d5b 100644
--- a/common/djangoapps/student/helpers.py
+++ b/common/djangoapps/student/helpers.py
@@ -23,8 +23,8 @@ from django.utils.translation import ugettext as _
 from pytz import UTC
 from six import iteritems, text_type
 
-import third_party_auth
-from course_modes.models import CourseMode
+from common.djangoapps import third_party_auth
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.api import get_certificate_url, has_html_certificates_enabled
 from lms.djangoapps.certificates.models import CertificateStatuses, certificate_status_for_student
 from lms.djangoapps.grades.api import CourseGradeFactory
@@ -35,7 +35,7 @@ from openedx.core.djangoapps.certificates.api import certificates_viewable_for_c
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.theming.helpers import get_themes
 from openedx.core.djangoapps.user_authn.utils import is_safe_login_or_logout_redirect
-from student.models import (
+from common.djangoapps.student.models import (
     CourseEnrollment,
     LinkedInAddToProfileConfiguration,
     Registration,
@@ -45,7 +45,7 @@ from student.models import (
     unique_id_for_user,
     username_exists_or_retired
 )
-from util.password_policy_validators import normalize_password
+from common.djangoapps.util.password_policy_validators import normalize_password
 
 # Enumeration of per-course verification statuses
 # we display on the student dashboard.
diff --git a/common/djangoapps/student/management/commands/_create_users.py b/common/djangoapps/student/management/commands/_create_users.py
index ac450db2c1e6a7b83fb9d6dc524e2d8bf178610b..4c7319155c0c6fba5b1aa32f49477325adeb8d53 100644
--- a/common/djangoapps/student/management/commands/_create_users.py
+++ b/common/djangoapps/student/management/commands/_create_users.py
@@ -3,8 +3,8 @@ from xmodule.modulestore.django import modulestore
 
 from lms.djangoapps.instructor.access import allow_access
 from openedx.core.djangoapps.user_authn.views.registration_form import AccountCreationForm
-from student.helpers import do_create_account
-from student.models import CourseEnrollment
+from common.djangoapps.student.helpers import do_create_account
+from common.djangoapps.student.models import CourseEnrollment
 
 
 def create_users(
diff --git a/common/djangoapps/student/management/commands/anonymized_id_mapping.py b/common/djangoapps/student/management/commands/anonymized_id_mapping.py
index c29b17d0fe1fedea317f7c04d0544984797e500e..64684b9c6da893abab9b630f21263a9edd73fe81 100644
--- a/common/djangoapps/student/management/commands/anonymized_id_mapping.py
+++ b/common/djangoapps/student/management/commands/anonymized_id_mapping.py
@@ -16,7 +16,7 @@ from django.core.management.base import BaseCommand, CommandError
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
 
-from student.models import anonymous_id_for_user
+from common.djangoapps.student.models import anonymous_id_for_user
 
 
 class Command(BaseCommand):
diff --git a/common/djangoapps/student/management/commands/assigngroups.py b/common/djangoapps/student/management/commands/assigngroups.py
index eda3ad5dcbbdc672cd33c865cbb48b33cb138be2..4a7306a3dc3e4f066127ca184d4cf1100e1f9cc0 100644
--- a/common/djangoapps/student/management/commands/assigngroups.py
+++ b/common/djangoapps/student/management/commands/assigngroups.py
@@ -10,7 +10,7 @@ from django.contrib.auth.models import User
 from django.core.management.base import BaseCommand
 from pytz import UTC
 
-from student.models import UserTestGroup
+from common.djangoapps.student.models import UserTestGroup
 
 # Examples:
 # python manage.py assigngroups summary_test:0.3,skip_summary_test:0.7 log.txt "Do previews of future materials help?"
diff --git a/common/djangoapps/student/management/commands/bulk_change_enrollment.py b/common/djangoapps/student/management/commands/bulk_change_enrollment.py
index a1a5c4de5be11f0328a37c69974f317a38e20ac7..9c0e2208fce080396d24ffa5639f4ec024ea98ff 100644
--- a/common/djangoapps/student/management/commands/bulk_change_enrollment.py
+++ b/common/djangoapps/student/management/commands/bulk_change_enrollment.py
@@ -9,9 +9,9 @@ from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.django import modulestore
 
 logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
diff --git a/common/djangoapps/student/management/commands/bulk_change_enrollment_csv.py b/common/djangoapps/student/management/commands/bulk_change_enrollment_csv.py
index b835cac477870e18a71eb2305870452951d81999..a9c1d5349858701b0204b780dfffb1dfde162742 100644
--- a/common/djangoapps/student/management/commands/bulk_change_enrollment_csv.py
+++ b/common/djangoapps/student/management/commands/bulk_change_enrollment_csv.py
@@ -14,11 +14,11 @@ from django.db import transaction
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from student.models import CourseEnrollment, CourseEnrollmentAttribute, User
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAttribute, User
 
-from student.models import BulkChangeEnrollmentConfiguration
+from common.djangoapps.student.models import BulkChangeEnrollmentConfiguration
 
-logger = logging.getLogger('student.management.commands.bulk_change_enrollment_csv')
+logger = logging.getLogger('common.djangoapps.student.management.commands.bulk_change_enrollment_csv')
 
 
 class Command(BaseCommand):
diff --git a/common/djangoapps/student/management/commands/bulk_unenroll.py b/common/djangoapps/student/management/commands/bulk_unenroll.py
index 4faffa9aac242e728d9fdf1ee3ee59352ceba856..5caa86e6d95800a8407c72b6a3fef8faca63aa42 100644
--- a/common/djangoapps/student/management/commands/bulk_unenroll.py
+++ b/common/djangoapps/student/management/commands/bulk_unenroll.py
@@ -8,7 +8,7 @@ from django.core.exceptions import ObjectDoesNotExist
 from django.core.management.base import BaseCommand
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
-from student.models import CourseEnrollment, BulkUnenrollConfiguration
+from common.djangoapps.student.models import CourseEnrollment, BulkUnenrollConfiguration
 
 logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
 
diff --git a/common/djangoapps/student/management/commands/bulk_update_email.py b/common/djangoapps/student/management/commands/bulk_update_email.py
index 1f53ea0efd5a99a31a9268addef557deebe647c4..e5309cf717288b0696776ab49e9e1291a831e8c3 100644
--- a/common/djangoapps/student/management/commands/bulk_update_email.py
+++ b/common/djangoapps/student/management/commands/bulk_update_email.py
@@ -11,7 +11,7 @@ from django.core.management.base import BaseCommand, CommandError
 
 from django.contrib.auth import get_user_model
 
-logger = logging.getLogger('student.management.commands.bulk_update_email')
+logger = logging.getLogger('common.djangoapps.student.management.commands.bulk_update_email')
 
 
 class Command(BaseCommand):
diff --git a/common/djangoapps/student/management/commands/cert_restriction.py b/common/djangoapps/student/management/commands/cert_restriction.py
index 450665fff17babf2fd647790930cf1c754e47e14..bbb12fde4f142b891b5f021829a8bf4a2f4db593 100644
--- a/common/djangoapps/student/management/commands/cert_restriction.py
+++ b/common/djangoapps/student/management/commands/cert_restriction.py
@@ -5,7 +5,7 @@ import os
 
 from django.core.management.base import BaseCommand, CommandError
 
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 
 
 class Command(BaseCommand):
diff --git a/common/djangoapps/student/management/commands/change_eligibility_deadline.py b/common/djangoapps/student/management/commands/change_eligibility_deadline.py
index 680667bd3d878e912d60a4f4757aa3b4e67e7f41..6680df6736c4ed8a1005e303b3d7597245cd02ec 100644
--- a/common/djangoapps/student/management/commands/change_eligibility_deadline.py
+++ b/common/djangoapps/student/management/commands/change_eligibility_deadline.py
@@ -8,9 +8,9 @@ from django.core.management.base import BaseCommand
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.credit.models import CreditEligibility
-from student.models import CourseEnrollment, User
+from common.djangoapps.student.models import CourseEnrollment, User
 
 logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
 
diff --git a/common/djangoapps/student/management/commands/change_enrollment.py b/common/djangoapps/student/management/commands/change_enrollment.py
index 1fdcc98eb1878ff111f629c17d3b9526eb72c273..af096a8d9a34fd4f4646b6243e4428c9791946bd 100644
--- a/common/djangoapps/student/management/commands/change_enrollment.py
+++ b/common/djangoapps/student/management/commands/change_enrollment.py
@@ -10,7 +10,7 @@ from opaque_keys.edx.keys import CourseKey
 from six import text_type
 
 from openedx.core.djangoapps.credit.email_utils import get_credit_provider_attribute_values
-from student.models import CourseEnrollment, CourseEnrollmentAttribute, User
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAttribute, User
 
 logger = logging.getLogger(__name__)  # pylint: disable=invalid-name
 
diff --git a/common/djangoapps/student/management/commands/create_test_users.py b/common/djangoapps/student/management/commands/create_test_users.py
index 6c7afddbc6793d5836ab2658b326e67ab33efc9b..9b8985767a3b4bb05634f0a0e642f73304fc4821 100644
--- a/common/djangoapps/student/management/commands/create_test_users.py
+++ b/common/djangoapps/student/management/commands/create_test_users.py
@@ -2,7 +2,7 @@
 from django.core.management.base import BaseCommand
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from common.djangoapps.student.management.commands._create_users import create_users
 
 
diff --git a/common/djangoapps/student/management/commands/export_staff_users.py b/common/djangoapps/student/management/commands/export_staff_users.py
index e8144af8faa9c153807488ab518b2fbbdc6f84ef..d57c260729f9a100b3cce7521c61a168850f0643 100644
--- a/common/djangoapps/student/management/commands/export_staff_users.py
+++ b/common/djangoapps/student/management/commands/export_staff_users.py
@@ -12,7 +12,7 @@ from django.template.loader import get_template
 from pytz import utc
 
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseAccessRole
+from common.djangoapps.student.models import CourseAccessRole
 
 logger = logging.getLogger(__name__)
 
diff --git a/common/djangoapps/student/management/commands/manage_user.py b/common/djangoapps/student/management/commands/manage_user.py
index 80e2315dc8c749c86c7016966c339f0cb0b37bb0..fe8259d928a2411727a666ab78e555ce0f8d81d6 100644
--- a/common/djangoapps/student/management/commands/manage_user.py
+++ b/common/djangoapps/student/management/commands/manage_user.py
@@ -12,7 +12,7 @@ from django.db import transaction
 from django.utils.translation import gettext as _
 
 from openedx.core.djangoapps.user_authn.utils import generate_password
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 
 
 def is_valid_django_hash(encoded):
diff --git a/common/djangoapps/student/management/commands/populate_created_on_site_user_attribute.py b/common/djangoapps/student/management/commands/populate_created_on_site_user_attribute.py
index ff025428c981204df64a092586f43bde81018b92..616341c2d596ea5501ea668caaf22e39c84bf326 100644
--- a/common/djangoapps/student/management/commands/populate_created_on_site_user_attribute.py
+++ b/common/djangoapps/student/management/commands/populate_created_on_site_user_attribute.py
@@ -8,7 +8,7 @@ from django.contrib.auth.models import User
 from django.contrib.sites.models import Site
 from django.core.management.base import BaseCommand, CommandError
 
-from student.models import Registration, UserAttribute
+from common.djangoapps.student.models import Registration, UserAttribute
 
 CREATED_ON_SITE = 'created_on_site'
 
diff --git a/common/djangoapps/student/management/commands/recover_account.py b/common/djangoapps/student/management/commands/recover_account.py
index b7ce3a5bd11674e2be74ca8f8aafe7b935073d8d..a2b11e77843d9135a56036c24ae324cf8718810f 100644
--- a/common/djangoapps/student/management/commands/recover_account.py
+++ b/common/djangoapps/student/management/commands/recover_account.py
@@ -17,7 +17,7 @@ from django.utils.http import int_to_base36
 from edx_ace import ace
 from edx_ace.recipient import Recipient
 
-from student.models import AccountRecoveryConfiguration
+from common.djangoapps.student.models import AccountRecoveryConfiguration
 from openedx.core.djangoapps.ace_common.template_context import get_base_template_context
 from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
diff --git a/common/djangoapps/student/management/commands/transfer_students.py b/common/djangoapps/student/management/commands/transfer_students.py
index d2820a2170e7bda1602afd336cc6f93adde99a9c..23b015506b9788f9a3ed841ed91a2c32156d394c 100644
--- a/common/djangoapps/student/management/commands/transfer_students.py
+++ b/common/djangoapps/student/management/commands/transfer_students.py
@@ -10,8 +10,8 @@ from django.db import transaction
 from opaque_keys.edx.keys import CourseKey
 from six import text_type
 
-from student.models import CourseEnrollment
-from track.management.tracked_command import TrackedCommand
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.track.management.tracked_command import TrackedCommand
 
 
 class TransferStudentError(Exception):
diff --git a/common/djangoapps/student/management/tests/test_bulk_change_enrollment.py b/common/djangoapps/student/management/tests/test_bulk_change_enrollment.py
index c2572f567822ba8f4d8d2a98fb5296ae491eb438..bf7040a0a97e966c6ee4a042601bc77740ef6b42 100644
--- a/common/djangoapps/student/management/tests/test_bulk_change_enrollment.py
+++ b/common/djangoapps/student/management/tests/test_bulk_change_enrollment.py
@@ -7,10 +7,10 @@ from django.core.management.base import CommandError
 from mock import call, patch
 from six import text_type
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import EVENT_NAME_ENROLLMENT_MODE_CHANGED, CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import EVENT_NAME_ENROLLMENT_MODE_CHANGED, CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -26,7 +26,7 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
         self.users = UserFactory.create_batch(5)
         CourseOverview.load_from_module_store(self.course.id)
 
-    @patch('student.models.tracker')
+    @patch('common.djangoapps.student.models.tracker')
     @ddt.data(('audit', 'honor'), ('honor', 'audit'))
     @ddt.unpack
     def test_bulk_convert(self, from_mode, to_mode, mock_tracker):
@@ -54,7 +54,7 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
             CourseEnrollment.objects.get(mode=to_mode, course_id=self.course.id, user=user)
             self._assert_mode_changed(mock_tracker, self.course, user, to_mode)
 
-    @patch('student.models.tracker')
+    @patch('common.djangoapps.student.models.tracker')
     @ddt.data(('audit', 'no-id-professional'), ('no-id-professional', 'audit'))
     @ddt.unpack
     def test_bulk_convert_with_org(self, from_mode, to_mode, mock_tracker):
@@ -107,7 +107,7 @@ class BulkChangeEnrollmentTests(SharedModuleStoreTestCase):
 
         self.assertEqual('Error: one of the arguments -c/--course -o/--org is required', text_type(err.exception))
 
-    @patch('student.models.tracker')
+    @patch('common.djangoapps.student.models.tracker')
     def test_with_org_and_invalid_to_mode(self, mock_tracker):
         """Verify that enrollments are changed correctly when org was given."""
         from_mode = 'audit'
diff --git a/common/djangoapps/student/management/tests/test_bulk_change_enrollment_csv.py b/common/djangoapps/student/management/tests/test_bulk_change_enrollment_csv.py
index aa9c38fa517861a51abc79d1cb73975e574e4e93..d473bddba38a6e3d8e0f9ec0243c69929b6aa28b 100644
--- a/common/djangoapps/student/management/tests/test_bulk_change_enrollment_csv.py
+++ b/common/djangoapps/student/management/tests/test_bulk_change_enrollment_csv.py
@@ -10,16 +10,16 @@ from django.core.management import call_command
 from django.core.management.base import CommandError
 from testfixtures import LogCapture
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
-from student.models import BulkChangeEnrollmentConfiguration
+from common.djangoapps.student.models import BulkChangeEnrollmentConfiguration
 
-LOGGER_NAME = 'student.management.commands.bulk_change_enrollment_csv'
+LOGGER_NAME = 'common.djangoapps.student.management.commands.bulk_change_enrollment_csv'
 
 
 class BulkChangeEnrollmentCSVTests(SharedModuleStoreTestCase):
diff --git a/common/djangoapps/student/management/tests/test_bulk_unenroll.py b/common/djangoapps/student/management/tests/test_bulk_unenroll.py
index 664eddbfe5dcbb4e877dfa7e2cdf7daff22c0a52..d46ee93afe93decdf79cb265298c9f79e1fde58a 100644
--- a/common/djangoapps/student/management/tests/test_bulk_unenroll.py
+++ b/common/djangoapps/student/management/tests/test_bulk_unenroll.py
@@ -7,13 +7,13 @@ from django.core.files.uploadedfile import SimpleUploadedFile
 from django.core.management import call_command
 from testfixtures import LogCapture
 
-from course_modes.tests.factories import CourseModeFactory
-from student.models import BulkUnenrollConfiguration, CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.student.models import BulkUnenrollConfiguration, CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
-LOGGER_NAME = 'student.management.commands.bulk_unenroll'
+LOGGER_NAME = 'common.djangoapps.student.management.commands.bulk_unenroll'
 
 
 class BulkUnenrollTests(SharedModuleStoreTestCase):
diff --git a/common/djangoapps/student/management/tests/test_change_eligibility_deadline.py b/common/djangoapps/student/management/tests/test_change_eligibility_deadline.py
index 20fc611fdb77cc14737d116846d055a5eccdc87a..31d287086bb2fa39d5ecec0216829b8d75cc0732 100644
--- a/common/djangoapps/student/management/tests/test_change_eligibility_deadline.py
+++ b/common/djangoapps/student/management/tests/test_change_eligibility_deadline.py
@@ -8,14 +8,14 @@ from opaque_keys import InvalidKeyError
 from six import text_type
 from testfixtures import LogCapture
 
-from course_modes.tests.factories import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseMode
 from openedx.core.djangoapps.credit.models import CreditCourse, CreditEligibility
-from student.models import CourseEnrollment, User
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment, User
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
-LOGGER_NAME = 'student.management.commands.change_eligibility_deadline'
+LOGGER_NAME = 'common.djangoapps.student.management.commands.change_eligibility_deadline'
 command_args = '--username {username} --course {course} --date {date}'
 
 
diff --git a/common/djangoapps/student/management/tests/test_change_enrollment.py b/common/djangoapps/student/management/tests/test_change_enrollment.py
index 6a27f2dd3b63fedc007d39992f853d859ba58277..c74b3b0568642cbcf3d1860e74c2d1389adff71f 100644
--- a/common/djangoapps/student/management/tests/test_change_enrollment.py
+++ b/common/djangoapps/student/management/tests/test_change_enrollment.py
@@ -6,9 +6,9 @@ from django.core.management import call_command
 from mock import patch
 from six import text_type
 
-from course_modes.tests.factories import CourseModeFactory
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -42,7 +42,7 @@ class ChangeEnrollmentTests(SharedModuleStoreTestCase):
             self.users.append(user)
             self.enrollments.append(CourseEnrollment.enroll(user, self.course.id, mode='audit'))
 
-    @patch('student.management.commands.change_enrollment.logger')
+    @patch('common.djangoapps.student.management.commands.change_enrollment.logger')
     @ddt.data(
         ('email', False, 3),
         ('username', False, 3),
@@ -86,7 +86,7 @@ class ChangeEnrollmentTests(SharedModuleStoreTestCase):
             len(self.users)
         )
 
-    @patch('student.management.commands.change_enrollment.logger')
+    @patch('common.djangoapps.student.management.commands.change_enrollment.logger')
     @ddt.data(
         ('email', 'dtennant@thedoctor.com', 3),
         ('username', 'dtennant', 3),
diff --git a/common/djangoapps/student/management/tests/test_change_enterprise_user_username.py b/common/djangoapps/student/management/tests/test_change_enterprise_user_username.py
index 6959a032a14f68a2e9bc1df8d4a83c656237de99..3b4c1d7aaecdee0443fa47d75f17d428c62d8755 100644
--- a/common/djangoapps/student/management/tests/test_change_enterprise_user_username.py
+++ b/common/djangoapps/student/management/tests/test_change_enterprise_user_username.py
@@ -21,7 +21,7 @@ class ChangeEnterpriseUserUsernameCommandTests(TestCase):
     """
     command = 'change_enterprise_user_username'
 
-    @mock.patch('student.management.commands.change_enterprise_user_username.LOGGER')
+    @mock.patch('common.djangoapps.student.management.commands.change_enterprise_user_username.LOGGER')
     def test_user_not_enterprise(self, logger_mock):
         """
         Test that the command does not update a user's username if it is not linked to an Enterprise.
@@ -37,7 +37,7 @@ class ChangeEnterpriseUserUsernameCommandTests(TestCase):
         logger_mock.info.assert_called_with('User {} must be an Enterprise User.'.format(user.id))
         post_save_handler.assert_not_called()
 
-    @mock.patch('student.management.commands.change_enterprise_user_username.LOGGER')
+    @mock.patch('common.djangoapps.student.management.commands.change_enterprise_user_username.LOGGER')
     def test_username_updated_successfully(self, logger_mock):
         """
         Test that the command updates the user's username when the user is linked to an Enterprise.
diff --git a/common/djangoapps/student/management/tests/test_create_random_users.py b/common/djangoapps/student/management/tests/test_create_random_users.py
index 3fc3dae83b7c90ca7ba23a546b7ce549e19f8c14..95d757aa3cdab33dd9438538fb43cce984e3ee1c 100644
--- a/common/djangoapps/student/management/tests/test_create_random_users.py
+++ b/common/djangoapps/student/management/tests/test_create_random_users.py
@@ -9,7 +9,7 @@ from django.core.management import call_command
 from opaque_keys import InvalidKeyError
 from six import text_type
 
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/management/tests/test_create_test_users.py b/common/djangoapps/student/management/tests/test_create_test_users.py
index 1aed1c96c435436589c9bb648080ef4741a1676d..9c4180be02778f86499e0550feebb295f1db1e8f 100644
--- a/common/djangoapps/student/management/tests/test_create_test_users.py
+++ b/common/djangoapps/student/management/tests/test_create_test_users.py
@@ -11,9 +11,9 @@ from django.core.management.base import CommandError
 from opaque_keys import InvalidKeyError
 from six import text_type
 
-from student.helpers import AccountValidationError
-from student.models import CourseAccessRole, CourseEnrollment
-from student.roles import CourseStaffRole
+from common.djangoapps.student.helpers import AccountValidationError
+from common.djangoapps.student.models import CourseAccessRole, CourseEnrollment
+from common.djangoapps.student.roles import CourseStaffRole
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/management/tests/test_export_staff_users.py b/common/djangoapps/student/management/tests/test_export_staff_users.py
index 9afc3f667c79c36251be769c8c855b2b39f90356..794e530d9b6b97ba4efeed57efad055164c69ec9 100644
--- a/common/djangoapps/student/management/tests/test_export_staff_users.py
+++ b/common/djangoapps/student/management/tests/test_export_staff_users.py
@@ -9,7 +9,7 @@ from django.test import TestCase
 from django.utils.timezone import now
 
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.tests.factories import CourseAccessRoleFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseAccessRoleFactory, UserFactory
 
 
 class TestExportStaffUsers(TestCase):
diff --git a/common/djangoapps/student/management/tests/test_populate_created_on_site_user_attribute.py b/common/djangoapps/student/management/tests/test_populate_created_on_site_user_attribute.py
index 1dc88542712a39b58bb8f2bd58833c1719560699..3660c171bc6563aec95e65b71f500e2f068cdb3d 100644
--- a/common/djangoapps/student/management/tests/test_populate_created_on_site_user_attribute.py
+++ b/common/djangoapps/student/management/tests/test_populate_created_on_site_user_attribute.py
@@ -11,8 +11,8 @@ from django.test import TestCase
 from six.moves import range
 
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
-from student.models import Registration, UserAttribute
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import Registration, UserAttribute
+from common.djangoapps.student.tests.factories import UserFactory
 
 CREATED_ON_SITE = 'created_on_site'
 
diff --git a/common/djangoapps/student/management/tests/test_recover_account.py b/common/djangoapps/student/management/tests/test_recover_account.py
index 8dabcbcf5ffe158f53232d20d164c53a49304602..80d4e892873e7bbd656e3bebf3cf41da565b3bd8 100644
--- a/common/djangoapps/student/management/tests/test_recover_account.py
+++ b/common/djangoapps/student/management/tests/test_recover_account.py
@@ -12,11 +12,11 @@ from django.core.files.uploadedfile import SimpleUploadedFile
 from django.test import TestCase, RequestFactory
 
 from testfixtures import LogCapture
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
-from student.models import AccountRecoveryConfiguration
+from common.djangoapps.student.models import AccountRecoveryConfiguration
 
-LOGGER_NAME = 'student.management.commands.recover_account'
+LOGGER_NAME = 'common.djangoapps.student.management.commands.recover_account'
 
 
 class RecoverAccountTests(TestCase):
diff --git a/common/djangoapps/student/management/tests/test_transfer_students.py b/common/djangoapps/student/management/tests/test_transfer_students.py
index 88c51698b64376c9e0c2779a60113c7e38dfa629..9353e6397a933c2920599b8c4bd3b21f69719f6c 100644
--- a/common/djangoapps/student/management/tests/test_transfer_students.py
+++ b/common/djangoapps/student/management/tests/test_transfer_students.py
@@ -12,15 +12,15 @@ from mock import call, patch
 from opaque_keys.edx import locator
 from six import text_type
 
-from course_modes.models import CourseMode
-from student.models import (
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.models import (
     EVENT_NAME_ENROLLMENT_ACTIVATED,
     EVENT_NAME_ENROLLMENT_DEACTIVATED,
     EVENT_NAME_ENROLLMENT_MODE_CHANGED,
     CourseEnrollment
 )
-from student.signals import UNENROLL_DONE
-from student.tests.factories import UserFactory
+from common.djangoapps.student.signals import UNENROLL_DONE
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -42,7 +42,7 @@ class TestTransferStudents(ModuleStoreTestCase):
         super(TestTransferStudents, self).setUp()
 
         UNENROLL_DONE.connect(self.assert_unenroll_signal)
-        patcher = patch('student.models.tracker')
+        patcher = patch('common.djangoapps.student.models.tracker')
         self.mock_tracker = patcher.start()
         self.addCleanup(patcher.stop)
         self.addCleanup(UNENROLL_DONE.disconnect, self.assert_unenroll_signal)
diff --git a/common/djangoapps/student/middleware.py b/common/djangoapps/student/middleware.py
index 940c249662c6983a8c3595731060d9e64936102a..db07ee762367c0f94b9910b97dce0ade85d860bc 100644
--- a/common/djangoapps/student/middleware.py
+++ b/common/djangoapps/student/middleware.py
@@ -10,7 +10,7 @@ from django.utils.deprecation import MiddlewareMixin
 from django.utils.translation import ugettext as _
 
 from openedx.core.djangolib.markup import HTML, Text
-from student.models import UserStanding
+from common.djangoapps.student.models import UserStanding
 
 
 class UserStandingMiddleware(MiddlewareMixin):
diff --git a/common/djangoapps/student/migrations/0001_squashed_0031_auto_20200317_1122.py b/common/djangoapps/student/migrations/0001_squashed_0031_auto_20200317_1122.py
index a632f7af75ae1759c836db8351de088df6fa3473..c54433a088869bbe6952a3a2b9cc6c8a96361061 100644
--- a/common/djangoapps/student/migrations/0001_squashed_0031_auto_20200317_1122.py
+++ b/common/djangoapps/student/migrations/0001_squashed_0031_auto_20200317_1122.py
@@ -4,7 +4,6 @@
 
 import uuid
 
-import course_modes.models
 import django.utils.timezone
 import django_countries.fields
 import model_utils.fields
@@ -13,9 +12,10 @@ import simple_history.models
 from django.conf import settings
 from django.db import migrations, models
 from lms.djangoapps.experiments.models import ExperimentData
-from student.models import CourseEnrollment, FBEEnrollmentExclusion
+from common.djangoapps.student.models import CourseEnrollment, FBEEnrollmentExclusion
 
 import openedx.core.djangolib.model_mixins
+from common.djangoapps.course_modes import models as course_modes_models
 from openedx.features.course_duration_limits.config import EXPERIMENT_DATA_HOLDBACK_KEY, EXPERIMENT_ID
 
 
@@ -465,12 +465,12 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='courseenrollment',
             name='mode',
-            field=models.CharField(default=course_modes.models.CourseMode.get_default_mode_slug, max_length=100),
+            field=models.CharField(default=course_modes_models.CourseMode.get_default_mode_slug, max_length=100),
         ),
         migrations.AlterField(
             model_name='historicalcourseenrollment',
             name='mode',
-            field=models.CharField(default=course_modes.models.CourseMode.get_default_mode_slug, max_length=100),
+            field=models.CharField(default=course_modes_models.CourseMode.get_default_mode_slug, max_length=100),
         ),
         migrations.CreateModel(
             name='HistoricalManualEnrollmentAudit',
diff --git a/common/djangoapps/student/migrations/0025_auto_20191101_1846.py b/common/djangoapps/student/migrations/0025_auto_20191101_1846.py
index c49721e226ce0c4828f65c85f65c506daf1c48e3..1bdfaee558ea3ec687c33e5567850019476b2066 100644
--- a/common/djangoapps/student/migrations/0025_auto_20191101_1846.py
+++ b/common/djangoapps/student/migrations/0025_auto_20191101_1846.py
@@ -6,7 +6,7 @@ from django.db import migrations
 
 from lms.djangoapps.experiments.models import ExperimentData
 from openedx.features.course_duration_limits.config import EXPERIMENT_DATA_HOLDBACK_KEY, EXPERIMENT_ID
-from student.models import CourseEnrollment, FBEEnrollmentExclusion
+from common.djangoapps.student.models import CourseEnrollment, FBEEnrollmentExclusion
 
 
 def populate_fbeenrollmentexclusion(apps, schema_editor):
diff --git a/common/djangoapps/student/migrations/0027_courseenrollment_mode_callable_default.py b/common/djangoapps/student/migrations/0027_courseenrollment_mode_callable_default.py
index 51afefac8afd4d250921335d0a8e38b371e0c19b..aceb9b6acc62c8b1072f493ab03ea0e25b35b053 100644
--- a/common/djangoapps/student/migrations/0027_courseenrollment_mode_callable_default.py
+++ b/common/djangoapps/student/migrations/0027_courseenrollment_mode_callable_default.py
@@ -2,9 +2,10 @@
 # Generated by Django 1.11.22 on 2019-07-19 13:06
 
 
-import course_modes.models
 from django.db import migrations, models
 
+from common.djangoapps.course_modes import models as course_modes_models
+
 
 class Migration(migrations.Migration):
 
@@ -16,11 +17,11 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='courseenrollment',
             name='mode',
-            field=models.CharField(default=course_modes.models.CourseMode.get_default_mode_slug, max_length=100),
+            field=models.CharField(default=course_modes_models.CourseMode.get_default_mode_slug, max_length=100),
         ),
         migrations.AlterField(
             model_name='historicalcourseenrollment',
             name='mode',
-            field=models.CharField(default=course_modes.models.CourseMode.get_default_mode_slug, max_length=100),
+            field=models.CharField(default=course_modes_models.CourseMode.get_default_mode_slug, max_length=100),
         ),
     ]
diff --git a/common/djangoapps/student/migrations/0029_add_data_researcher.py b/common/djangoapps/student/migrations/0029_add_data_researcher.py
index ecf4a8ef373d21728689fd5527ba3341a12e0104..90f9ff98ac81048a472975926b3d21acfd291a86 100644
--- a/common/djangoapps/student/migrations/0029_add_data_researcher.py
+++ b/common/djangoapps/student/migrations/0029_add_data_researcher.py
@@ -3,7 +3,7 @@
 
 
 from django.db import migrations
-from student.models import CourseAccessRole
+from common.djangoapps.student.models import CourseAccessRole
 
 
 def add_data_researcher(apps, schema_editor):
diff --git a/common/djangoapps/student/models.py b/common/djangoapps/student/models.py
index 4a62a02c5441ddef41e88ac1a6b0d53c2bd23348..eff31878a5b82989ab536bc775d575758062917b 100644
--- a/common/djangoapps/student/models.py
+++ b/common/djangoapps/student/models.py
@@ -56,7 +56,7 @@ from slumber.exceptions import HttpClientError, HttpServerError
 from user_util import user_util
 
 import openedx.core.djangoapps.django_comment_common.comment_client as cc
-from course_modes.models import CourseMode, get_cosmetic_verified_display_price
+from common.djangoapps.course_modes.models import CourseMode, get_cosmetic_verified_display_price
 from lms.djangoapps.certificates.models import GeneratedCertificate
 from lms.djangoapps.courseware.models import (
     CourseDynamicUpgradeDeadlineConfiguration,
@@ -75,10 +75,10 @@ from openedx.core.djangoapps.site_configuration import helpers as configuration_
 from openedx.core.djangoapps.xmodule_django.models import NoneToEmptyManager
 from openedx.core.djangolib.model_mixins import DeletableByUserValue
 from openedx.core.toggles import ENTRANCE_EXAMS
-from student.signals import ENROLL_STATUS_CHANGE, ENROLLMENT_TRACK_UPDATED, UNENROLL_DONE
-from track import contexts, segment
-from util.model_utils import emit_field_changed_events, get_changed_fields_dict
-from util.query import use_read_replica_if_available
+from common.djangoapps.student.signals import ENROLL_STATUS_CHANGE, ENROLLMENT_TRACK_UPDATED, UNENROLL_DONE
+from common.djangoapps.track import contexts, segment
+from common.djangoapps.util.model_utils import emit_field_changed_events, get_changed_fields_dict
+from common.djangoapps.util.query import use_read_replica_if_available
 
 log = logging.getLogger(__name__)
 AUDIT_LOG = logging.getLogger("audit")
@@ -1068,7 +1068,7 @@ class CourseEnrollmentManager(models.Manager):
 
         """
         # To avoid circular imports.
-        from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
+        from common.djangoapps.student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
         course_locator = course_id
 
         if getattr(course_id, 'ccx', None):
diff --git a/common/djangoapps/student/models_api.py b/common/djangoapps/student/models_api.py
index f6d291314d16c6bc6c056dca76110b7bb82e8883..14f3a39316e10046bd535c15d264cb6f5ec88ed8 100644
--- a/common/djangoapps/student/models_api.py
+++ b/common/djangoapps/student/models_api.py
@@ -3,10 +3,10 @@ Provides Python APIs exposed from Student models.
 """
 import logging
 
-from student.models import CourseAccessRole as _CourseAccessRole
-from student.models import CourseEnrollment as _CourseEnrollment
-from student.models import ManualEnrollmentAudit as _ManualEnrollmentAudit
-from student.models import (
+from common.djangoapps.student.models import CourseAccessRole as _CourseAccessRole
+from common.djangoapps.student.models import CourseEnrollment as _CourseEnrollment
+from common.djangoapps.student.models import ManualEnrollmentAudit as _ManualEnrollmentAudit
+from common.djangoapps.student.models import (
     ENROLLED_TO_ENROLLED as _ENROLLED_TO_ENROLLED,
     ENROLLED_TO_UNENROLLED as _ENROLLED_TO_UNENROLLED,
     UNENROLLED_TO_ENROLLED as _UNENROLLED_TO_ENROLLED,
@@ -16,7 +16,7 @@ from student.models import (
     ALLOWEDTOENROLL_TO_UNENROLLED as _ALLOWEDTOENROLL_TO_UNENROLLED,
     DEFAULT_TRANSITION_STATE as _DEFAULT_TRANSITION_STATE,
 )
-from student.models import UserProfile as _UserProfile
+from common.djangoapps.student.models import UserProfile as _UserProfile
 
 # This is done so that if these strings change within the app, we can keep exported constants the same
 ENROLLED_TO_ENROLLED = _ENROLLED_TO_ENROLLED
diff --git a/common/djangoapps/student/role_helpers.py b/common/djangoapps/student/role_helpers.py
index b5c5ac10580192e39374b9ce33576d73369e38bc..ffe0f2c9f20f8f9d2d6244b6ab63b737d5bbcf22 100644
--- a/common/djangoapps/student/role_helpers.py
+++ b/common/djangoapps/student/role_helpers.py
@@ -10,7 +10,7 @@ from openedx.core.djangoapps.django_comment_common.models import (
     FORUM_ROLE_MODERATOR,
     Role
 )
-from student.roles import (
+from common.djangoapps.student.roles import (
     CourseBetaTesterRole,
     CourseInstructorRole,
     CourseStaffRole,
diff --git a/common/djangoapps/student/roles.py b/common/djangoapps/student/roles.py
index 9433022edf0c4722568fce7b7f95156dc757fd43..37596f416262743c304947e6118ede317c13f8cd 100644
--- a/common/djangoapps/student/roles.py
+++ b/common/djangoapps/student/roles.py
@@ -13,7 +13,7 @@ from django.contrib.auth.models import User
 from opaque_keys.edx.django.models import CourseKeyField
 
 from openedx.core.lib.cache_utils import get_cache
-from student.models import CourseAccessRole
+from common.djangoapps.student.models import CourseAccessRole
 
 log = logging.getLogger(__name__)
 
@@ -185,7 +185,7 @@ class RoleBase(AccessRole):
         """
         # silently ignores anonymous and inactive users so that any that are
         # legit get updated.
-        from student.models import CourseAccessRole
+        from common.djangoapps.student.models import CourseAccessRole
         for user in users:
             if user.is_authenticated and user.is_active and not self.has_user(user):
                 entry = CourseAccessRole(user=user, role=self._role_name, course_id=self.course_key, org=self.org)
diff --git a/common/djangoapps/student/signals/__init__.py b/common/djangoapps/student/signals/__init__.py
index e46b9a3acc94ae58a6ebc40bd55769494e54bed1..ace0c99755278502b9aec7caa96c96edcfe77c01 100644
--- a/common/djangoapps/student/signals/__init__.py
+++ b/common/djangoapps/student/signals/__init__.py
@@ -1,6 +1,6 @@
 
 
-from student.signals.signals import (
+from common.djangoapps.student.signals.signals import (
     ENROLL_STATUS_CHANGE,
     ENROLLMENT_TRACK_UPDATED,
     REFUND_ORDER,
diff --git a/common/djangoapps/student/signals/receivers.py b/common/djangoapps/student/signals/receivers.py
index e4f7a17268b8f1d15758d4d9ee69c117e46aaa86..1d1e2b2893a27e2404713e1262924fabd10e9180 100644
--- a/common/djangoapps/student/signals/receivers.py
+++ b/common/djangoapps/student/signals/receivers.py
@@ -11,8 +11,8 @@ from django.db.models.signals import post_save, pre_save
 from django.dispatch import receiver
 
 from lms.djangoapps.courseware.toggles import courseware_mfe_first_section_celebration_is_active
-from student.helpers import EMAIL_EXISTS_MSG_FMT, USERNAME_EXISTS_MSG_FMT, AccountValidationError
-from student.models import CourseEnrollment, CourseEnrollmentCelebration, is_email_retired, is_username_retired
+from common.djangoapps.student.helpers import EMAIL_EXISTS_MSG_FMT, USERNAME_EXISTS_MSG_FMT, AccountValidationError
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentCelebration, is_email_retired, is_username_retired
 
 
 @receiver(pre_save, sender=get_user_model())
diff --git a/common/djangoapps/student/tests/factories.py b/common/djangoapps/student/tests/factories.py
index 51ab00825cdf75564588d6df81bd9068e41cc70b..efd8a1b686c01fba9a86e9b1f5e45fc28fb603e8 100644
--- a/common/djangoapps/student/tests/factories.py
+++ b/common/djangoapps/student/tests/factories.py
@@ -14,7 +14,7 @@ from pytz import UTC
 
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.models import (
+from common.djangoapps.student.models import (
     AccountRecovery,
     CourseAccessRole,
     CourseEnrollment,
diff --git a/common/djangoapps/student/tests/test_activate_account.py b/common/djangoapps/student/tests/test_activate_account.py
index b0a51e1848e44ef4a52aab63ecd71f89eab5a7a1..43c2c34dbe76c98c5c17010b6a43163bbb591d1f 100644
--- a/common/djangoapps/student/tests/test_activate_account.py
+++ b/common/djangoapps/student/tests/test_activate_account.py
@@ -11,8 +11,8 @@ from django.urls import reverse
 from mock import patch
 
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from student.models import Registration
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import Registration
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
@@ -70,7 +70,7 @@ class TestActivateAccount(TestCase):
         self.assertTrue(self.user.is_active)
         self.assertFalse(mock_segment_identify.called)
 
-    @patch('student.models.USER_ACCOUNT_ACTIVATED')
+    @patch('common.djangoapps.student.models.USER_ACCOUNT_ACTIVATED')
     def test_activation_signal(self, mock_signal):
         """
         Verify that USER_ACCOUNT_ACTIVATED is emitted upon account email activation.
diff --git a/common/djangoapps/student/tests/test_admin_views.py b/common/djangoapps/student/tests/test_admin_views.py
index 868e0161c83ab38d0ec66e8ed1334ba9d6f5d0e5..bcb2b7d3e5a68ff45a358c384a07990dfcfef260 100644
--- a/common/djangoapps/student/tests/test_admin_views.py
+++ b/common/djangoapps/student/tests/test_admin_views.py
@@ -18,9 +18,10 @@ from django.utils.timezone import now
 from edx_toggles.toggles.testutils import override_waffle_switch
 from mock import Mock
 from pytz import UTC
-from student.admin import COURSE_ENROLLMENT_ADMIN_SWITCH, AllowedAuthUserForm, CourseEnrollmentForm, UserAdmin
-from student.models import AllowedAuthUser, CourseEnrollment, LoginFailures
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+
+from common.djangoapps.student.admin import AllowedAuthUserForm, COURSE_ENROLLMENT_ADMIN_SWITCH, UserAdmin, CourseEnrollmentForm
+from common.djangoapps.student.models import AllowedAuthUser, CourseEnrollment, LoginFailures
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/tests/test_authz.py b/common/djangoapps/student/tests/test_authz.py
index 858536e0ff7f65d5bba8c4bb10462912dc5440e2..3704a96c63b79b18d596fa3134bb7c07378865f3 100644
--- a/common/djangoapps/student/tests/test_authz.py
+++ b/common/djangoapps/student/tests/test_authz.py
@@ -10,9 +10,9 @@ from django.core.exceptions import PermissionDenied
 from django.test import TestCase
 from opaque_keys.edx.locator import CourseLocator
 
-from student.auth import add_users, has_studio_read_access, has_studio_write_access, remove_users, user_has_role
-from student.roles import CourseCreatorRole, CourseInstructorRole, CourseStaffRole
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.auth import add_users, has_studio_read_access, has_studio_write_access, remove_users, user_has_role
+from common.djangoapps.student.roles import CourseCreatorRole, CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory
 
 
 class CreatorGroupTest(TestCase):
diff --git a/common/djangoapps/student/tests/test_bulk_email_settings.py b/common/djangoapps/student/tests/test_bulk_email_settings.py
index 5adac7bc58ad4be75869eb18eedd3cb6baae3e12..5ff02f2a544ae67883fab31ac652f23e21e53c76 100644
--- a/common/djangoapps/student/tests/test_bulk_email_settings.py
+++ b/common/djangoapps/student/tests/test_bulk_email_settings.py
@@ -15,7 +15,7 @@ from django.urls import reverse
 # Its testcases are only run under lms.
 from lms.djangoapps.bulk_email.api import is_bulk_email_feature_enabled
 from lms.djangoapps.bulk_email.models import BulkEmailFlag, CourseAuthorization
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/tests/test_certificates.py b/common/djangoapps/student/tests/test_certificates.py
index 5efa5962bca0120f615f0ae47a7ed1ab1cd07790..8146962aff04d8d3978c256d0f1255c858cd09f7 100644
--- a/common/djangoapps/student/tests/test_certificates.py
+++ b/common/djangoapps/student/tests/test_certificates.py
@@ -11,13 +11,13 @@ from django.urls import reverse
 from mock import patch
 from pytz import UTC
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.api import get_certificate_url
 from lms.djangoapps.certificates.models import CertificateStatuses
 from lms.djangoapps.certificates.tests.factories import (
     GeneratedCertificateFactory, LinkedInAddToProfileConfigurationFactory
 )
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
@@ -167,7 +167,7 @@ class CertificateDisplayTest(CertificateDisplayTestBase):
 
     @patch.dict('django.conf.settings.FEATURES', {'CERTIFICATES_HTML_VIEW': False})
     def test_no_certificate_status_no_problem(self):
-        with patch('student.views.dashboard.cert_info', return_value={}):
+        with patch('common.djangoapps.student.views.dashboard.cert_info', return_value={}):
             self._create_certificate('honor')
             self._check_can_not_download_certificate()
 
diff --git a/common/djangoapps/student/tests/test_configuration_overrides.py b/common/djangoapps/student/tests/test_configuration_overrides.py
index 0e43043fd9099fd7cb068e0f74c4df427d3bd988..8de105237af81c8226197b5934f85e8af4a72a5e 100644
--- a/common/djangoapps/student/tests/test_configuration_overrides.py
+++ b/common/djangoapps/student/tests/test_configuration_overrides.py
@@ -10,7 +10,7 @@ from django.contrib.auth.models import User
 from django.test import TestCase
 from django.urls import reverse
 
-from student.models import UserSignupSource
+from common.djangoapps.student.models import UserSignupSource
 
 FAKE_SITE = {
     "SITE_NAME": "openedx.localhost",
diff --git a/common/djangoapps/student/tests/test_course_listing.py b/common/djangoapps/student/tests/test_course_listing.py
index 67c340b13c15692cdc04acf223939e1212e0bf7d..00edc920eeca213c00cfbf40fe40b9d1c6d91cd0 100644
--- a/common/djangoapps/student/tests/test_course_listing.py
+++ b/common/djangoapps/student/tests/test_course_listing.py
@@ -13,11 +13,11 @@ from django.test.client import Client
 from milestones.tests.utils import MilestonesTestCaseMixin
 
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment, DashboardConfiguration
-from student.roles import GlobalStaff
-from student.tests.factories import UserFactory
-from student.views import get_course_enrollments
-from util.milestones_helpers import get_pre_requisite_courses_not_completed, set_prerequisite_courses
+from common.djangoapps.student.models import CourseEnrollment, DashboardConfiguration
+from common.djangoapps.student.roles import GlobalStaff
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.student.views import get_course_enrollments
+from common.djangoapps.util.milestones_helpers import get_pre_requisite_courses_not_completed, set_prerequisite_courses
 from xmodule.error_module import ErrorDescriptor
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
diff --git a/common/djangoapps/student/tests/test_credit.py b/common/djangoapps/student/tests/test_credit.py
index c3b5e218be510ca99b37dc77c02381c0c49314ca..33c7b17c737983d0d74740038eb7a752589f196e 100644
--- a/common/djangoapps/student/tests/test_credit.py
+++ b/common/djangoapps/student/tests/test_credit.py
@@ -15,8 +15,8 @@ from mock import patch
 
 from openedx.core.djangoapps.credit import api as credit_api
 from openedx.core.djangoapps.credit.models import CreditCourse, CreditEligibility, CreditProvider
-from student.models import CourseEnrollmentAttribute
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollmentAttribute
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -235,7 +235,7 @@ class CreditCourseDashboardTest(ModuleStoreTestCase):
         self._make_eligible()
 
         # The user should have the option to purchase credit
-        with patch('student.views.dashboard.get_credit_provider_attribute_values') as mock_method:
+        with patch('common.djangoapps.student.views.dashboard.get_credit_provider_attribute_values') as mock_method:
             mock_method.return_value = providers_list
             response = self._load_dashboard()
 
diff --git a/common/djangoapps/student/tests/test_email.py b/common/djangoapps/student/tests/test_email.py
index 921d64869ab59922e6af09c8651a684911f9b8dc..9b0bdf72b35b4d3ec66bf174b8653d3d3ada393b 100644
--- a/common/djangoapps/student/tests/test_email.py
+++ b/common/djangoapps/student/tests/test_email.py
@@ -18,23 +18,23 @@ from django.utils.html import escape
 from mock import Mock, patch
 from six import text_type
 
-from edxmako.shortcuts import marketing_link, render_to_string
+from common.djangoapps.edxmako.shortcuts import marketing_link, render_to_string
 from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme
 from openedx.core.djangolib.testing.utils import CacheIsolationMixin, CacheIsolationTestCase
 from openedx.core.lib.request_utils import safe_get_host
-from student.models import PendingEmailChange, Registration, UserProfile
-from student.tests.factories import PendingEmailChangeFactory, UserFactory
-from student.views import (
+from common.djangoapps.student.models import PendingEmailChange, Registration, UserProfile
+from common.djangoapps.student.tests.factories import PendingEmailChangeFactory, UserFactory
+from common.djangoapps.student.views import (
     SETTING_CHANGE_INITIATED,
     confirm_email_change,
     do_email_change_request,
     generate_activation_email_context,
     validate_new_email
 )
-from third_party_auth.views import inactive_user_view
-from util.testing import EventTestMixin
+from common.djangoapps.third_party_auth.views import inactive_user_view
+from common.djangoapps.util.testing import EventTestMixin
 
 
 class TestException(Exception):
@@ -189,17 +189,17 @@ class ActivationEmailTests(EmailTemplateTagMixin, CacheIsolationTestCase):
         Registration().register(user)
         request = RequestFactory().get(settings.SOCIAL_AUTH_INACTIVE_USER_URL)
         request.user = user
-        with patch('student.views.management.compose_and_send_activation_email') as email:
-            with patch('third_party_auth.provider.Registry.get_from_pipeline') as reg:
-                with patch('third_party_auth.pipeline.get', return_value=pipeline_partial):
-                    with patch('third_party_auth.pipeline.running', return_value=True):
-                        with patch('third_party_auth.is_enabled', return_value=True):
+        with patch('common.djangoapps.student.views.management.compose_and_send_activation_email') as email:
+            with patch('common.djangoapps.third_party_auth.provider.Registry.get_from_pipeline') as reg:
+                with patch('common.djangoapps.third_party_auth.pipeline.get', return_value=pipeline_partial):
+                    with patch('common.djangoapps.third_party_auth.pipeline.running', return_value=True):
+                        with patch('common.djangoapps.third_party_auth.is_enabled', return_value=True):
                             reg.skip_email_verification = True
                             inactive_user_view(request)
                             self.assertEqual(user.is_active, True)
                             self.assertEqual(email.called, False, msg='method should not have been called')
 
-    @patch('student.views.management.compose_activation_email')
+    @patch('common.djangoapps.student.views.management.compose_activation_email')
     def test_send_email_to_inactive_user(self, email):
         """
         Tests that when an inactive user logs-in using the social auth, system
@@ -209,8 +209,8 @@ class ActivationEmailTests(EmailTemplateTagMixin, CacheIsolationTestCase):
         Registration().register(inactive_user)
         request = RequestFactory().get(settings.SOCIAL_AUTH_INACTIVE_USER_URL)
         request.user = inactive_user
-        with patch('edxmako.request_context.get_current_request', return_value=request):
-            with patch('third_party_auth.pipeline.running', return_value=False):
+        with patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=request):
+            with patch('common.djangoapps.third_party_auth.pipeline.running', return_value=False):
                 inactive_user_view(request)
                 self.assertEqual(email.called, True, msg='method should have been called')
 
@@ -221,7 +221,7 @@ class EmailChangeRequestTests(EventTestMixin, EmailTemplateTagMixin, CacheIsolat
     Test changing a user's email address
     """
 
-    def setUp(self, tracker='student.views.management.tracker'):
+    def setUp(self, tracker='common.djangoapps.student.views.management.tracker'):
         super(EmailChangeRequestTests, self).setUp(tracker)
         self.user = UserFactory.create()
         self.new_email = 'new.email@edx.org'
@@ -257,7 +257,7 @@ class EmailChangeRequestTests(EventTestMixin, EmailTemplateTagMixin, CacheIsolat
         self.assertEqual(expected_error, response_data['error'])
         self.assertFalse(self.user.email_user.called)
 
-    @patch('student.views.management.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))
+    @patch('common.djangoapps.student.views.management.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))
     def test_duplicate_activation_key(self):
         """
         Assert that if two users change Email address simultaneously, no error is thrown
@@ -346,8 +346,8 @@ class EmailChangeRequestTests(EventTestMixin, EmailTemplateTagMixin, CacheIsolat
 
 
 @ddt.ddt
-@patch('student.views.management.render_to_response', Mock(side_effect=mock_render_to_response, autospec=True))
-@patch('student.views.management.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))
+@patch('common.djangoapps.student.views.management.render_to_response', Mock(side_effect=mock_render_to_response, autospec=True))
+@patch('common.djangoapps.student.views.management.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))
 class EmailChangeConfirmationTests(EmailTestMixin, EmailTemplateTagMixin, CacheIsolationMixin, TransactionTestCase):
     """
     Test that confirmation of email change requests function even in the face of exceptions thrown while sending email
@@ -472,7 +472,7 @@ class EmailChangeConfirmationTests(EmailTestMixin, EmailTemplateTagMixin, CacheI
         self.assertFailedBeforeEmailing()
 
     @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', "Test only valid in LMS")
-    @patch('student.views.management.ace')
+    @patch('common.djangoapps.student.views.management.ace')
     def test_old_email_fails(self, ace_mail):
         ace_mail.send.side_effect = [Exception, None]
         self.check_confirm_email_change('email_change_failed.html', {
@@ -482,7 +482,7 @@ class EmailChangeConfirmationTests(EmailTestMixin, EmailTemplateTagMixin, CacheI
         self.assertRolledBack()
 
     @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', "Test only valid in LMS")
-    @patch('student.views.management.ace')
+    @patch('common.djangoapps.student.views.management.ace')
     def test_new_email_fails(self, ace_mail):
         ace_mail.send.side_effect = [None, Exception]
         self.check_confirm_email_change('email_change_failed.html', {
@@ -513,7 +513,7 @@ class EmailChangeConfirmationTests(EmailTestMixin, EmailTemplateTagMixin, CacheI
         )
         self.assertEqual(0, PendingEmailChange.objects.count())
 
-    @patch('student.views.PendingEmailChange.objects.get', Mock(side_effect=TestException))
+    @patch('common.djangoapps.student.views.PendingEmailChange.objects.get', Mock(side_effect=TestException))
     def test_always_rollback(self):
         connection = transaction.get_connection()
         with patch.object(connection, 'rollback', wraps=connection.rollback) as mock_rollback:
@@ -529,7 +529,7 @@ class SecondaryEmailChangeRequestTests(EventTestMixin, EmailTemplateTagMixin, Ca
     Test changing a user's email address
     """
 
-    def setUp(self, tracker='student.views.management.tracker'):
+    def setUp(self, tracker='common.djangoapps.student.views.management.tracker'):
         super(SecondaryEmailChangeRequestTests, self).setUp(tracker)
         self.user = UserFactory.create()
         self.new_secondary_email = 'new.secondary.email@edx.org'
diff --git a/common/djangoapps/student/tests/test_enrollment.py b/common/djangoapps/student/tests/test_enrollment.py
index da63d5a06398438e8d31f7f38160317532d3deae..6511ef95cbcfa6e0e20a19e0a6f20debc9fd2f5d 100644
--- a/common/djangoapps/student/tests/test_enrollment.py
+++ b/common/djangoapps/student/tests/test_enrollment.py
@@ -11,18 +11,18 @@ from django.conf import settings
 from django.urls import reverse
 from mock import patch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.embargo.test_utils import restrict_course
-from student.models import (
+from common.djangoapps.student.models import (
     SCORE_RECALCULATION_DELAY_ON_ENROLLMENT_UPDATE,
     CourseEnrollment,
     CourseFullError,
     EnrollmentClosedError
 )
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import CourseEnrollmentAllowedFactory, UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentAllowedFactory, UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/tests/test_events.py b/common/djangoapps/student/tests/test_events.py
index b335738758367eec71b5365873bd51ccf05d7397..40a565e39cf0f24e6532697d812739fbee25a2d4 100644
--- a/common/djangoapps/student/tests/test_events.py
+++ b/common/djangoapps/student/tests/test_events.py
@@ -9,9 +9,9 @@ from django.db.utils import IntegrityError
 from django.test import TestCase
 from django_countries.fields import Country
 
-from student.models import CourseEnrollmentAllowed
-from student.tests.factories import CourseEnrollmentAllowedFactory, UserFactory
-from student.tests.tests import UserSettingsEventTestMixin
+from common.djangoapps.student.models import CourseEnrollmentAllowed
+from common.djangoapps.student.tests.factories import CourseEnrollmentAllowedFactory, UserFactory
+from common.djangoapps.student.tests.tests import UserSettingsEventTestMixin
 
 
 class TestUserProfileEvents(UserSettingsEventTestMixin, TestCase):
@@ -75,7 +75,7 @@ class TestUserProfileEvents(UserSettingsEventTestMixin, TestCase):
         self.profile.save()
         self.assert_no_events_were_emitted()
 
-    @mock.patch('student.models.UserProfile.save', side_effect=IntegrityError)
+    @mock.patch('common.djangoapps.student.models.UserProfile.save', side_effect=IntegrityError)
     def test_no_event_if_save_failed(self, _save_mock):
         """
         Verify no event is triggered if the save does not complete. Note that the pre_save
diff --git a/common/djangoapps/student/tests/test_helpers.py b/common/djangoapps/student/tests/test_helpers.py
index 3992cf3e6c77c94a2b4d8d79e3ecb4715c919977..761cc0d1da8ae94fdf7876eec5e777355dcf3266 100644
--- a/common/djangoapps/student/tests/test_helpers.py
+++ b/common/djangoapps/student/tests/test_helpers.py
@@ -14,9 +14,9 @@ from mock import patch
 from testfixtures import LogCapture
 
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration_context
-from student.helpers import get_next_url_for_login_page
+from common.djangoapps.student.helpers import get_next_url_for_login_page
 
-LOGGER_NAME = "student.helpers"
+LOGGER_NAME = "common.djangoapps.student.helpers"
 
 
 @ddt.ddt
@@ -102,7 +102,7 @@ class TestLoginHelper(TestCase):
         for method in ['GET', 'POST']
     ]
 
-    @patch('student.helpers.third_party_auth.pipeline.get')
+    @patch('common.djangoapps.student.helpers.third_party_auth.pipeline.get')
     @ddt.data(*tpa_hint_test_cases_with_method)
     @ddt.unpack
     def test_third_party_auth_hint(
diff --git a/common/djangoapps/student/tests/test_models.py b/common/djangoapps/student/tests/test_models.py
index b61822a1589cd309a3738bc1c7012feee9aa6cd7..a760f28789ab5217369f80f434f340a6805022c3 100644
--- a/common/djangoapps/student/tests/test_models.py
+++ b/common/djangoapps/student/tests/test_models.py
@@ -11,14 +11,14 @@ from django.db.models.functions import Lower
 from django.test import TestCase
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.schedules.models import Schedule
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import (
+from common.djangoapps.student.models import (
     ALLOWEDTOENROLL_TO_ENROLLED,
     AccountRecovery,
     CourseEnrollment,
@@ -27,7 +27,7 @@ from student.models import (
     PendingEmailChange,
     PendingNameChange
 )
-from student.tests.factories import AccountRecoveryFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import AccountRecoveryFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/tests/test_parental_controls.py b/common/djangoapps/student/tests/test_parental_controls.py
index 236ba998e71277a0eb561e6461147d6498823fd9..109789188e0f870dcd1a81a47921dccfb2faa9b8 100644
--- a/common/djangoapps/student/tests/test_parental_controls.py
+++ b/common/djangoapps/student/tests/test_parental_controls.py
@@ -7,8 +7,8 @@ from django.test import TestCase
 from django.test.utils import override_settings
 from django.utils.timezone import now
 
-from student.models import UserProfile
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import UserProfile
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class ProfileParentalControlsTest(TestCase):
diff --git a/common/djangoapps/student/tests/test_password_policy.py b/common/djangoapps/student/tests/test_password_policy.py
index d532ab0ac556135ee9453cea08d6146e348ee5dd..8767810a23698c9e131e8dadbeb28bf2c64b4604 100644
--- a/common/djangoapps/student/tests/test_password_policy.py
+++ b/common/djangoapps/student/tests/test_password_policy.py
@@ -14,7 +14,7 @@ from django.urls import reverse
 from mock import patch
 
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
-from util.password_policy_validators import create_validator_config
+from common.djangoapps.util.password_policy_validators import create_validator_config
 
 
 class TestPasswordPolicy(TestCase):
@@ -34,7 +34,7 @@ class TestPasswordPolicy(TestCase):
         }
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 6})
+        create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 6})
     ])
     def test_password_length_too_short(self):
         self.url_params['password'] = 'aaa'
@@ -47,7 +47,7 @@ class TestPasswordPolicy(TestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 6})
+        create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 6})
     ])
     def test_password_length_long_enough(self):
         self.url_params['password'] = 'ThisIsALongerPassword'
@@ -57,7 +57,7 @@ class TestPasswordPolicy(TestCase):
         self.assertTrue(obj['success'])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MaximumLengthValidator', {'max_length': 12})
+        create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 12})
     ])
     def test_password_length_too_long(self):
         self.url_params['password'] = 'ThisPasswordIsWayTooLong'
@@ -70,7 +70,7 @@ class TestPasswordPolicy(TestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3})
     ])
     def test_password_not_enough_uppercase(self):
         self.url_params['password'] = 'thisshouldfail'
@@ -83,7 +83,7 @@ class TestPasswordPolicy(TestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3})
     ])
     def test_password_enough_uppercase(self):
         self.url_params['password'] = 'ThisShouldPass'
@@ -93,7 +93,7 @@ class TestPasswordPolicy(TestCase):
         self.assertTrue(obj['success'])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.LowercaseValidator', {'min_lower': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 3})
     ])
     def test_password_not_enough_lowercase(self):
         self.url_params['password'] = 'THISSHOULDFAIL'
@@ -106,7 +106,7 @@ class TestPasswordPolicy(TestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.LowercaseValidator', {'min_lower': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 3})
     ])
     def test_password_enough_lowercase(self):
         self.url_params['password'] = 'ThisShouldPass'
@@ -116,7 +116,7 @@ class TestPasswordPolicy(TestCase):
         self.assertTrue(obj['success'])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})
     ])
     def test_not_enough_punctuations(self):
         self.url_params['password'] = 'thisshouldfail'
@@ -129,7 +129,7 @@ class TestPasswordPolicy(TestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})
     ])
     def test_enough_punctuations(self):
         self.url_params['password'] = 'Th!sSh.uldPa$*'
@@ -139,7 +139,7 @@ class TestPasswordPolicy(TestCase):
         self.assertTrue(obj['success'])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 3})
     ])
     def test_not_enough_numeric_characters(self):
         # The unicode ២ is the number 2 in Khmer and the ٧ is the Arabic-Indic number 7
@@ -153,7 +153,7 @@ class TestPasswordPolicy(TestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 3})
     ])
     def test_enough_numeric_characters(self):
         # The unicode ២ is the number 2 in Khmer
@@ -164,7 +164,7 @@ class TestPasswordPolicy(TestCase):
         self.assertTrue(obj['success'])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 3})
     ])
     def test_not_enough_alphabetic_characters(self):
         self.url_params['password'] = '123456ab'
@@ -177,7 +177,7 @@ class TestPasswordPolicy(TestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 3})
+        create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 3})
     ])
     def test_enough_alphabetic_characters(self):
         self.url_params['password'] = u'𝒯𝓗Ï𝓼𝒫å𝓼𝓼𝔼𝓼'
@@ -187,10 +187,10 @@ class TestPasswordPolicy(TestCase):
         self.assertTrue(obj['success'])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 3}),
-        create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 3}),
-        create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 3}),
-        create_validator_config('util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3}),
     ])
     def test_multiple_errors_fail(self):
         self.url_params['password'] = 'thisshouldfail'
@@ -206,11 +206,11 @@ class TestPasswordPolicy(TestCase):
             self.assertEqual(obj['password'][i]['user_message'], error_strings[i])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 3}),
-        create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 3}),
-        create_validator_config('util.password_policy_validators.LowercaseValidator', {'min_lower': 3}),
-        create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 3}),
-        create_validator_config('util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 3}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3}),
     ])
     def test_multiple_errors_pass(self):
         self.url_params['password'] = u'tH1s Sh0u!d P3#$!'
@@ -243,8 +243,8 @@ class TestPasswordPolicy(TestCase):
         self.assertTrue(obj['success'])
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 6}),
-        create_validator_config('util.password_policy_validators.MaximumLengthValidator', {'max_length': 75}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 6}),
+        create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 75}),
     ])
     def test_with_unicode(self):
         self.url_params['password'] = u'四節比分和七年前'
diff --git a/common/djangoapps/student/tests/test_receivers.py b/common/djangoapps/student/tests/test_receivers.py
index 40376dc4a65e4cb14b77ba13945184ae8c5f938e..ce3124ca9c7e0bba8ca7e9d8c391aeeb02be8af4 100644
--- a/common/djangoapps/student/tests/test_receivers.py
+++ b/common/djangoapps/student/tests/test_receivers.py
@@ -7,8 +7,8 @@ from lms.djangoapps.courseware.toggles import (
     REDIRECT_TO_COURSEWARE_MICROFRONTEND
 )
 from lms.djangoapps.experiments.testutils import override_experiment_waffle_flag
-from student.models import CourseEnrollmentCelebration
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.models import CourseEnrollmentCelebration
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 
 
diff --git a/common/djangoapps/student/tests/test_recent_enrollments.py b/common/djangoapps/student/tests/test_recent_enrollments.py
index af90a8376a80fe3c858ca2f22839d5b42e657c88..b881207b87e2f2097ed677596c73dcfaa8c62a00 100644
--- a/common/djangoapps/student/tests/test_recent_enrollments.py
+++ b/common/djangoapps/student/tests/test_recent_enrollments.py
@@ -15,12 +15,12 @@ from pytz import UTC
 from six.moves import range, zip
 
 from common.test.utils import XssTestMixin
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration_context
-from student.models import CourseEnrollment, DashboardConfiguration
-from student.tests.factories import UserFactory
-from student.views import get_course_enrollments
-from student.views.dashboard import _get_recently_enrolled_courses
+from common.djangoapps.student.models import CourseEnrollment, DashboardConfiguration
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.student.views import get_course_enrollments
+from common.djangoapps.student.views.dashboard import _get_recently_enrolled_courses
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/tests/test_refunds.py b/common/djangoapps/student/tests/test_refunds.py
index 2cd3fbdafe83ac3237d9c314a664407d7c3130ab..4a1700a8b33374c63ebb7b07d12900aac31851f5 100644
--- a/common/djangoapps/student/tests/test_refunds.py
+++ b/common/djangoapps/student/tests/test_refunds.py
@@ -21,12 +21,12 @@ from six.moves import range
 
 # These imports refer to lms djangoapps.
 # Their testcases are only run under lms.
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from openedx.core.djangoapps.commerce.utils import ECOMMERCE_DATE_FORMAT
-from student.models import CourseEnrollment, CourseEnrollmentAttribute, EnrollmentRefundConfiguration
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAttribute, EnrollmentRefundConfiguration
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -65,13 +65,13 @@ class RefundableTest(SharedModuleStoreTestCase):
         self.client = Client()
         cache.clear()
 
-    @patch('student.models.CourseEnrollment.refund_cutoff_date')
+    @patch('common.djangoapps.student.models.CourseEnrollment.refund_cutoff_date')
     def test_refundable(self, cutoff_date):
         """ Assert base case is refundable"""
         cutoff_date.return_value = datetime.now(pytz.UTC) + timedelta(days=1)
         self.assertTrue(self.enrollment.refundable())
 
-    @patch('student.models.CourseEnrollment.refund_cutoff_date')
+    @patch('common.djangoapps.student.models.CourseEnrollment.refund_cutoff_date')
     def test_refundable_expired_verification(self, cutoff_date):
         """ Assert that enrollment is refundable if course mode has expired."""
         cutoff_date.return_value = datetime.now(pytz.UTC) + timedelta(days=1)
@@ -79,7 +79,7 @@ class RefundableTest(SharedModuleStoreTestCase):
         self.verified_mode.save()
         self.assertTrue(self.enrollment.refundable())
 
-    @patch('student.models.CourseEnrollment.refund_cutoff_date')
+    @patch('common.djangoapps.student.models.CourseEnrollment.refund_cutoff_date')
     def test_refundable_when_certificate_exists(self, cutoff_date):
         """ Assert that enrollment is not refundable once a certificat has been generated."""
 
@@ -110,7 +110,7 @@ class RefundableTest(SharedModuleStoreTestCase):
             )
         )
 
-    @patch('student.models.CourseEnrollment.refund_cutoff_date')
+    @patch('common.djangoapps.student.models.CourseEnrollment.refund_cutoff_date')
     def test_refundable_with_cutoff_date(self, cutoff_date):
         """ Assert enrollment is refundable before cutoff and not refundable after."""
         cutoff_date.return_value = datetime.now(pytz.UTC) + timedelta(days=1)
@@ -158,7 +158,7 @@ class RefundableTest(SharedModuleStoreTestCase):
             value=self.ORDER_NUMBER
         )
 
-        with patch('student.models.EnrollmentRefundConfiguration.current') as config:
+        with patch('common.djangoapps.student.models.EnrollmentRefundConfiguration.current') as config:
             instance = config.return_value
             instance.refund_window = refund_period
             self.assertEqual(
diff --git a/common/djangoapps/student/tests/test_retirement.py b/common/djangoapps/student/tests/test_retirement.py
index b24a226b352526f70b6366f8dfbfb62092e7f455..ed174e4a8c9ca073e958568666ca2fc109fdfb97 100644
--- a/common/djangoapps/student/tests/test_retirement.py
+++ b/common/djangoapps/student/tests/test_retirement.py
@@ -14,7 +14,7 @@ from django.test import TestCase
 from django.urls import reverse
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import (
+from common.djangoapps.student.models import (
     _get_all_retired_emails_by_email,
     _get_all_retired_usernames_by_username,
     get_potentially_retired_user_by_username,
@@ -24,7 +24,7 @@ from student.models import (
     is_email_retired,
     is_username_retired
 )
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 # Tell pytest it's ok to user the Django db
 pytestmark = pytest.mark.django_db
diff --git a/common/djangoapps/student/tests/test_roles.py b/common/djangoapps/student/tests/test_roles.py
index 46f1bc3f0e06126e65d9d9740a0849af448b01fe..54e0652ea08847cb1c1764c4f0d34f53bd47d88d 100644
--- a/common/djangoapps/student/tests/test_roles.py
+++ b/common/djangoapps/student/tests/test_roles.py
@@ -9,7 +9,7 @@ from django.test import TestCase
 from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory, UserFactory
-from student.roles import (
+from common.djangoapps.student.roles import (
     CourseBetaTesterRole,
     CourseInstructorRole,
     CourseRole,
@@ -19,7 +19,7 @@ from student.roles import (
     OrgStaffRole,
     RoleCache
 )
-from student.tests.factories import AnonymousUserFactory
+from common.djangoapps.student.tests.factories import AnonymousUserFactory
 
 
 class RolesTestCase(TestCase):
diff --git a/common/djangoapps/student/tests/test_tasks.py b/common/djangoapps/student/tests/test_tasks.py
index 06ab5893af2d866576c4cdcc25eaef44cba9c264..3de3517746472be979cbf7aba4883ac5046efa11 100644
--- a/common/djangoapps/student/tests/test_tasks.py
+++ b/common/djangoapps/student/tests/test_tasks.py
@@ -10,9 +10,9 @@ from six.moves import range
 
 from edx_ace.errors import ChannelError, RecoverableChannelDeliveryError
 from lms.djangoapps.courseware.tests.factories import UserFactory
-from student.models import Registration
-from student.tasks import send_activation_email
-from student.views.management import compose_activation_email
+from common.djangoapps.student.models import Registration
+from common.djangoapps.student.tasks import send_activation_email
+from common.djangoapps.student.views.management import compose_activation_email
 
 
 class SendActivationEmailTestCase(TestCase):
@@ -40,8 +40,8 @@ class SendActivationEmailTestCase(TestCase):
         self.assertEqual(self.msg.context['routed_profile_name'], '')
 
     @mock.patch('time.sleep', mock.Mock(return_value=None))
-    @mock.patch('student.tasks.log')
-    @mock.patch('student.tasks.ace.send', mock.Mock(side_effect=RecoverableChannelDeliveryError(None, None)))
+    @mock.patch('common.djangoapps.student.tasks.log')
+    @mock.patch('common.djangoapps.student.tasks.ace.send', mock.Mock(side_effect=RecoverableChannelDeliveryError(None, None)))
     def test_RetrySendUntilFail(self, mock_log):
         """
         Tests retries when the activation email doesn't send
@@ -70,8 +70,8 @@ class SendActivationEmailTestCase(TestCase):
         )
         self.assertEqual(mock_log.error.call_count, 1)
 
-    @mock.patch('student.tasks.log')
-    @mock.patch('student.tasks.ace.send', mock.Mock(side_effect=ChannelError))
+    @mock.patch('common.djangoapps.student.tasks.log')
+    @mock.patch('common.djangoapps.student.tasks.ace.send', mock.Mock(side_effect=ChannelError))
     def test_UnrecoverableSendError(self, mock_log):
         """
         Tests that a major failure of the send is logged
diff --git a/common/djangoapps/student/tests/test_user_profile_properties.py b/common/djangoapps/student/tests/test_user_profile_properties.py
index 9400e93523fa49feb69537c5e73977b06dc8f7b7..e497d6bf5d3e585959d16b5d859d817308c4aa5b 100644
--- a/common/djangoapps/student/tests/test_user_profile_properties.py
+++ b/common/djangoapps/student/tests/test_user_profile_properties.py
@@ -8,8 +8,8 @@ from django.core.cache import cache
 from django.core.exceptions import ValidationError
 
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.models import UserProfile
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import UserProfile
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/common/djangoapps/student/tests/test_userstanding.py b/common/djangoapps/student/tests/test_userstanding.py
index 0e1f5df5f4dfb1fa87ebdd94b9d0d5fdfc4601d7..21431784deff3e34d5c33942b8791cd58cf9a9b8 100644
--- a/common/djangoapps/student/tests/test_userstanding.py
+++ b/common/djangoapps/student/tests/test_userstanding.py
@@ -10,8 +10,8 @@ from django.conf import settings
 from django.test import Client, TestCase
 from django.urls import reverse
 
-from student.models import UserStanding
-from student.tests.factories import UserFactory, UserStandingFactory
+from common.djangoapps.student.models import UserStanding
+from common.djangoapps.student.tests.factories import UserFactory, UserStandingFactory
 
 
 class UserStandingTest(TestCase):
diff --git a/common/djangoapps/student/tests/test_verification_status.py b/common/djangoapps/student/tests/test_verification_status.py
index 02cd5729fdfce4020324f373808c467e215081a2..e437a1bc0ca5736aed4ca81fa8896dae226809dd 100644
--- a/common/djangoapps/student/tests/test_verification_status.py
+++ b/common/djangoapps/student/tests/test_verification_status.py
@@ -14,9 +14,9 @@ from django.utils.timezone import now
 from mock import patch
 from pytz import UTC
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification, VerificationDeadline
-from student.helpers import (
+from common.djangoapps.student.helpers import (
     VERIFY_STATUS_APPROVED,
     VERIFY_STATUS_MISSED_DEADLINE,
     VERIFY_STATUS_NEED_TO_REVERIFY,
@@ -24,8 +24,8 @@ from student.helpers import (
     VERIFY_STATUS_RESUBMITTED,
     VERIFY_STATUS_SUBMITTED
 )
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/student/tests/test_views.py b/common/djangoapps/student/tests/test_views.py
index ed895af31a2143d4eaba81b7707825135f3895a6..3f5551179894a384bbc9c1f757b811af5b1aa895 100644
--- a/common/djangoapps/student/tests/test_views.py
+++ b/common/djangoapps/student/tests/test_views.py
@@ -25,8 +25,8 @@ from opaque_keys.edx.keys import CourseKey
 from pyquery import PyQuery as pq
 from six.moves import range
 
-from course_modes.models import CourseMode
-from entitlements.tests.factories import CourseEntitlementFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from openedx.core.djangoapps.catalog.tests.factories import ProgramFactory
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
@@ -36,12 +36,12 @@ from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration_context
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
 from openedx.features.course_experience.tests.views.helpers import add_course_mode
-from student.helpers import DISABLE_UNENROLL_CERT_STATES
-from student.models import CourseEnrollment, UserProfile
-from student.signals import REFUND_ORDER
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.milestones_helpers import get_course_milestones, remove_prerequisite_course, set_prerequisite_courses
-from util.testing import UrlResetMixin
+from common.djangoapps.student.helpers import DISABLE_UNENROLL_CERT_STATES
+from common.djangoapps.student.models import CourseEnrollment, UserProfile
+from common.djangoapps.student.signals import REFUND_ORDER
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.milestones_helpers import get_course_milestones, remove_prerequisite_course, set_prerequisite_courses
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
@@ -93,7 +93,7 @@ class TestStudentDashboardUnenrollments(SharedModuleStoreTestCase):
         """ Assert that the unenroll action is shown or not based on the cert status."""
         self.cert_status = cert_status
 
-        with patch('student.views.dashboard.cert_info', side_effect=self.mock_cert):
+        with patch('common.djangoapps.student.views.dashboard.cert_info', side_effect=self.mock_cert):
             response = self.client.get(reverse('dashboard'))
 
             self.assertEqual(pq(response.content)(self.UNENROLL_ELEMENT_ID).length, unenroll_action_count)
@@ -111,7 +111,7 @@ class TestStudentDashboardUnenrollments(SharedModuleStoreTestCase):
         """ Assert that the unenroll method is called or not based on the cert status"""
         self.cert_status = cert_status
 
-        with patch('student.views.management.cert_info', side_effect=self.mock_cert):
+        with patch('common.djangoapps.student.views.management.cert_info', side_effect=self.mock_cert):
             with patch('lms.djangoapps.commerce.signals.handle_refund_order') as mock_refund_handler:
                 REFUND_ORDER.connect(mock_refund_handler)
                 response = self.client.post(
@@ -138,13 +138,13 @@ class TestStudentDashboardUnenrollments(SharedModuleStoreTestCase):
 
     def test_course_run_refund_status_successful(self):
         """ Assert that view:course_run_refund_status returns correct Json for successful refund call."""
-        with patch('student.models.CourseEnrollment.refundable', return_value=True):
+        with patch('common.djangoapps.student.models.CourseEnrollment.refundable', return_value=True):
             response = self.client.get(reverse('course_run_refund_status', kwargs={'course_id': self.course.id}))
 
         self.assertEqual(json.loads(response.content.decode('utf-8')), {'course_refundable_status': True})
         self.assertEqual(response.status_code, 200)
 
-        with patch('student.models.CourseEnrollment.refundable', return_value=False):
+        with patch('common.djangoapps.student.models.CourseEnrollment.refundable', return_value=False):
             response = self.client.get(reverse('course_run_refund_status', kwargs={'course_id': self.course.id}))
 
         self.assertEqual(json.loads(response.content.decode('utf-8')), {'course_refundable_status': False})
@@ -303,8 +303,8 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         self.assertNotContains(response, '<div class="prerequisites">')
 
     @patch('openedx.core.djangoapps.programs.utils.get_programs')
-    @patch('student.views.dashboard.get_visible_sessions_for_entitlement')
-    @patch('student.views.dashboard.get_pseudo_session_for_entitlement')
+    @patch('common.djangoapps.student.views.dashboard.get_visible_sessions_for_entitlement')
+    @patch('common.djangoapps.student.views.dashboard.get_pseudo_session_for_entitlement')
     @patch.object(CourseOverview, 'get_from_id')
     def test_unfulfilled_entitlement(self, mock_course_overview, mock_pseudo_session,
                                      mock_course_runs, mock_get_programs):
@@ -363,7 +363,7 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         self.assertContains(response, 'You must select a session to access the course.')
         self.assertNotContains(response, 'To access the course, select a session.')
 
-    @patch('student.views.dashboard.get_visible_sessions_for_entitlement')
+    @patch('common.djangoapps.student.views.dashboard.get_visible_sessions_for_entitlement')
     @patch.object(CourseOverview, 'get_from_id')
     def test_unfulfilled_expired_entitlement(self, mock_course_overview, mock_course_runs):
         """
@@ -389,7 +389,7 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         response = self.client.get(self.path)
         self.assertNotContains(response, '<li class="course-item">')
 
-    @patch('entitlements.rest_api.v1.views.get_course_runs_for_course')
+    @patch('common.djangoapps.entitlements.rest_api.v1.views.get_course_runs_for_course')
     @patch.object(CourseOverview, 'get_from_id')
     def test_sessions_for_entitlement_course_runs(self, mock_course_overview, mock_course_runs):
         """
@@ -456,7 +456,7 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         # self.assertNotIn(noAvailableSessions, response.content)
 
     @patch('openedx.core.djangoapps.programs.utils.get_programs')
-    @patch('student.views.dashboard.get_visible_sessions_for_entitlement')
+    @patch('common.djangoapps.student.views.dashboard.get_visible_sessions_for_entitlement')
     @patch.object(CourseOverview, 'get_from_id')
     def test_fulfilled_entitlement(self, mock_course_overview, mock_course_runs, mock_get_programs):
         """
@@ -492,7 +492,7 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         self.assertContains(response, 'Related Programs:')
 
     @patch('openedx.core.djangoapps.programs.utils.get_programs')
-    @patch('student.views.dashboard.get_visible_sessions_for_entitlement')
+    @patch('common.djangoapps.student.views.dashboard.get_visible_sessions_for_entitlement')
     @patch.object(CourseOverview, 'get_from_id')
     def test_fulfilled_expired_entitlement(self, mock_course_overview, mock_course_runs, mock_get_programs):
         """
@@ -527,7 +527,7 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         self.assertContains(response, 'Related Programs:')
 
     @patch('openedx.core.djangoapps.catalog.utils.get_course_runs_for_course')
-    @patch('student.views.dashboard.is_bulk_email_feature_enabled')
+    @patch('common.djangoapps.student.views.dashboard.is_bulk_email_feature_enabled')
     def test_email_settings_fulfilled_entitlement(self, mock_email_feature, mock_get_course_runs):
         """
         Assert that the Email Settings action is shown when the user has a fulfilled entitlement.
@@ -548,7 +548,7 @@ class StudentDashboardTests(SharedModuleStoreTestCase, MilestonesTestCaseMixin,
         self.assertEqual(pq(response.content)(self.EMAIL_SETTINGS_ELEMENT_ID).length, 1)
 
     @patch.object(CourseOverview, 'get_from_id')
-    @patch('student.views.dashboard.is_bulk_email_feature_enabled')
+    @patch('common.djangoapps.student.views.dashboard.is_bulk_email_feature_enabled')
     def test_email_settings_unfulfilled_entitlement(self, mock_email_feature, mock_course_overview):
         """
         Assert that the Email Settings action is not shown when the entitlement is not fulfilled.
diff --git a/common/djangoapps/student/tests/tests.py b/common/djangoapps/student/tests/tests.py
index d7017d3bbafb008c6df27b6a150d89a7198358ac..339ede82e5593f5a2ad70ba7372134836aedce1c 100644
--- a/common/djangoapps/student/tests/tests.py
+++ b/common/djangoapps/student/tests/tests.py
@@ -23,8 +23,8 @@ from opaque_keys.edx.keys import CourseKey
 from opaque_keys.edx.locations import CourseLocator
 from pyquery import PyQuery as pq
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.certificates.models import CertificateStatuses
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from lms.djangoapps.verify_student.tests import TestVerificationBase
@@ -34,8 +34,8 @@ from openedx.core.djangoapps.content.course_overviews.tests.factories import Cou
 from openedx.core.djangoapps.programs.tests.mixins import ProgramsApiConfigMixin
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
-from student.helpers import _cert_info, process_survey_link
-from student.models import (
+from common.djangoapps.student.helpers import _cert_info, process_survey_link
+from common.djangoapps.student.models import (
     CourseEnrollment,
     LinkedInAddToProfileConfiguration,
     UserAttribute,
@@ -43,10 +43,10 @@ from student.models import (
     unique_id_for_user,
     user_by_anonymous_id
 )
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from student.views import complete_course_mode_info
-from util.model_utils import USER_SETTINGS_CHANGED_EVENT_NAME
-from util.testing import EventTestMixin
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.views import complete_course_mode_info
+from common.djangoapps.util.model_utils import USER_SETTINGS_CHANGED_EVENT_NAME
+from common.djangoapps.util.testing import EventTestMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreEnum, ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls
 
@@ -624,7 +624,7 @@ class UserSettingsEventTestMixin(EventTestMixin):
     Mixin for verifying that user setting events were emitted during a test.
     """
     def setUp(self):
-        super(UserSettingsEventTestMixin, self).setUp('util.model_utils.tracker')
+        super(UserSettingsEventTestMixin, self).setUp('common.djangoapps.util.model_utils.tracker')
 
     def assert_user_setting_event_emitted(self, **kwargs):
         """
@@ -651,7 +651,7 @@ class UserSettingsEventTestMixin(EventTestMixin):
 class EnrollmentEventTestMixin(EventTestMixin):
     """ Mixin with assertions for validating enrollment events. """
     def setUp(self):
-        super(EnrollmentEventTestMixin, self).setUp('student.models.tracker')
+        super(EnrollmentEventTestMixin, self).setUp('common.djangoapps.student.models.tracker')
 
     def assert_enrollment_mode_change_event_was_emitted(self, user, course_key, mode):
         """Ensures an enrollment mode change event was emitted"""
@@ -969,7 +969,7 @@ class AnonymousLookupTable(ModuleStoreTestCase):
             mode_slug='honor',
             mode_display_name='Honor Code',
         )
-        patcher = patch('student.models.tracker')
+        patcher = patch('common.djangoapps.student.models.tracker')
         patcher.start()
         self.addCleanup(patcher.stop)
 
diff --git a/common/djangoapps/student/views/dashboard.py b/common/djangoapps/student/views/dashboard.py
index 55e1e2497a110298d2c2cbb1eb14deeec5a88bd1..cc6fefc59f297434ce064545c206363a7070d697 100644
--- a/common/djangoapps/student/views/dashboard.py
+++ b/common/djangoapps/student/views/dashboard.py
@@ -21,12 +21,11 @@ from opaque_keys.edx.keys import CourseKey
 from pytz import UTC
 from six import iteritems, text_type
 
-import track.views
 from lms.djangoapps.bulk_email.api import is_bulk_email_feature_enabled
 from lms.djangoapps.bulk_email.models import Optout
-from course_modes.models import CourseMode
-from edxmako.shortcuts import render_to_response, render_to_string
-from entitlements.models import CourseEntitlement
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.edxmako.shortcuts import render_to_response, render_to_string
+from common.djangoapps.entitlements.models import CourseEntitlement
 from lms.djangoapps.commerce.utils import EcommerceService
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.experiments.utils import get_dashboard_course_info, get_experiment_user_metadata_context
@@ -48,9 +47,9 @@ from openedx.features.enterprise_support.api import (
     get_dashboard_consent_notification,
     get_enterprise_learner_portal_enabled_message
 )
-from student.api import COURSE_DASHBOARD_PLUGIN_VIEW_NAME
-from student.helpers import cert_info, check_verify_status_by_course, get_resume_urls_for_enrollments
-from student.models import (
+from common.djangoapps.student.api import COURSE_DASHBOARD_PLUGIN_VIEW_NAME
+from common.djangoapps.student.helpers import cert_info, check_verify_status_by_course, get_resume_urls_for_enrollments
+from common.djangoapps.student.models import (
     AccountRecovery,
     CourseEnrollment,
     CourseEnrollmentAttribute,
@@ -58,7 +57,7 @@ from student.models import (
     PendingSecondaryEmailChange,
     UserProfile
 )
-from util.milestones_helpers import get_pre_requisite_courses_not_completed
+from common.djangoapps.util.milestones_helpers import get_pre_requisite_courses_not_completed
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger("edx.student")
diff --git a/common/djangoapps/student/views/management.py b/common/djangoapps/student/views/management.py
index 39d9abe85dd06efbf8bc5328812516ef66c554e1..17b8d99da06dddc1f6e278f9b8657e7a2f33a2d9 100644
--- a/common/djangoapps/student/views/management.py
+++ b/common/djangoapps/student/views/management.py
@@ -36,12 +36,12 @@ from opaque_keys.edx.keys import CourseKey
 from pytz import UTC
 from six import text_type
 
-import track.views
+from common.djangoapps.track import views as track_views
 from lms.djangoapps.bulk_email.models import Optout
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.courses import get_courses, sort_by_announcement, sort_by_start_date
-from edxmako.shortcuts import marketing_link, render_to_response, render_to_string
-from entitlements.models import CourseEntitlement
+from common.djangoapps.edxmako.shortcuts import marketing_link, render_to_response, render_to_string
+from common.djangoapps.entitlements.models import CourseEntitlement
 from openedx.core.djangoapps.ace_common.template_context import get_base_template_context
 from openedx.core.djangoapps.catalog.utils import get_programs_with_type
 from openedx.core.djangoapps.embargo import api as embargo_api
@@ -51,9 +51,9 @@ from openedx.core.djangoapps.site_configuration import helpers as configuration_
 from openedx.core.djangoapps.theming import helpers as theming_helpers
 from openedx.core.djangoapps.user_api.preferences import api as preferences_api
 from openedx.core.djangolib.markup import HTML, Text
-from student.helpers import DISABLE_UNENROLL_CERT_STATES, cert_info, generate_activation_email_context
-from student.message_types import AccountActivation, EmailChange, EmailChangeConfirmation, RecoveryEmailCreate
-from student.models import (
+from common.djangoapps.student.helpers import DISABLE_UNENROLL_CERT_STATES, cert_info, generate_activation_email_context
+from common.djangoapps.student.message_types import AccountActivation, EmailChange, EmailChangeConfirmation, RecoveryEmailCreate
+from common.djangoapps.student.models import (
     AccountRecovery,
     CourseEnrollment,
     PendingEmailChange,
@@ -67,11 +67,11 @@ from student.models import (
     create_comments_service_user,
     email_exists_or_retired
 )
-from student.signals import REFUND_ORDER
-from student.tasks import send_activation_email
-from student.text_me_the_app import TextMeTheAppFragmentView
-from util.db import outer_atomic
-from util.json_request import JsonResponse
+from common.djangoapps.student.signals import REFUND_ORDER
+from common.djangoapps.student.tasks import send_activation_email
+from common.djangoapps.student.text_me_the_app import TextMeTheAppFragmentView
+from common.djangoapps.util.db import outer_atomic
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger("edx.student")
@@ -824,7 +824,7 @@ def change_email_settings(request):
             user.email,
             course_id,
         )
-        track.views.server_track(
+        track_views.server_track(
             request,
             "change-email-settings",
             {"receive_emails": "yes", "course": course_id},
@@ -838,7 +838,7 @@ def change_email_settings(request):
             user.email,
             course_id,
         )
-        track.views.server_track(
+        track_views.server_track(
             request,
             "change-email-settings",
             {"receive_emails": "no", "course": course_id},
diff --git a/common/djangoapps/terrain/stubs/tests/test_http.py b/common/djangoapps/terrain/stubs/tests/test_http.py
index 5568a297b5702eed41c8909ee0b765751a79d5cc..75a913c9843fef9b2934531873e9d272c64d66a7 100644
--- a/common/djangoapps/terrain/stubs/tests/test_http.py
+++ b/common/djangoapps/terrain/stubs/tests/test_http.py
@@ -9,7 +9,7 @@ import unittest
 import requests
 import six
 
-from terrain.stubs.http import StubHttpRequestHandler, StubHttpService, require_params
+from common.djangoapps.terrain.stubs.http import StubHttpRequestHandler, StubHttpService, require_params
 
 
 class StubHttpServiceTest(unittest.TestCase):
diff --git a/common/djangoapps/terrain/stubs/tests/test_lti_stub.py b/common/djangoapps/terrain/stubs/tests/test_lti_stub.py
index 64185229d1ab2237973bde2deb165a7552e91aad..501a2dec83efa872d9534aa8ee37a7609e088970 100644
--- a/common/djangoapps/terrain/stubs/tests/test_lti_stub.py
+++ b/common/djangoapps/terrain/stubs/tests/test_lti_stub.py
@@ -9,7 +9,7 @@ import requests
 import six
 from mock import Mock, patch
 
-from terrain.stubs.lti import StubLtiService
+from common.djangoapps.terrain.stubs.lti import StubLtiService
 
 
 class StubLtiServiceTest(unittest.TestCase):
@@ -59,7 +59,7 @@ class StubLtiServiceTest(unittest.TestCase):
         response = requests.post(self.launch_uri, data=self.payload)
         self.assertIn(b'Wrong LTI signature', response.content)
 
-    @patch('terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
+    @patch('common.djangoapps.terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
     def test_success_response_launch_lti(self, check_oauth):
         """
         Success lti launch.
@@ -67,32 +67,32 @@ class StubLtiServiceTest(unittest.TestCase):
         response = requests.post(self.launch_uri, data=self.payload)
         self.assertIn(b'This is LTI tool. Success.', response.content)
 
-    @patch('terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
+    @patch('common.djangoapps.terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
     def test_send_graded_result(self, verify_hmac):  # pylint: disable=unused-argument
         response = requests.post(self.launch_uri, data=self.payload)
         self.assertIn(b'This is LTI tool. Success.', response.content)
         grade_uri = self.uri + 'grade'
-        with patch('terrain.stubs.lti.requests.post') as mocked_post:
+        with patch('common.djangoapps.terrain.stubs.lti.requests.post') as mocked_post:
             mocked_post.return_value = Mock(content='Test response', status_code=200)
             response = six.moves.urllib.request.urlopen(grade_uri, data=b'')
             self.assertIn(b'Test response', response.read())
 
-    @patch('terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
+    @patch('common.djangoapps.terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
     def test_lti20_outcomes_put(self, verify_hmac):  # pylint: disable=unused-argument
         response = requests.post(self.launch_uri, data=self.payload)
         self.assertIn(b'This is LTI tool. Success.', response.content)
         grade_uri = self.uri + 'lti2_outcome'
-        with patch('terrain.stubs.lti.requests.put') as mocked_put:
+        with patch('common.djangoapps.terrain.stubs.lti.requests.put') as mocked_put:
             mocked_put.return_value = Mock(status_code=200)
             response = six.moves.urllib.request.urlopen(grade_uri, data=b'')
             self.assertIn(b'LTI consumer (edX) responded with HTTP 200', response.read())
 
-    @patch('terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
+    @patch('common.djangoapps.terrain.stubs.lti.signature.verify_hmac_sha1', return_value=True)
     def test_lti20_outcomes_put_like_delete(self, verify_hmac):  # pylint: disable=unused-argument
         response = requests.post(self.launch_uri, data=self.payload)
         self.assertIn(b'This is LTI tool. Success.', response.content)
         grade_uri = self.uri + 'lti2_delete'
-        with patch('terrain.stubs.lti.requests.put') as mocked_put:
+        with patch('common.djangoapps.terrain.stubs.lti.requests.put') as mocked_put:
             mocked_put.return_value = Mock(status_code=200)
             response = six.moves.urllib.request.urlopen(grade_uri, data=b'')
             self.assertIn(b'LTI consumer (edX) responded with HTTP 200', response.read())
diff --git a/common/djangoapps/terrain/stubs/tests/test_video.py b/common/djangoapps/terrain/stubs/tests/test_video.py
index 8f2be6d6009858a9568f76b235648578a77b7de3..f6da4da2b3a483cb1f255fbd42146f9380ad1234 100644
--- a/common/djangoapps/terrain/stubs/tests/test_video.py
+++ b/common/djangoapps/terrain/stubs/tests/test_video.py
@@ -8,7 +8,7 @@ import unittest
 import requests
 from django.conf import settings
 
-from terrain.stubs.video_source import VideoSourceHttpService
+from common.djangoapps.terrain.stubs.video_source import VideoSourceHttpService
 
 HLS_MANIFEST_TEXT = """
 #EXTM3U
diff --git a/common/djangoapps/terrain/stubs/tests/test_xqueue_stub.py b/common/djangoapps/terrain/stubs/tests/test_xqueue_stub.py
index d88fe4c48f9bc66eee7b255507b7fa89b9d9087f..b60180275f0ee7b5d76a93db399da30dc28baeb1 100644
--- a/common/djangoapps/terrain/stubs/tests/test_xqueue_stub.py
+++ b/common/djangoapps/terrain/stubs/tests/test_xqueue_stub.py
@@ -33,12 +33,12 @@ class StubXQueueServiceTest(unittest.TestCase):
         self.addCleanup(self.server.shutdown)
 
         # Patch the timer async calls
-        patcher = mock.patch('terrain.stubs.xqueue.post')
+        patcher = mock.patch('common.djangoapps.terrain.stubs.xqueue.post')
         self.post = patcher.start()
         self.addCleanup(patcher.stop)
 
         # Patch POST requests
-        patcher = mock.patch('terrain.stubs.xqueue.Timer')
+        patcher = mock.patch('common.djangoapps.terrain.stubs.xqueue.Timer')
         timer = patcher.start()
         timer.side_effect = FakeTimer
         self.addCleanup(patcher.stop)
@@ -105,7 +105,7 @@ class StubXQueueServiceTest(unittest.TestCase):
         self.server.config['test_1'] = {'response': True}
         self.server.config['test_2'] = {'response': False}
 
-        with mock.patch('terrain.stubs.http.LOGGER') as logger:
+        with mock.patch('common.djangoapps.terrain.stubs.http.LOGGER') as logger:
 
             # Post a submission to the XQueue stub
             callback_url = 'http://127.0.0.1:8000/test_callback'
diff --git a/common/djangoapps/third_party_auth/__init__.py b/common/djangoapps/third_party_auth/__init__.py
index d133c10a263ccb94c4c677a328f710e152fdeeb8..dcc2964a8f18ffc04f3f5823b69d1fb8041f90d6 100644
--- a/common/djangoapps/third_party_auth/__init__.py
+++ b/common/djangoapps/third_party_auth/__init__.py
@@ -3,7 +3,7 @@
 
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 
-default_app_config = 'third_party_auth.apps.ThirdPartyAuthConfig'
+default_app_config = 'common.djangoapps.third_party_auth.apps.ThirdPartyAuthConfig'
 
 
 def is_enabled():
diff --git a/common/djangoapps/third_party_auth/api/tests/test_permissions.py b/common/djangoapps/third_party_auth/api/tests/test_permissions.py
index ab9d3e42be4b5087b3be8ce1a144be398fef7e55..89f13f5bbb45d535a2e0f4d9ebced736a1942e3a 100644
--- a/common/djangoapps/third_party_auth/api/tests/test_permissions.py
+++ b/common/djangoapps/third_party_auth/api/tests/test_permissions.py
@@ -14,9 +14,9 @@ from mock import patch
 from rest_framework.authentication import SessionAuthentication
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
-from third_party_auth.api.permissions import TPA_PERMISSIONS
+from common.djangoapps.third_party_auth.api.permissions import TPA_PERMISSIONS
 
 IDP_SLUG_TESTSHIB = 'testshib'
 PROVIDER_ID_TESTSHIB = 'saml-' + IDP_SLUG_TESTSHIB
diff --git a/common/djangoapps/third_party_auth/api/tests/test_views.py b/common/djangoapps/third_party_auth/api/tests/test_views.py
index db55f2c9fe9de8038425cbc595a04ece9250d033..3f05e01d29ab8d8502ca119cf46c26409eb18cf6 100644
--- a/common/djangoapps/third_party_auth/api/tests/test_views.py
+++ b/common/djangoapps/third_party_auth/api/tests/test_views.py
@@ -17,13 +17,13 @@ from rest_framework.test import APITestCase
 from six.moves import range
 from social_django.models import UserSocialAuth
 
-from student.tests.factories import UserFactory
-from third_party_auth.api.permissions import (
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.api.permissions import (
     JwtHasScope,
     JwtHasTpaProviderFilterForRequestedProvider,
     JwtRestrictedApplication
 )
-from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin
+from common.djangoapps.third_party_auth.tests.testutil import ThirdPartyAuthTestMixin
 
 VALID_API_KEY = "i am a key"
 IDP_SLUG_TESTSHIB = 'testshib'
diff --git a/common/djangoapps/third_party_auth/api/views.py b/common/djangoapps/third_party_auth/api/views.py
index 52c49ea092fd20e8a4bb8aa12f3073f51caba018..7b0ab3469c52edd250cc745c9f7a6c6c418fa85a 100644
--- a/common/djangoapps/third_party_auth/api/views.py
+++ b/common/djangoapps/third_party_auth/api/views.py
@@ -23,10 +23,10 @@ from openedx.core.lib.api.authentication import (
     BearerAuthenticationAllowInactiveUser
 )
 from openedx.core.lib.api.permissions import ApiKeyHeaderPermission
-from third_party_auth import pipeline
-from third_party_auth.api import serializers
-from third_party_auth.api.permissions import TPA_PERMISSIONS
-from third_party_auth.provider import Registry
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.third_party_auth.api import serializers
+from common.djangoapps.third_party_auth.api.permissions import TPA_PERMISSIONS
+from common.djangoapps.third_party_auth.provider import Registry
 from common.djangoapps.third_party_auth.api.utils import filter_user_social_auth_queryset_by_provider
 
 
diff --git a/common/djangoapps/third_party_auth/apps.py b/common/djangoapps/third_party_auth/apps.py
index 40fc9ca3c6c6a76f74f05e3db7c562660ace460e..be657e35a31b51b91636d08c325a9f5e3116bc94 100644
--- a/common/djangoapps/third_party_auth/apps.py
+++ b/common/djangoapps/third_party_auth/apps.py
@@ -5,7 +5,7 @@ from django.conf import settings
 
 
 class ThirdPartyAuthConfig(AppConfig):
-    name = 'third_party_auth'
+    name = 'common.djangoapps.third_party_auth'
     verbose_name = "Third-party authentication"
 
     def ready(self):
@@ -19,5 +19,5 @@ class ThirdPartyAuthConfig(AppConfig):
         using other identity providers. For configuration details, see
         common/djangoapps/third_party_auth/settings.py.
         """
-        from third_party_auth import settings as auth_settings
+        from common.djangoapps.third_party_auth import settings as auth_settings
         auth_settings.apply_settings(settings)
diff --git a/common/djangoapps/third_party_auth/decorators.py b/common/djangoapps/third_party_auth/decorators.py
index 59d909f3c91a0d6089590b5f39b4c2326bd3c13c..b2deff2a2b0802e686953f9fdaadb09d211efd40 100644
--- a/common/djangoapps/third_party_auth/decorators.py
+++ b/common/djangoapps/third_party_auth/decorators.py
@@ -10,8 +10,8 @@ from django.shortcuts import redirect
 from django.utils.decorators import available_attrs
 from six.moves.urllib.parse import urlencode, urlparse
 
-from third_party_auth.models import LTIProviderConfig
-from third_party_auth.provider import Registry
+from common.djangoapps.third_party_auth.models import LTIProviderConfig
+from common.djangoapps.third_party_auth.provider import Registry
 
 
 def xframe_allow_whitelisted(view_func):
diff --git a/common/djangoapps/third_party_auth/management/commands/remove_social_auth_users.py b/common/djangoapps/third_party_auth/management/commands/remove_social_auth_users.py
index 1cee572d43e24da9cefe76caec5fcfe016b64a3e..406044fc7285a9317661726747f7ad86dfd9346c 100644
--- a/common/djangoapps/third_party_auth/management/commands/remove_social_auth_users.py
+++ b/common/djangoapps/third_party_auth/management/commands/remove_social_auth_users.py
@@ -12,7 +12,7 @@ from django.core.management.base import BaseCommand, CommandError
 from django.db import transaction
 from six.moves import input
 
-from third_party_auth.models import SAMLProviderConfig
+from common.djangoapps.third_party_auth.models import SAMLProviderConfig
 
 log = logging.getLogger(__name__)
 
diff --git a/common/djangoapps/third_party_auth/management/commands/saml.py b/common/djangoapps/third_party_auth/management/commands/saml.py
index 108a993f32a2c840cfa9c649b3cbbc7b16207f53..13a5304dd9e72e165c88c7c91384e6ec53fb01cb 100644
--- a/common/djangoapps/third_party_auth/management/commands/saml.py
+++ b/common/djangoapps/third_party_auth/management/commands/saml.py
@@ -8,7 +8,7 @@ import logging
 
 from django.core.management.base import BaseCommand, CommandError
 
-from third_party_auth.tasks import fetch_saml_metadata
+from common.djangoapps.third_party_auth.tasks import fetch_saml_metadata
 
 
 class Command(BaseCommand):
@@ -26,7 +26,7 @@ class Command(BaseCommand):
 
         log_handler = logging.StreamHandler(self.stdout)
         log_handler.setLevel(logging.DEBUG)
-        log = logging.getLogger('third_party_auth.tasks')
+        log = logging.getLogger('common.djangoapps.third_party_auth.tasks')
         log.propagate = False
         log.addHandler(log_handler)
         total, skipped, attempted, updated, failed, failure_messages = fetch_saml_metadata()
diff --git a/common/djangoapps/third_party_auth/management/commands/tests/test_remove_social_auth_users.py b/common/djangoapps/third_party_auth/management/commands/tests/test_remove_social_auth_users.py
index 19587fa8c3606eb11b0960c6a48cc9ab43f8532e..ddd75d23d23991b42b119183ebbc71f832d85713 100644
--- a/common/djangoapps/third_party_auth/management/commands/tests/test_remove_social_auth_users.py
+++ b/common/djangoapps/third_party_auth/management/commands/tests/test_remove_social_auth_users.py
@@ -15,10 +15,10 @@ from django.test import TestCase, override_settings
 from six import StringIO
 from social_django.models import UserSocialAuth
 
-from student.models import User
-from student.tests.factories import UserFactory
-from third_party_auth.management.commands import remove_social_auth_users
-from third_party_auth.tests.factories import SAMLProviderConfigFactory
+from common.djangoapps.student.models import User
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.management.commands import remove_social_auth_users
+from common.djangoapps.third_party_auth.tests.factories import SAMLProviderConfigFactory
 
 FEATURES_WITH_ENABLED = settings.FEATURES.copy()
 FEATURES_WITH_ENABLED['ENABLE_ENROLLMENT_RESET'] = True
diff --git a/common/djangoapps/third_party_auth/management/commands/tests/test_saml.py b/common/djangoapps/third_party_auth/management/commands/tests/test_saml.py
index 92686f31c6b81dcd5bf4cefa65e632e52ea13b59..46144f3b047fc7f708aba06d5f47a6a20d297589 100644
--- a/common/djangoapps/third_party_auth/management/commands/tests/test_saml.py
+++ b/common/djangoapps/third_party_auth/management/commands/tests/test_saml.py
@@ -16,7 +16,7 @@ from requests import exceptions
 from requests.models import Response
 
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from third_party_auth.tests.factories import SAMLConfigurationFactory, SAMLProviderConfigFactory
+from common.djangoapps.third_party_auth.tests.factories import SAMLConfigurationFactory, SAMLProviderConfigFactory
 
 
 def mock_get(status_code=200):
diff --git a/common/djangoapps/third_party_auth/middleware.py b/common/djangoapps/third_party_auth/middleware.py
index 6a94eb9e44497f37ae51d722cd25d5de7415b0ca..0023ee36c00dbe9eb82e2f45139467164f5ee3cd 100644
--- a/common/djangoapps/third_party_auth/middleware.py
+++ b/common/djangoapps/third_party_auth/middleware.py
@@ -10,7 +10,7 @@ from django.utils.translation import ugettext as _
 from requests import HTTPError
 from social_django.middleware import SocialAuthExceptionMiddleware
 
-from student.helpers import get_next_url_for_login_page
+from common.djangoapps.student.helpers import get_next_url_for_login_page
 
 from . import pipeline
 
diff --git a/common/djangoapps/third_party_auth/migrations/0001_squashed_0026_auto_20200401_1932.py b/common/djangoapps/third_party_auth/migrations/0001_squashed_0026_auto_20200401_1932.py
index 43d63f5670e1c02c36a13f7d4ec45db262df6a8b..adb27137f3b6317ffba27e8684ab3b8b4482183d 100644
--- a/common/djangoapps/third_party_auth/migrations/0001_squashed_0026_auto_20200401_1932.py
+++ b/common/djangoapps/third_party_auth/migrations/0001_squashed_0026_auto_20200401_1932.py
@@ -3,8 +3,9 @@
 from django.conf import settings
 from django.db import migrations, models
 import django.db.models.deletion
+
 import openedx.core.lib.hash_utils
-import third_party_auth.models
+from common.djangoapps.third_party_auth import models as third_party_auth_models
 
 # These should be no-ops, becuse we don't need to migrate any data on initial creation.
 # third_party_auth.migrations.0019_consolidate_slug
@@ -156,7 +157,7 @@ class Migration(migrations.Migration):
                 ('send_to_registration_first', models.BooleanField(default=False, help_text='If this option is selected, users will be directed to the registration page immediately after authenticating with the third party instead of the login page.')),
                 ('sync_learner_profile_data', models.BooleanField(default=False, help_text='Synchronize user profile data received from the identity provider with the edX user account on each SSO login. The user will be notified if the email address associated with their account is changed as a part of this synchronization.')),
                 ('archived', models.BooleanField(default=False)),
-                ('saml_configuration', models.ForeignKey(blank=True, limit_choices_to=third_party_auth.models.active_saml_configurations_filter, null=True, on_delete=django.db.models.deletion.SET_NULL, to='third_party_auth.SAMLConfiguration')),
+                ('saml_configuration', models.ForeignKey(blank=True, limit_choices_to=third_party_auth_models.active_saml_configurations_filter, null=True, on_delete=django.db.models.deletion.SET_NULL, to='third_party_auth.SAMLConfiguration')),
                 ('send_welcome_email', models.BooleanField(default=False, help_text='If this option is selected, users will be sent a welcome email upon registration.')),
                 ('slug', models.SlugField(default='default', help_text='A short string uniquely identifying this provider. Cannot contain spaces and should be a usable as a CSS class. Examples: "ubc", "mit-staging"', max_length=30)),
                 ('enable_sso_id_verification', models.BooleanField(default=False, help_text='Use the presence of a profile from a trusted third party as proof of identity verification.')),
diff --git a/common/djangoapps/third_party_auth/migrations/0026_auto_20200401_1932.py b/common/djangoapps/third_party_auth/migrations/0026_auto_20200401_1932.py
index fc57476155707d9325726dbd702d71309ac54903..7a5cf16ce9e0823ad429251cea0bd632def79053 100644
--- a/common/djangoapps/third_party_auth/migrations/0026_auto_20200401_1932.py
+++ b/common/djangoapps/third_party_auth/migrations/0026_auto_20200401_1932.py
@@ -2,7 +2,8 @@
 
 from django.db import migrations, models
 import django.db.models.deletion
-import third_party_auth.models
+
+from common.djangoapps.third_party_auth import models as third_party_auth_models
 
 
 class Migration(migrations.Migration):
@@ -15,6 +16,6 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='samlproviderconfig',
             name='saml_configuration',
-            field=models.ForeignKey(blank=True, limit_choices_to=third_party_auth.models.active_saml_configurations_filter, null=True, on_delete=django.db.models.deletion.SET_NULL, to='third_party_auth.SAMLConfiguration'),
+            field=models.ForeignKey(blank=True, limit_choices_to=third_party_auth_models.active_saml_configurations_filter, null=True, on_delete=django.db.models.deletion.SET_NULL, to='third_party_auth.SAMLConfiguration'),
         ),
     ]
diff --git a/common/djangoapps/third_party_auth/pipeline.py b/common/djangoapps/third_party_auth/pipeline.py
index 18924f21ce894694e8a90170eeaf69bc8839bc38..fd96aa88e749ff6770fac9af1f7e20a43ca578bc 100644
--- a/common/djangoapps/third_party_auth/pipeline.py
+++ b/common/djangoapps/third_party_auth/pipeline.py
@@ -80,16 +80,16 @@ from social_core.pipeline import partial
 from social_core.pipeline.social_auth import associate_by_email
 from social_core.utils import module_member, slugify
 
-import third_party_auth
-from edxmako.shortcuts import render_to_string
+from common.djangoapps import third_party_auth
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from lms.djangoapps.verify_student.models import SSOVerification
 from lms.djangoapps.verify_student.utils import earliest_allowed_verification_date
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_api import accounts
 from openedx.core.djangoapps.user_authn import cookies as user_authn_cookies
-from third_party_auth.utils import user_exists
-from track import segment
-from util.json_request import JsonResponse
+from common.djangoapps.third_party_auth.utils import user_exists
+from common.djangoapps.track import segment
+from common.djangoapps.util.json_request import JsonResponse
 
 from . import provider
 
diff --git a/common/djangoapps/third_party_auth/saml.py b/common/djangoapps/third_party_auth/saml.py
index 6a06a86d46194971bd97450544a64ce247701a39..44960b3b78998c381eeadf00c45e2431d0ef405f 100644
--- a/common/djangoapps/third_party_auth/saml.py
+++ b/common/djangoapps/third_party_auth/saml.py
@@ -17,7 +17,7 @@ from social_core.backends.saml import OID_EDU_PERSON_ENTITLEMENT, SAMLAuth, SAML
 from social_core.exceptions import AuthForbidden
 
 from openedx.core.djangoapps.theming.helpers import get_current_request
-from third_party_auth.exceptions import IncorrectConfigurationException
+from common.djangoapps.third_party_auth.exceptions import IncorrectConfigurationException
 
 STANDARD_SAML_PROVIDER_KEY = u'standard_saml_provider'
 SAP_SUCCESSFACTORS_SAML_KEY = u'sap_success_factors'
@@ -26,7 +26,7 @@ log = logging.getLogger(__name__)
 
 class SAMLAuthBackend(SAMLAuth):  # pylint: disable=abstract-method
     """
-    Customized version of SAMLAuth that gets the list of IdPs from third_party_auth's list of
+    Customized version of SAMLAuth that gets the list of IdPs from common.djangoapps.third_party_auth's list of
     enabled providers.
     """
     name = "tpa-saml"
diff --git a/common/djangoapps/third_party_auth/saml_configuration/serializers.py b/common/djangoapps/third_party_auth/saml_configuration/serializers.py
index 0f518a962874062ba7a1161000095587861652b8..f460e216d40864bdebcf34fe561e2a3b9ff36100 100644
--- a/common/djangoapps/third_party_auth/saml_configuration/serializers.py
+++ b/common/djangoapps/third_party_auth/saml_configuration/serializers.py
@@ -4,7 +4,7 @@ Serializer for SAMLConfiguration
 
 from rest_framework import serializers
 
-from third_party_auth.models import SAMLConfiguration
+from common.djangoapps.third_party_auth.models import SAMLConfiguration
 
 
 class SAMLConfigurationSerializer(serializers.ModelSerializer):
diff --git a/common/djangoapps/third_party_auth/saml_configuration/tests/test_saml_configuration.py b/common/djangoapps/third_party_auth/saml_configuration/tests/test_saml_configuration.py
index ad9bae8d0af3632cd4cf3018b8b498ece12e5ae6..bf383d7d455803fe05d4a49b062bdeead34c630f 100644
--- a/common/djangoapps/third_party_auth/saml_configuration/tests/test_saml_configuration.py
+++ b/common/djangoapps/third_party_auth/saml_configuration/tests/test_saml_configuration.py
@@ -9,9 +9,9 @@ from django.contrib.auth.models import User
 
 from rest_framework import status
 from rest_framework.test import APITestCase
-from third_party_auth.models import SAMLConfiguration
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth.models import SAMLConfiguration
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 SAML_CONFIGURATIONS = [
     {
         'site': 1,
diff --git a/common/djangoapps/third_party_auth/samlproviderconfig/serializers.py b/common/djangoapps/third_party_auth/samlproviderconfig/serializers.py
index 3502170a04c230c3c58b38439901e0f322187145..3e44d85a6c023bfcff411a3e9e07e117b8624896 100644
--- a/common/djangoapps/third_party_auth/samlproviderconfig/serializers.py
+++ b/common/djangoapps/third_party_auth/samlproviderconfig/serializers.py
@@ -4,7 +4,7 @@ Serializer for SAMLProviderConfig
 
 from rest_framework import serializers
 
-from third_party_auth.models import SAMLProviderConfig, SAMLConfiguration
+from common.djangoapps.third_party_auth.models import SAMLProviderConfig, SAMLConfiguration
 
 
 class SAMLProviderConfigSerializer(serializers.ModelSerializer):
diff --git a/common/djangoapps/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py b/common/djangoapps/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py
index 313ac55a0350399267f94f34d8ec7f7850784291..49f9c86923e690be0bed713cb9ccf4a773f0b6d0 100644
--- a/common/djangoapps/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py
+++ b/common/djangoapps/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py
@@ -14,11 +14,11 @@ from rest_framework.test import APITestCase
 
 from enterprise.models import EnterpriseCustomerIdentityProvider, EnterpriseCustomer
 from enterprise.constants import ENTERPRISE_ADMIN_ROLE, ENTERPRISE_LEARNER_ROLE
-from third_party_auth.tests.samlutils import set_jwt_cookie
-from third_party_auth.models import SAMLProviderConfig, SAMLConfiguration
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
-from third_party_auth.utils import convert_saml_slug_provider_id
+from common.djangoapps.third_party_auth.tests.samlutils import set_jwt_cookie
+from common.djangoapps.third_party_auth.models import SAMLProviderConfig, SAMLConfiguration
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth.utils import convert_saml_slug_provider_id
 
 # country here refers to the URN provided by a user's IDP
 SINGLE_PROVIDER_CONFIG = {
diff --git a/common/djangoapps/third_party_auth/samlproviderconfig/views.py b/common/djangoapps/third_party_auth/samlproviderconfig/views.py
index 605864a350124217c8bc31709ff9ec26f5977737..1b069443cad4f606d3bfda5e9773791b2a245585 100644
--- a/common/djangoapps/third_party_auth/samlproviderconfig/views.py
+++ b/common/djangoapps/third_party_auth/samlproviderconfig/views.py
@@ -11,7 +11,7 @@ from rest_framework.authentication import SessionAuthentication
 from rest_framework.exceptions import ParseError, ValidationError
 
 from enterprise.models import EnterpriseCustomerIdentityProvider, EnterpriseCustomer
-from third_party_auth.utils import validate_uuid4_string
+from common.djangoapps.third_party_auth.utils import validate_uuid4_string
 
 from ..models import SAMLProviderConfig
 from .serializers import SAMLProviderConfigSerializer
diff --git a/common/djangoapps/third_party_auth/samlproviderdata/serializers.py b/common/djangoapps/third_party_auth/samlproviderdata/serializers.py
index 14e8c830700923235a8535968926c707feaf8aa4..ed7a1bc9f6532d2fb2f6285e77c59c28f25513d4 100644
--- a/common/djangoapps/third_party_auth/samlproviderdata/serializers.py
+++ b/common/djangoapps/third_party_auth/samlproviderdata/serializers.py
@@ -4,7 +4,7 @@
 
 from rest_framework import serializers
 
-from third_party_auth.models import SAMLProviderData
+from common.djangoapps.third_party_auth.models import SAMLProviderData
 
 
 class SAMLProviderDataSerializer(serializers.ModelSerializer):
diff --git a/common/djangoapps/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py b/common/djangoapps/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py
index 942dedc189fa374ba1efd4821bd1bf7dacebba1e..37437b05810735a1fa632f8d4184ab55d091c8ef 100644
--- a/common/djangoapps/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py
+++ b/common/djangoapps/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py
@@ -13,11 +13,11 @@ from rest_framework.test import APITestCase
 from enterprise.models import EnterpriseCustomer, EnterpriseCustomerIdentityProvider
 from enterprise.constants import ENTERPRISE_ADMIN_ROLE, ENTERPRISE_LEARNER_ROLE
 
-from third_party_auth.tests import testutil
-from third_party_auth.models import SAMLProviderData, SAMLProviderConfig
-from third_party_auth.tests.samlutils import set_jwt_cookie
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
-from third_party_auth.utils import convert_saml_slug_provider_id
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.models import SAMLProviderData, SAMLProviderConfig
+from common.djangoapps.third_party_auth.tests.samlutils import set_jwt_cookie
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth.utils import convert_saml_slug_provider_id
 
 SINGLE_PROVIDER_CONFIG = {
     'entity_id': 'http://entity-id-1',
diff --git a/common/djangoapps/third_party_auth/samlproviderdata/views.py b/common/djangoapps/third_party_auth/samlproviderdata/views.py
index eacab0a07ea9f50d97f6595f9214036bd4a9e456..756fe8d7caf78f903ca8acc12be0c0ecfbb684d4 100644
--- a/common/djangoapps/third_party_auth/samlproviderdata/views.py
+++ b/common/djangoapps/third_party_auth/samlproviderdata/views.py
@@ -11,7 +11,7 @@ from rest_framework.authentication import SessionAuthentication
 from rest_framework.exceptions import ParseError
 
 from enterprise.models import EnterpriseCustomerIdentityProvider
-from third_party_auth.utils import validate_uuid4_string, convert_saml_slug_provider_id
+from common.djangoapps.third_party_auth.utils import validate_uuid4_string, convert_saml_slug_provider_id
 
 from ..models import SAMLProviderConfig, SAMLProviderData
 from .serializers import SAMLProviderDataSerializer
diff --git a/common/djangoapps/third_party_auth/settings.py b/common/djangoapps/third_party_auth/settings.py
index b28f810df6d3fde52ec4b97bad440453b960eb3f..c22da772b733d480c9d9a2a36b2eddd6dd908a47 100644
--- a/common/djangoapps/third_party_auth/settings.py
+++ b/common/djangoapps/third_party_auth/settings.py
@@ -24,7 +24,7 @@ def apply_settings(django_settings):
 
     # Inject exception middleware to make redirects fire.
     django_settings.MIDDLEWARE.extend(
-        ['third_party_auth.middleware.ExceptionMiddleware']
+        ['common.djangoapps.third_party_auth.middleware.ExceptionMiddleware']
     )
 
     # Where to send the user if there's an error during social authentication
@@ -48,30 +48,30 @@ def apply_settings(django_settings):
     # Inject our customized auth pipeline. All auth backends must work with
     # this pipeline.
     django_settings.SOCIAL_AUTH_PIPELINE = [
-        'third_party_auth.pipeline.parse_query_params',
+        'common.djangoapps.third_party_auth.pipeline.parse_query_params',
         'social_core.pipeline.social_auth.social_details',
         'social_core.pipeline.social_auth.social_uid',
         'social_core.pipeline.social_auth.auth_allowed',
         'social_core.pipeline.social_auth.social_user',
-        'third_party_auth.pipeline.associate_by_email_if_login_api',
-        'third_party_auth.pipeline.get_username',
-        'third_party_auth.pipeline.set_pipeline_timeout',
-        'third_party_auth.pipeline.ensure_user_information',
+        'common.djangoapps.third_party_auth.pipeline.associate_by_email_if_login_api',
+        'common.djangoapps.third_party_auth.pipeline.get_username',
+        'common.djangoapps.third_party_auth.pipeline.set_pipeline_timeout',
+        'common.djangoapps.third_party_auth.pipeline.ensure_user_information',
         'social_core.pipeline.user.create_user',
         'social_core.pipeline.social_auth.associate_user',
         'social_core.pipeline.social_auth.load_extra_data',
         'social_core.pipeline.user.user_details',
-        'third_party_auth.pipeline.user_details_force_sync',
-        'third_party_auth.pipeline.set_id_verification_status',
-        'third_party_auth.pipeline.set_logged_in_cookies',
-        'third_party_auth.pipeline.login_analytics',
+        'common.djangoapps.third_party_auth.pipeline.user_details_force_sync',
+        'common.djangoapps.third_party_auth.pipeline.set_id_verification_status',
+        'common.djangoapps.third_party_auth.pipeline.set_logged_in_cookies',
+        'common.djangoapps.third_party_auth.pipeline.login_analytics',
     ]
 
     # Add enterprise pipeline elements if the enterprise app is installed
     insert_enterprise_pipeline_elements(django_settings.SOCIAL_AUTH_PIPELINE)
 
     # Required so that we can use unmodified PSA OAuth2 backends:
-    django_settings.SOCIAL_AUTH_STRATEGY = 'third_party_auth.strategy.ConfigurationModelStrategy'
+    django_settings.SOCIAL_AUTH_STRATEGY = 'common.djangoapps.third_party_auth.strategy.ConfigurationModelStrategy'
 
     # We let the user specify their email address during signup.
     django_settings.SOCIAL_AUTH_PROTECTED_USER_FIELDS = ['email']
@@ -82,7 +82,7 @@ def apply_settings(django_settings):
     django_settings.SOCIAL_AUTH_RAISE_EXCEPTIONS = False
 
     # Clean username to make sure username is compatible with our system requirements
-    django_settings.SOCIAL_AUTH_CLEAN_USERNAME_FUNCTION = 'third_party_auth.models.clean_username'
+    django_settings.SOCIAL_AUTH_CLEAN_USERNAME_FUNCTION = 'common.djangoapps.third_party_auth.models.clean_username'
 
     # Allow users to login using social auth even if their account is not verified yet
     # This is required since we [ab]use django's 'is_active' flag to indicate verified
diff --git a/common/djangoapps/third_party_auth/tasks.py b/common/djangoapps/third_party_auth/tasks.py
index 293ae3a00badc0195e21fb1544337a8fae203be4..514a82b37353cef0940d227e8c9dde9e3aaef129 100644
--- a/common/djangoapps/third_party_auth/tasks.py
+++ b/common/djangoapps/third_party_auth/tasks.py
@@ -18,7 +18,7 @@ from requests import exceptions
 from six import text_type
 
 from openedx.core.djangolib.markup import Text
-from third_party_auth.models import SAMLConfiguration, SAMLProviderConfig, SAMLProviderData
+from common.djangoapps.third_party_auth.models import SAMLConfiguration, SAMLProviderConfig, SAMLProviderData
 
 log = logging.getLogger(__name__)
 
@@ -30,7 +30,7 @@ class MetadataParseError(Exception):
     pass
 
 
-@task(name='third_party_auth.fetch_saml_metadata')
+@task(name='common.djangoapps.third_party_auth.fetch_saml_metadata')
 def fetch_saml_metadata():
     """
     Fetch and store/update the metadata of all IdPs
diff --git a/common/djangoapps/third_party_auth/tests/factories.py b/common/djangoapps/third_party_auth/tests/factories.py
index 0c09e94cb9cc681199199e8e11dff0960e483b44..df3ecd9848d89cefa4a4e8490f8502612fa48d4e 100644
--- a/common/djangoapps/third_party_auth/tests/factories.py
+++ b/common/djangoapps/third_party_auth/tests/factories.py
@@ -7,7 +7,7 @@ from factory import SubFactory
 from factory.django import DjangoModelFactory
 
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
-from third_party_auth.models import SAMLConfiguration, SAMLProviderConfig
+from common.djangoapps.third_party_auth.models import SAMLConfiguration, SAMLProviderConfig
 
 
 class SAMLConfigurationFactory(DjangoModelFactory):
diff --git a/common/djangoapps/third_party_auth/tests/specs/base.py b/common/djangoapps/third_party_auth/tests/specs/base.py
index 5355af0a8c54bd800f12608dce6dab2e12cf0e36..6d2b347913f08be684fbaa50375002d41583f4d9 100644
--- a/common/djangoapps/third_party_auth/tests/specs/base.py
+++ b/common/djangoapps/third_party_auth/tests/specs/base.py
@@ -26,11 +26,11 @@ from openedx.core.djangoapps.user_authn.views.login_form import login_and_regist
 from openedx.core.djangoapps.user_authn.views.register import RegistrationView
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangoapps.user_api.accounts.settings_views import account_settings_context
-from student import models as student_models
-from student.tests.factories import UserFactory
+from common.djangoapps.student import models as student_models
+from common.djangoapps.student.tests.factories import UserFactory
 
-from third_party_auth import middleware, pipeline
-from third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth import middleware, pipeline
+from common.djangoapps.third_party_auth.tests import testutil
 
 
 def create_account(request):
@@ -291,7 +291,7 @@ class HelperMixin(object):
     def _patch_edxmako_current_request(self, request):
         """Make ``request`` be the current request for edxmako template rendering."""
 
-        with mock.patch('edxmako.request_context.get_current_request', return_value=request):
+        with mock.patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=request):
             yield
 
     def get_user_by_email(self, strategy, email):
@@ -547,7 +547,7 @@ class IntegrationTest(testutil.TestCase, test.TestCase, HelperMixin):
     def test_canceling_authentication_redirects_to_root_when_auth_entry_not_set(self):
         self.assert_exception_redirect_looks_correct('/')
 
-    @mock.patch('third_party_auth.pipeline.segment.track')
+    @mock.patch('common.djangoapps.third_party_auth.pipeline.segment.track')
     def test_full_pipeline_succeeds_for_linking_account(self, _mock_segment_track):
         # First, create, the GET request and strategy that store pipeline state,
         # configure the backend, and mock out wire traffic.
@@ -699,7 +699,7 @@ class IntegrationTest(testutil.TestCase, test.TestCase, HelperMixin):
         self.assert_account_settings_context_looks_correct(
             account_settings_context(post_request), duplicate=True, linked=True)
 
-    @mock.patch('third_party_auth.pipeline.segment.track')
+    @mock.patch('common.djangoapps.third_party_auth.pipeline.segment.track')
     def test_full_pipeline_succeeds_for_signing_in_to_existing_active_account(self, _mock_segment_track):
         # First, create, the GET request and strategy that store pipeline state,
         # configure the backend, and mock out wire traffic.
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_azuread.py b/common/djangoapps/third_party_auth/tests/specs/test_azuread.py
index 096621508bd1a674eb85e393663d97b968fea6a9..c7967aa2e27f87fd62dcc6fa0322925624dfbc5d 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_azuread.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_azuread.py
@@ -1,7 +1,7 @@
 """Integration tests for Azure Active Directory / Microsoft Account provider."""
 
 
-from third_party_auth.tests.specs import base
+from common.djangoapps.third_party_auth.tests.specs import base
 
 
 class AzureADOauth2IntegrationTest(base.Oauth2IntegrationTest):
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_generic.py b/common/djangoapps/third_party_auth/tests/specs/test_generic.py
index 725ff441f1d4b79ceb25e5e1aee279ac92c44ccc..7fb37b4d156f30a4ea0bdc6954d161008d960e58 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_generic.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_generic.py
@@ -4,8 +4,8 @@ Use the 'Dummy' auth provider for generic integration tests of third_party_auth.
 
 
 import unittest
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 from .base import IntegrationTestMixin
 
 
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_google.py b/common/djangoapps/third_party_auth/tests/specs/test_google.py
index 2ae657a668ef7ccff509cb2e7c4659f6749d121b..6d21542681ea1aee004d3e9648a5db388473a611 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_google.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_google.py
@@ -11,9 +11,9 @@ from django.urls import reverse
 from mock import patch
 from social_core.exceptions import AuthException
 
-from student.tests.factories import UserFactory
-from third_party_auth import pipeline
-from third_party_auth.tests.specs import base
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.third_party_auth.tests.specs import base
 
 
 class GoogleOauth2IntegrationTest(base.Oauth2IntegrationTest):
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_linkedin.py b/common/djangoapps/third_party_auth/tests/specs/test_linkedin.py
index 83b4552e8bc8a4c884ed4eaa2ae88d586a97a5fc..6c6b7dcdcf5d94f25befde1eabd786f1fcdfdbef 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_linkedin.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_linkedin.py
@@ -1,7 +1,7 @@
 """Integration tests for LinkedIn providers."""
 
 
-from third_party_auth.tests.specs import base
+from common.djangoapps.third_party_auth.tests.specs import base
 
 
 def get_localized_name(name):
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_lti.py b/common/djangoapps/third_party_auth/tests/specs/test_lti.py
index 19493cbdff0f8043a2a854c8cfe139c2bd64ee95..811be5196306b48bac949fa5eb377a6e502c8183 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_lti.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_lti.py
@@ -8,7 +8,7 @@ from django.conf import settings
 from django.contrib.auth.models import User
 from django.urls import reverse
 from oauthlib.oauth1.rfc5849 import Client, SIGNATURE_TYPE_BODY
-from third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests import testutil
 
 FORM_ENCODED = 'application/x-www-form-urlencoded'
 
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_testshib.py b/common/djangoapps/third_party_auth/tests/specs/test_testshib.py
index e629a2a01b146a546bed593472212db12bccd1ce..0e54714b22cd509a5c498d6af09f03dea17d8500 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_testshib.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_testshib.py
@@ -25,10 +25,10 @@ from enterprise.models import EnterpriseCustomerIdentityProvider, EnterpriseCust
 from openedx.core.djangoapps.user_authn.views.login import login_user
 from openedx.core.djangoapps.user_api.accounts.settings_views import account_settings_context
 from openedx.features.enterprise_support.tests.factories import EnterpriseCustomerFactory
-from third_party_auth import pipeline
-from third_party_auth.saml import SapSuccessFactorsIdentityProvider, log as saml_log
-from third_party_auth.tasks import fetch_saml_metadata
-from third_party_auth.tests import testutil, utils
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.third_party_auth.saml import SapSuccessFactorsIdentityProvider, log as saml_log
+from common.djangoapps.third_party_auth.tasks import fetch_saml_metadata
+from common.djangoapps.third_party_auth.tests import testutil, utils
 
 from .base import IntegrationTestMixin
 
diff --git a/common/djangoapps/third_party_auth/tests/specs/test_twitter.py b/common/djangoapps/third_party_auth/tests/specs/test_twitter.py
index 55b6cf194c582ea36b453809d068518517f9562c..e4e43f283a1c980057b0f5fda34c1806f5078d5a 100644
--- a/common/djangoapps/third_party_auth/tests/specs/test_twitter.py
+++ b/common/djangoapps/third_party_auth/tests/specs/test_twitter.py
@@ -4,7 +4,7 @@ Separate integration test for Twitter which is an OAuth1 provider.
 
 
 from mock import patch
-from third_party_auth.tests.specs import base
+from common.djangoapps.third_party_auth.tests.specs import base
 
 
 class TwitterIntegrationTest(base.Oauth2IntegrationTest):
diff --git a/common/djangoapps/third_party_auth/tests/test_admin.py b/common/djangoapps/third_party_auth/tests/test_admin.py
index 564750e0bfc47b0ec3b7dddb46483478a75d2e52..63ad2bf8cbdc66042012f1c2715d894b155cb3b8 100644
--- a/common/djangoapps/third_party_auth/tests/test_admin.py
+++ b/common/djangoapps/third_party_auth/tests/test_admin.py
@@ -10,11 +10,11 @@ from django.core.files.uploadedfile import SimpleUploadedFile
 from django.forms import models
 from django.urls import reverse
 
-from student.tests.factories import UserFactory
-from third_party_auth.admin import OAuth2ProviderConfigAdmin
-from third_party_auth.models import OAuth2ProviderConfig
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.admin import OAuth2ProviderConfigAdmin
+from common.djangoapps.third_party_auth.models import OAuth2ProviderConfig
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 
 
 # This is necessary because cms does not implement third party auth
diff --git a/common/djangoapps/third_party_auth/tests/test_decorators.py b/common/djangoapps/third_party_auth/tests/test_decorators.py
index afb057a9e721e4d449dcbe4244901a005d0da05b..b7cb5ea1a929d45755b9654431725c1e6de3ea8e 100644
--- a/common/djangoapps/third_party_auth/tests/test_decorators.py
+++ b/common/djangoapps/third_party_auth/tests/test_decorators.py
@@ -10,9 +10,9 @@ from django.conf import settings
 from django.http import HttpResponse
 from django.test import RequestFactory
 
-from third_party_auth.decorators import xframe_allow_whitelisted
-from third_party_auth.tests.testutil import TestCase
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth.decorators import xframe_allow_whitelisted
+from common.djangoapps.third_party_auth.tests.testutil import TestCase
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 
 
 @xframe_allow_whitelisted
diff --git a/common/djangoapps/third_party_auth/tests/test_identityserver3.py b/common/djangoapps/third_party_auth/tests/test_identityserver3.py
index c9b28286dd70cfe82a81b7468ac628d1124371a7..1eabc7fd2ccba9d9a19e272abc24157f41eadd27 100644
--- a/common/djangoapps/third_party_auth/tests/test_identityserver3.py
+++ b/common/djangoapps/third_party_auth/tests/test_identityserver3.py
@@ -4,9 +4,9 @@ Unit tests for the IdentityServer3 OAuth2 Backend
 import json
 import ddt
 import unittest
-from third_party_auth.identityserver3 import IdentityServer3
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth.identityserver3 import IdentityServer3
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 
 
 @skip_unless_thirdpartyauth()
diff --git a/common/djangoapps/third_party_auth/tests/test_lti.py b/common/djangoapps/third_party_auth/tests/test_lti.py
index 01e47076fa6833dd830ac625a3ab927a6f694ebf..12d2f2fe2033a0f9b2cc7e76f86a59b43806f054 100644
--- a/common/djangoapps/third_party_auth/tests/test_lti.py
+++ b/common/djangoapps/third_party_auth/tests/test_lti.py
@@ -7,8 +7,8 @@ import unittest
 
 from oauthlib.common import Request
 
-from third_party_auth.lti import LTI_PARAMS_KEY, LTIAuthBackend
-from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin
+from common.djangoapps.third_party_auth.lti import LTI_PARAMS_KEY, LTIAuthBackend
+from common.djangoapps.third_party_auth.tests.testutil import ThirdPartyAuthTestMixin
 
 
 class UnitTestLTI(unittest.TestCase, ThirdPartyAuthTestMixin):
diff --git a/common/djangoapps/third_party_auth/tests/test_middleware.py b/common/djangoapps/third_party_auth/tests/test_middleware.py
index f9c1d8c0a6cbb329a67e553a2ad9090d9451280e..3ff7b8b7d10e297bd267ad3b3eb2aec8a7e3c7f0 100644
--- a/common/djangoapps/third_party_auth/tests/test_middleware.py
+++ b/common/djangoapps/third_party_auth/tests/test_middleware.py
@@ -10,9 +10,9 @@ from django.test.client import RequestFactory
 from requests.exceptions import HTTPError
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.helpers import get_next_url_for_login_page
-from third_party_auth.middleware import ExceptionMiddleware
-from third_party_auth.tests.testutil import TestCase
+from common.djangoapps.student.helpers import get_next_url_for_login_page
+from common.djangoapps.third_party_auth.middleware import ExceptionMiddleware
+from common.djangoapps.third_party_auth.tests.testutil import TestCase
 
 
 class ThirdPartyAuthMiddlewareTestCase(TestCase):
diff --git a/common/djangoapps/third_party_auth/tests/test_pipeline.py b/common/djangoapps/third_party_auth/tests/test_pipeline.py
index de2da31874d943cd05953c37fdcaaab22ba17aba..876ae969f91e7b121624ddd3f828dcbb0d7ddfb7 100644
--- a/common/djangoapps/third_party_auth/tests/test_pipeline.py
+++ b/common/djangoapps/third_party_auth/tests/test_pipeline.py
@@ -7,12 +7,12 @@ import unittest
 import ddt
 import mock
 
-from third_party_auth import pipeline
-from third_party_auth.tests import testutil
-from third_party_auth.tests.specs.base import IntegrationTestMixin
-from third_party_auth.tests.specs.test_testshib import SamlIntegrationTestUtilities
-from third_party_auth.tests.testutil import simulate_running_pipeline
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.specs.base import IntegrationTestMixin
+from common.djangoapps.third_party_auth.tests.specs.test_testshib import SamlIntegrationTestUtilities
+from common.djangoapps.third_party_auth.tests.testutil import simulate_running_pipeline
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 
 
 @skip_unless_thirdpartyauth()
@@ -50,7 +50,7 @@ class ProviderUserStateTestCase(testutil.TestCase):
                 "idp_name": idp_slug
             }
         }
-        with simulate_running_pipeline("third_party_auth.pipeline", backend_name, **kwargs):
+        with simulate_running_pipeline("common.djangoapps.third_party_auth.pipeline", backend_name, **kwargs):
             logout_url = pipeline.get_idp_logout_url_from_running_pipeline(request)
             self.assertEqual(idp_config['logout_url'], logout_url)
 
@@ -82,7 +82,7 @@ class PipelineOverridesTest(SamlIntegrationTestUtilities, IntegrationTestMixin,
         ('usernamewithcharacterlengthofmorethan30chars', 'usernamewithcharacterlengt9fe2', True),
     )
     @ddt.unpack
-    @mock.patch('third_party_auth.pipeline.user_exists')
+    @mock.patch('common.djangoapps.third_party_auth.pipeline.user_exists')
     def test_get_username_in_pipeline(self, idp_username, expected_username, already_exists, mock_user_exists):
         """
         Test get_username method of running pipeline
@@ -93,7 +93,7 @@ class PipelineOverridesTest(SamlIntegrationTestUtilities, IntegrationTestMixin,
         }
         mock_user_exists.side_effect = [already_exists, False]
         __, strategy = self.get_request_and_strategy()
-        with mock.patch('third_party_auth.pipeline.uuid4') as mock_uuid:
+        with mock.patch('common.djangoapps.third_party_auth.pipeline.uuid4') as mock_uuid:
             uuid4 = mock.Mock()
             type(uuid4).hex = mock.PropertyMock(return_value='9fe2c4e93f654fdbb24c02b15259716c')
             mock_uuid.return_value = uuid4
diff --git a/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py b/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py
index 782e805de4f93a090c9ec77c6db261c4938f09af..a182a669d98d7890bc49fc639059ebd4efa5a9c4 100644
--- a/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py
+++ b/common/djangoapps/third_party_auth/tests/test_pipeline_integration.py
@@ -13,10 +13,10 @@ from django.core import mail
 from social_django import models as social_models
 
 from lms.djangoapps.verify_student.models import SSOVerification
-from student.tests.factories import UserFactory
-from third_party_auth import pipeline, provider
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth import pipeline, provider
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 # Get Django User model by reference from python-social-auth. Not a type
 # constant, pylint.
 User = social_models.DjangoStorage.user.user_model()  # pylint: disable=invalid-name
@@ -239,7 +239,7 @@ class TestPipelineUtilityFunctions(TestCase):
             }
         }
 
-        with mock.patch('third_party_auth.pipeline.get') as get_pipeline:
+        with mock.patch('common.djangoapps.third_party_auth.pipeline.get') as get_pipeline:
             get_pipeline.return_value = pipeline_partial
             real_social = pipeline.get_real_social_auth_object(request)
             self.assertEqual(real_social, self.social_auth)
@@ -256,7 +256,7 @@ class TestPipelineUtilityFunctions(TestCase):
             }
         }
 
-        with mock.patch('third_party_auth.pipeline.get') as get_pipeline:
+        with mock.patch('common.djangoapps.third_party_auth.pipeline.get') as get_pipeline:
             get_pipeline.return_value = pipeline_partial
             real_social = pipeline.get_real_social_auth_object(request)
             self.assertEqual(real_social, self.social_auth)
@@ -330,7 +330,7 @@ class EnsureUserInformationTestCase(TestCase):
             skip_email_verification=False
         )
 
-        with mock.patch('third_party_auth.pipeline.provider.Registry.get_from_pipeline') as get_from_pipeline:
+        with mock.patch('common.djangoapps.third_party_auth.pipeline.provider.Registry.get_from_pipeline') as get_from_pipeline:
             get_from_pipeline.return_value = provider
             with mock.patch('social_core.pipeline.partial.partial_prepare') as partial_prepare:
                 partial_prepare.return_value = mock.MagicMock(token='')
@@ -363,10 +363,10 @@ class EnsureUserInformationTestCase(TestCase):
             send_to_registration_first=True,
             skip_email_verification=False
         )
-        with mock.patch('third_party_auth.pipeline.provider.Registry.get_from_pipeline') as get_from_pipeline:
+        with mock.patch('common.djangoapps.third_party_auth.pipeline.provider.Registry.get_from_pipeline') as get_from_pipeline:
             get_from_pipeline.return_value = saml_provider
             with mock.patch(
-                'third_party_auth.pipeline.provider.Registry.get_enabled_by_backend_name'
+                'common.djangoapps.third_party_auth.pipeline.provider.Registry.get_enabled_by_backend_name'
             ) as enabled_saml_providers:
                 enabled_saml_providers.return_value = [saml_provider, ] if is_saml else []
                 with mock.patch('social_core.pipeline.partial.partial_prepare') as partial_prepare:
@@ -404,7 +404,7 @@ class UserDetailsForceSyncTestCase(TestCase):
         self.strategy = mock.MagicMock()
         self.strategy.storage.user.changed.side_effect = lambda user: user.save()
 
-        get_from_pipeline = mock.patch('third_party_auth.pipeline.provider.Registry.get_from_pipeline')
+        get_from_pipeline = mock.patch('common.djangoapps.third_party_auth.pipeline.provider.Registry.get_from_pipeline')
         self.get_from_pipeline = get_from_pipeline.start()
         self.get_from_pipeline.return_value = mock.MagicMock(sync_learner_profile_data=True)
         self.addCleanup(get_from_pipeline.stop)
@@ -493,7 +493,7 @@ class SetIDVerificationStatusTestCase(TestCase):
     def setUp(self):
         super(SetIDVerificationStatusTestCase, self).setUp()
         self.user = UserFactory.create()
-        self.provider_class_name = 'third_party_auth.models.SAMLProviderConfig'
+        self.provider_class_name = 'common.djangoapps.third_party_auth.models.SAMLProviderConfig'
         self.provider_slug = 'default'
         self.details = {}
 
@@ -501,7 +501,7 @@ class SetIDVerificationStatusTestCase(TestCase):
         self.strategy = mock.MagicMock()
         self.strategy.storage.user.changed.side_effect = lambda user: user.save()
 
-        get_from_pipeline = mock.patch('third_party_auth.pipeline.provider.Registry.get_from_pipeline')
+        get_from_pipeline = mock.patch('common.djangoapps.third_party_auth.pipeline.provider.Registry.get_from_pipeline')
         self.get_from_pipeline = get_from_pipeline.start()
         self.get_from_pipeline.return_value = mock.MagicMock(
             enable_sso_id_verification=True,
@@ -565,7 +565,7 @@ class SetIDVerificationStatusTestCase(TestCase):
             identity_provider_slug=self.provider_slug,
         )
 
-        with mock.patch('third_party_auth.pipeline.earliest_allowed_verification_date') as earliest_date:
+        with mock.patch('common.djangoapps.third_party_auth.pipeline.earliest_allowed_verification_date') as earliest_date:
             earliest_date.return_value = datetime.datetime.now(pytz.UTC) + datetime.timedelta(days=1)
             # Begin the pipeline.
             pipeline.set_id_verification_status(
diff --git a/common/djangoapps/third_party_auth/tests/test_provider.py b/common/djangoapps/third_party_auth/tests/test_provider.py
index d9d945ddd875ec1d9f2b003a0929d2cae865053d..766b1e6736e4efd5943307da03e3ea110a489c59 100644
--- a/common/djangoapps/third_party_auth/tests/test_provider.py
+++ b/common/djangoapps/third_party_auth/tests/test_provider.py
@@ -10,9 +10,9 @@ from django.test.utils import CaptureQueriesContext
 from mock import Mock, patch
 
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration
-from third_party_auth import provider
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth import provider
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 SITE_DOMAIN_A = 'professionalx.example.com'
 SITE_DOMAIN_B = 'somethingelse.example.com'
 
@@ -75,7 +75,7 @@ class RegistryTest(testutil.TestCase):
             backend_names.append(backend_name)
             self.configure_oauth_provider(enabled=True, name=name, backend_name=backend_name)
 
-        with patch('third_party_auth.provider._PSA_OAUTH2_BACKENDS', backend_names):
+        with patch('common.djangoapps.third_party_auth.provider._PSA_OAUTH2_BACKENDS', backend_names):
             self.assertEqual(sorted(provider_names), [prov.name for prov in provider.Registry.enabled()])
 
     def test_enabled_doesnt_query_site(self):
diff --git a/common/djangoapps/third_party_auth/tests/test_saml.py b/common/djangoapps/third_party_auth/tests/test_saml.py
index 7579b5e0cea32a4653f2667e6c1db4c55a025f1a..e40be8132b2bc720dd712891f225422953b46606 100644
--- a/common/djangoapps/third_party_auth/tests/test_saml.py
+++ b/common/djangoapps/third_party_auth/tests/test_saml.py
@@ -5,20 +5,20 @@ Unit tests for third_party_auth SAML auth providers
 
 import mock
 
-from third_party_auth.saml import EdXSAMLIdentityProvider, get_saml_idp_class
-from third_party_auth.tests.data.saml_identity_provider_mock_data import (
+from common.djangoapps.third_party_auth.saml import EdXSAMLIdentityProvider, get_saml_idp_class
+from common.djangoapps.third_party_auth.tests.data.saml_identity_provider_mock_data import (
     expected_user_details,
     mock_attributes,
     mock_conf
 )
-from third_party_auth.tests.testutil import SAMLTestCase
+from common.djangoapps.third_party_auth.tests.testutil import SAMLTestCase
 
 
 class TestEdXSAMLIdentityProvider(SAMLTestCase):
     """
         Test EdXSAMLIdentityProvider.
     """
-    @mock.patch('third_party_auth.saml.log')
+    @mock.patch('common.djangoapps.third_party_auth.saml.log')
     def test_get_saml_idp_class_with_fake_identifier(self, log_mock):
         error_mock = log_mock.error
         idp_class = get_saml_idp_class('fake_idp_class_option')
diff --git a/common/djangoapps/third_party_auth/tests/test_settings.py b/common/djangoapps/third_party_auth/tests/test_settings.py
index c7721fa078590d9a48af8e7ed27a2877ed774d68..29a02b6aea052772c09be73e75239fd3258bda71 100644
--- a/common/djangoapps/third_party_auth/tests/test_settings.py
+++ b/common/djangoapps/third_party_auth/tests/test_settings.py
@@ -4,9 +4,9 @@
 import unittest
 
 from mock import patch
-from third_party_auth import provider, settings
-from third_party_auth.tests import testutil
-from third_party_auth.tests.utils import skip_unless_thirdpartyauth
+from common.djangoapps.third_party_auth import provider, settings
+from common.djangoapps.third_party_auth.tests import testutil
+from common.djangoapps.third_party_auth.tests.utils import skip_unless_thirdpartyauth
 _ORIGINAL_AUTHENTICATION_BACKENDS = ['first_authentication_backend']
 _ORIGINAL_INSTALLED_APPS = ['first_installed_app']
 _ORIGINAL_MIDDLEWARE_CLASSES = ['first_middleware_class']
@@ -37,7 +37,7 @@ class SettingsUnitTest(testutil.TestCase):
 
     def test_apply_settings_adds_exception_middleware(self):
         settings.apply_settings(self.settings)
-        self.assertIn('third_party_auth.middleware.ExceptionMiddleware', self.settings.MIDDLEWARE)
+        self.assertIn('common.djangoapps.third_party_auth.middleware.ExceptionMiddleware', self.settings.MIDDLEWARE)
 
     def test_apply_settings_adds_fields_stored_in_session(self):
         settings.apply_settings(self.settings)
diff --git a/common/djangoapps/third_party_auth/tests/test_utils.py b/common/djangoapps/third_party_auth/tests/test_utils.py
index 7d18e64e7e3a86b671df0d6cb8530091b17f923c..ada897d320fe4bdb417f201a8c6cfc30d17956fa 100644
--- a/common/djangoapps/third_party_auth/tests/test_utils.py
+++ b/common/djangoapps/third_party_auth/tests/test_utils.py
@@ -7,9 +7,9 @@ import unittest
 
 from django.conf import settings
 
-from student.tests.factories import UserFactory
-from third_party_auth.tests.testutil import TestCase
-from third_party_auth.utils import user_exists, convert_saml_slug_provider_id
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.tests.testutil import TestCase
+from common.djangoapps.third_party_auth.utils import user_exists, convert_saml_slug_provider_id
 
 
 @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
diff --git a/common/djangoapps/third_party_auth/tests/test_views.py b/common/djangoapps/third_party_auth/tests/test_views.py
index 7bc3248161ef9ebb98a02115f98ac7711aefee65..642d24d57dca84df353a7e27421603c723a8a5b7 100644
--- a/common/djangoapps/third_party_auth/tests/test_views.py
+++ b/common/djangoapps/third_party_auth/tests/test_views.py
@@ -11,9 +11,9 @@ from django.urls import reverse
 from lxml import etree
 from onelogin.saml2.errors import OneLogin_Saml2_Error
 
-from third_party_auth import pipeline
+from common.djangoapps.third_party_auth import pipeline
 # Define some XML namespaces:
-from third_party_auth.tasks import SAML_XML_NS
+from common.djangoapps.third_party_auth.tasks import SAML_XML_NS
 
 from .testutil import AUTH_FEATURE_ENABLED, AUTH_FEATURES_KEY, SAMLTestCase
 
diff --git a/common/djangoapps/third_party_auth/tests/testutil.py b/common/djangoapps/third_party_auth/tests/testutil.py
index dbe8082cc56fe1cf7683b208deb57f8115095eb4..4448c2d35099a43ad528ad49ca76c4bf6fb14e55 100644
--- a/common/djangoapps/third_party_auth/tests/testutil.py
+++ b/common/djangoapps/third_party_auth/tests/testutil.py
@@ -19,13 +19,13 @@ from oauth2_provider.models import Application
 from openedx.core.djangolib.testing.utils import CacheIsolationMixin
 from openedx.core.storage import OverwriteStorage
 
-from third_party_auth.models import (
+from common.djangoapps.third_party_auth.models import (
     LTIProviderConfig,
     OAuth2ProviderConfig,
     SAMLConfiguration,
     SAMLProviderConfig
 )
-from third_party_auth.models import cache as config_cache
+from common.djangoapps.third_party_auth.models import cache as config_cache
 
 AUTH_FEATURES_KEY = 'ENABLE_THIRD_PARTY_AUTH'
 AUTH_FEATURE_ENABLED = AUTH_FEATURES_KEY in settings.FEATURES
@@ -228,7 +228,7 @@ def simulate_running_pipeline(pipeline_target, backend, email=None, fullname=Non
     so you will need to provide the "target" module *as it is imported*
     in the software under test.  For example, if `foo/bar.py` does this:
 
-    >>> from third_party_auth import pipeline
+    >>> from common.djangoapps.third_party_auth import pipeline
 
     then you will need to do something like this:
 
@@ -237,7 +237,7 @@ def simulate_running_pipeline(pipeline_target, backend, email=None, fullname=Non
 
     If, on the other hand, `foo/bar.py` had done this:
 
-    >>> import third_party_auth
+    >>> from common.djangoapps import third_party_auth
 
     then you would use the target "foo.bar.third_party_auth.pipeline" instead.
 
diff --git a/common/djangoapps/third_party_auth/tests/utils.py b/common/djangoapps/third_party_auth/tests/utils.py
index b6c3afae1052016aaadd8809d2623cbe4a6b5f11..cfdd9899112cceb7888a1438985649f0d137005f 100644
--- a/common/djangoapps/third_party_auth/tests/utils.py
+++ b/common/djangoapps/third_party_auth/tests/utils.py
@@ -12,7 +12,7 @@ from social_core.backends.facebook import API_VERSION as FACEBOOK_API_VERSION
 from social_core.backends.facebook import FacebookOAuth2
 from social_django.models import Partial, UserSocialAuth
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from .testutil import ThirdPartyAuthTestMixin, AUTH_FEATURE_ENABLED, AUTH_FEATURES_KEY
 
diff --git a/common/djangoapps/third_party_auth/urls.py b/common/djangoapps/third_party_auth/urls.py
index d123bf3855e31bed6ce0f7ac382453f56390b687..4a90ef174f0f3934bc571093ee16d87145d07aa4 100644
--- a/common/djangoapps/third_party_auth/urls.py
+++ b/common/djangoapps/third_party_auth/urls.py
@@ -17,7 +17,7 @@ urlpatterns = [
     url(r'^auth/login/(?P<backend>lti)/$', lti_login_and_complete_view),
     url(r'^auth/idp_redirect/(?P<provider_slug>[\w-]+)', IdPRedirectView.as_view(), name="idp_redirect"),
     url(r'^auth/', include('social_django.urls', namespace='social')),
-    url(r'^auth/saml/v0/', include('third_party_auth.samlproviderconfig.urls')),
-    url(r'^auth/saml/v0/', include('third_party_auth.samlproviderdata.urls')),
-    url(r'^auth/saml/v0/', include('third_party_auth.saml_configuration.urls')),
+    url(r'^auth/saml/v0/', include('common.djangoapps.third_party_auth.samlproviderconfig.urls')),
+    url(r'^auth/saml/v0/', include('common.djangoapps.third_party_auth.samlproviderdata.urls')),
+    url(r'^auth/saml/v0/', include('common.djangoapps.third_party_auth.saml_configuration.urls')),
 ]
diff --git a/common/djangoapps/third_party_auth/views.py b/common/djangoapps/third_party_auth/views.py
index f1d0d306b9ccd35d26635bcaecddffd26915d1a9..c1b52b0305bf9e10280d71b9e9de0f674d3ead2b 100644
--- a/common/djangoapps/third_party_auth/views.py
+++ b/common/djangoapps/third_party_auth/views.py
@@ -13,11 +13,11 @@ from social_core.utils import setting_name
 from social_django.utils import load_backend, load_strategy, psa
 from social_django.views import complete
 
-import third_party_auth
-from student.helpers import get_next_url_for_login_page
-from student.models import UserProfile
-from student.views import compose_and_send_activation_email
-from third_party_auth import pipeline, provider
+from common.djangoapps import third_party_auth
+from common.djangoapps.student.helpers import get_next_url_for_login_page
+from common.djangoapps.student.models import UserProfile
+from common.djangoapps.student.views import compose_and_send_activation_email
+from common.djangoapps.third_party_auth import pipeline, provider
 
 from .models import SAMLConfiguration, SAMLProviderConfig
 
diff --git a/common/djangoapps/track/backends/logger.py b/common/djangoapps/track/backends/logger.py
index baec3bbb2f1786f93dcee91ee3725aae6d8d2231..5647584baffeaf2dd90e6ff34e8bd9f4936c1092 100644
--- a/common/djangoapps/track/backends/logger.py
+++ b/common/djangoapps/track/backends/logger.py
@@ -6,11 +6,11 @@ import logging
 
 from django.conf import settings
 
-from track.backends import BaseBackend
-from track.utils import DateTimeJSONEncoder
+from common.djangoapps.track.backends import BaseBackend
+from common.djangoapps.track.utils import DateTimeJSONEncoder
 
-log = logging.getLogger('track.backends.logger')
-application_log = logging.getLogger('track.backends.application_log')  # pylint: disable=invalid-name
+log = logging.getLogger('common.djangoapps.track.backends.logger')
+application_log = logging.getLogger('common.djangoapps.track.backends.application_log')  # pylint: disable=invalid-name
 
 
 class LoggerBackend(BaseBackend):
diff --git a/common/djangoapps/track/backends/mongodb.py b/common/djangoapps/track/backends/mongodb.py
index 07687eae98999f9a51198bda2a8a3b3643343edc..5aaa12ecd583b3169ac67d97c664e46a1f79e463 100644
--- a/common/djangoapps/track/backends/mongodb.py
+++ b/common/djangoapps/track/backends/mongodb.py
@@ -8,7 +8,7 @@ from bson.errors import BSONError
 from pymongo import MongoClient
 from pymongo.errors import PyMongoError
 
-from track.backends import BaseBackend
+from common.djangoapps.track.backends import BaseBackend
 
 log = logging.getLogger(__name__)
 
diff --git a/common/djangoapps/track/backends/tests/test_logger.py b/common/djangoapps/track/backends/tests/test_logger.py
index 0e8564ea609528dc344a5b36bcc2db8dde42fee1..a490777c0f2a583e19dcae0a860555b7fbb3b277 100644
--- a/common/djangoapps/track/backends/tests/test_logger.py
+++ b/common/djangoapps/track/backends/tests/test_logger.py
@@ -6,7 +6,7 @@ import datetime
 import json
 import logging
 
-from track.backends.logger import LoggerBackend
+from common.djangoapps.track.backends.logger import LoggerBackend
 
 
 def test_logger_backend(caplog):
@@ -15,7 +15,7 @@ def test_logger_backend(caplog):
     by the logger. The events are serialized to JSON.
     """
     caplog.set_level(logging.INFO)
-    logger_name = 'track.backends.logger.test'
+    logger_name = 'common.djangoapps.track.backends.logger.test'
     backend = LoggerBackend(name=logger_name)
     event = {
         'test': True,
diff --git a/common/djangoapps/track/backends/tests/test_mongodb.py b/common/djangoapps/track/backends/tests/test_mongodb.py
index a73b06e01374198a522e0cda3c5fc711e8d13992..62582c3b7f9b2b2436b9cb27269b3cf62737f37e 100644
--- a/common/djangoapps/track/backends/tests/test_mongodb.py
+++ b/common/djangoapps/track/backends/tests/test_mongodb.py
@@ -3,13 +3,13 @@
 from django.test import TestCase
 from mock import patch
 
-from track.backends.mongodb import MongoBackend
+from common.djangoapps.track.backends.mongodb import MongoBackend
 
 
 class TestMongoBackend(TestCase):
     def setUp(self):
         super(TestMongoBackend, self).setUp()
-        self.mongo_patcher = patch('track.backends.mongodb.MongoClient')
+        self.mongo_patcher = patch('common.djangoapps.track.backends.mongodb.MongoClient')
         self.mongo_patcher.start()
         self.addCleanup(self.mongo_patcher.stop)
 
diff --git a/common/djangoapps/track/management/commands/tracked_dummy_command.py b/common/djangoapps/track/management/commands/tracked_dummy_command.py
index f3fa95e711904459b42eaf3b7ee21428079f6826..e758c422dd552daf880571aa918da3d5e6742653 100644
--- a/common/djangoapps/track/management/commands/tracked_dummy_command.py
+++ b/common/djangoapps/track/management/commands/tracked_dummy_command.py
@@ -8,7 +8,7 @@ from textwrap import dedent
 
 from eventtracking import tracker as eventtracker
 
-from track.management.tracked_command import TrackedCommand
+from common.djangoapps.track.management.tracked_command import TrackedCommand
 
 
 class Command(TrackedCommand):
diff --git a/common/djangoapps/track/middleware.py b/common/djangoapps/track/middleware.py
index 6e8abb96cb37577cde42dba95bb31fe97c30ab47..4bdc1627b1a06cd45bd74414a819e8e91d4670b0 100644
--- a/common/djangoapps/track/middleware.py
+++ b/common/djangoapps/track/middleware.py
@@ -19,7 +19,7 @@ from django.utils.deprecation import MiddlewareMixin
 from eventtracking import tracker
 from ipware.ip import get_ip
 
-from track import contexts, views
+from common.djangoapps.track import contexts, views
 
 log = logging.getLogger(__name__)
 
diff --git a/common/djangoapps/track/segment.py b/common/djangoapps/track/segment.py
index 9bcbf6ffae02377b781eae6a7627f9272df311b6..b55cc7b34dbbd2b71dd7ee477e055a36f9a2bd41 100644
--- a/common/djangoapps/track/segment.py
+++ b/common/djangoapps/track/segment.py
@@ -5,7 +5,7 @@ These take advantage of properties that are extracted from incoming requests by
 stored in tracking context objects, and extracted here to be passed to Segment as part of context
 required by server-side events.
 
-To use, call "from track import segment", then call segment.track() or segment.identify().
+To use, call "from common.djangoapps.track import segment", then call segment.track() or segment.identify().
 
 """
 
diff --git a/common/djangoapps/track/tests/__init__.py b/common/djangoapps/track/tests/__init__.py
index 2cf19ca9a47f76d825d074b08be51ae2473aef17..09d795f24cbe55fe9f010a8df918f4443cf2633c 100644
--- a/common/djangoapps/track/tests/__init__.py
+++ b/common/djangoapps/track/tests/__init__.py
@@ -13,7 +13,7 @@ from pytz import UTC
 FROZEN_TIME = datetime(2013, 10, 3, 8, 24, 55, tzinfo=UTC)
 IN_MEMORY_BACKEND_CONFIG = {
     'mem': {
-        'ENGINE': 'track.tests.InMemoryBackend'
+        'ENGINE': 'common.djangoapps.track.tests.InMemoryBackend'
     }
 }
 
diff --git a/common/djangoapps/track/tests/test_contexts.py b/common/djangoapps/track/tests/test_contexts.py
index c1fad8838cba555e29b2ec605775005b56ee56ee..81b0b74f879a5c791c7894b6451a2d3435f0c7bd 100644
--- a/common/djangoapps/track/tests/test_contexts.py
+++ b/common/djangoapps/track/tests/test_contexts.py
@@ -2,7 +2,7 @@ from unittest import TestCase
 
 import ddt
 
-from track import contexts
+from common.djangoapps.track import contexts
 
 
 @ddt.ddt
diff --git a/common/djangoapps/track/tests/test_middleware.py b/common/djangoapps/track/tests/test_middleware.py
index 7de0cda2f75008e5ae0730cd8d320fbe869bcc7f..62f910b9cd505c04e5cff104f5bf912df0715c13 100644
--- a/common/djangoapps/track/tests/test_middleware.py
+++ b/common/djangoapps/track/tests/test_middleware.py
@@ -12,7 +12,7 @@ from django.test.utils import override_settings
 from eventtracking import tracker
 from mock import patch, sentinel
 
-from track.middleware import TrackMiddleware
+from common.djangoapps.track.middleware import TrackMiddleware
 
 
 @ddt.ddt
@@ -24,7 +24,7 @@ class TrackMiddlewareTestCase(TestCase):
         self.track_middleware = TrackMiddleware()
         self.request_factory = RequestFactory()
 
-        patcher = patch('track.views.server_track')
+        patcher = patch('common.djangoapps.track.views.server_track')
         self.mock_server_track = patcher.start()
         self.addCleanup(patcher.stop)
 
diff --git a/common/djangoapps/track/tests/test_segment.py b/common/djangoapps/track/tests/test_segment.py
index 5afc38660b2ad3d57329a52059a0006e1ac74999..b1e50e589dc6153b87ea31a24c9ceed3011bcc59 100644
--- a/common/djangoapps/track/tests/test_segment.py
+++ b/common/djangoapps/track/tests/test_segment.py
@@ -8,7 +8,7 @@ from eventtracking import tracker
 from eventtracking.django import DjangoTracker
 from mock import patch, sentinel
 
-from track import segment
+from common.djangoapps.track import segment
 
 
 @ddt.ddt
@@ -21,7 +21,7 @@ class SegmentTrackTestCase(TestCase):
         tracker.register_tracker(self.tracker)
         self.properties = {sentinel.key: sentinel.value}
 
-        patcher = patch('track.segment.analytics.track')
+        patcher = patch('common.djangoapps.track.segment.analytics.track')
         self.mock_segment_track = patcher.start()
         self.addCleanup(patcher.stop)
 
@@ -120,7 +120,7 @@ class SegmentIdentifyTestCase(TestCase):
 
     def setUp(self):
         super(SegmentIdentifyTestCase, self).setUp()
-        patcher = patch('track.segment.analytics.identify')
+        patcher = patch('common.djangoapps.track.segment.analytics.identify')
         self.mock_segment_identify = patcher.start()
         self.addCleanup(patcher.stop)
         self.properties = {sentinel.key: sentinel.value}
diff --git a/common/djangoapps/track/tests/test_shim.py b/common/djangoapps/track/tests/test_shim.py
index af52b2ff9198eef5a15ddf530fe9bb434a17d0d0..5de5669b11886c1d79f8672f3bc7a75245f5c216 100644
--- a/common/djangoapps/track/tests/test_shim.py
+++ b/common/djangoapps/track/tests/test_shim.py
@@ -15,13 +15,13 @@ from . import FROZEN_TIME, EventTrackingTestCase
 
 LEGACY_SHIM_PROCESSOR = [
     {
-        'ENGINE': 'track.shim.LegacyFieldMappingProcessor'
+        'ENGINE': 'common.djangoapps.track.shim.LegacyFieldMappingProcessor'
     }
 ]
 
 GOOGLE_ANALYTICS_PROCESSOR = [
     {
-        'ENGINE': 'track.shim.GoogleAnalyticsProcessor'
+        'ENGINE': 'common.djangoapps.track.shim.GoogleAnalyticsProcessor'
     }
 ]
 
@@ -163,11 +163,11 @@ class GoogleAnalyticsProcessorTestCase(EventTrackingTestCase):
             'ENGINE': 'eventtracking.backends.routing.RoutingBackend',
             'OPTIONS': {
                 'backends': {
-                    'first': {'ENGINE': 'track.tests.InMemoryBackend'}
+                    'first': {'ENGINE': 'common.djangoapps.track.tests.InMemoryBackend'}
                 },
                 'processors': [
                     {
-                        'ENGINE': 'track.shim.GoogleAnalyticsProcessor'
+                        'ENGINE': 'common.djangoapps.track.shim.GoogleAnalyticsProcessor'
                     }
                 ]
             }
@@ -177,7 +177,7 @@ class GoogleAnalyticsProcessorTestCase(EventTrackingTestCase):
             'OPTIONS': {
                 'backends': {
                     'second': {
-                        'ENGINE': 'track.tests.InMemoryBackend'
+                        'ENGINE': 'common.djangoapps.track.tests.InMemoryBackend'
                     }
                 }
             }
diff --git a/common/djangoapps/track/tests/test_tracker.py b/common/djangoapps/track/tests/test_tracker.py
index 77b3afc87cc482565e9cf2fbd3ca2336252b1b37..db7762919b891ede01df4ce2e97fb411ba6682e6 100644
--- a/common/djangoapps/track/tests/test_tracker.py
+++ b/common/djangoapps/track/tests/test_tracker.py
@@ -5,12 +5,12 @@ from django.test import TestCase
 from django.test.utils import override_settings
 from six.moves import range
 
-import track.tracker as tracker
-from track.backends import BaseBackend
+from common.djangoapps.track import tracker
+from common.djangoapps.track.backends import BaseBackend
 
 SIMPLE_SETTINGS = {
     'default': {
-        'ENGINE': 'track.tests.test_tracker.DummyBackend',
+        'ENGINE': 'common.djangoapps.track.tests.test_tracker.DummyBackend',
         'OPTIONS': {
             'flag': True
         }
@@ -19,10 +19,10 @@ SIMPLE_SETTINGS = {
 
 MULTI_SETTINGS = {
     'first': {
-        'ENGINE': 'track.tests.test_tracker.DummyBackend',
+        'ENGINE': 'common.djangoapps.track.tests.test_tracker.DummyBackend',
     },
     'second': {
-        'ENGINE': 'track.tests.test_tracker.DummyBackend',
+        'ENGINE': 'common.djangoapps.track.tests.test_tracker.DummyBackend',
     }
 }
 
@@ -35,7 +35,7 @@ class TestTrackerInstantiation(TestCase):
         self.get_backend = tracker._instantiate_backend_from_name
 
     def test_instatiate_backend(self):
-        name = 'track.tests.test_tracker.DummyBackend'
+        name = 'common.djangoapps.track.tests.test_tracker.DummyBackend'
         options = {'flag': True}
         backend = self.get_backend(name, options)
 
@@ -47,10 +47,10 @@ class TestTrackerInstantiation(TestCase):
             return self.get_backend(name, parameters)
 
         options = {}
-        name = 'track.backends.logger'
+        name = 'common.djangoapps.track.backends.logger'
         self.assertRaises(ValueError, get_invalid_backend, name, options)
 
-        name = 'track.backends.logger.Foo'
+        name = 'common.djangoapps.track.backends.logger.Foo'
         self.assertRaises(ValueError, get_invalid_backend, name, options)
 
         name = 'this.package.does.not.exists'
diff --git a/common/djangoapps/track/tests/test_util.py b/common/djangoapps/track/tests/test_util.py
index a543acbadf9fa73009bf4cab82ff170878d5e12d..8f213a157e4501c05e7397a6ec2c3c1174978443 100644
--- a/common/djangoapps/track/tests/test_util.py
+++ b/common/djangoapps/track/tests/test_util.py
@@ -6,7 +6,7 @@ from datetime import datetime
 from django.test import TestCase
 from pytz import UTC
 
-from track.utils import DateTimeJSONEncoder
+from common.djangoapps.track.utils import DateTimeJSONEncoder
 
 
 class TestDateTimeJSONEncoder(TestCase):
diff --git a/common/djangoapps/track/tracker.py b/common/djangoapps/track/tracker.py
index 67cd9d33fedd34ff59dc8a94755b258684eff0cd..20fd1004edbf9339626086c197f990918e23db1f 100644
--- a/common/djangoapps/track/tracker.py
+++ b/common/djangoapps/track/tracker.py
@@ -27,7 +27,7 @@ from importlib import import_module
 import six
 from django.conf import settings
 
-from track.backends import BaseBackend
+from common.djangoapps.track.backends import BaseBackend
 
 __all__ = ['send']
 
diff --git a/common/djangoapps/track/urls.py b/common/djangoapps/track/urls.py
index ab0855679269bd7502ae4d7650222b4e02dfec5b..47f25899567dbcdca45477a5d457cf48b50975c8 100644
--- a/common/djangoapps/track/urls.py
+++ b/common/djangoapps/track/urls.py
@@ -6,10 +6,10 @@ URLs for track app
 from django.conf import settings
 from django.conf.urls import url
 
-import track.views
-import track.views.segmentio
+from . import views
+from .views import segmentio
 
 urlpatterns = [
-    url(r'^event$', track.views.user_track),
-    url(r'^segmentio/event$', track.views.segmentio.segmentio_event),
+    url(r'^event$', views.user_track),
+    url(r'^segmentio/event$', segmentio.segmentio_event),
 ]
diff --git a/common/djangoapps/track/views/__init__.py b/common/djangoapps/track/views/__init__.py
index dd975e3b2c15ebf437824ea3760c9b9233e9d52e..419c4461ba5ab14947c1f62f0e3c2c4cbfc4cfd2 100644
--- a/common/djangoapps/track/views/__init__.py
+++ b/common/djangoapps/track/views/__init__.py
@@ -8,7 +8,7 @@ from django.http import HttpResponse
 from eventtracking import tracker as eventtracker
 from ipware.ip import get_ip
 
-from track import contexts, shim, tracker
+from common.djangoapps.track import contexts, shim, tracker
 
 
 def _get_request_header(request, header_name, default=''):
diff --git a/common/djangoapps/track/views/segmentio.py b/common/djangoapps/track/views/segmentio.py
index 534323c83ea025fe48d8932c9176c7724a87aaea..87c84cd60dee4bdcda9816bc05eda1a0dd697d35 100644
--- a/common/djangoapps/track/views/segmentio.py
+++ b/common/djangoapps/track/views/segmentio.py
@@ -14,7 +14,7 @@ from eventtracking import tracker
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from util.json_request import expect_json
+from common.djangoapps.util.json_request import expect_json
 
 log = logging.getLogger(__name__)
 
diff --git a/common/djangoapps/track/views/tests/base.py b/common/djangoapps/track/views/tests/base.py
index 5709b539352f62dde12e7b6aabb6c6059fe4cec9..b9597b47532461d7e1f16f573f0ce382714aa54e 100644
--- a/common/djangoapps/track/views/tests/base.py
+++ b/common/djangoapps/track/views/tests/base.py
@@ -10,16 +10,16 @@ from django.test.client import RequestFactory
 from django.test.utils import override_settings
 from mock import sentinel
 
-from track.tests import EventTrackingTestCase
-from track.views import segmentio
+from common.djangoapps.track.tests import EventTrackingTestCase
+from common.djangoapps.track.views import segmentio
 
 SEGMENTIO_TEST_SECRET = 'anything'
 SEGMENTIO_TEST_ENDPOINT = '/segmentio/test/event'
 SEGMENTIO_TEST_USER_ID = 10
 
 _MOBILE_SHIM_PROCESSOR = [
-    {'ENGINE': 'track.shim.LegacyFieldMappingProcessor'},
-    {'ENGINE': 'track.shim.PrefixedEventProcessor'},
+    {'ENGINE': 'common.djangoapps.track.shim.LegacyFieldMappingProcessor'},
+    {'ENGINE': 'common.djangoapps.track.shim.PrefixedEventProcessor'},
 ]
 
 
diff --git a/common/djangoapps/track/views/tests/test_segmentio.py b/common/djangoapps/track/views/tests/test_segmentio.py
index 640f55e73e602ca1d5c60c999608b77f2ae3f1eb..dd84673d2f6e9e4fa89b545e8d6bb8d4678e51fb 100644
--- a/common/djangoapps/track/views/tests/test_segmentio.py
+++ b/common/djangoapps/track/views/tests/test_segmentio.py
@@ -10,9 +10,9 @@ from django.test.utils import override_settings
 from mock import sentinel
 
 from openedx.core.lib.tests.assertions.events import assert_event_matches
-from track.middleware import TrackMiddleware
-from track.views import segmentio
-from track.views.tests.base import SEGMENTIO_TEST_ENDPOINT, SEGMENTIO_TEST_USER_ID, SegmentIOTrackingTestCaseBase
+from common.djangoapps.track.middleware import TrackMiddleware
+from common.djangoapps.track.views import segmentio
+from common.djangoapps.track.views.tests.base import SEGMENTIO_TEST_ENDPOINT, SEGMENTIO_TEST_USER_ID, SegmentIOTrackingTestCaseBase
 
 
 def expect_failure_with_message(message):
diff --git a/common/djangoapps/track/views/tests/test_views.py b/common/djangoapps/track/views/tests/test_views.py
index c9cb595b75c0b2b2b89738e0f325bea63671c5b8..14a8cc8bb68f4cd8ada9c7ec56dc0f3430a1b146 100644
--- a/common/djangoapps/track/views/tests/test_views.py
+++ b/common/djangoapps/track/views/tests/test_views.py
@@ -6,9 +6,9 @@ from django.test.utils import override_settings
 from mock import patch, sentinel
 
 from openedx.core.lib.tests.assertions.events import assert_event_matches
-from track import views
-from track.middleware import TrackMiddleware
-from track.tests import FROZEN_TIME, EventTrackingTestCase
+from common.djangoapps.track import views
+from common.djangoapps.track.middleware import TrackMiddleware
+from common.djangoapps.track.tests import FROZEN_TIME, EventTrackingTestCase
 
 TEST_USERNAME = 'test-username'
 TEST_USER_ID = 1000
@@ -27,7 +27,7 @@ class TestTrackViews(EventTrackingTestCase):
 
         self.request_factory = RequestFactory()
 
-        patcher = patch('track.views.tracker', autospec=True)
+        patcher = patch('common.djangoapps.track.views.tracker', autospec=True)
 
         self.mock_tracker = patcher.start()
         self.addCleanup(patcher.stop)
@@ -141,7 +141,7 @@ class TestTrackViews(EventTrackingTestCase):
         assert_event_matches(expected_event, actual_event)
 
     @override_settings(
-        EVENT_TRACKING_PROCESSORS=[{'ENGINE': 'track.shim.LegacyFieldMappingProcessor'}],
+        EVENT_TRACKING_PROCESSORS=[{'ENGINE': 'common.djangoapps.track.shim.LegacyFieldMappingProcessor'}],
     )
     def test_user_track_with_middleware_and_processors(self):
         self.recreate_tracker()
diff --git a/common/djangoapps/util/admin.py b/common/djangoapps/util/admin.py
index 99782fac1f04dc41306b02650aeee5f760ab1443..813c0691dcdc753f184c49626951be29997812b0 100644
--- a/common/djangoapps/util/admin.py
+++ b/common/djangoapps/util/admin.py
@@ -3,6 +3,6 @@
 
 from django.contrib import admin
 
-from util.models import RateLimitConfiguration
+from common.djangoapps.util.models import RateLimitConfiguration
 
 admin.site.register(RateLimitConfiguration)
diff --git a/common/djangoapps/util/disable_rate_limit.py b/common/djangoapps/util/disable_rate_limit.py
index cd1cc9ec395a7114390bb0025c3e0f31cb00b0e6..c70b948f285034a2b170759fc1c8863ff845e960 100644
--- a/common/djangoapps/util/disable_rate_limit.py
+++ b/common/djangoapps/util/disable_rate_limit.py
@@ -20,7 +20,7 @@ from functools import wraps
 
 from rest_framework.views import APIView
 
-from util.models import RateLimitConfiguration
+from common.djangoapps.util.models import RateLimitConfiguration
 
 LOGGER = logging.getLogger(__name__)
 
diff --git a/common/djangoapps/util/keyword_substitution.py b/common/djangoapps/util/keyword_substitution.py
index 97a08f7ea440806d27aa3cc38b70ad5a71aaa84f..ea60a5def57b83017e6297ceb889ca0f3d530668 100644
--- a/common/djangoapps/util/keyword_substitution.py
+++ b/common/djangoapps/util/keyword_substitution.py
@@ -21,7 +21,7 @@ Usage:
 
 from django.contrib.auth.models import User
 
-from student.models import anonymous_id_for_user
+from common.djangoapps.student.models import anonymous_id_for_user
 
 
 def anonymous_id_from_user_id(user_id):
diff --git a/common/djangoapps/util/password_policy_validators.py b/common/djangoapps/util/password_policy_validators.py
index 73e18eb89b76943147c74c953d32a7d2797d11af..5d87292a5e6db865935e69a6df56966da6b83da2 100644
--- a/common/djangoapps/util/password_policy_validators.py
+++ b/common/djangoapps/util/password_policy_validators.py
@@ -28,7 +28,7 @@ def create_validator_config(name, options={}):
     This function is meant to be used for testing purposes to create validators
     easily. It returns a validator config of the form:
         {
-            "NAME": "util.password_policy_validators.SymbolValidator",
+            "NAME": "common.djangoapps.util.password_policy_validators.SymbolValidator",
             "OPTIONS": {"min_symbol": 1}
         }
 
diff --git a/common/djangoapps/util/testing.py b/common/djangoapps/util/testing.py
index 3218f51708d28f6c247bdef8eb2f90201dcff228..194f59e5028186962a8ac496f2fc5cfa0ec294da 100644
--- a/common/djangoapps/util/testing.py
+++ b/common/djangoapps/util/testing.py
@@ -12,7 +12,7 @@ from django.test import TestCase
 from django.urls import clear_url_caches, resolve
 from mock import patch
 
-from util.db import OuterAtomic
+from common.djangoapps.util.db import OuterAtomic
 
 if six.PY3:
     from importlib import reload
diff --git a/common/djangoapps/util/tests/test_course.py b/common/djangoapps/util/tests/test_course.py
index 80b0c384f325ce18ea5d831a6e2ff832ed86a2ba..b9b0295c4198528b4a4f7813a9347ea198b2dd59 100644
--- a/common/djangoapps/util/tests/test_course.py
+++ b/common/djangoapps/util/tests/test_course.py
@@ -8,7 +8,7 @@ import mock
 from django.conf import settings
 
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from util.course import get_link_for_about_page
+from common.djangoapps.util.course import get_link_for_about_page
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/common/djangoapps/util/tests/test_date_utils.py b/common/djangoapps/util/tests/test_date_utils.py
index 8e42299d69dd027ae0931aa23b709f65fd9a336f..fa99ece333020f6bce40845eee3c310b0ee73f8b 100644
--- a/common/djangoapps/util/tests/test_date_utils.py
+++ b/common/djangoapps/util/tests/test_date_utils.py
@@ -12,7 +12,7 @@ import six
 from mock import patch
 from pytz import utc
 
-from util.date_utils import almost_same_datetime, get_default_time_display, get_time_display, strftime_localized
+from common.djangoapps.util.date_utils import almost_same_datetime, get_default_time_display, get_time_display, strftime_localized
 
 
 def test_get_default_time_display():
@@ -150,7 +150,7 @@ class StrftimeLocalizedTest(unittest.TestCase):
         dtime = datetime(2013, 2, 14, 16, 41, 17)
         self.assertEqual(expected, strftime_localized(dtime, fmt))
 
-    @patch('util.date_utils.pgettext', fake_pgettext(translations={
+    @patch('common.djangoapps.util.date_utils.pgettext', fake_pgettext(translations={
         ("abbreviated month name", "Feb"): "XXfebXX",
         ("month name", "February"): "XXfebruaryXX",
         ("abbreviated weekday name", "Thu"): "XXthuXX",
@@ -169,7 +169,7 @@ class StrftimeLocalizedTest(unittest.TestCase):
         dtime = datetime(2013, 2, 14, 16, 41, 17)
         self.assertEqual(expected, strftime_localized(dtime, fmt))
 
-    @patch('util.date_utils.ugettext', fake_ugettext(translations={
+    @patch('common.djangoapps.util.date_utils.ugettext', fake_ugettext(translations={
         "SHORT_DATE_FORMAT": "date(%Y.%m.%d)",
         "LONG_DATE_FORMAT": "date(%A.%Y.%B.%d)",
         "DATE_TIME_FORMAT": "date(%Y.%m.%d@%H.%M)",
@@ -189,7 +189,7 @@ class StrftimeLocalizedTest(unittest.TestCase):
         dtime = datetime(2013, 2, 14, 16, 41, 17)
         self.assertEqual(expected, strftime_localized(dtime, fmt))
 
-    @patch('util.date_utils.ugettext', fake_ugettext(translations={
+    @patch('common.djangoapps.util.date_utils.ugettext', fake_ugettext(translations={
         "SHORT_DATE_FORMAT": "oops date(%Y.%x.%d)",
         "TIME_FORMAT": "oops %Hh.%Xm.%Ss",
     }))
diff --git a/common/djangoapps/util/tests/test_db.py b/common/djangoapps/util/tests/test_db.py
index 7bb263c237f939351fbbc3d46fcc2e424641565c..a25892089061000e83d8f513407351c00d7718cd 100644
--- a/common/djangoapps/util/tests/test_db.py
+++ b/common/djangoapps/util/tests/test_db.py
@@ -15,7 +15,7 @@ from django.test.utils import override_settings
 from django.utils.six import StringIO
 from six.moves import range
 
-from util.db import enable_named_outer_atomic, generate_int_id, outer_atomic
+from common.djangoapps.util.db import enable_named_outer_atomic, generate_int_id, outer_atomic
 
 
 def do_nothing():
diff --git a/common/djangoapps/util/tests/test_disable_rate_limit.py b/common/djangoapps/util/tests/test_disable_rate_limit.py
index 90c537929da1415ed6f9051b2013d1f6bace069c..1326ccc5484c8161954c93b33d44df5269c8f64e 100644
--- a/common/djangoapps/util/tests/test_disable_rate_limit.py
+++ b/common/djangoapps/util/tests/test_disable_rate_limit.py
@@ -11,8 +11,8 @@ from rest_framework.exceptions import Throttled
 from rest_framework.throttling import BaseThrottle
 from rest_framework.views import APIView
 
-from util.disable_rate_limit import can_disable_rate_limit
-from util.models import RateLimitConfiguration
+from common.djangoapps.util.disable_rate_limit import can_disable_rate_limit
+from common.djangoapps.util.models import RateLimitConfiguration
 
 
 class FakeThrottle(BaseThrottle):
diff --git a/common/djangoapps/util/tests/test_file.py b/common/djangoapps/util/tests/test_file.py
index 109fba50874cab0a056b90f147b0ce8b599b8058..0a3ef652604da97e830175a912706c3a13e337ba 100644
--- a/common/djangoapps/util/tests/test_file.py
+++ b/common/djangoapps/util/tests/test_file.py
@@ -20,8 +20,8 @@ from opaque_keys.edx.locations import CourseLocator
 from pytz import UTC
 from six import text_type
 
-import util.file
-from util.file import (
+import common.djangoapps.util.file
+from common.djangoapps.util.file import (
     FileValidationException,
     UniversalNewlineIterator,
     course_and_time_based_filename_generator,
@@ -54,7 +54,7 @@ class FilenameGeneratorTestCase(TestCase):
     def setUp(self):
         super(FilenameGeneratorTestCase, self).setUp()
         datetime_patcher = patch.object(
-            util.file, 'datetime',
+            common.djangoapps.util.file, 'datetime',
             Mock(wraps=datetime)
         )
         mocked_datetime = datetime_patcher.start()
diff --git a/common/djangoapps/util/tests/test_json_request.py b/common/djangoapps/util/tests/test_json_request.py
index 50ceea67f29ee1ad2bc3aadfec23716bb8253d28..08590fbdb8d0777515684fe43a2df3283836fc14 100644
--- a/common/djangoapps/util/tests/test_json_request.py
+++ b/common/djangoapps/util/tests/test_json_request.py
@@ -9,7 +9,7 @@ import unittest
 import mock
 from django.http import HttpResponse, HttpResponseBadRequest
 
-from util.json_request import JsonResponse, JsonResponseBadRequest
+from common.djangoapps.util.json_request import JsonResponse, JsonResponseBadRequest
 
 
 class JsonResponseTestCase(unittest.TestCase):
diff --git a/common/djangoapps/util/tests/test_keyword_sub_utils.py b/common/djangoapps/util/tests/test_keyword_sub_utils.py
index a2dcb797e22145a114641433caf09c8988802a58..20578c94fc11f1a19444a02ce621bcc5a0cc1209 100644
--- a/common/djangoapps/util/tests/test_keyword_sub_utils.py
+++ b/common/djangoapps/util/tests/test_keyword_sub_utils.py
@@ -7,9 +7,9 @@ import six
 from ddt import ddt, file_data
 from mock import patch
 
-from student.tests.factories import UserFactory
-from util import keyword_substitution as Ks
-from util.date_utils import get_default_time_display
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util import keyword_substitution as Ks
+from common.djangoapps.util.date_utils import get_default_time_display
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -103,7 +103,7 @@ class KeywordSubTest(ModuleStoreTestCase):
         """ Test that subbing works with multiple subtags """
         anon_id = '123456789'
 
-        with patch('util.keyword_substitution.anonymous_id_from_user_id', lambda user_id: anon_id):
+        with patch('common.djangoapps.util.keyword_substitution.anonymous_id_from_user_id', lambda user_id: anon_id):
             result = Ks.substitute_keywords_with_data(
                 test_string, self.context,
             )
diff --git a/common/djangoapps/util/tests/test_memcache.py b/common/djangoapps/util/tests/test_memcache.py
index da9dc92bd7d7158eb9764acbe1f1210608d1fa47..9c935e72d2b616ac69ade675e6a6e2c31f8b08ae 100644
--- a/common/djangoapps/util/tests/test_memcache.py
+++ b/common/djangoapps/util/tests/test_memcache.py
@@ -8,7 +8,7 @@ from django.test import TestCase
 from six import unichr
 from six.moves import range
 
-from util.memcache import safe_key
+from common.djangoapps.util.memcache import safe_key
 
 
 class MemcacheTest(TestCase):
diff --git a/common/djangoapps/util/tests/test_milestones_helpers.py b/common/djangoapps/util/tests/test_milestones_helpers.py
index cca096dda16880364c7603915a6b3dea6642aa0b..62dd1e534c5c556637e9795cc542f91b00d7b1fc 100644
--- a/common/djangoapps/util/tests/test_milestones_helpers.py
+++ b/common/djangoapps/util/tests/test_milestones_helpers.py
@@ -13,7 +13,7 @@ from milestones.exceptions import InvalidCourseKeyException, InvalidUserExceptio
 from milestones.models import MilestoneRelationshipType
 from mock import patch
 
-from util import milestones_helpers
+from common.djangoapps.util import milestones_helpers
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/util/tests/test_organizations_helpers.py b/common/djangoapps/util/tests/test_organizations_helpers.py
index 24c949e6c4a4e04aec406292a7f783d22dbefa60..9c48fa8dede6c71dc97adb60877f8a1fb35b2e4a 100644
--- a/common/djangoapps/util/tests/test_organizations_helpers.py
+++ b/common/djangoapps/util/tests/test_organizations_helpers.py
@@ -6,7 +6,7 @@ Tests for the organizations helpers library, which is the integration point for
 import six
 from mock import patch
 
-from util import organizations_helpers
+from common.djangoapps.util import organizations_helpers
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/common/djangoapps/util/tests/test_password_policy_validators.py b/common/djangoapps/util/tests/test_password_policy_validators.py
index ae368330b8917ef7a3377a61d2ae14c221ab3aed..e652c52cb147a66cab0de3478ac9635a38ac52e0 100644
--- a/common/djangoapps/util/tests/test_password_policy_validators.py
+++ b/common/djangoapps/util/tests/test_password_policy_validators.py
@@ -9,7 +9,7 @@ from django.contrib.auth.models import User
 from django.core.exceptions import ValidationError
 from django.test.utils import override_settings
 
-from util.password_policy_validators import (
+from common.djangoapps.util.password_policy_validators import (
     create_validator_config,
     password_validators_instruction_texts,
     validate_password
@@ -73,25 +73,25 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
                                        'This password is too short. It must contain at least 2 characters.')
 
     @data(
-        ([create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 2})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2})],
             'at least 2 characters.'),
 
         ([
-            create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
-            create_validator_config('util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}),
         ], 'characters, including 2 letters.'),
 
         ([
-            create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
-            create_validator_config('util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}),
-            create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 1}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1}),
         ], 'characters, including 2 letters & 1 number.'),
 
         ([
-            create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
-            create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 3}),
-            create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 1}),
-            create_validator_config('util.password_policy_validators.SymbolValidator', {'min_symbol': 2}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1}),
+            create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 2}),
         ], 'including 3 uppercase letters & 1 number & 2 symbols.'),
     )
     @unpack
@@ -116,13 +116,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
         self.validation_errors_checker(password, msg, user)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 1})],
             u'', 'This password is too short. It must contain at least 1 character.'),
 
-        ([create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})],
             u'd', 'This password is too short. It must contain at least 8 characters.'),
 
-        ([create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 8})],
             u'longpassword', None),
     )
     @unpack
@@ -132,13 +132,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
             self.validation_errors_checker(password, msg)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.MaximumLengthValidator', {'max_length': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 1})],
             u'longpassword', 'This password is too long. It must contain no more than 1 character.'),
 
-        ([create_validator_config('util.password_policy_validators.MaximumLengthValidator', {'max_length': 10})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 10})],
             u'longpassword', 'This password is too long. It must contain no more than 10 characters.'),
 
-        ([create_validator_config('util.password_policy_validators.MaximumLengthValidator', {'max_length': 20})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 20})],
             u'shortpassword', None),
     )
     @unpack
@@ -160,13 +160,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
         self.validation_errors_checker(password, msg)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 1})],
             u'12345', 'This password must contain at least 1 letter.'),
 
-        ([create_validator_config('util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 5})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 5})],
             u'test123', 'This password must contain at least 5 letters.'),
 
-        ([create_validator_config('util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.AlphabeticValidator', {'min_alphabetic': 2})],
             u'password', None),
     )
     @unpack
@@ -176,13 +176,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
             self.validation_errors_checker(password, msg)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 1})],
             u'test', 'This password must contain at least 1 number.'),
 
-        ([create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 4})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 4})],
             u'test123', 'This password must contain at least 4 numbers.'),
 
-        ([create_validator_config('util.password_policy_validators.NumericValidator', {'min_numeric': 2})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.NumericValidator', {'min_numeric': 2})],
             u'password123', None),
     )
     @unpack
@@ -192,13 +192,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
             self.validation_errors_checker(password, msg)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 1})],
             u'lowercase', 'This password must contain at least 1 uppercase letter.'),
 
-        ([create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 6})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 6})],
             u'NOTenough', 'This password must contain at least 6 uppercase letters.'),
 
-        ([create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 1})],
             u'camelCase', None),
     )
     @unpack
@@ -208,13 +208,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
             self.validation_errors_checker(password, msg)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.LowercaseValidator', {'min_lower': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 1})],
             u'UPPERCASE', 'This password must contain at least 1 lowercase letter.'),
 
-        ([create_validator_config('util.password_policy_validators.LowercaseValidator', {'min_lower': 4})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 4})],
             u'notENOUGH', 'This password must contain at least 4 lowercase letters.'),
 
-        ([create_validator_config('util.password_policy_validators.LowercaseValidator', {'min_lower': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.LowercaseValidator', {'min_lower': 1})],
             u'goodPassword', None),
     )
     @unpack
@@ -224,13 +224,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
             self.validation_errors_checker(password, msg)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.PunctuationValidator', {'min_punctuation': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 1})],
             u'no punctuation', 'This password must contain at least 1 punctuation mark.'),
 
-        ([create_validator_config('util.password_policy_validators.PunctuationValidator', {'min_punctuation': 7})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 7})],
             u'p@$$w0rd$!', 'This password must contain at least 7 punctuation marks.'),
 
-        ([create_validator_config('util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.PunctuationValidator', {'min_punctuation': 3})],
             u'excl@m@t!on', None),
     )
     @unpack
@@ -240,13 +240,13 @@ class PasswordPolicyValidatorsTestCase(unittest.TestCase):
             self.validation_errors_checker(password, msg)
 
     @data(
-        ([create_validator_config('util.password_policy_validators.SymbolValidator', {'min_symbol': 1})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 1})],
             u'no symbol', 'This password must contain at least 1 symbol.'),
 
-        ([create_validator_config('util.password_policy_validators.SymbolValidator', {'min_symbol': 3})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 3})],
             u'☹️boo☹️', 'This password must contain at least 3 symbols.'),
 
-        ([create_validator_config('util.password_policy_validators.SymbolValidator', {'min_symbol': 2})],
+        ([create_validator_config('common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 2})],
             u'☪symbols!☹️', None),
     )
     @unpack
diff --git a/common/djangoapps/util/tests/test_string_utils.py b/common/djangoapps/util/tests/test_string_utils.py
index 87b3909837403100fb87491c0805380f54f7ddb0..49872c54c6cd0dab026c63fb1c193cc27c9d437e 100644
--- a/common/djangoapps/util/tests/test_string_utils.py
+++ b/common/djangoapps/util/tests/test_string_utils.py
@@ -5,7 +5,7 @@ Tests for string_utils.py
 
 from django.test import TestCase
 
-from util.string_utils import str_to_bool
+from common.djangoapps.util.string_utils import str_to_bool
 
 
 class StringUtilsTest(TestCase):
diff --git a/common/djangoapps/util/views.py b/common/djangoapps/util/views.py
index ecad99bf84726c1ddae5a3aa2aea8e3186bfc262..d7c1faf00bf4aecfacf4c5a6348b589d7ae0e0ea 100644
--- a/common/djangoapps/util/views.py
+++ b/common/djangoapps/util/views.py
@@ -14,14 +14,14 @@ from django.shortcuts import redirect
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey, UsageKey
 from six.moves import map
+
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.courseware.masquerade import setup_masquerade
 from openedx.core.djangoapps.schedules.utils import reset_self_paced_schedule
 from openedx.features.course_experience.utils import dates_banner_should_display
-
-import track.views
-from edxmako.shortcuts import render_to_response
-from student.roles import GlobalStaff
+from common.djangoapps.track import views as track_views
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.student.roles import GlobalStaff
 
 log = logging.getLogger(__name__)
 
@@ -162,7 +162,7 @@ def calculate(request):
     except:
         event = {'error': list(map(str, sys.exc_info())),
                  'equation': equation}
-        track.views.server_track(request, 'error:calc', event, page='calc')
+        track_views.server_track(request, 'error:calc', event, page='calc')
         return HttpResponse(json.dumps({'result': 'Invalid syntax'}))
     return HttpResponse(json.dumps({'result': str(result)}))
 
diff --git a/common/djangoapps/xblock_django/admin.py b/common/djangoapps/xblock_django/admin.py
index bd03d2676e0579f9d08d837c72e9d6bae08019af..21a8950b754923e5051f36f6974c5f1e4b684e2f 100644
--- a/common/djangoapps/xblock_django/admin.py
+++ b/common/djangoapps/xblock_django/admin.py
@@ -7,7 +7,7 @@ from config_models.admin import ConfigurationModelAdmin, KeyedConfigurationModel
 from django.contrib import admin
 from django.utils.translation import ugettext_lazy as _
 
-from xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
+from common.djangoapps.xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
 
 
 class XBlockConfigurationAdmin(KeyedConfigurationModelAdmin):
diff --git a/common/djangoapps/xblock_django/api.py b/common/djangoapps/xblock_django/api.py
index c591ce0361639920709d2075ae2b664ce45ff58e..163683ab0c387f080387dca224ad5a556f38c435 100644
--- a/common/djangoapps/xblock_django/api.py
+++ b/common/djangoapps/xblock_django/api.py
@@ -4,7 +4,7 @@ API methods related to xblock state.
 
 
 from openedx.core.lib.cache_utils import CacheInvalidationManager
-from xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration
+from common.djangoapps.xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration
 
 cacher = CacheInvalidationManager(model=XBlockConfiguration)
 
diff --git a/common/djangoapps/xblock_django/tests/test_api.py b/common/djangoapps/xblock_django/tests/test_api.py
index 4b59c38af22e6ba0930aa8549faffd29d188223d..68499af1c017daa2fe7bcfa1f38df05dae341138 100644
--- a/common/djangoapps/xblock_django/tests/test_api.py
+++ b/common/djangoapps/xblock_django/tests/test_api.py
@@ -6,8 +6,8 @@ Tests related to XBlock support API.
 import six
 
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from xblock_django.api import authorable_xblocks, deprecated_xblocks, disabled_xblocks
-from xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
+from common.djangoapps.xblock_django.api import authorable_xblocks, deprecated_xblocks, disabled_xblocks
+from common.djangoapps.xblock_django.models import XBlockConfiguration, XBlockStudioConfiguration, XBlockStudioConfigurationFlag
 
 
 class XBlockSupportTestCase(CacheIsolationTestCase):
diff --git a/common/djangoapps/xblock_django/tests/test_user_service.py b/common/djangoapps/xblock_django/tests/test_user_service.py
index 2a41eb86f184996977e1386e58fa055960a7e07e..c47e10f7c9c9643e6ced3f4f15d38bea9668deba 100644
--- a/common/djangoapps/xblock_django/tests/test_user_service.py
+++ b/common/djangoapps/xblock_django/tests/test_user_service.py
@@ -8,9 +8,9 @@ from opaque_keys.edx.keys import CourseKey
 
 from openedx.core.djangoapps.user_api.preferences.api import set_user_preference
 from openedx.core.djangoapps.external_user_ids.models import ExternalIdType
-from student.models import anonymous_id_for_user
-from student.tests.factories import AnonymousUserFactory, UserFactory
-from xblock_django.user_service import (
+from common.djangoapps.student.models import anonymous_id_for_user
+from common.djangoapps.student.tests.factories import AnonymousUserFactory, UserFactory
+from common.djangoapps.xblock_django.user_service import (
     ATTR_KEY_IS_AUTHENTICATED,
     ATTR_KEY_USER_ID,
     ATTR_KEY_USER_IS_STAFF,
diff --git a/common/djangoapps/xblock_django/user_service.py b/common/djangoapps/xblock_django/user_service.py
index f09757677aef3a0a366eb67926dd5090492e505d..be41454b8ff0f608f8972eab17dfc7f1d0ff833e 100644
--- a/common/djangoapps/xblock_django/user_service.py
+++ b/common/djangoapps/xblock_django/user_service.py
@@ -9,7 +9,7 @@ from xblock.reference.user_service import UserService, XBlockUser
 
 from openedx.core.djangoapps.external_user_ids.models import ExternalId
 from openedx.core.djangoapps.user_api.preferences.api import get_user_preferences
-from student.models import anonymous_id_for_user, get_user_by_username_or_email
+from common.djangoapps.student.models import anonymous_id_for_user, get_user_by_username_or_email
 
 ATTR_KEY_IS_AUTHENTICATED = 'edx-platform.is_authenticated'
 ATTR_KEY_USER_ID = 'edx-platform.user_id'
diff --git a/common/lib/xmodule/xmodule/library_tools.py b/common/lib/xmodule/xmodule/library_tools.py
index b3589b78c8b69cf477a93c203c7da1957023ab15..d3b4209eddfc6274769c8c0554aa66e3e638fdd3 100644
--- a/common/lib/xmodule/xmodule/library_tools.py
+++ b/common/lib/xmodule/xmodule/library_tools.py
@@ -14,7 +14,7 @@ from xblock.fields import Scope
 from openedx.core.djangoapps.content_libraries import api as library_api
 from openedx.core.djangoapps.xblock.api import load_block
 from openedx.core.lib import blockstore_api
-from student.auth import has_studio_write_access
+from common.djangoapps.student.auth import has_studio_write_access
 from xmodule.capa_module import ProblemBlock
 from xmodule.library_content_module import ANY_CAPA_TYPE_VALUE
 from xmodule.modulestore import ModuleStoreEnum
diff --git a/common/lib/xmodule/xmodule/modulestore/django.py b/common/lib/xmodule/xmodule/modulestore/django.py
index 605d22016526eaa4f1562b94655d0b4bb6ac8f1b..3f65a538aca4664f624f3272113251e3609d57b8 100644
--- a/common/lib/xmodule/xmodule/modulestore/django.py
+++ b/common/lib/xmodule/xmodule/modulestore/django.py
@@ -32,7 +32,7 @@ from xmodule.util.xmodule_django import get_current_request_hostname
 
 # We also may not always have the current request user (crum) module available
 try:
-    from xblock_django.user_service import DjangoXBlockUserService
+    from common.djangoapps.xblock_django.user_service import DjangoXBlockUserService
     from crum import get_current_user
 
     HAS_USER_SERVICE = True
@@ -40,7 +40,7 @@ except ImportError:
     HAS_USER_SERVICE = False
 
 try:
-    from xblock_django.api import disabled_xblocks
+    from common.djangoapps.xblock_django.api import disabled_xblocks
 except ImportError:
     disabled_xblocks = None
 
@@ -398,7 +398,7 @@ class ModuleI18nService(object):
         # refactored to a place that will be right, and the code can be made
         # right there.  If you are reading this comment after April 1, 2014,
         # then Cale was a liar.
-        from util.date_utils import strftime_localized
+        from common.djangoapps.util.date_utils import strftime_localized
 
         return strftime_localized(*args, **kwargs)
 
diff --git a/common/lib/xmodule/xmodule/modulestore/search.py b/common/lib/xmodule/xmodule/modulestore/search.py
index bc0e0de8932b190f0e0c71a2f3043f0ce941b663..872c8909d7dff2c64620149d11055f34084b6f5a 100644
--- a/common/lib/xmodule/xmodule/modulestore/search.py
+++ b/common/lib/xmodule/xmodule/modulestore/search.py
@@ -6,7 +6,7 @@ from logging import getLogger
 from six.moves import range
 
 from lms.djangoapps.courseware.masquerade import MASQUERADE_SETTINGS_KEY
-from student.roles import GlobalStaff
+from common.djangoapps.student.roles import GlobalStaff
 from .exceptions import ItemNotFoundError, NoPathToItem
 
 LOGGER = getLogger(__name__)
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
index 1544a69ef3493000c2edc50889cee90f78eb398e..a8104e867d15dad28d41e9970f96edd095adb357 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/django_utils.py
@@ -21,8 +21,8 @@ from lms.djangoapps.courseware.tests.factories import StaffFactory
 from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from openedx.core.djangolib.testing.utils import CacheIsolationMixin, CacheIsolationTestCase, FilteredQueryCountMixin
 from openedx.core.lib.tempdir import mkdtemp_clean
-from student.models import CourseEnrollment
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.contentstore.django import _CONTENTSTORE
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import SignalHandler, clear_existing_modulestores, modulestore
@@ -97,7 +97,7 @@ def draft_mongo_store_config(data_dir):
     modulestore_options = {
         'default_class': 'xmodule.raw_module.RawDescriptor',
         'fs_root': data_dir,
-        'render_template': 'edxmako.shortcuts.render_to_string'
+        'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string'
     }
 
     store = {
@@ -124,7 +124,7 @@ def split_mongo_store_config(data_dir):
     modulestore_options = {
         'default_class': 'xmodule.raw_module.RawDescriptor',
         'fs_root': data_dir,
-        'render_template': 'edxmako.shortcuts.render_to_string',
+        'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string',
     }
 
     store = {
@@ -371,7 +371,7 @@ class SharedModuleStoreTestCase(
     How to use::
 
         from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
-        from student.tests.factories import CourseEnrollmentFactory, UserFactory
+        from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
         class MyModuleStoreTestCase(SharedModuleStoreTestCase):
             @classmethod
diff --git a/common/lib/xmodule/xmodule/modulestore/tests/test_modulestore_settings.py b/common/lib/xmodule/xmodule/modulestore/tests/test_modulestore_settings.py
index 887830f92b662253ec1fa59a0ed31107df3d15c5..1846fd8ba84293a9f76305cd35df542948b83afd 100644
--- a/common/lib/xmodule/xmodule/modulestore/tests/test_modulestore_settings.py
+++ b/common/lib/xmodule/xmodule/modulestore/tests/test_modulestore_settings.py
@@ -44,7 +44,7 @@ class ModuleStoreSettingsMigration(TestCase):
                 "host": "localhost",
                 "password": "password",
                 "port": 27017,
-                "render_template": "edxmako.shortcuts.render_to_string",
+                "render_template": "common.djangoapps.edxmako.shortcuts.render_to_string",
                 "user": "edxapp"
             },
             "DOC_STORE_CONFIG": {},
@@ -100,7 +100,7 @@ class ModuleStoreSettingsMigration(TestCase):
                         'OPTIONS': {
                             'default_class': 'xmodule.hidden_module.HiddenDescriptor',
                             'fs_root': "fs_root",
-                            'render_template': 'edxmako.shortcuts.render_to_string',
+                            'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string',
                         }
                     },
                     {
@@ -110,7 +110,7 @@ class ModuleStoreSettingsMigration(TestCase):
                         'OPTIONS': {
                             'default_class': 'xmodule.hidden_module.HiddenDescriptor',
                             'fs_root': "fs_root",
-                            'render_template': 'edxmako.shortcuts.render_to_string',
+                            'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string',
                         }
                     },
                 ]
diff --git a/common/lib/xmodule/xmodule/tests/test_library_sourced_block.py b/common/lib/xmodule/xmodule/tests/test_library_sourced_block.py
index 9a8f2b8d6846db8d3f99ca1e95d674c8cbfcdc3f..5445993068fbf3e98dad4ed839cfcc1518d70972 100644
--- a/common/lib/xmodule/xmodule/tests/test_library_sourced_block.py
+++ b/common/lib/xmodule/xmodule/tests/test_library_sourced_block.py
@@ -4,7 +4,7 @@ Tests for Source from Library XBlock
 from xblockutils.resources import ResourceLoader
 
 from openedx.core.djangoapps.content_libraries.tests.base import ContentLibrariesRestApiTest
-from student.roles import CourseInstructorRole
+from common.djangoapps.student.roles import CourseInstructorRole
 from cms.lib.xblock.runtime import handler_url
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/common/lib/xmodule/xmodule/tests/test_library_tools.py b/common/lib/xmodule/xmodule/tests/test_library_tools.py
index 472ebb13559613005a464496065a2ea23d2f62db..b8a9203022d4d027ac3cd88b62debcbe0ef16c28 100644
--- a/common/lib/xmodule/xmodule/tests/test_library_tools.py
+++ b/common/lib/xmodule/xmodule/tests/test_library_tools.py
@@ -7,7 +7,7 @@ from opaque_keys.edx.keys import UsageKey
 from openedx.core.djangoapps.content_libraries import api as library_api
 from openedx.core.djangoapps.content_libraries.tests.base import ContentLibrariesRestApiTest
 from openedx.core.djangoapps.xblock.api import load_block
-from student.roles import CourseInstructorRole
+from common.djangoapps.student.roles import CourseInstructorRole
 from xmodule.library_tools import LibraryToolsService
 from xmodule.modulestore.tests.factories import CourseFactory, LibraryFactory
 from xmodule.modulestore.tests.utils import MixedSplitTestCase
diff --git a/common/lib/xmodule/xmodule/tests/test_sequence.py b/common/lib/xmodule/xmodule/tests/test_sequence.py
index 46278f72a576971f9af81f721dd98efef0a1782d..f866ed85566a1ca6ce9be51bbcb96f34f22b452a 100644
--- a/common/lib/xmodule/xmodule/tests/test_sequence.py
+++ b/common/lib/xmodule/xmodule/tests/test_sequence.py
@@ -17,7 +17,7 @@ from six.moves import range
 from web_fragments.fragment import Fragment
 
 from edx_toggles.toggles.testutils import override_waffle_flag
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.seq_module import TIMED_EXAM_GATING_WAFFLE_FLAG, SequenceModule
 from xmodule.tests import get_test_system
 from xmodule.tests.helpers import StubUserService
diff --git a/common/templates/edxnotes_wrapper.html b/common/templates/edxnotes_wrapper.html
index 9ead26e911d8bc3e23a8fc0f16694191b74a304a..e47dc50916009335b53cd8621d63468191981216 100644
--- a/common/templates/edxnotes_wrapper.html
+++ b/common/templates/edxnotes_wrapper.html
@@ -4,7 +4,7 @@
 <%!
 import json
 from django.utils.translation import ugettext as _
-from student.models import anonymous_id_for_user
+from common.djangoapps.student.models import anonymous_id_for_user
 from openedx.core.djangolib.js_utils import js_escaped_string, dump_js_escaped_json
 %>
 
diff --git a/import_shims/lms/course_action_state/__init__.py b/import_shims/lms/course_action_state/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b5980fa172dadf52fe1d7dd6c151fe63f11a41f
--- /dev/null
+++ b/import_shims/lms/course_action_state/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state', 'common.djangoapps.course_action_state')
+
+from common.djangoapps.course_action_state import *
diff --git a/import_shims/lms/course_action_state/managers.py b/import_shims/lms/course_action_state/managers.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd11c98f47eceaba1f35a09a3726fa74200bf0fb
--- /dev/null
+++ b/import_shims/lms/course_action_state/managers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.managers', 'common.djangoapps.course_action_state.managers')
+
+from common.djangoapps.course_action_state.managers import *
diff --git a/import_shims/lms/course_action_state/models.py b/import_shims/lms/course_action_state/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee7e3c4ad074a953372f3dd01f97c8f61b2d8018
--- /dev/null
+++ b/import_shims/lms/course_action_state/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.models', 'common.djangoapps.course_action_state.models')
+
+from common.djangoapps.course_action_state.models import *
diff --git a/import_shims/lms/course_action_state/tests/__init__.py b/import_shims/lms/course_action_state/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..701aad3144cf56a2aee09e8fa4d93de2390be92a
--- /dev/null
+++ b/import_shims/lms/course_action_state/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.tests', 'common.djangoapps.course_action_state.tests')
+
+from common.djangoapps.course_action_state.tests import *
diff --git a/import_shims/lms/course_action_state/tests/test_managers.py b/import_shims/lms/course_action_state/tests/test_managers.py
new file mode 100644
index 0000000000000000000000000000000000000000..91c1a4c0b5879d5b9c14851dc660f72f6172e8ea
--- /dev/null
+++ b/import_shims/lms/course_action_state/tests/test_managers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.tests.test_managers', 'common.djangoapps.course_action_state.tests.test_managers')
+
+from common.djangoapps.course_action_state.tests.test_managers import *
diff --git a/import_shims/lms/course_action_state/tests/test_rerun_manager.py b/import_shims/lms/course_action_state/tests/test_rerun_manager.py
new file mode 100644
index 0000000000000000000000000000000000000000..740708aa00121b404069ce33024fee522e79d5d4
--- /dev/null
+++ b/import_shims/lms/course_action_state/tests/test_rerun_manager.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.tests.test_rerun_manager', 'common.djangoapps.course_action_state.tests.test_rerun_manager')
+
+from common.djangoapps.course_action_state.tests.test_rerun_manager import *
diff --git a/import_shims/lms/course_modes/__init__.py b/import_shims/lms/course_modes/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5c4a4ee4c54e1a6c7a1a9e334ff0b339be46499
--- /dev/null
+++ b/import_shims/lms/course_modes/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes', 'common.djangoapps.course_modes')
+
+from common.djangoapps.course_modes import *
diff --git a/import_shims/lms/course_modes/admin.py b/import_shims/lms/course_modes/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..929ba70dc0ab4c7716816a5c516c3b16aa6a2537
--- /dev/null
+++ b/import_shims/lms/course_modes/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.admin', 'common.djangoapps.course_modes.admin')
+
+from common.djangoapps.course_modes.admin import *
diff --git a/import_shims/lms/course_modes/api.py b/import_shims/lms/course_modes/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..74250a451c5456726b7c894b6e4a47542b025d50
--- /dev/null
+++ b/import_shims/lms/course_modes/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.api', 'common.djangoapps.course_modes.api')
+
+from common.djangoapps.course_modes.api import *
diff --git a/import_shims/lms/course_modes/apps.py b/import_shims/lms/course_modes/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2d7673d36bc028505d85a57a33da71b297a3d53
--- /dev/null
+++ b/import_shims/lms/course_modes/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.apps', 'common.djangoapps.course_modes.apps')
+
+from common.djangoapps.course_modes.apps import *
diff --git a/import_shims/lms/course_modes/helpers.py b/import_shims/lms/course_modes/helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..0862592a3c23ca30ad84b5b74fe9531e94146718
--- /dev/null
+++ b/import_shims/lms/course_modes/helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.helpers', 'common.djangoapps.course_modes.helpers')
+
+from common.djangoapps.course_modes.helpers import *
diff --git a/import_shims/lms/course_modes/models.py b/import_shims/lms/course_modes/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..a5f733294cb402e7cf9e802a07d4bbaa3229fc38
--- /dev/null
+++ b/import_shims/lms/course_modes/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.models', 'common.djangoapps.course_modes.models')
+
+from common.djangoapps.course_modes.models import *
diff --git a/import_shims/lms/course_modes/rest_api/__init__.py b/import_shims/lms/course_modes/rest_api/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff3fd85be38c001e941b427f697d6b5738e22fcf
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api', 'common.djangoapps.course_modes.rest_api')
+
+from common.djangoapps.course_modes.rest_api import *
diff --git a/import_shims/lms/course_modes/rest_api/serializers.py b/import_shims/lms/course_modes/rest_api/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..9996d6823b9f77554f584986987f7adb342ca2d3
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.serializers', 'common.djangoapps.course_modes.rest_api.serializers')
+
+from common.djangoapps.course_modes.rest_api.serializers import *
diff --git a/import_shims/lms/course_modes/rest_api/urls.py b/import_shims/lms/course_modes/rest_api/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..61912ad20c79b4d78fd1880df805f729c7364845
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.urls', 'common.djangoapps.course_modes.rest_api.urls')
+
+from common.djangoapps.course_modes.rest_api.urls import *
diff --git a/import_shims/lms/course_modes/rest_api/v1/__init__.py b/import_shims/lms/course_modes/rest_api/v1/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..626c496187b583db4647380107efca529dcb70ba
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/v1/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1', 'common.djangoapps.course_modes.rest_api.v1')
+
+from common.djangoapps.course_modes.rest_api.v1 import *
diff --git a/import_shims/lms/course_modes/rest_api/v1/tests/__init__.py b/import_shims/lms/course_modes/rest_api/v1/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee1496ee9ad3adfb922b76d7c35eb43d7b58b4dd
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/v1/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.tests', 'common.djangoapps.course_modes.rest_api.v1.tests')
+
+from common.djangoapps.course_modes.rest_api.v1.tests import *
diff --git a/import_shims/lms/course_modes/rest_api/v1/tests/test_views.py b/import_shims/lms/course_modes/rest_api/v1/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..a67d9e8599f02624a067451a6c0959eeed0a199d
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/v1/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.tests.test_views', 'common.djangoapps.course_modes.rest_api.v1.tests.test_views')
+
+from common.djangoapps.course_modes.rest_api.v1.tests.test_views import *
diff --git a/import_shims/lms/course_modes/rest_api/v1/urls.py b/import_shims/lms/course_modes/rest_api/v1/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..840f2e755672da4c12390c0970fc0b7d336fb080
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/v1/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.urls', 'common.djangoapps.course_modes.rest_api.v1.urls')
+
+from common.djangoapps.course_modes.rest_api.v1.urls import *
diff --git a/import_shims/lms/course_modes/rest_api/v1/views.py b/import_shims/lms/course_modes/rest_api/v1/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..d470938c20472888544b06ccef4881f5ca7e1c76
--- /dev/null
+++ b/import_shims/lms/course_modes/rest_api/v1/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.views', 'common.djangoapps.course_modes.rest_api.v1.views')
+
+from common.djangoapps.course_modes.rest_api.v1.views import *
diff --git a/import_shims/lms/course_modes/signals.py b/import_shims/lms/course_modes/signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..ce1857f3d85d23a850c0f2651efe606820b8caab
--- /dev/null
+++ b/import_shims/lms/course_modes/signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.signals', 'common.djangoapps.course_modes.signals')
+
+from common.djangoapps.course_modes.signals import *
diff --git a/import_shims/lms/course_modes/tests/__init__.py b/import_shims/lms/course_modes/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7298d7bd70a98c42efd7d524d56b53b1046d310c
--- /dev/null
+++ b/import_shims/lms/course_modes/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests', 'common.djangoapps.course_modes.tests')
+
+from common.djangoapps.course_modes.tests import *
diff --git a/import_shims/lms/course_modes/tests/factories.py b/import_shims/lms/course_modes/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..32bcb47fd9136008cf755c80b9b740f330444c3e
--- /dev/null
+++ b/import_shims/lms/course_modes/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.factories', 'common.djangoapps.course_modes.tests.factories')
+
+from common.djangoapps.course_modes.tests.factories import *
diff --git a/import_shims/lms/course_modes/tests/test_admin.py b/import_shims/lms/course_modes/tests/test_admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e8f1c3481149e0a67a92a3c7c84216b3aa7d1c4
--- /dev/null
+++ b/import_shims/lms/course_modes/tests/test_admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_admin', 'common.djangoapps.course_modes.tests.test_admin')
+
+from common.djangoapps.course_modes.tests.test_admin import *
diff --git a/import_shims/lms/course_modes/tests/test_models.py b/import_shims/lms/course_modes/tests/test_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2d30d40d08431ae6cb5f95f1c0f9dbc2f47af47
--- /dev/null
+++ b/import_shims/lms/course_modes/tests/test_models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_models', 'common.djangoapps.course_modes.tests.test_models')
+
+from common.djangoapps.course_modes.tests.test_models import *
diff --git a/import_shims/lms/course_modes/tests/test_signals.py b/import_shims/lms/course_modes/tests/test_signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..fbda5cc65f5561abb0eef87c8fad6a30fc3c4089
--- /dev/null
+++ b/import_shims/lms/course_modes/tests/test_signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_signals', 'common.djangoapps.course_modes.tests.test_signals')
+
+from common.djangoapps.course_modes.tests.test_signals import *
diff --git a/import_shims/lms/course_modes/tests/test_views.py b/import_shims/lms/course_modes/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..66909845fb29a40658efc45d2f6d5c71b5141bc2
--- /dev/null
+++ b/import_shims/lms/course_modes/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_views', 'common.djangoapps.course_modes.tests.test_views')
+
+from common.djangoapps.course_modes.tests.test_views import *
diff --git a/import_shims/lms/course_modes/urls.py b/import_shims/lms/course_modes/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..8af9addfb3815722c0f6b9dc19de917d6f2d2821
--- /dev/null
+++ b/import_shims/lms/course_modes/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.urls', 'common.djangoapps.course_modes.urls')
+
+from common.djangoapps.course_modes.urls import *
diff --git a/import_shims/lms/course_modes/views.py b/import_shims/lms/course_modes/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1971cbd67ead5862cfe043d641195ec40702565
--- /dev/null
+++ b/import_shims/lms/course_modes/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.views', 'common.djangoapps.course_modes.views')
+
+from common.djangoapps.course_modes.views import *
diff --git a/import_shims/lms/database_fixups/__init__.py b/import_shims/lms/database_fixups/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a43cf8ff09f7b7e7cfa730c83bd8ac623a52d037
--- /dev/null
+++ b/import_shims/lms/database_fixups/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('database_fixups', 'common.djangoapps.database_fixups')
+
+from common.djangoapps.database_fixups import *
diff --git a/import_shims/lms/edxmako/__init__.py b/import_shims/lms/edxmako/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8946feafc071e467ea3661dedcb968ab6437b430
--- /dev/null
+++ b/import_shims/lms/edxmako/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako', 'common.djangoapps.edxmako')
+
+from common.djangoapps.edxmako import *
diff --git a/import_shims/lms/edxmako/apps.py b/import_shims/lms/edxmako/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ca90ecffa79a205c386dddb0783853b55545172
--- /dev/null
+++ b/import_shims/lms/edxmako/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.apps', 'common.djangoapps.edxmako.apps')
+
+from common.djangoapps.edxmako.apps import *
diff --git a/import_shims/lms/edxmako/backend.py b/import_shims/lms/edxmako/backend.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e2cf327c194cc18cc58d34ae0716670245a98a0
--- /dev/null
+++ b/import_shims/lms/edxmako/backend.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.backend', 'common.djangoapps.edxmako.backend')
+
+from common.djangoapps.edxmako.backend import *
diff --git a/import_shims/lms/edxmako/makoloader.py b/import_shims/lms/edxmako/makoloader.py
new file mode 100644
index 0000000000000000000000000000000000000000..f94dff6239c57a0a979579fb467fd1b656e8083b
--- /dev/null
+++ b/import_shims/lms/edxmako/makoloader.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.makoloader', 'common.djangoapps.edxmako.makoloader')
+
+from common.djangoapps.edxmako.makoloader import *
diff --git a/import_shims/lms/edxmako/paths.py b/import_shims/lms/edxmako/paths.py
new file mode 100644
index 0000000000000000000000000000000000000000..34b539091c122f7ca718be6b225fe7b4e41215a6
--- /dev/null
+++ b/import_shims/lms/edxmako/paths.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.paths', 'common.djangoapps.edxmako.paths')
+
+from common.djangoapps.edxmako.paths import *
diff --git a/import_shims/lms/edxmako/request_context.py b/import_shims/lms/edxmako/request_context.py
new file mode 100644
index 0000000000000000000000000000000000000000..faf3c0b56d784a5d7e23713f1909d8bb25f926c3
--- /dev/null
+++ b/import_shims/lms/edxmako/request_context.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.request_context', 'common.djangoapps.edxmako.request_context')
+
+from common.djangoapps.edxmako.request_context import *
diff --git a/import_shims/lms/edxmako/shortcuts.py b/import_shims/lms/edxmako/shortcuts.py
new file mode 100644
index 0000000000000000000000000000000000000000..78198ced7424e4dfc6905b1fde35b0fd48446f1d
--- /dev/null
+++ b/import_shims/lms/edxmako/shortcuts.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.shortcuts', 'common.djangoapps.edxmako.shortcuts')
+
+from common.djangoapps.edxmako.shortcuts import *
diff --git a/import_shims/lms/edxmako/template.py b/import_shims/lms/edxmako/template.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf0592a314b4fc51e8772d03174733f40aa0b5d0
--- /dev/null
+++ b/import_shims/lms/edxmako/template.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.template', 'common.djangoapps.edxmako.template')
+
+from common.djangoapps.edxmako.template import *
diff --git a/import_shims/lms/edxmako/tests.py b/import_shims/lms/edxmako/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f82c23ee376e1f6a364f12d7a528a701f4dfa42
--- /dev/null
+++ b/import_shims/lms/edxmako/tests.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.tests', 'common.djangoapps.edxmako.tests')
+
+from common.djangoapps.edxmako.tests import *
diff --git a/import_shims/lms/entitlements/__init__.py b/import_shims/lms/entitlements/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..80e98d5ef66dbfb58e057edc6f32ff5a37cceaf4
--- /dev/null
+++ b/import_shims/lms/entitlements/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements', 'common.djangoapps.entitlements')
+
+from common.djangoapps.entitlements import *
diff --git a/import_shims/lms/entitlements/admin.py b/import_shims/lms/entitlements/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e6bbd05a5e46c94fcc711ac730ae9de1d115e4d
--- /dev/null
+++ b/import_shims/lms/entitlements/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.admin', 'common.djangoapps.entitlements.admin')
+
+from common.djangoapps.entitlements.admin import *
diff --git a/import_shims/lms/entitlements/api.py b/import_shims/lms/entitlements/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..e8e6a9585be6f529dce9ebcfbeda26457e744c6d
--- /dev/null
+++ b/import_shims/lms/entitlements/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.api', 'common.djangoapps.entitlements.api')
+
+from common.djangoapps.entitlements.api import *
diff --git a/import_shims/lms/entitlements/apps.py b/import_shims/lms/entitlements/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc5884bb1f1f084aa2afadefd924e8e11a3985eb
--- /dev/null
+++ b/import_shims/lms/entitlements/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.apps', 'common.djangoapps.entitlements.apps')
+
+from common.djangoapps.entitlements.apps import *
diff --git a/import_shims/lms/entitlements/management/__init__.py b/import_shims/lms/entitlements/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..45bd12618d61bb5d502987bd1f80c0bf8a0fb1fb
--- /dev/null
+++ b/import_shims/lms/entitlements/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management', 'common.djangoapps.entitlements.management')
+
+from common.djangoapps.entitlements.management import *
diff --git a/import_shims/lms/entitlements/management/commands/__init__.py b/import_shims/lms/entitlements/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..13f52e735fe44170943f82a2c4879635ab279be5
--- /dev/null
+++ b/import_shims/lms/entitlements/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands', 'common.djangoapps.entitlements.management.commands')
+
+from common.djangoapps.entitlements.management.commands import *
diff --git a/import_shims/lms/entitlements/management/commands/expire_old_entitlements.py b/import_shims/lms/entitlements/management/commands/expire_old_entitlements.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bdfa7163b137752fa7485d9e910353af62ef55d
--- /dev/null
+++ b/import_shims/lms/entitlements/management/commands/expire_old_entitlements.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.expire_old_entitlements', 'common.djangoapps.entitlements.management.commands.expire_old_entitlements')
+
+from common.djangoapps.entitlements.management.commands.expire_old_entitlements import *
diff --git a/import_shims/lms/entitlements/management/commands/tests/__init__.py b/import_shims/lms/entitlements/management/commands/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..70d804c7d56ca68cc0d316914aa8847d12471efa
--- /dev/null
+++ b/import_shims/lms/entitlements/management/commands/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.tests', 'common.djangoapps.entitlements.management.commands.tests')
+
+from common.djangoapps.entitlements.management.commands.tests import *
diff --git a/import_shims/lms/entitlements/management/commands/tests/test_expire_old_entitlements.py b/import_shims/lms/entitlements/management/commands/tests/test_expire_old_entitlements.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f736d44b1f76aab1eefbc66d6f33ff0b6ad17ef
--- /dev/null
+++ b/import_shims/lms/entitlements/management/commands/tests/test_expire_old_entitlements.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.tests.test_expire_old_entitlements', 'common.djangoapps.entitlements.management.commands.tests.test_expire_old_entitlements')
+
+from common.djangoapps.entitlements.management.commands.tests.test_expire_old_entitlements import *
diff --git a/import_shims/lms/entitlements/management/commands/update_entitlement_mode.py b/import_shims/lms/entitlements/management/commands/update_entitlement_mode.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc2df58af9418d34bbcd336cf7d92c994e43a1f8
--- /dev/null
+++ b/import_shims/lms/entitlements/management/commands/update_entitlement_mode.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.update_entitlement_mode', 'common.djangoapps.entitlements.management.commands.update_entitlement_mode')
+
+from common.djangoapps.entitlements.management.commands.update_entitlement_mode import *
diff --git a/import_shims/lms/entitlements/models.py b/import_shims/lms/entitlements/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..bef6e0c52e14e019ff6da4efe9b33480eb3e82ae
--- /dev/null
+++ b/import_shims/lms/entitlements/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.models', 'common.djangoapps.entitlements.models')
+
+from common.djangoapps.entitlements.models import *
diff --git a/import_shims/lms/entitlements/rest_api/__init__.py b/import_shims/lms/entitlements/rest_api/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..08081a35734108e0b8b8576d37536ed904b47165
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api', 'common.djangoapps.entitlements.rest_api')
+
+from common.djangoapps.entitlements.rest_api import *
diff --git a/import_shims/lms/entitlements/rest_api/urls.py b/import_shims/lms/entitlements/rest_api/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..9c377d18a559c0ff510d62571ff1ee35b3fee8cb
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.urls', 'common.djangoapps.entitlements.rest_api.urls')
+
+from common.djangoapps.entitlements.rest_api.urls import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/__init__.py b/import_shims/lms/entitlements/rest_api/v1/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7689d9ccbebb1a988de887801c8529518adc171d
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1', 'common.djangoapps.entitlements.rest_api.v1')
+
+from common.djangoapps.entitlements.rest_api.v1 import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/filters.py b/import_shims/lms/entitlements/rest_api/v1/filters.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd4dbd708d39e57e627e6a416535fd063df0673a
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/filters.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.filters', 'common.djangoapps.entitlements.rest_api.v1.filters')
+
+from common.djangoapps.entitlements.rest_api.v1.filters import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/permissions.py b/import_shims/lms/entitlements/rest_api/v1/permissions.py
new file mode 100644
index 0000000000000000000000000000000000000000..13f5d5c6358889d559977985ed78eac7ef4fcb2e
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/permissions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.permissions', 'common.djangoapps.entitlements.rest_api.v1.permissions')
+
+from common.djangoapps.entitlements.rest_api.v1.permissions import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/serializers.py b/import_shims/lms/entitlements/rest_api/v1/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..ed28d10b37177fb28a6a9b76d40251712916e38e
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.serializers', 'common.djangoapps.entitlements.rest_api.v1.serializers')
+
+from common.djangoapps.entitlements.rest_api.v1.serializers import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/tests/__init__.py b/import_shims/lms/entitlements/rest_api/v1/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e0c962370d735cfbfe71fe7e1eefbe84e8ef37e
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.tests', 'common.djangoapps.entitlements.rest_api.v1.tests')
+
+from common.djangoapps.entitlements.rest_api.v1.tests import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/tests/test_serializers.py b/import_shims/lms/entitlements/rest_api/v1/tests/test_serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..779499677975df02cbf671a684a114e479eeee77
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/tests/test_serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.tests.test_serializers', 'common.djangoapps.entitlements.rest_api.v1.tests.test_serializers')
+
+from common.djangoapps.entitlements.rest_api.v1.tests.test_serializers import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/tests/test_views.py b/import_shims/lms/entitlements/rest_api/v1/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..26cf1e48ffad1bbcc1a512029448535da74ec058
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.tests.test_views', 'common.djangoapps.entitlements.rest_api.v1.tests.test_views')
+
+from common.djangoapps.entitlements.rest_api.v1.tests.test_views import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/urls.py b/import_shims/lms/entitlements/rest_api/v1/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..6b58a24af64b2ca5a621df8fafaed60507a5d862
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.urls', 'common.djangoapps.entitlements.rest_api.v1.urls')
+
+from common.djangoapps.entitlements.rest_api.v1.urls import *
diff --git a/import_shims/lms/entitlements/rest_api/v1/views.py b/import_shims/lms/entitlements/rest_api/v1/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..36040ac2792394432027eba232853919f01826c0
--- /dev/null
+++ b/import_shims/lms/entitlements/rest_api/v1/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.views', 'common.djangoapps.entitlements.rest_api.v1.views')
+
+from common.djangoapps.entitlements.rest_api.v1.views import *
diff --git a/import_shims/lms/entitlements/signals.py b/import_shims/lms/entitlements/signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..23a5da7ca85b633b7049b3adb8d6d5a25aa35994
--- /dev/null
+++ b/import_shims/lms/entitlements/signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.signals', 'common.djangoapps.entitlements.signals')
+
+from common.djangoapps.entitlements.signals import *
diff --git a/import_shims/lms/entitlements/tasks.py b/import_shims/lms/entitlements/tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a078a755e26bcb64d8ca0c6576adb88baff47d8
--- /dev/null
+++ b/import_shims/lms/entitlements/tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tasks', 'common.djangoapps.entitlements.tasks')
+
+from common.djangoapps.entitlements.tasks import *
diff --git a/import_shims/lms/entitlements/tests/__init__.py b/import_shims/lms/entitlements/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..858d32fad42bc8a822b207bbb00c816705c3928a
--- /dev/null
+++ b/import_shims/lms/entitlements/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests', 'common.djangoapps.entitlements.tests')
+
+from common.djangoapps.entitlements.tests import *
diff --git a/import_shims/lms/entitlements/tests/factories.py b/import_shims/lms/entitlements/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..e57a7f6e29c7fbcad8c0040f7cfd5e2dfb343035
--- /dev/null
+++ b/import_shims/lms/entitlements/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.factories', 'common.djangoapps.entitlements.tests.factories')
+
+from common.djangoapps.entitlements.tests.factories import *
diff --git a/import_shims/lms/entitlements/tests/test_models.py b/import_shims/lms/entitlements/tests/test_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..be749668149dc6aefba7fa5d96c88c180bd980f9
--- /dev/null
+++ b/import_shims/lms/entitlements/tests/test_models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.test_models', 'common.djangoapps.entitlements.tests.test_models')
+
+from common.djangoapps.entitlements.tests.test_models import *
diff --git a/import_shims/lms/entitlements/tests/test_tasks.py b/import_shims/lms/entitlements/tests/test_tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..97c1078c41178322ee84365d6cbe7dc01e752bff
--- /dev/null
+++ b/import_shims/lms/entitlements/tests/test_tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.test_tasks', 'common.djangoapps.entitlements.tests.test_tasks')
+
+from common.djangoapps.entitlements.tests.test_tasks import *
diff --git a/import_shims/lms/entitlements/tests/test_utils.py b/import_shims/lms/entitlements/tests/test_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..a241173b35edbb68629e36b787ae90d15b6b391d
--- /dev/null
+++ b/import_shims/lms/entitlements/tests/test_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.test_utils', 'common.djangoapps.entitlements.tests.test_utils')
+
+from common.djangoapps.entitlements.tests.test_utils import *
diff --git a/import_shims/lms/entitlements/utils.py b/import_shims/lms/entitlements/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..afb1aa3677aa0a2872e46ff696d560f439902973
--- /dev/null
+++ b/import_shims/lms/entitlements/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.utils', 'common.djangoapps.entitlements.utils')
+
+from common.djangoapps.entitlements.utils import *
diff --git a/import_shims/lms/pipeline_mako/__init__.py b/import_shims/lms/pipeline_mako/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ed1028e435255ea2fe8677fd58876e390a190bd1
--- /dev/null
+++ b/import_shims/lms/pipeline_mako/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako', 'common.djangoapps.pipeline_mako')
+
+from common.djangoapps.pipeline_mako import *
diff --git a/import_shims/lms/pipeline_mako/helpers/__init__.py b/import_shims/lms/pipeline_mako/helpers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b780ffd340a0b0ddba251423046e9cb4086f406d
--- /dev/null
+++ b/import_shims/lms/pipeline_mako/helpers/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.helpers', 'common.djangoapps.pipeline_mako.helpers')
+
+from common.djangoapps.pipeline_mako.helpers import *
diff --git a/import_shims/lms/pipeline_mako/helpers/studiofrontend.py b/import_shims/lms/pipeline_mako/helpers/studiofrontend.py
new file mode 100644
index 0000000000000000000000000000000000000000..4bf4ce91844040ea21074019ee8baa59268516e2
--- /dev/null
+++ b/import_shims/lms/pipeline_mako/helpers/studiofrontend.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.helpers.studiofrontend', 'common.djangoapps.pipeline_mako.helpers.studiofrontend')
+
+from common.djangoapps.pipeline_mako.helpers.studiofrontend import *
diff --git a/import_shims/lms/pipeline_mako/tests/__init__.py b/import_shims/lms/pipeline_mako/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c235280da53053c10698409c7b9d2c086337fc83
--- /dev/null
+++ b/import_shims/lms/pipeline_mako/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.tests', 'common.djangoapps.pipeline_mako.tests')
+
+from common.djangoapps.pipeline_mako.tests import *
diff --git a/import_shims/lms/pipeline_mako/tests/test_render.py b/import_shims/lms/pipeline_mako/tests/test_render.py
new file mode 100644
index 0000000000000000000000000000000000000000..4951f52e81fedd2ed9e8fdc4d7f88db519c5508a
--- /dev/null
+++ b/import_shims/lms/pipeline_mako/tests/test_render.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.tests.test_render', 'common.djangoapps.pipeline_mako.tests.test_render')
+
+from common.djangoapps.pipeline_mako.tests.test_render import *
diff --git a/import_shims/lms/pipeline_mako/tests/test_static_content.py b/import_shims/lms/pipeline_mako/tests/test_static_content.py
new file mode 100644
index 0000000000000000000000000000000000000000..74a9116932ce842c5aeeee9a7e6f73763861d574
--- /dev/null
+++ b/import_shims/lms/pipeline_mako/tests/test_static_content.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.tests.test_static_content', 'common.djangoapps.pipeline_mako.tests.test_static_content')
+
+from common.djangoapps.pipeline_mako.tests.test_static_content import *
diff --git a/import_shims/lms/static_replace/__init__.py b/import_shims/lms/static_replace/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..6206589364d9d6ac02b5d917df4eeec9eed4a44a
--- /dev/null
+++ b/import_shims/lms/static_replace/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace', 'common.djangoapps.static_replace')
+
+from common.djangoapps.static_replace import *
diff --git a/import_shims/lms/static_replace/admin.py b/import_shims/lms/static_replace/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e80b27782ad184748b68935808d1f66ea5efe51
--- /dev/null
+++ b/import_shims/lms/static_replace/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.admin', 'common.djangoapps.static_replace.admin')
+
+from common.djangoapps.static_replace.admin import *
diff --git a/import_shims/lms/static_replace/management/__init__.py b/import_shims/lms/static_replace/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..bd3cd2e159bbaad546181fad7d73e42670463081
--- /dev/null
+++ b/import_shims/lms/static_replace/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.management', 'common.djangoapps.static_replace.management')
+
+from common.djangoapps.static_replace.management import *
diff --git a/import_shims/lms/static_replace/management/commands/__init__.py b/import_shims/lms/static_replace/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..924ba91ec4829af7aa227853b1e383556616788e
--- /dev/null
+++ b/import_shims/lms/static_replace/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.management.commands', 'common.djangoapps.static_replace.management.commands')
+
+from common.djangoapps.static_replace.management.commands import *
diff --git a/import_shims/lms/static_replace/management/commands/clear_collectstatic_cache.py b/import_shims/lms/static_replace/management/commands/clear_collectstatic_cache.py
new file mode 100644
index 0000000000000000000000000000000000000000..f48e6c054147a213ac71aaba3fac86b6c0f0cce7
--- /dev/null
+++ b/import_shims/lms/static_replace/management/commands/clear_collectstatic_cache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.management.commands.clear_collectstatic_cache', 'common.djangoapps.static_replace.management.commands.clear_collectstatic_cache')
+
+from common.djangoapps.static_replace.management.commands.clear_collectstatic_cache import *
diff --git a/import_shims/lms/static_replace/models.py b/import_shims/lms/static_replace/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd13639c7e2f3b58d8cb982903a00ff6de21feee
--- /dev/null
+++ b/import_shims/lms/static_replace/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.models', 'common.djangoapps.static_replace.models')
+
+from common.djangoapps.static_replace.models import *
diff --git a/import_shims/lms/static_replace/test/__init__.py b/import_shims/lms/static_replace/test/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a97f94831a5049c7aed0a5cd072870d5d94ecf43
--- /dev/null
+++ b/import_shims/lms/static_replace/test/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.test', 'common.djangoapps.static_replace.test')
+
+from common.djangoapps.static_replace.test import *
diff --git a/import_shims/lms/static_replace/test/test_static_replace.py b/import_shims/lms/static_replace/test/test_static_replace.py
new file mode 100644
index 0000000000000000000000000000000000000000..70597a699a387130ee79f6db5e7101b86e7d234d
--- /dev/null
+++ b/import_shims/lms/static_replace/test/test_static_replace.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.test.test_static_replace', 'common.djangoapps.static_replace.test.test_static_replace')
+
+from common.djangoapps.static_replace.test.test_static_replace import *
diff --git a/import_shims/lms/status/__init__.py b/import_shims/lms/status/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a13d08f261c51a473fc3f08033821ce01a9ca87
--- /dev/null
+++ b/import_shims/lms/status/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status', 'common.djangoapps.status')
+
+from common.djangoapps.status import *
diff --git a/import_shims/lms/status/models.py b/import_shims/lms/status/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5472b0bfba08176cbb6b4cb31e13b9feb27cc70
--- /dev/null
+++ b/import_shims/lms/status/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status.models', 'common.djangoapps.status.models')
+
+from common.djangoapps.status.models import *
diff --git a/import_shims/lms/status/status.py b/import_shims/lms/status/status.py
new file mode 100644
index 0000000000000000000000000000000000000000..58ce46f399cd00544d594c98402ac47982b64bca
--- /dev/null
+++ b/import_shims/lms/status/status.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status.status', 'common.djangoapps.status.status')
+
+from common.djangoapps.status.status import *
diff --git a/import_shims/lms/status/tests.py b/import_shims/lms/status/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..2f1eddb757474a78035d4c9fb517abea397a8259
--- /dev/null
+++ b/import_shims/lms/status/tests.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status.tests', 'common.djangoapps.status.tests')
+
+from common.djangoapps.status.tests import *
diff --git a/import_shims/lms/student/__init__.py b/import_shims/lms/student/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7921410e6ae5253686beb50ccc3fdd915255cb43
--- /dev/null
+++ b/import_shims/lms/student/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student', 'common.djangoapps.student')
+
+from common.djangoapps.student import *
diff --git a/import_shims/lms/student/admin.py b/import_shims/lms/student/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..e0e640ec692a82a452f353afd1db1eeae6bd8808
--- /dev/null
+++ b/import_shims/lms/student/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.admin', 'common.djangoapps.student.admin')
+
+from common.djangoapps.student.admin import *
diff --git a/import_shims/lms/student/api.py b/import_shims/lms/student/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..3157baeb4da2f1bdf7b424d09861a444b4d35231
--- /dev/null
+++ b/import_shims/lms/student/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.api', 'common.djangoapps.student.api')
+
+from common.djangoapps.student.api import *
diff --git a/import_shims/lms/student/apps.py b/import_shims/lms/student/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..54b77ea84728175513c0eba2dcd70406af75f04f
--- /dev/null
+++ b/import_shims/lms/student/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.apps', 'common.djangoapps.student.apps')
+
+from common.djangoapps.student.apps import *
diff --git a/import_shims/lms/student/auth.py b/import_shims/lms/student/auth.py
new file mode 100644
index 0000000000000000000000000000000000000000..cac8c0d18a0f7e70927b11d09a0f9f7d5b8a5433
--- /dev/null
+++ b/import_shims/lms/student/auth.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.auth', 'common.djangoapps.student.auth')
+
+from common.djangoapps.student.auth import *
diff --git a/import_shims/lms/student/forms.py b/import_shims/lms/student/forms.py
new file mode 100644
index 0000000000000000000000000000000000000000..720e7ea84238a505edc5678b82f63531c618d95a
--- /dev/null
+++ b/import_shims/lms/student/forms.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.forms', 'common.djangoapps.student.forms')
+
+from common.djangoapps.student.forms import *
diff --git a/import_shims/lms/student/helpers.py b/import_shims/lms/student/helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d448a557ed7e8037fbaba0e7284e374503fa3eb
--- /dev/null
+++ b/import_shims/lms/student/helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.helpers', 'common.djangoapps.student.helpers')
+
+from common.djangoapps.student.helpers import *
diff --git a/import_shims/lms/student/management/__init__.py b/import_shims/lms/student/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3ac1769d0b32e470827d4909c420cae30e243ea8
--- /dev/null
+++ b/import_shims/lms/student/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management', 'common.djangoapps.student.management')
+
+from common.djangoapps.student.management import *
diff --git a/import_shims/lms/student/management/commands/__init__.py b/import_shims/lms/student/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..69627fdcec4ddd97bcebae51693cde7b4d241cc2
--- /dev/null
+++ b/import_shims/lms/student/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands', 'common.djangoapps.student.management.commands')
+
+from common.djangoapps.student.management.commands import *
diff --git a/import_shims/lms/student/management/commands/_create_users.py b/import_shims/lms/student/management/commands/_create_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..63888425eecb251e82d0b136dea1424c209183ff
--- /dev/null
+++ b/import_shims/lms/student/management/commands/_create_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands._create_users', 'common.djangoapps.student.management.commands._create_users')
+
+from common.djangoapps.student.management.commands._create_users import *
diff --git a/import_shims/lms/student/management/commands/add_to_group.py b/import_shims/lms/student/management/commands/add_to_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..eb768f48a88932af17a704d92517a3c2fab63449
--- /dev/null
+++ b/import_shims/lms/student/management/commands/add_to_group.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.add_to_group', 'common.djangoapps.student.management.commands.add_to_group')
+
+from common.djangoapps.student.management.commands.add_to_group import *
diff --git a/import_shims/lms/student/management/commands/anonymized_id_mapping.py b/import_shims/lms/student/management/commands/anonymized_id_mapping.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1ace4626bf616eb9132d862a23e8708f88dec20
--- /dev/null
+++ b/import_shims/lms/student/management/commands/anonymized_id_mapping.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.anonymized_id_mapping', 'common.djangoapps.student.management.commands.anonymized_id_mapping')
+
+from common.djangoapps.student.management.commands.anonymized_id_mapping import *
diff --git a/import_shims/lms/student/management/commands/assigngroups.py b/import_shims/lms/student/management/commands/assigngroups.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd5b21337098c691ef2c1ddc98a528f983b6face
--- /dev/null
+++ b/import_shims/lms/student/management/commands/assigngroups.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.assigngroups', 'common.djangoapps.student.management.commands.assigngroups')
+
+from common.djangoapps.student.management.commands.assigngroups import *
diff --git a/import_shims/lms/student/management/commands/bulk_change_enrollment.py b/import_shims/lms/student/management/commands/bulk_change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..6204abf5737dc2cef4286b0343077f3c7a9a3176
--- /dev/null
+++ b/import_shims/lms/student/management/commands/bulk_change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_change_enrollment', 'common.djangoapps.student.management.commands.bulk_change_enrollment')
+
+from common.djangoapps.student.management.commands.bulk_change_enrollment import *
diff --git a/import_shims/lms/student/management/commands/bulk_change_enrollment_csv.py b/import_shims/lms/student/management/commands/bulk_change_enrollment_csv.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4a2a9094151a638ed23fadc88caeb49a839daac
--- /dev/null
+++ b/import_shims/lms/student/management/commands/bulk_change_enrollment_csv.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_change_enrollment_csv', 'common.djangoapps.student.management.commands.bulk_change_enrollment_csv')
+
+from common.djangoapps.student.management.commands.bulk_change_enrollment_csv import *
diff --git a/import_shims/lms/student/management/commands/bulk_unenroll.py b/import_shims/lms/student/management/commands/bulk_unenroll.py
new file mode 100644
index 0000000000000000000000000000000000000000..832a85d03b1ce623a9631dced150d0fc1c077fd7
--- /dev/null
+++ b/import_shims/lms/student/management/commands/bulk_unenroll.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_unenroll', 'common.djangoapps.student.management.commands.bulk_unenroll')
+
+from common.djangoapps.student.management.commands.bulk_unenroll import *
diff --git a/import_shims/lms/student/management/commands/bulk_update_email.py b/import_shims/lms/student/management/commands/bulk_update_email.py
new file mode 100644
index 0000000000000000000000000000000000000000..dd18a84c9710853f43f7dd737604465e23648b4d
--- /dev/null
+++ b/import_shims/lms/student/management/commands/bulk_update_email.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_update_email', 'common.djangoapps.student.management.commands.bulk_update_email')
+
+from common.djangoapps.student.management.commands.bulk_update_email import *
diff --git a/import_shims/lms/student/management/commands/cert_restriction.py b/import_shims/lms/student/management/commands/cert_restriction.py
new file mode 100644
index 0000000000000000000000000000000000000000..b42cf2b33d4ef0607b18bbfd56a0282e8f9f4771
--- /dev/null
+++ b/import_shims/lms/student/management/commands/cert_restriction.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.cert_restriction', 'common.djangoapps.student.management.commands.cert_restriction')
+
+from common.djangoapps.student.management.commands.cert_restriction import *
diff --git a/import_shims/lms/student/management/commands/change_eligibility_deadline.py b/import_shims/lms/student/management/commands/change_eligibility_deadline.py
new file mode 100644
index 0000000000000000000000000000000000000000..165f1918a976184fef1667e10498e5fe818985e3
--- /dev/null
+++ b/import_shims/lms/student/management/commands/change_eligibility_deadline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.change_eligibility_deadline', 'common.djangoapps.student.management.commands.change_eligibility_deadline')
+
+from common.djangoapps.student.management.commands.change_eligibility_deadline import *
diff --git a/import_shims/lms/student/management/commands/change_enrollment.py b/import_shims/lms/student/management/commands/change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..21022051c348380adca060d295062dec688b7435
--- /dev/null
+++ b/import_shims/lms/student/management/commands/change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.change_enrollment', 'common.djangoapps.student.management.commands.change_enrollment')
+
+from common.djangoapps.student.management.commands.change_enrollment import *
diff --git a/import_shims/lms/student/management/commands/change_enterprise_user_username.py b/import_shims/lms/student/management/commands/change_enterprise_user_username.py
new file mode 100644
index 0000000000000000000000000000000000000000..9d843a710f0a01ea61226b151cf9cf0c31b23489
--- /dev/null
+++ b/import_shims/lms/student/management/commands/change_enterprise_user_username.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.change_enterprise_user_username', 'common.djangoapps.student.management.commands.change_enterprise_user_username')
+
+from common.djangoapps.student.management.commands.change_enterprise_user_username import *
diff --git a/import_shims/lms/student/management/commands/create_random_users.py b/import_shims/lms/student/management/commands/create_random_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..63b5b06ed968271888ed49e5aba7cdcf79a0771b
--- /dev/null
+++ b/import_shims/lms/student/management/commands/create_random_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.create_random_users', 'common.djangoapps.student.management.commands.create_random_users')
+
+from common.djangoapps.student.management.commands.create_random_users import *
diff --git a/import_shims/lms/student/management/commands/create_test_users.py b/import_shims/lms/student/management/commands/create_test_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..60e92c12fb4c09897921fac27470a1faa4d92018
--- /dev/null
+++ b/import_shims/lms/student/management/commands/create_test_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.create_test_users', 'common.djangoapps.student.management.commands.create_test_users')
+
+from common.djangoapps.student.management.commands.create_test_users import *
diff --git a/import_shims/lms/student/management/commands/export_staff_users.py b/import_shims/lms/student/management/commands/export_staff_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..972ce7f4e0f975d9c34199e6c245d402cd1fb197
--- /dev/null
+++ b/import_shims/lms/student/management/commands/export_staff_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.export_staff_users', 'common.djangoapps.student.management.commands.export_staff_users')
+
+from common.djangoapps.student.management.commands.export_staff_users import *
diff --git a/import_shims/lms/student/management/commands/manage_group.py b/import_shims/lms/student/management/commands/manage_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..44ebc7b31a16145d4a84aac7d8d4cc7b3a14ea0a
--- /dev/null
+++ b/import_shims/lms/student/management/commands/manage_group.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.manage_group', 'common.djangoapps.student.management.commands.manage_group')
+
+from common.djangoapps.student.management.commands.manage_group import *
diff --git a/import_shims/lms/student/management/commands/manage_user.py b/import_shims/lms/student/management/commands/manage_user.py
new file mode 100644
index 0000000000000000000000000000000000000000..5ac14853a06bf3aea650bedec96d34f9743b9747
--- /dev/null
+++ b/import_shims/lms/student/management/commands/manage_user.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.manage_user', 'common.djangoapps.student.management.commands.manage_user')
+
+from common.djangoapps.student.management.commands.manage_user import *
diff --git a/import_shims/lms/student/management/commands/populate_created_on_site_user_attribute.py b/import_shims/lms/student/management/commands/populate_created_on_site_user_attribute.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc717ada1f49363cbb412f8a929de25a726a1617
--- /dev/null
+++ b/import_shims/lms/student/management/commands/populate_created_on_site_user_attribute.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.populate_created_on_site_user_attribute', 'common.djangoapps.student.management.commands.populate_created_on_site_user_attribute')
+
+from common.djangoapps.student.management.commands.populate_created_on_site_user_attribute import *
diff --git a/import_shims/lms/student/management/commands/recover_account.py b/import_shims/lms/student/management/commands/recover_account.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf1245c0e8b6dbecf40e1a4b6fff68785d935419
--- /dev/null
+++ b/import_shims/lms/student/management/commands/recover_account.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.recover_account', 'common.djangoapps.student.management.commands.recover_account')
+
+from common.djangoapps.student.management.commands.recover_account import *
diff --git a/import_shims/lms/student/management/commands/set_staff.py b/import_shims/lms/student/management/commands/set_staff.py
new file mode 100644
index 0000000000000000000000000000000000000000..c4c5061af239e906c00d7f13b492abf03958bc08
--- /dev/null
+++ b/import_shims/lms/student/management/commands/set_staff.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.set_staff', 'common.djangoapps.student.management.commands.set_staff')
+
+from common.djangoapps.student.management.commands.set_staff import *
diff --git a/import_shims/lms/student/management/commands/set_superuser.py b/import_shims/lms/student/management/commands/set_superuser.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e0a97af8cdd3182b1196deaf84ed4d7b2f9effc
--- /dev/null
+++ b/import_shims/lms/student/management/commands/set_superuser.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.set_superuser', 'common.djangoapps.student.management.commands.set_superuser')
+
+from common.djangoapps.student.management.commands.set_superuser import *
diff --git a/import_shims/lms/student/management/commands/transfer_students.py b/import_shims/lms/student/management/commands/transfer_students.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2bd84fc0d44f3fa5714c4b5e4cdfbb9610e0664
--- /dev/null
+++ b/import_shims/lms/student/management/commands/transfer_students.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.transfer_students', 'common.djangoapps.student.management.commands.transfer_students')
+
+from common.djangoapps.student.management.commands.transfer_students import *
diff --git a/import_shims/lms/student/management/tests/__init__.py b/import_shims/lms/student/management/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b35860319d4600c04fc504a2e82e35dffc284dbc
--- /dev/null
+++ b/import_shims/lms/student/management/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests', 'common.djangoapps.student.management.tests')
+
+from common.djangoapps.student.management.tests import *
diff --git a/import_shims/lms/student/management/tests/test_bulk_change_enrollment.py b/import_shims/lms/student/management/tests/test_bulk_change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..b88a92bf1c349e01aacaf482d2520e9e126b6898
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_bulk_change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_bulk_change_enrollment', 'common.djangoapps.student.management.tests.test_bulk_change_enrollment')
+
+from common.djangoapps.student.management.tests.test_bulk_change_enrollment import *
diff --git a/import_shims/lms/student/management/tests/test_bulk_change_enrollment_csv.py b/import_shims/lms/student/management/tests/test_bulk_change_enrollment_csv.py
new file mode 100644
index 0000000000000000000000000000000000000000..fddfe4309b6ab880d8583fe1b090101c4f86cef0
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_bulk_change_enrollment_csv.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_bulk_change_enrollment_csv', 'common.djangoapps.student.management.tests.test_bulk_change_enrollment_csv')
+
+from common.djangoapps.student.management.tests.test_bulk_change_enrollment_csv import *
diff --git a/import_shims/lms/student/management/tests/test_bulk_unenroll.py b/import_shims/lms/student/management/tests/test_bulk_unenroll.py
new file mode 100644
index 0000000000000000000000000000000000000000..02d67e09bc60834cf0fd56e397a387a641f70f72
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_bulk_unenroll.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_bulk_unenroll', 'common.djangoapps.student.management.tests.test_bulk_unenroll')
+
+from common.djangoapps.student.management.tests.test_bulk_unenroll import *
diff --git a/import_shims/lms/student/management/tests/test_change_eligibility_deadline.py b/import_shims/lms/student/management/tests/test_change_eligibility_deadline.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e472a8c8402a94bd3aba29d53ffaecac681e0fc
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_change_eligibility_deadline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_change_eligibility_deadline', 'common.djangoapps.student.management.tests.test_change_eligibility_deadline')
+
+from common.djangoapps.student.management.tests.test_change_eligibility_deadline import *
diff --git a/import_shims/lms/student/management/tests/test_change_enrollment.py b/import_shims/lms/student/management/tests/test_change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b6f3a109cb287274178dcd381b2bca9fb108027
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_change_enrollment', 'common.djangoapps.student.management.tests.test_change_enrollment')
+
+from common.djangoapps.student.management.tests.test_change_enrollment import *
diff --git a/import_shims/lms/student/management/tests/test_change_enterprise_user_username.py b/import_shims/lms/student/management/tests/test_change_enterprise_user_username.py
new file mode 100644
index 0000000000000000000000000000000000000000..f9eadb7c83ceb77c3e2acf5ec8a3780f039a5778
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_change_enterprise_user_username.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_change_enterprise_user_username', 'common.djangoapps.student.management.tests.test_change_enterprise_user_username')
+
+from common.djangoapps.student.management.tests.test_change_enterprise_user_username import *
diff --git a/import_shims/lms/student/management/tests/test_create_random_users.py b/import_shims/lms/student/management/tests/test_create_random_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..264a03c94c468c72e01ec754b412b292527c637d
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_create_random_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_create_random_users', 'common.djangoapps.student.management.tests.test_create_random_users')
+
+from common.djangoapps.student.management.tests.test_create_random_users import *
diff --git a/import_shims/lms/student/management/tests/test_create_test_users.py b/import_shims/lms/student/management/tests/test_create_test_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..89fc5fdac9289bfd2551b9aed8f6385703221a79
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_create_test_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_create_test_users', 'common.djangoapps.student.management.tests.test_create_test_users')
+
+from common.djangoapps.student.management.tests.test_create_test_users import *
diff --git a/import_shims/lms/student/management/tests/test_export_staff_users.py b/import_shims/lms/student/management/tests/test_export_staff_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3b21aa5cf6160eff773c210c4699539a6e208a9
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_export_staff_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_export_staff_users', 'common.djangoapps.student.management.tests.test_export_staff_users')
+
+from common.djangoapps.student.management.tests.test_export_staff_users import *
diff --git a/import_shims/lms/student/management/tests/test_manage_group.py b/import_shims/lms/student/management/tests/test_manage_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..f17224ffcfedb25fddbb6c6c34297789f4c3a093
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_manage_group.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_manage_group', 'common.djangoapps.student.management.tests.test_manage_group')
+
+from common.djangoapps.student.management.tests.test_manage_group import *
diff --git a/import_shims/lms/student/management/tests/test_manage_user.py b/import_shims/lms/student/management/tests/test_manage_user.py
new file mode 100644
index 0000000000000000000000000000000000000000..134fc54344849d671044d1bdd5773932bbea7106
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_manage_user.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_manage_user', 'common.djangoapps.student.management.tests.test_manage_user')
+
+from common.djangoapps.student.management.tests.test_manage_user import *
diff --git a/import_shims/lms/student/management/tests/test_populate_created_on_site_user_attribute.py b/import_shims/lms/student/management/tests/test_populate_created_on_site_user_attribute.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5e73645d2da1b695a4d51059746a9ea03e8d211
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_populate_created_on_site_user_attribute.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_populate_created_on_site_user_attribute', 'common.djangoapps.student.management.tests.test_populate_created_on_site_user_attribute')
+
+from common.djangoapps.student.management.tests.test_populate_created_on_site_user_attribute import *
diff --git a/import_shims/lms/student/management/tests/test_recover_account.py b/import_shims/lms/student/management/tests/test_recover_account.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a975f8646248e1715d265cd0af69b4c94e4144a
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_recover_account.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_recover_account', 'common.djangoapps.student.management.tests.test_recover_account')
+
+from common.djangoapps.student.management.tests.test_recover_account import *
diff --git a/import_shims/lms/student/management/tests/test_transfer_students.py b/import_shims/lms/student/management/tests/test_transfer_students.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a6abb78b57670aa8ebaaf5df343bd97cb725d9c
--- /dev/null
+++ b/import_shims/lms/student/management/tests/test_transfer_students.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_transfer_students', 'common.djangoapps.student.management.tests.test_transfer_students')
+
+from common.djangoapps.student.management.tests.test_transfer_students import *
diff --git a/import_shims/lms/student/message_types.py b/import_shims/lms/student/message_types.py
new file mode 100644
index 0000000000000000000000000000000000000000..991505cce589a1e53c068ab660364bfc3ca771b0
--- /dev/null
+++ b/import_shims/lms/student/message_types.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.message_types', 'common.djangoapps.student.message_types')
+
+from common.djangoapps.student.message_types import *
diff --git a/import_shims/lms/student/middleware.py b/import_shims/lms/student/middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..32fd8e15cb2dc0cf5537298de79416b28742bfbe
--- /dev/null
+++ b/import_shims/lms/student/middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.middleware', 'common.djangoapps.student.middleware')
+
+from common.djangoapps.student.middleware import *
diff --git a/import_shims/lms/student/models.py b/import_shims/lms/student/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..ec6e1c90c7d21fcd6f9ca5a972b22af46ae50178
--- /dev/null
+++ b/import_shims/lms/student/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.models', 'common.djangoapps.student.models')
+
+from common.djangoapps.student.models import *
diff --git a/import_shims/lms/student/models_api.py b/import_shims/lms/student/models_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..66285099be5a3a4618c22237d1951438c79b092e
--- /dev/null
+++ b/import_shims/lms/student/models_api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.models_api', 'common.djangoapps.student.models_api')
+
+from common.djangoapps.student.models_api import *
diff --git a/import_shims/lms/student/role_helpers.py b/import_shims/lms/student/role_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..66b45f6014c2a1acfe7114ba8ed3f260023c66d8
--- /dev/null
+++ b/import_shims/lms/student/role_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.role_helpers', 'common.djangoapps.student.role_helpers')
+
+from common.djangoapps.student.role_helpers import *
diff --git a/import_shims/lms/student/roles.py b/import_shims/lms/student/roles.py
new file mode 100644
index 0000000000000000000000000000000000000000..11a028503a65b37fa20b593f3ba6332d5b0e8a21
--- /dev/null
+++ b/import_shims/lms/student/roles.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.roles', 'common.djangoapps.student.roles')
+
+from common.djangoapps.student.roles import *
diff --git a/import_shims/lms/student/signals/__init__.py b/import_shims/lms/student/signals/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..db8390d48403779aecfe7ebfdc8f6d773bb5d8e9
--- /dev/null
+++ b/import_shims/lms/student/signals/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.signals', 'common.djangoapps.student.signals')
+
+from common.djangoapps.student.signals import *
diff --git a/import_shims/lms/student/signals/receivers.py b/import_shims/lms/student/signals/receivers.py
new file mode 100644
index 0000000000000000000000000000000000000000..4ae80fd70f867c41c9308472dcf141397f511473
--- /dev/null
+++ b/import_shims/lms/student/signals/receivers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.signals.receivers', 'common.djangoapps.student.signals.receivers')
+
+from common.djangoapps.student.signals.receivers import *
diff --git a/import_shims/lms/student/signals/signals.py b/import_shims/lms/student/signals/signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..77c538a8f85b9ffd12e8070f949c9a094ea15163
--- /dev/null
+++ b/import_shims/lms/student/signals/signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.signals.signals', 'common.djangoapps.student.signals.signals')
+
+from common.djangoapps.student.signals.signals import *
diff --git a/import_shims/lms/student/tasks.py b/import_shims/lms/student/tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..3fcadcd2cd8f0cd97c5f92e00aea43bffdf8d63e
--- /dev/null
+++ b/import_shims/lms/student/tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tasks', 'common.djangoapps.student.tasks')
+
+from common.djangoapps.student.tasks import *
diff --git a/import_shims/lms/student/tests/__init__.py b/import_shims/lms/student/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2c2e86438edb10432c335d5054cc65c187ad354
--- /dev/null
+++ b/import_shims/lms/student/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests', 'common.djangoapps.student.tests')
+
+from common.djangoapps.student.tests import *
diff --git a/import_shims/lms/student/tests/factories.py b/import_shims/lms/student/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..554f7300972ee04a235eeb6997ca8591090e2c45
--- /dev/null
+++ b/import_shims/lms/student/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.factories', 'common.djangoapps.student.tests.factories')
+
+from common.djangoapps.student.tests.factories import *
diff --git a/import_shims/lms/student/tests/test_activate_account.py b/import_shims/lms/student/tests/test_activate_account.py
new file mode 100644
index 0000000000000000000000000000000000000000..11446e4743f57c63f71ef254135540cab990e147
--- /dev/null
+++ b/import_shims/lms/student/tests/test_activate_account.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_activate_account', 'common.djangoapps.student.tests.test_activate_account')
+
+from common.djangoapps.student.tests.test_activate_account import *
diff --git a/import_shims/lms/student/tests/test_admin_views.py b/import_shims/lms/student/tests/test_admin_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..ffa4ae4acc1a6cf3cc6d7f5883750f11d9bd5873
--- /dev/null
+++ b/import_shims/lms/student/tests/test_admin_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_admin_views', 'common.djangoapps.student.tests.test_admin_views')
+
+from common.djangoapps.student.tests.test_admin_views import *
diff --git a/import_shims/lms/student/tests/test_authz.py b/import_shims/lms/student/tests/test_authz.py
new file mode 100644
index 0000000000000000000000000000000000000000..f296a087db17d1a276fd1e921c6a8f60c18446db
--- /dev/null
+++ b/import_shims/lms/student/tests/test_authz.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_authz', 'common.djangoapps.student.tests.test_authz')
+
+from common.djangoapps.student.tests.test_authz import *
diff --git a/import_shims/lms/student/tests/test_bulk_email_settings.py b/import_shims/lms/student/tests/test_bulk_email_settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..07002a42042b5789d020dc0f10d175152f4b5c3d
--- /dev/null
+++ b/import_shims/lms/student/tests/test_bulk_email_settings.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_bulk_email_settings', 'common.djangoapps.student.tests.test_bulk_email_settings')
+
+from common.djangoapps.student.tests.test_bulk_email_settings import *
diff --git a/import_shims/lms/student/tests/test_certificates.py b/import_shims/lms/student/tests/test_certificates.py
new file mode 100644
index 0000000000000000000000000000000000000000..7bf9fc5ef5edf2ebcf6714381b3a30ca8d55d0df
--- /dev/null
+++ b/import_shims/lms/student/tests/test_certificates.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_certificates', 'common.djangoapps.student.tests.test_certificates')
+
+from common.djangoapps.student.tests.test_certificates import *
diff --git a/import_shims/lms/student/tests/test_configuration_overrides.py b/import_shims/lms/student/tests/test_configuration_overrides.py
new file mode 100644
index 0000000000000000000000000000000000000000..996cfe30109d8a7f56beb3f47cdb95f3bbe7c76c
--- /dev/null
+++ b/import_shims/lms/student/tests/test_configuration_overrides.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_configuration_overrides', 'common.djangoapps.student.tests.test_configuration_overrides')
+
+from common.djangoapps.student.tests.test_configuration_overrides import *
diff --git a/import_shims/lms/student/tests/test_course_listing.py b/import_shims/lms/student/tests/test_course_listing.py
new file mode 100644
index 0000000000000000000000000000000000000000..82b050a96798f86dc0c9ed54ed841e1ab5e8e09a
--- /dev/null
+++ b/import_shims/lms/student/tests/test_course_listing.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_course_listing', 'common.djangoapps.student.tests.test_course_listing')
+
+from common.djangoapps.student.tests.test_course_listing import *
diff --git a/import_shims/lms/student/tests/test_credit.py b/import_shims/lms/student/tests/test_credit.py
new file mode 100644
index 0000000000000000000000000000000000000000..8c1b30260d1bcd913170e6354308ee5b950dcaf8
--- /dev/null
+++ b/import_shims/lms/student/tests/test_credit.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_credit', 'common.djangoapps.student.tests.test_credit')
+
+from common.djangoapps.student.tests.test_credit import *
diff --git a/import_shims/lms/student/tests/test_email.py b/import_shims/lms/student/tests/test_email.py
new file mode 100644
index 0000000000000000000000000000000000000000..dec38af30dd8162e2eaadf82a8f6a605b9f50b5c
--- /dev/null
+++ b/import_shims/lms/student/tests/test_email.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_email', 'common.djangoapps.student.tests.test_email')
+
+from common.djangoapps.student.tests.test_email import *
diff --git a/import_shims/lms/student/tests/test_enrollment.py b/import_shims/lms/student/tests/test_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..49200a64394c76d062fb22bd875922b578b4d854
--- /dev/null
+++ b/import_shims/lms/student/tests/test_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_enrollment', 'common.djangoapps.student.tests.test_enrollment')
+
+from common.djangoapps.student.tests.test_enrollment import *
diff --git a/import_shims/lms/student/tests/test_events.py b/import_shims/lms/student/tests/test_events.py
new file mode 100644
index 0000000000000000000000000000000000000000..e9a5f5e56c95d9cd868d207e502d83cc5469de8d
--- /dev/null
+++ b/import_shims/lms/student/tests/test_events.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_events', 'common.djangoapps.student.tests.test_events')
+
+from common.djangoapps.student.tests.test_events import *
diff --git a/import_shims/lms/student/tests/test_helpers.py b/import_shims/lms/student/tests/test_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8bd5647963fdaf967ec3cfc80d35b90d34df5a5
--- /dev/null
+++ b/import_shims/lms/student/tests/test_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_helpers', 'common.djangoapps.student.tests.test_helpers')
+
+from common.djangoapps.student.tests.test_helpers import *
diff --git a/import_shims/lms/student/tests/test_linkedin.py b/import_shims/lms/student/tests/test_linkedin.py
new file mode 100644
index 0000000000000000000000000000000000000000..8eea4d4bc67196bf9323e9a85ad81e5071460efd
--- /dev/null
+++ b/import_shims/lms/student/tests/test_linkedin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_linkedin', 'common.djangoapps.student.tests.test_linkedin')
+
+from common.djangoapps.student.tests.test_linkedin import *
diff --git a/import_shims/lms/student/tests/test_long_username_email.py b/import_shims/lms/student/tests/test_long_username_email.py
new file mode 100644
index 0000000000000000000000000000000000000000..7a39f4b1a7429628b941ee596241a8d476bce077
--- /dev/null
+++ b/import_shims/lms/student/tests/test_long_username_email.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_long_username_email', 'common.djangoapps.student.tests.test_long_username_email')
+
+from common.djangoapps.student.tests.test_long_username_email import *
diff --git a/import_shims/lms/student/tests/test_models.py b/import_shims/lms/student/tests/test_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..637d9b349ea7d70e470f07e0af9c61b100f2e4d1
--- /dev/null
+++ b/import_shims/lms/student/tests/test_models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_models', 'common.djangoapps.student.tests.test_models')
+
+from common.djangoapps.student.tests.test_models import *
diff --git a/import_shims/lms/student/tests/test_parental_controls.py b/import_shims/lms/student/tests/test_parental_controls.py
new file mode 100644
index 0000000000000000000000000000000000000000..62c35378a8c7fef18080ebf1b1590b3fce746cdb
--- /dev/null
+++ b/import_shims/lms/student/tests/test_parental_controls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_parental_controls', 'common.djangoapps.student.tests.test_parental_controls')
+
+from common.djangoapps.student.tests.test_parental_controls import *
diff --git a/import_shims/lms/student/tests/test_password_policy.py b/import_shims/lms/student/tests/test_password_policy.py
new file mode 100644
index 0000000000000000000000000000000000000000..d65baf165105f574a7ea1ffd1f2a45c72cac583e
--- /dev/null
+++ b/import_shims/lms/student/tests/test_password_policy.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_password_policy', 'common.djangoapps.student.tests.test_password_policy')
+
+from common.djangoapps.student.tests.test_password_policy import *
diff --git a/import_shims/lms/student/tests/test_receivers.py b/import_shims/lms/student/tests/test_receivers.py
new file mode 100644
index 0000000000000000000000000000000000000000..3cf2563810c6e62cb329aefc6e3c7661d8354c4c
--- /dev/null
+++ b/import_shims/lms/student/tests/test_receivers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_receivers', 'common.djangoapps.student.tests.test_receivers')
+
+from common.djangoapps.student.tests.test_receivers import *
diff --git a/import_shims/lms/student/tests/test_recent_enrollments.py b/import_shims/lms/student/tests/test_recent_enrollments.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e59dae51e42a6e2b91b9721cec51b26fdd53843
--- /dev/null
+++ b/import_shims/lms/student/tests/test_recent_enrollments.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_recent_enrollments', 'common.djangoapps.student.tests.test_recent_enrollments')
+
+from common.djangoapps.student.tests.test_recent_enrollments import *
diff --git a/import_shims/lms/student/tests/test_refunds.py b/import_shims/lms/student/tests/test_refunds.py
new file mode 100644
index 0000000000000000000000000000000000000000..ac2684d71474cdbe9608798ed81e04d0e44bb81d
--- /dev/null
+++ b/import_shims/lms/student/tests/test_refunds.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_refunds', 'common.djangoapps.student.tests.test_refunds')
+
+from common.djangoapps.student.tests.test_refunds import *
diff --git a/import_shims/lms/student/tests/test_retirement.py b/import_shims/lms/student/tests/test_retirement.py
new file mode 100644
index 0000000000000000000000000000000000000000..40e9e42460b4c439e5553df69668e398b82bef34
--- /dev/null
+++ b/import_shims/lms/student/tests/test_retirement.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_retirement', 'common.djangoapps.student.tests.test_retirement')
+
+from common.djangoapps.student.tests.test_retirement import *
diff --git a/import_shims/lms/student/tests/test_roles.py b/import_shims/lms/student/tests/test_roles.py
new file mode 100644
index 0000000000000000000000000000000000000000..02da10e0343aa623deac4b9b53900eee4a10f4b3
--- /dev/null
+++ b/import_shims/lms/student/tests/test_roles.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_roles', 'common.djangoapps.student.tests.test_roles')
+
+from common.djangoapps.student.tests.test_roles import *
diff --git a/import_shims/lms/student/tests/test_tasks.py b/import_shims/lms/student/tests/test_tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..ec3a26452f6a3d934f32a2d771b03d82444d93d5
--- /dev/null
+++ b/import_shims/lms/student/tests/test_tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_tasks', 'common.djangoapps.student.tests.test_tasks')
+
+from common.djangoapps.student.tests.test_tasks import *
diff --git a/import_shims/lms/student/tests/test_user_profile_properties.py b/import_shims/lms/student/tests/test_user_profile_properties.py
new file mode 100644
index 0000000000000000000000000000000000000000..868d0efa0f4fb2e587e0bd8e10562b75b2599935
--- /dev/null
+++ b/import_shims/lms/student/tests/test_user_profile_properties.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_user_profile_properties', 'common.djangoapps.student.tests.test_user_profile_properties')
+
+from common.djangoapps.student.tests.test_user_profile_properties import *
diff --git a/import_shims/lms/student/tests/test_userstanding.py b/import_shims/lms/student/tests/test_userstanding.py
new file mode 100644
index 0000000000000000000000000000000000000000..2eabd768f0a1d413477bc7e6f2a894cc9b0c9bf1
--- /dev/null
+++ b/import_shims/lms/student/tests/test_userstanding.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_userstanding', 'common.djangoapps.student.tests.test_userstanding')
+
+from common.djangoapps.student.tests.test_userstanding import *
diff --git a/import_shims/lms/student/tests/test_verification_status.py b/import_shims/lms/student/tests/test_verification_status.py
new file mode 100644
index 0000000000000000000000000000000000000000..ba15fd119b326a0e4423222d83d6e6a3ebe58423
--- /dev/null
+++ b/import_shims/lms/student/tests/test_verification_status.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_verification_status', 'common.djangoapps.student.tests.test_verification_status')
+
+from common.djangoapps.student.tests.test_verification_status import *
diff --git a/import_shims/lms/student/tests/test_views.py b/import_shims/lms/student/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..44d4ef720b1984a14822d8e1456b654a43e50aaf
--- /dev/null
+++ b/import_shims/lms/student/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_views', 'common.djangoapps.student.tests.test_views')
+
+from common.djangoapps.student.tests.test_views import *
diff --git a/import_shims/lms/student/tests/tests.py b/import_shims/lms/student/tests/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..11c6f9943f07ad3334bda1109cb460637cea0a2a
--- /dev/null
+++ b/import_shims/lms/student/tests/tests.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.tests', 'common.djangoapps.student.tests.tests')
+
+from common.djangoapps.student.tests.tests import *
diff --git a/import_shims/lms/student/text_me_the_app.py b/import_shims/lms/student/text_me_the_app.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf97b1f89c877f4c45b3aee2ef3b17cb136ae011
--- /dev/null
+++ b/import_shims/lms/student/text_me_the_app.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.text_me_the_app', 'common.djangoapps.student.text_me_the_app')
+
+from common.djangoapps.student.text_me_the_app import *
diff --git a/import_shims/lms/student/urls.py b/import_shims/lms/student/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..d1c126d342cf68ac7648ebf322e5d918cdeb95c7
--- /dev/null
+++ b/import_shims/lms/student/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.urls', 'common.djangoapps.student.urls')
+
+from common.djangoapps.student.urls import *
diff --git a/import_shims/lms/student/views/__init__.py b/import_shims/lms/student/views/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2d3c117990b3c73fd3eb5e3c9f8535b6d071a50e
--- /dev/null
+++ b/import_shims/lms/student/views/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.views', 'common.djangoapps.student.views')
+
+from common.djangoapps.student.views import *
diff --git a/import_shims/lms/student/views/dashboard.py b/import_shims/lms/student/views/dashboard.py
new file mode 100644
index 0000000000000000000000000000000000000000..0467632cb3dfe4b3fbbad74e819ba4e4b72e4337
--- /dev/null
+++ b/import_shims/lms/student/views/dashboard.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.views.dashboard', 'common.djangoapps.student.views.dashboard')
+
+from common.djangoapps.student.views.dashboard import *
diff --git a/import_shims/lms/student/views/management.py b/import_shims/lms/student/views/management.py
new file mode 100644
index 0000000000000000000000000000000000000000..eacbe8f2ae4cb087e132d4b51ae1a187a867d89b
--- /dev/null
+++ b/import_shims/lms/student/views/management.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.views.management', 'common.djangoapps.student.views.management')
+
+from common.djangoapps.student.views.management import *
diff --git a/import_shims/lms/terrain/__init__.py b/import_shims/lms/terrain/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a63a99b3d2febd6bcf266d824429bd77a3f2237
--- /dev/null
+++ b/import_shims/lms/terrain/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain', 'common.djangoapps.terrain')
+
+from common.djangoapps.terrain import *
diff --git a/import_shims/lms/terrain/stubs/__init__.py b/import_shims/lms/terrain/stubs/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..852fb4d5cf6b290f64e9845fb68f2e70ffed4f07
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs', 'common.djangoapps.terrain.stubs')
+
+from common.djangoapps.terrain.stubs import *
diff --git a/import_shims/lms/terrain/stubs/catalog.py b/import_shims/lms/terrain/stubs/catalog.py
new file mode 100644
index 0000000000000000000000000000000000000000..2619f93d53f853346d3f8f63910e7b98b3303094
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/catalog.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.catalog', 'common.djangoapps.terrain.stubs.catalog')
+
+from common.djangoapps.terrain.stubs.catalog import *
diff --git a/import_shims/lms/terrain/stubs/comments.py b/import_shims/lms/terrain/stubs/comments.py
new file mode 100644
index 0000000000000000000000000000000000000000..ebdb78821e17285bcfcacc5a2f50cf00478377b1
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/comments.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.comments', 'common.djangoapps.terrain.stubs.comments')
+
+from common.djangoapps.terrain.stubs.comments import *
diff --git a/import_shims/lms/terrain/stubs/ecommerce.py b/import_shims/lms/terrain/stubs/ecommerce.py
new file mode 100644
index 0000000000000000000000000000000000000000..a56f7022b47519317e23dd3e51f3f9742a373de2
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/ecommerce.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.ecommerce', 'common.djangoapps.terrain.stubs.ecommerce')
+
+from common.djangoapps.terrain.stubs.ecommerce import *
diff --git a/import_shims/lms/terrain/stubs/edxnotes.py b/import_shims/lms/terrain/stubs/edxnotes.py
new file mode 100644
index 0000000000000000000000000000000000000000..55240506cfff06fa9c6a35ad6ffbfd0e9138ef3d
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/edxnotes.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.edxnotes', 'common.djangoapps.terrain.stubs.edxnotes')
+
+from common.djangoapps.terrain.stubs.edxnotes import *
diff --git a/import_shims/lms/terrain/stubs/http.py b/import_shims/lms/terrain/stubs/http.py
new file mode 100644
index 0000000000000000000000000000000000000000..d587bf0b9b99a6b97d007d6454d296b6f6651ea2
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/http.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.http', 'common.djangoapps.terrain.stubs.http')
+
+from common.djangoapps.terrain.stubs.http import *
diff --git a/import_shims/lms/terrain/stubs/lti.py b/import_shims/lms/terrain/stubs/lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..594fa9866bfcd76bdfe3e0b51857ce10c204bdfd
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.lti', 'common.djangoapps.terrain.stubs.lti')
+
+from common.djangoapps.terrain.stubs.lti import *
diff --git a/import_shims/lms/terrain/stubs/start.py b/import_shims/lms/terrain/stubs/start.py
new file mode 100644
index 0000000000000000000000000000000000000000..21bee3437c599c5cd826265f48f8ec2177c3926f
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/start.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.start', 'common.djangoapps.terrain.stubs.start')
+
+from common.djangoapps.terrain.stubs.start import *
diff --git a/import_shims/lms/terrain/stubs/tests/__init__.py b/import_shims/lms/terrain/stubs/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3528d5d4a58ce02b1473fac44d1908e5d81460b8
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests', 'common.djangoapps.terrain.stubs.tests')
+
+from common.djangoapps.terrain.stubs.tests import *
diff --git a/import_shims/lms/terrain/stubs/tests/test_edxnotes.py b/import_shims/lms/terrain/stubs/tests/test_edxnotes.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd219186356ef250182b180611720784b940d972
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/tests/test_edxnotes.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_edxnotes', 'common.djangoapps.terrain.stubs.tests.test_edxnotes')
+
+from common.djangoapps.terrain.stubs.tests.test_edxnotes import *
diff --git a/import_shims/lms/terrain/stubs/tests/test_http.py b/import_shims/lms/terrain/stubs/tests/test_http.py
new file mode 100644
index 0000000000000000000000000000000000000000..8c8980f01973453f5551a459ade3abf7f6b92679
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/tests/test_http.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_http', 'common.djangoapps.terrain.stubs.tests.test_http')
+
+from common.djangoapps.terrain.stubs.tests.test_http import *
diff --git a/import_shims/lms/terrain/stubs/tests/test_lti_stub.py b/import_shims/lms/terrain/stubs/tests/test_lti_stub.py
new file mode 100644
index 0000000000000000000000000000000000000000..e718be3881b6038aa020c323da3a3e9b74cf519f
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/tests/test_lti_stub.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_lti_stub', 'common.djangoapps.terrain.stubs.tests.test_lti_stub')
+
+from common.djangoapps.terrain.stubs.tests.test_lti_stub import *
diff --git a/import_shims/lms/terrain/stubs/tests/test_video.py b/import_shims/lms/terrain/stubs/tests/test_video.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2cd949a4066d7f1ee753fef5b8fd198fdefc8e3
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/tests/test_video.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_video', 'common.djangoapps.terrain.stubs.tests.test_video')
+
+from common.djangoapps.terrain.stubs.tests.test_video import *
diff --git a/import_shims/lms/terrain/stubs/tests/test_xqueue_stub.py b/import_shims/lms/terrain/stubs/tests/test_xqueue_stub.py
new file mode 100644
index 0000000000000000000000000000000000000000..7adbabdb2b0332ca3cef7aad9343003c18683701
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/tests/test_xqueue_stub.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_xqueue_stub', 'common.djangoapps.terrain.stubs.tests.test_xqueue_stub')
+
+from common.djangoapps.terrain.stubs.tests.test_xqueue_stub import *
diff --git a/import_shims/lms/terrain/stubs/tests/test_youtube_stub.py b/import_shims/lms/terrain/stubs/tests/test_youtube_stub.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e188c237684beb08c2a088a5d0b109f16828d01
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/tests/test_youtube_stub.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_youtube_stub', 'common.djangoapps.terrain.stubs.tests.test_youtube_stub')
+
+from common.djangoapps.terrain.stubs.tests.test_youtube_stub import *
diff --git a/import_shims/lms/terrain/stubs/video_source.py b/import_shims/lms/terrain/stubs/video_source.py
new file mode 100644
index 0000000000000000000000000000000000000000..798753615ad11aa4eb5aecef78e49203640aa5ee
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/video_source.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.video_source', 'common.djangoapps.terrain.stubs.video_source')
+
+from common.djangoapps.terrain.stubs.video_source import *
diff --git a/import_shims/lms/terrain/stubs/xqueue.py b/import_shims/lms/terrain/stubs/xqueue.py
new file mode 100644
index 0000000000000000000000000000000000000000..6ece16501fa9f2cdf9a126fe3567fd2d1726dee2
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/xqueue.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.xqueue', 'common.djangoapps.terrain.stubs.xqueue')
+
+from common.djangoapps.terrain.stubs.xqueue import *
diff --git a/import_shims/lms/terrain/stubs/youtube.py b/import_shims/lms/terrain/stubs/youtube.py
new file mode 100644
index 0000000000000000000000000000000000000000..a84da9ee228e94eb87dc5612b3298e658442401e
--- /dev/null
+++ b/import_shims/lms/terrain/stubs/youtube.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.youtube', 'common.djangoapps.terrain.stubs.youtube')
+
+from common.djangoapps.terrain.stubs.youtube import *
diff --git a/import_shims/lms/third_party_auth/__init__.py b/import_shims/lms/third_party_auth/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..18c19d988af0cf66335c1536fcc8a9bed09fc98c
--- /dev/null
+++ b/import_shims/lms/third_party_auth/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth', 'common.djangoapps.third_party_auth')
+
+from common.djangoapps.third_party_auth import *
diff --git a/import_shims/lms/third_party_auth/admin.py b/import_shims/lms/third_party_auth/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..2233cab3b553c91b442849579edf7d300b98cdbe
--- /dev/null
+++ b/import_shims/lms/third_party_auth/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.admin', 'common.djangoapps.third_party_auth.admin')
+
+from common.djangoapps.third_party_auth.admin import *
diff --git a/import_shims/lms/third_party_auth/api/__init__.py b/import_shims/lms/third_party_auth/api/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a5a44432455ba313a0cb7892b225dceb692857d
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api', 'common.djangoapps.third_party_auth.api')
+
+from common.djangoapps.third_party_auth.api import *
diff --git a/import_shims/lms/third_party_auth/api/permissions.py b/import_shims/lms/third_party_auth/api/permissions.py
new file mode 100644
index 0000000000000000000000000000000000000000..501ced05f3184ff4bfd3e861b706281f12ca1330
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/permissions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.permissions', 'common.djangoapps.third_party_auth.api.permissions')
+
+from common.djangoapps.third_party_auth.api.permissions import *
diff --git a/import_shims/lms/third_party_auth/api/serializers.py b/import_shims/lms/third_party_auth/api/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..e70908c945157bee4a80244751c72862b70904b9
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.serializers', 'common.djangoapps.third_party_auth.api.serializers')
+
+from common.djangoapps.third_party_auth.api.serializers import *
diff --git a/import_shims/lms/third_party_auth/api/tests/__init__.py b/import_shims/lms/third_party_auth/api/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ef7e02f4856bd4b0f230a76c0aa78822ddbd1751
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.tests', 'common.djangoapps.third_party_auth.api.tests')
+
+from common.djangoapps.third_party_auth.api.tests import *
diff --git a/import_shims/lms/third_party_auth/api/tests/test_permissions.py b/import_shims/lms/third_party_auth/api/tests/test_permissions.py
new file mode 100644
index 0000000000000000000000000000000000000000..df77e14f035a7df408ade4b2c80c1376f2c52969
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/tests/test_permissions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.tests.test_permissions', 'common.djangoapps.third_party_auth.api.tests.test_permissions')
+
+from common.djangoapps.third_party_auth.api.tests.test_permissions import *
diff --git a/import_shims/lms/third_party_auth/api/tests/test_views.py b/import_shims/lms/third_party_auth/api/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..4996711fa6a9af0dbf319346f53b9fa7512514af
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.tests.test_views', 'common.djangoapps.third_party_auth.api.tests.test_views')
+
+from common.djangoapps.third_party_auth.api.tests.test_views import *
diff --git a/import_shims/lms/third_party_auth/api/urls.py b/import_shims/lms/third_party_auth/api/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f02453a55f2a94144a9625d8b655de99bb7afe2
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.urls', 'common.djangoapps.third_party_auth.api.urls')
+
+from common.djangoapps.third_party_auth.api.urls import *
diff --git a/import_shims/lms/third_party_auth/api/utils.py b/import_shims/lms/third_party_auth/api/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..1eabc8a86a44a7c3ac9a83a9f5ad1d0b276cd36c
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.utils', 'common.djangoapps.third_party_auth.api.utils')
+
+from common.djangoapps.third_party_auth.api.utils import *
diff --git a/import_shims/lms/third_party_auth/api/views.py b/import_shims/lms/third_party_auth/api/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..52b63ed5ad8fb5809a881ee2a9f1b9a4208db3f3
--- /dev/null
+++ b/import_shims/lms/third_party_auth/api/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.views', 'common.djangoapps.third_party_auth.api.views')
+
+from common.djangoapps.third_party_auth.api.views import *
diff --git a/import_shims/lms/third_party_auth/appleid.py b/import_shims/lms/third_party_auth/appleid.py
new file mode 100644
index 0000000000000000000000000000000000000000..84956cfa5a05764c68d862efc5d40867d792c180
--- /dev/null
+++ b/import_shims/lms/third_party_auth/appleid.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.appleid', 'common.djangoapps.third_party_auth.appleid')
+
+from common.djangoapps.third_party_auth.appleid import *
diff --git a/import_shims/lms/third_party_auth/apps.py b/import_shims/lms/third_party_auth/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..22f79f231c2e2b0287ef1268af02655542ccc7c5
--- /dev/null
+++ b/import_shims/lms/third_party_auth/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.apps', 'common.djangoapps.third_party_auth.apps')
+
+from common.djangoapps.third_party_auth.apps import *
diff --git a/import_shims/lms/third_party_auth/decorators.py b/import_shims/lms/third_party_auth/decorators.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc3872961e0bcbca1512a398b0f605503782abb6
--- /dev/null
+++ b/import_shims/lms/third_party_auth/decorators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.decorators', 'common.djangoapps.third_party_auth.decorators')
+
+from common.djangoapps.third_party_auth.decorators import *
diff --git a/import_shims/lms/third_party_auth/dummy.py b/import_shims/lms/third_party_auth/dummy.py
new file mode 100644
index 0000000000000000000000000000000000000000..97c9709669cedb482b2e79b551da0664e1b6eeb7
--- /dev/null
+++ b/import_shims/lms/third_party_auth/dummy.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.dummy', 'common.djangoapps.third_party_auth.dummy')
+
+from common.djangoapps.third_party_auth.dummy import *
diff --git a/import_shims/lms/third_party_auth/exceptions.py b/import_shims/lms/third_party_auth/exceptions.py
new file mode 100644
index 0000000000000000000000000000000000000000..55958ad7fc754a93657dfb6d6b97352896ba4b67
--- /dev/null
+++ b/import_shims/lms/third_party_auth/exceptions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.exceptions', 'common.djangoapps.third_party_auth.exceptions')
+
+from common.djangoapps.third_party_auth.exceptions import *
diff --git a/import_shims/lms/third_party_auth/identityserver3.py b/import_shims/lms/third_party_auth/identityserver3.py
new file mode 100644
index 0000000000000000000000000000000000000000..379e9e2cdb81fd607408df2cb2ffe24a8e214ffb
--- /dev/null
+++ b/import_shims/lms/third_party_auth/identityserver3.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.identityserver3', 'common.djangoapps.third_party_auth.identityserver3')
+
+from common.djangoapps.third_party_auth.identityserver3 import *
diff --git a/import_shims/lms/third_party_auth/lti.py b/import_shims/lms/third_party_auth/lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..979ba20da5eeed0d55f3e86faa4b98747321d32d
--- /dev/null
+++ b/import_shims/lms/third_party_auth/lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.lti', 'common.djangoapps.third_party_auth.lti')
+
+from common.djangoapps.third_party_auth.lti import *
diff --git a/import_shims/lms/third_party_auth/management/__init__.py b/import_shims/lms/third_party_auth/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..18e1bc948d0894cad913bc7a5218e001bf59a154
--- /dev/null
+++ b/import_shims/lms/third_party_auth/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management', 'common.djangoapps.third_party_auth.management')
+
+from common.djangoapps.third_party_auth.management import *
diff --git a/import_shims/lms/third_party_auth/management/commands/__init__.py b/import_shims/lms/third_party_auth/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..98268c925004e7dc6f7dc73ea9e40fa304b4f74e
--- /dev/null
+++ b/import_shims/lms/third_party_auth/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands', 'common.djangoapps.third_party_auth.management.commands')
+
+from common.djangoapps.third_party_auth.management.commands import *
diff --git a/import_shims/lms/third_party_auth/management/commands/remove_social_auth_users.py b/import_shims/lms/third_party_auth/management/commands/remove_social_auth_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..1bd3cc7bc78cfd5b71e1eed03a6efe9987902544
--- /dev/null
+++ b/import_shims/lms/third_party_auth/management/commands/remove_social_auth_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.remove_social_auth_users', 'common.djangoapps.third_party_auth.management.commands.remove_social_auth_users')
+
+from common.djangoapps.third_party_auth.management.commands.remove_social_auth_users import *
diff --git a/import_shims/lms/third_party_auth/management/commands/saml.py b/import_shims/lms/third_party_auth/management/commands/saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..7aab3a9ca471579fb7dea2de73d3351d83ecfc2d
--- /dev/null
+++ b/import_shims/lms/third_party_auth/management/commands/saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.saml', 'common.djangoapps.third_party_auth.management.commands.saml')
+
+from common.djangoapps.third_party_auth.management.commands.saml import *
diff --git a/import_shims/lms/third_party_auth/management/commands/tests/__init__.py b/import_shims/lms/third_party_auth/management/commands/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3cdc2be0e1e232ad2f4a969a009f7ce48463903
--- /dev/null
+++ b/import_shims/lms/third_party_auth/management/commands/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.tests', 'common.djangoapps.third_party_auth.management.commands.tests')
+
+from common.djangoapps.third_party_auth.management.commands.tests import *
diff --git a/import_shims/lms/third_party_auth/management/commands/tests/test_remove_social_auth_users.py b/import_shims/lms/third_party_auth/management/commands/tests/test_remove_social_auth_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..f86e17ea62e327bf3935b4cb0554750aee17a5dd
--- /dev/null
+++ b/import_shims/lms/third_party_auth/management/commands/tests/test_remove_social_auth_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.tests.test_remove_social_auth_users', 'common.djangoapps.third_party_auth.management.commands.tests.test_remove_social_auth_users')
+
+from common.djangoapps.third_party_auth.management.commands.tests.test_remove_social_auth_users import *
diff --git a/import_shims/lms/third_party_auth/management/commands/tests/test_saml.py b/import_shims/lms/third_party_auth/management/commands/tests/test_saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..e82cbb3be302627707eef1d5b1fea46bb6a93c7b
--- /dev/null
+++ b/import_shims/lms/third_party_auth/management/commands/tests/test_saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.tests.test_saml', 'common.djangoapps.third_party_auth.management.commands.tests.test_saml')
+
+from common.djangoapps.third_party_auth.management.commands.tests.test_saml import *
diff --git a/import_shims/lms/third_party_auth/middleware.py b/import_shims/lms/third_party_auth/middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..f0eedcfd61f27f26a7e17a860f3d6e5bbf315c7b
--- /dev/null
+++ b/import_shims/lms/third_party_auth/middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.middleware', 'common.djangoapps.third_party_auth.middleware')
+
+from common.djangoapps.third_party_auth.middleware import *
diff --git a/import_shims/lms/third_party_auth/models.py b/import_shims/lms/third_party_auth/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a6302c7e03c9466a1195c27c5bbf4af6bdfec94
--- /dev/null
+++ b/import_shims/lms/third_party_auth/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.models', 'common.djangoapps.third_party_auth.models')
+
+from common.djangoapps.third_party_auth.models import *
diff --git a/import_shims/lms/third_party_auth/pipeline.py b/import_shims/lms/third_party_auth/pipeline.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ec9cab7ed3b13aa45d890e4264e7f7a462e345f
--- /dev/null
+++ b/import_shims/lms/third_party_auth/pipeline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.pipeline', 'common.djangoapps.third_party_auth.pipeline')
+
+from common.djangoapps.third_party_auth.pipeline import *
diff --git a/import_shims/lms/third_party_auth/provider.py b/import_shims/lms/third_party_auth/provider.py
new file mode 100644
index 0000000000000000000000000000000000000000..a68bf834714f71c06bd5e886139f0796b8af65cc
--- /dev/null
+++ b/import_shims/lms/third_party_auth/provider.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.provider', 'common.djangoapps.third_party_auth.provider')
+
+from common.djangoapps.third_party_auth.provider import *
diff --git a/import_shims/lms/third_party_auth/saml.py b/import_shims/lms/third_party_auth/saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..358ef19b7e23bd540baa669e52e60fbf19c43013
--- /dev/null
+++ b/import_shims/lms/third_party_auth/saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml', 'common.djangoapps.third_party_auth.saml')
+
+from common.djangoapps.third_party_auth.saml import *
diff --git a/import_shims/lms/third_party_auth/saml_configuration/__init__.py b/import_shims/lms/third_party_auth/saml_configuration/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2286cc196301bc99b9423f5caa37091122a70161
--- /dev/null
+++ b/import_shims/lms/third_party_auth/saml_configuration/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration', 'common.djangoapps.third_party_auth.saml_configuration')
+
+from common.djangoapps.third_party_auth.saml_configuration import *
diff --git a/import_shims/lms/third_party_auth/saml_configuration/serializers.py b/import_shims/lms/third_party_auth/saml_configuration/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a753b64afcaf799d824dcff2e39d3430683bea4
--- /dev/null
+++ b/import_shims/lms/third_party_auth/saml_configuration/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.serializers', 'common.djangoapps.third_party_auth.saml_configuration.serializers')
+
+from common.djangoapps.third_party_auth.saml_configuration.serializers import *
diff --git a/import_shims/lms/third_party_auth/saml_configuration/tests/__init__.py b/import_shims/lms/third_party_auth/saml_configuration/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8633561ccebc8ffc385ac0f750fde27bdd5b18c5
--- /dev/null
+++ b/import_shims/lms/third_party_auth/saml_configuration/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.tests', 'common.djangoapps.third_party_auth.saml_configuration.tests')
+
+from common.djangoapps.third_party_auth.saml_configuration.tests import *
diff --git a/import_shims/lms/third_party_auth/saml_configuration/tests/test_saml_configuration.py b/import_shims/lms/third_party_auth/saml_configuration/tests/test_saml_configuration.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ea750287eee5b3f13167ebd801bc620e804e4b4
--- /dev/null
+++ b/import_shims/lms/third_party_auth/saml_configuration/tests/test_saml_configuration.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.tests.test_saml_configuration', 'common.djangoapps.third_party_auth.saml_configuration.tests.test_saml_configuration')
+
+from common.djangoapps.third_party_auth.saml_configuration.tests.test_saml_configuration import *
diff --git a/import_shims/lms/third_party_auth/saml_configuration/urls.py b/import_shims/lms/third_party_auth/saml_configuration/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..031d3ae3181b5290e0f1261bc5fc54ff87b63cc6
--- /dev/null
+++ b/import_shims/lms/third_party_auth/saml_configuration/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.urls', 'common.djangoapps.third_party_auth.saml_configuration.urls')
+
+from common.djangoapps.third_party_auth.saml_configuration.urls import *
diff --git a/import_shims/lms/third_party_auth/saml_configuration/views.py b/import_shims/lms/third_party_auth/saml_configuration/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..89520150e370cb0714e69109e6df526f670de1ab
--- /dev/null
+++ b/import_shims/lms/third_party_auth/saml_configuration/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.views', 'common.djangoapps.third_party_auth.saml_configuration.views')
+
+from common.djangoapps.third_party_auth.saml_configuration.views import *
diff --git a/import_shims/lms/third_party_auth/samlproviderconfig/__init__.py b/import_shims/lms/third_party_auth/samlproviderconfig/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c297bff8f9b66fd45141a7a61a4cef52caf8a6a7
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderconfig/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig', 'common.djangoapps.third_party_auth.samlproviderconfig')
+
+from common.djangoapps.third_party_auth.samlproviderconfig import *
diff --git a/import_shims/lms/third_party_auth/samlproviderconfig/serializers.py b/import_shims/lms/third_party_auth/samlproviderconfig/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..5fae240c85d69ec7c83bb86a441f0ff3bb9d745c
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderconfig/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.serializers', 'common.djangoapps.third_party_auth.samlproviderconfig.serializers')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.serializers import *
diff --git a/import_shims/lms/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py b/import_shims/lms/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3dc1adeef6820f98edcb1d3005c0515e3735d74
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.tests.test_samlproviderconfig', 'common.djangoapps.third_party_auth.samlproviderconfig.tests.test_samlproviderconfig')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.tests.test_samlproviderconfig import *
diff --git a/import_shims/lms/third_party_auth/samlproviderconfig/urls.py b/import_shims/lms/third_party_auth/samlproviderconfig/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1376df3ddd5e283189d8f8bd17a56e769b856ac
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderconfig/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.urls', 'common.djangoapps.third_party_auth.samlproviderconfig.urls')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.urls import *
diff --git a/import_shims/lms/third_party_auth/samlproviderconfig/views.py b/import_shims/lms/third_party_auth/samlproviderconfig/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..021f807ef7070b9512a62994ed4665b46837c5dd
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderconfig/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.views', 'common.djangoapps.third_party_auth.samlproviderconfig.views')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.views import *
diff --git a/import_shims/lms/third_party_auth/samlproviderdata/__init__.py b/import_shims/lms/third_party_auth/samlproviderdata/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4393e67589798e065d43679b912414c469df961a
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderdata/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata', 'common.djangoapps.third_party_auth.samlproviderdata')
+
+from common.djangoapps.third_party_auth.samlproviderdata import *
diff --git a/import_shims/lms/third_party_auth/samlproviderdata/serializers.py b/import_shims/lms/third_party_auth/samlproviderdata/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..2749bf8941d420a2d309746f3adbd0fbe0975d18
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderdata/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.serializers', 'common.djangoapps.third_party_auth.samlproviderdata.serializers')
+
+from common.djangoapps.third_party_auth.samlproviderdata.serializers import *
diff --git a/import_shims/lms/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py b/import_shims/lms/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py
new file mode 100644
index 0000000000000000000000000000000000000000..5ce225f1581e19ba2687524780bea206fbeaebda
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.tests.test_samlproviderdata', 'common.djangoapps.third_party_auth.samlproviderdata.tests.test_samlproviderdata')
+
+from common.djangoapps.third_party_auth.samlproviderdata.tests.test_samlproviderdata import *
diff --git a/import_shims/lms/third_party_auth/samlproviderdata/urls.py b/import_shims/lms/third_party_auth/samlproviderdata/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..558a9806434f588e5ab59da5410469633a16cac4
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderdata/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.urls', 'common.djangoapps.third_party_auth.samlproviderdata.urls')
+
+from common.djangoapps.third_party_auth.samlproviderdata.urls import *
diff --git a/import_shims/lms/third_party_auth/samlproviderdata/views.py b/import_shims/lms/third_party_auth/samlproviderdata/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..8121174727128768bc28147df68640e26177ff8b
--- /dev/null
+++ b/import_shims/lms/third_party_auth/samlproviderdata/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.views', 'common.djangoapps.third_party_auth.samlproviderdata.views')
+
+from common.djangoapps.third_party_auth.samlproviderdata.views import *
diff --git a/import_shims/lms/third_party_auth/settings.py b/import_shims/lms/third_party_auth/settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..6701b7c179798be3affcbd80b4e8b677300f3e88
--- /dev/null
+++ b/import_shims/lms/third_party_auth/settings.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.settings', 'common.djangoapps.third_party_auth.settings')
+
+from common.djangoapps.third_party_auth.settings import *
diff --git a/import_shims/lms/third_party_auth/strategy.py b/import_shims/lms/third_party_auth/strategy.py
new file mode 100644
index 0000000000000000000000000000000000000000..df95f86f627fcc5b858da1bb59276380fb7ecc18
--- /dev/null
+++ b/import_shims/lms/third_party_auth/strategy.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.strategy', 'common.djangoapps.third_party_auth.strategy')
+
+from common.djangoapps.third_party_auth.strategy import *
diff --git a/import_shims/lms/third_party_auth/tasks.py b/import_shims/lms/third_party_auth/tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..7220e2241ea895ccc33ad74582204c32db750556
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tasks', 'common.djangoapps.third_party_auth.tasks')
+
+from common.djangoapps.third_party_auth.tasks import *
diff --git a/import_shims/lms/third_party_auth/tests/__init__.py b/import_shims/lms/third_party_auth/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a7bad8e5d4b6e1a7fa3ad8c8e66874d0321f5e4
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests', 'common.djangoapps.third_party_auth.tests')
+
+from common.djangoapps.third_party_auth.tests import *
diff --git a/import_shims/lms/third_party_auth/tests/data/__init__.py b/import_shims/lms/third_party_auth/tests/data/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..046acef654f663f447631849fb8d700ec30f8fd1
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/data/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.data', 'common.djangoapps.third_party_auth.tests.data')
+
+from common.djangoapps.third_party_auth.tests.data import *
diff --git a/import_shims/lms/third_party_auth/tests/data/saml_identity_provider_mock_data.py b/import_shims/lms/third_party_auth/tests/data/saml_identity_provider_mock_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..b3df5bac884fcdbc0839505a9342310c67080cef
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/data/saml_identity_provider_mock_data.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.data.saml_identity_provider_mock_data', 'common.djangoapps.third_party_auth.tests.data.saml_identity_provider_mock_data')
+
+from common.djangoapps.third_party_auth.tests.data.saml_identity_provider_mock_data import *
diff --git a/import_shims/lms/third_party_auth/tests/factories.py b/import_shims/lms/third_party_auth/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a51f06edf6ffb0b7a0ff3cfaada101f022ddb16
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.factories', 'common.djangoapps.third_party_auth.tests.factories')
+
+from common.djangoapps.third_party_auth.tests.factories import *
diff --git a/import_shims/lms/third_party_auth/tests/samlutils.py b/import_shims/lms/third_party_auth/tests/samlutils.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1985a09a6e74ad6e7eec671f11e00736f1f8601
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/samlutils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.samlutils', 'common.djangoapps.third_party_auth.tests.samlutils')
+
+from common.djangoapps.third_party_auth.tests.samlutils import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/__init__.py b/import_shims/lms/third_party_auth/tests/specs/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe43dd29ea753d7ffd39b4ef3b7e248221238882
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs', 'common.djangoapps.third_party_auth.tests.specs')
+
+from common.djangoapps.third_party_auth.tests.specs import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/base.py b/import_shims/lms/third_party_auth/tests/specs/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..aa52e8b3c3fb77dad6dcd9bfa83f6cf9e17ae357
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/base.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.base', 'common.djangoapps.third_party_auth.tests.specs.base')
+
+from common.djangoapps.third_party_auth.tests.specs.base import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/test_azuread.py b/import_shims/lms/third_party_auth/tests/specs/test_azuread.py
new file mode 100644
index 0000000000000000000000000000000000000000..3b088fcb69b8cb942b9db79f668b5ca6d274e011
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/test_azuread.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_azuread', 'common.djangoapps.third_party_auth.tests.specs.test_azuread')
+
+from common.djangoapps.third_party_auth.tests.specs.test_azuread import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/test_generic.py b/import_shims/lms/third_party_auth/tests/specs/test_generic.py
new file mode 100644
index 0000000000000000000000000000000000000000..52c33c9838d43f61c07bb99b5c02a372838dcc17
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/test_generic.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_generic', 'common.djangoapps.third_party_auth.tests.specs.test_generic')
+
+from common.djangoapps.third_party_auth.tests.specs.test_generic import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/test_google.py b/import_shims/lms/third_party_auth/tests/specs/test_google.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf90e5378a645e5ca4b9e5287cda61498ac099f6
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/test_google.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_google', 'common.djangoapps.third_party_auth.tests.specs.test_google')
+
+from common.djangoapps.third_party_auth.tests.specs.test_google import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/test_linkedin.py b/import_shims/lms/third_party_auth/tests/specs/test_linkedin.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd9d11aee8dbf10b0f04f1405b4ccc78332c84ba
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/test_linkedin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_linkedin', 'common.djangoapps.third_party_auth.tests.specs.test_linkedin')
+
+from common.djangoapps.third_party_auth.tests.specs.test_linkedin import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/test_lti.py b/import_shims/lms/third_party_auth/tests/specs/test_lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2309a6801c3112e59be89a2c4ea912a53a5161c
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/test_lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_lti', 'common.djangoapps.third_party_auth.tests.specs.test_lti')
+
+from common.djangoapps.third_party_auth.tests.specs.test_lti import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/test_testshib.py b/import_shims/lms/third_party_auth/tests/specs/test_testshib.py
new file mode 100644
index 0000000000000000000000000000000000000000..f45f518e7fe479f52ac377a06468698268caee8c
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/test_testshib.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_testshib', 'common.djangoapps.third_party_auth.tests.specs.test_testshib')
+
+from common.djangoapps.third_party_auth.tests.specs.test_testshib import *
diff --git a/import_shims/lms/third_party_auth/tests/specs/test_twitter.py b/import_shims/lms/third_party_auth/tests/specs/test_twitter.py
new file mode 100644
index 0000000000000000000000000000000000000000..421f50e7f274cc997dc74f829a4e1c62ea203ab6
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/specs/test_twitter.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_twitter', 'common.djangoapps.third_party_auth.tests.specs.test_twitter')
+
+from common.djangoapps.third_party_auth.tests.specs.test_twitter import *
diff --git a/import_shims/lms/third_party_auth/tests/test_admin.py b/import_shims/lms/third_party_auth/tests/test_admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..968e52bc34416c6002c69c5ca52fb74c444dd7e0
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_admin', 'common.djangoapps.third_party_auth.tests.test_admin')
+
+from common.djangoapps.third_party_auth.tests.test_admin import *
diff --git a/import_shims/lms/third_party_auth/tests/test_decorators.py b/import_shims/lms/third_party_auth/tests/test_decorators.py
new file mode 100644
index 0000000000000000000000000000000000000000..450f7e08eecfc8252612a944b5014e6d9cced368
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_decorators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_decorators', 'common.djangoapps.third_party_auth.tests.test_decorators')
+
+from common.djangoapps.third_party_auth.tests.test_decorators import *
diff --git a/import_shims/lms/third_party_auth/tests/test_identityserver3.py b/import_shims/lms/third_party_auth/tests/test_identityserver3.py
new file mode 100644
index 0000000000000000000000000000000000000000..5351f2147732d3a89b79613dd98880e62ea1c14a
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_identityserver3.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_identityserver3', 'common.djangoapps.third_party_auth.tests.test_identityserver3')
+
+from common.djangoapps.third_party_auth.tests.test_identityserver3 import *
diff --git a/import_shims/lms/third_party_auth/tests/test_lti.py b/import_shims/lms/third_party_auth/tests/test_lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..93c4d7decc9bf34acf761de37974d5faac90499b
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_lti', 'common.djangoapps.third_party_auth.tests.test_lti')
+
+from common.djangoapps.third_party_auth.tests.test_lti import *
diff --git a/import_shims/lms/third_party_auth/tests/test_middleware.py b/import_shims/lms/third_party_auth/tests/test_middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..3cc825af6312b125a8c548f6dc5a2fae4615de63
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_middleware', 'common.djangoapps.third_party_auth.tests.test_middleware')
+
+from common.djangoapps.third_party_auth.tests.test_middleware import *
diff --git a/import_shims/lms/third_party_auth/tests/test_pipeline.py b/import_shims/lms/third_party_auth/tests/test_pipeline.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2aefb6dfb47bfe3cd07ca02a4a6d66ab546e8a3
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_pipeline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_pipeline', 'common.djangoapps.third_party_auth.tests.test_pipeline')
+
+from common.djangoapps.third_party_auth.tests.test_pipeline import *
diff --git a/import_shims/lms/third_party_auth/tests/test_pipeline_integration.py b/import_shims/lms/third_party_auth/tests/test_pipeline_integration.py
new file mode 100644
index 0000000000000000000000000000000000000000..9c624d61a3ecb875b8d8099b508fabf030c09ef5
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_pipeline_integration.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_pipeline_integration', 'common.djangoapps.third_party_auth.tests.test_pipeline_integration')
+
+from common.djangoapps.third_party_auth.tests.test_pipeline_integration import *
diff --git a/import_shims/lms/third_party_auth/tests/test_provider.py b/import_shims/lms/third_party_auth/tests/test_provider.py
new file mode 100644
index 0000000000000000000000000000000000000000..a4db8d0f89d806dd5efa4d1776337767e147b3f4
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_provider.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_provider', 'common.djangoapps.third_party_auth.tests.test_provider')
+
+from common.djangoapps.third_party_auth.tests.test_provider import *
diff --git a/import_shims/lms/third_party_auth/tests/test_saml.py b/import_shims/lms/third_party_auth/tests/test_saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..9567ab38db71a4503fbdcb5ce1a4c4c2ac04c7fe
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_saml', 'common.djangoapps.third_party_auth.tests.test_saml')
+
+from common.djangoapps.third_party_auth.tests.test_saml import *
diff --git a/import_shims/lms/third_party_auth/tests/test_settings.py b/import_shims/lms/third_party_auth/tests/test_settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..284a2a84e926f254be9a9821ab694a82992c16da
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_settings.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_settings', 'common.djangoapps.third_party_auth.tests.test_settings')
+
+from common.djangoapps.third_party_auth.tests.test_settings import *
diff --git a/import_shims/lms/third_party_auth/tests/test_utils.py b/import_shims/lms/third_party_auth/tests/test_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..0dc19c9a523cbd9a44e78802ac833211f77682e0
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_utils', 'common.djangoapps.third_party_auth.tests.test_utils')
+
+from common.djangoapps.third_party_auth.tests.test_utils import *
diff --git a/import_shims/lms/third_party_auth/tests/test_views.py b/import_shims/lms/third_party_auth/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..b638f83c12aa2c21d310a134c7a91d63ec70af51
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_views', 'common.djangoapps.third_party_auth.tests.test_views')
+
+from common.djangoapps.third_party_auth.tests.test_views import *
diff --git a/import_shims/lms/third_party_auth/tests/testutil.py b/import_shims/lms/third_party_auth/tests/testutil.py
new file mode 100644
index 0000000000000000000000000000000000000000..a047baef5107069df8ddb81f72148c4d96b1d8d4
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/testutil.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.testutil', 'common.djangoapps.third_party_auth.tests.testutil')
+
+from common.djangoapps.third_party_auth.tests.testutil import *
diff --git a/import_shims/lms/third_party_auth/tests/utils.py b/import_shims/lms/third_party_auth/tests/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..083b728c32a06b8070595d823b902120d5549d1f
--- /dev/null
+++ b/import_shims/lms/third_party_auth/tests/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.utils', 'common.djangoapps.third_party_auth.tests.utils')
+
+from common.djangoapps.third_party_auth.tests.utils import *
diff --git a/import_shims/lms/third_party_auth/urls.py b/import_shims/lms/third_party_auth/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..1077a81183a92c039566422e3fd67a188abe1e98
--- /dev/null
+++ b/import_shims/lms/third_party_auth/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.urls', 'common.djangoapps.third_party_auth.urls')
+
+from common.djangoapps.third_party_auth.urls import *
diff --git a/import_shims/lms/third_party_auth/utils.py b/import_shims/lms/third_party_auth/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..287d2d7891b949637ba79fce89f9838ef9c3daa7
--- /dev/null
+++ b/import_shims/lms/third_party_auth/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.utils', 'common.djangoapps.third_party_auth.utils')
+
+from common.djangoapps.third_party_auth.utils import *
diff --git a/import_shims/lms/third_party_auth/views.py b/import_shims/lms/third_party_auth/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..90b8f5ba8623e5ceca3c65d135be5f838f1a914c
--- /dev/null
+++ b/import_shims/lms/third_party_auth/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.views', 'common.djangoapps.third_party_auth.views')
+
+from common.djangoapps.third_party_auth.views import *
diff --git a/import_shims/lms/track/__init__.py b/import_shims/lms/track/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..89295ed9febdddb494fd9f192afba2a51bed1188
--- /dev/null
+++ b/import_shims/lms/track/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track', 'common.djangoapps.track')
+
+from common.djangoapps.track import *
diff --git a/import_shims/lms/track/backends/__init__.py b/import_shims/lms/track/backends/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0396b32170af3f67df21c675aaa283482a3c3170
--- /dev/null
+++ b/import_shims/lms/track/backends/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends', 'common.djangoapps.track.backends')
+
+from common.djangoapps.track.backends import *
diff --git a/import_shims/lms/track/backends/logger.py b/import_shims/lms/track/backends/logger.py
new file mode 100644
index 0000000000000000000000000000000000000000..45b81081e21eb2ce0759475127e012a00436fc99
--- /dev/null
+++ b/import_shims/lms/track/backends/logger.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.logger', 'common.djangoapps.track.backends.logger')
+
+from common.djangoapps.track.backends.logger import *
diff --git a/import_shims/lms/track/backends/mongodb.py b/import_shims/lms/track/backends/mongodb.py
new file mode 100644
index 0000000000000000000000000000000000000000..e89e2221dc9f34b7770ae4b8e526c02aa78f0830
--- /dev/null
+++ b/import_shims/lms/track/backends/mongodb.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.mongodb', 'common.djangoapps.track.backends.mongodb')
+
+from common.djangoapps.track.backends.mongodb import *
diff --git a/import_shims/lms/track/backends/tests/__init__.py b/import_shims/lms/track/backends/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..da0df0db054662d6a567b8863614b6155c460ec8
--- /dev/null
+++ b/import_shims/lms/track/backends/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.tests', 'common.djangoapps.track.backends.tests')
+
+from common.djangoapps.track.backends.tests import *
diff --git a/import_shims/lms/track/backends/tests/test_logger.py b/import_shims/lms/track/backends/tests/test_logger.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe33312f92dbf54ea323e0a2772975ceb0030ca2
--- /dev/null
+++ b/import_shims/lms/track/backends/tests/test_logger.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.tests.test_logger', 'common.djangoapps.track.backends.tests.test_logger')
+
+from common.djangoapps.track.backends.tests.test_logger import *
diff --git a/import_shims/lms/track/backends/tests/test_mongodb.py b/import_shims/lms/track/backends/tests/test_mongodb.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a76d7a61db82ad403dcae0d62c7a38fdec0d38b
--- /dev/null
+++ b/import_shims/lms/track/backends/tests/test_mongodb.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.tests.test_mongodb', 'common.djangoapps.track.backends.tests.test_mongodb')
+
+from common.djangoapps.track.backends.tests.test_mongodb import *
diff --git a/import_shims/lms/track/contexts.py b/import_shims/lms/track/contexts.py
new file mode 100644
index 0000000000000000000000000000000000000000..5658fb74e61d7bfe94dfc62e4694fef6c402df9a
--- /dev/null
+++ b/import_shims/lms/track/contexts.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.contexts', 'common.djangoapps.track.contexts')
+
+from common.djangoapps.track.contexts import *
diff --git a/import_shims/lms/track/event_transaction_utils.py b/import_shims/lms/track/event_transaction_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..4af8e2de498d63a981caa5a113c6a6684bcd0efd
--- /dev/null
+++ b/import_shims/lms/track/event_transaction_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.event_transaction_utils', 'common.djangoapps.track.event_transaction_utils')
+
+from common.djangoapps.track.event_transaction_utils import *
diff --git a/import_shims/lms/track/management/__init__.py b/import_shims/lms/track/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c6749d0c92d5977e7894b426f178388ed71a8a33
--- /dev/null
+++ b/import_shims/lms/track/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management', 'common.djangoapps.track.management')
+
+from common.djangoapps.track.management import *
diff --git a/import_shims/lms/track/management/commands/__init__.py b/import_shims/lms/track/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..61e6172f3e678a6c9503aecf0fccf3cc68c832a8
--- /dev/null
+++ b/import_shims/lms/track/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.commands', 'common.djangoapps.track.management.commands')
+
+from common.djangoapps.track.management.commands import *
diff --git a/import_shims/lms/track/management/commands/tracked_dummy_command.py b/import_shims/lms/track/management/commands/tracked_dummy_command.py
new file mode 100644
index 0000000000000000000000000000000000000000..b2642844dada932082c2df2fcc9dc732810cb00b
--- /dev/null
+++ b/import_shims/lms/track/management/commands/tracked_dummy_command.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.commands.tracked_dummy_command', 'common.djangoapps.track.management.commands.tracked_dummy_command')
+
+from common.djangoapps.track.management.commands.tracked_dummy_command import *
diff --git a/import_shims/lms/track/management/tests/__init__.py b/import_shims/lms/track/management/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..bd2cd69a1890ca5b2ac7a90b79330646ce206dda
--- /dev/null
+++ b/import_shims/lms/track/management/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.tests', 'common.djangoapps.track.management.tests')
+
+from common.djangoapps.track.management.tests import *
diff --git a/import_shims/lms/track/management/tests/test_tracked_command.py b/import_shims/lms/track/management/tests/test_tracked_command.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5bb381982bee1564c4535def1ba44d89b8bd2be
--- /dev/null
+++ b/import_shims/lms/track/management/tests/test_tracked_command.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.tests.test_tracked_command', 'common.djangoapps.track.management.tests.test_tracked_command')
+
+from common.djangoapps.track.management.tests.test_tracked_command import *
diff --git a/import_shims/lms/track/management/tracked_command.py b/import_shims/lms/track/management/tracked_command.py
new file mode 100644
index 0000000000000000000000000000000000000000..6ed0440f37c77912eefbeb1c85703e119ab17cb5
--- /dev/null
+++ b/import_shims/lms/track/management/tracked_command.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.tracked_command', 'common.djangoapps.track.management.tracked_command')
+
+from common.djangoapps.track.management.tracked_command import *
diff --git a/import_shims/lms/track/middleware.py b/import_shims/lms/track/middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..96cda2b33f44a6927ce41ccc0248a3189e8ac750
--- /dev/null
+++ b/import_shims/lms/track/middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.middleware', 'common.djangoapps.track.middleware')
+
+from common.djangoapps.track.middleware import *
diff --git a/import_shims/lms/track/segment.py b/import_shims/lms/track/segment.py
new file mode 100644
index 0000000000000000000000000000000000000000..78a62fb3538cb40ef298d85137c7b1e27bfc1b0c
--- /dev/null
+++ b/import_shims/lms/track/segment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.segment', 'common.djangoapps.track.segment')
+
+from common.djangoapps.track.segment import *
diff --git a/import_shims/lms/track/shim.py b/import_shims/lms/track/shim.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2c8ace2ae62c54e246a132fb0d0f601839fc53b
--- /dev/null
+++ b/import_shims/lms/track/shim.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.shim', 'common.djangoapps.track.shim')
+
+from common.djangoapps.track.shim import *
diff --git a/import_shims/lms/track/tests/__init__.py b/import_shims/lms/track/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..76a5191e6b3029e78ce2e9e3882af19433b36359
--- /dev/null
+++ b/import_shims/lms/track/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests', 'common.djangoapps.track.tests')
+
+from common.djangoapps.track.tests import *
diff --git a/import_shims/lms/track/tests/test_contexts.py b/import_shims/lms/track/tests/test_contexts.py
new file mode 100644
index 0000000000000000000000000000000000000000..24db8b9672fec411df54d6a9e963b2fec91f8abf
--- /dev/null
+++ b/import_shims/lms/track/tests/test_contexts.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_contexts', 'common.djangoapps.track.tests.test_contexts')
+
+from common.djangoapps.track.tests.test_contexts import *
diff --git a/import_shims/lms/track/tests/test_middleware.py b/import_shims/lms/track/tests/test_middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff3972ca1fa551ef15dac55b39bf44b6737bd205
--- /dev/null
+++ b/import_shims/lms/track/tests/test_middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_middleware', 'common.djangoapps.track.tests.test_middleware')
+
+from common.djangoapps.track.tests.test_middleware import *
diff --git a/import_shims/lms/track/tests/test_segment.py b/import_shims/lms/track/tests/test_segment.py
new file mode 100644
index 0000000000000000000000000000000000000000..ed0e3fec8778c1a7b2385a3d1e30ec55e1b5f27c
--- /dev/null
+++ b/import_shims/lms/track/tests/test_segment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_segment', 'common.djangoapps.track.tests.test_segment')
+
+from common.djangoapps.track.tests.test_segment import *
diff --git a/import_shims/lms/track/tests/test_shim.py b/import_shims/lms/track/tests/test_shim.py
new file mode 100644
index 0000000000000000000000000000000000000000..8eeeec8593511cc20fdf4d584c9d4852c08a8c37
--- /dev/null
+++ b/import_shims/lms/track/tests/test_shim.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_shim', 'common.djangoapps.track.tests.test_shim')
+
+from common.djangoapps.track.tests.test_shim import *
diff --git a/import_shims/lms/track/tests/test_tracker.py b/import_shims/lms/track/tests/test_tracker.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d136ed7193e0306b68cb83b5e081d92b42ab7ae
--- /dev/null
+++ b/import_shims/lms/track/tests/test_tracker.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_tracker', 'common.djangoapps.track.tests.test_tracker')
+
+from common.djangoapps.track.tests.test_tracker import *
diff --git a/import_shims/lms/track/tests/test_util.py b/import_shims/lms/track/tests/test_util.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3d02a143b391e6e247411c5e6888c1deb9941a0
--- /dev/null
+++ b/import_shims/lms/track/tests/test_util.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_util', 'common.djangoapps.track.tests.test_util')
+
+from common.djangoapps.track.tests.test_util import *
diff --git a/import_shims/lms/track/tracker.py b/import_shims/lms/track/tracker.py
new file mode 100644
index 0000000000000000000000000000000000000000..78d3fa4ec24ba976076a997b475e0c72c4c27c7b
--- /dev/null
+++ b/import_shims/lms/track/tracker.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tracker', 'common.djangoapps.track.tracker')
+
+from common.djangoapps.track.tracker import *
diff --git a/import_shims/lms/track/transformers.py b/import_shims/lms/track/transformers.py
new file mode 100644
index 0000000000000000000000000000000000000000..aab2f7c868b95f1c1121cb26f46bdc9054175a24
--- /dev/null
+++ b/import_shims/lms/track/transformers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.transformers', 'common.djangoapps.track.transformers')
+
+from common.djangoapps.track.transformers import *
diff --git a/import_shims/lms/track/urls.py b/import_shims/lms/track/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..8a4f828b00d7cbae3a735786ba936cfee1ee82cc
--- /dev/null
+++ b/import_shims/lms/track/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.urls', 'common.djangoapps.track.urls')
+
+from common.djangoapps.track.urls import *
diff --git a/import_shims/lms/track/utils.py b/import_shims/lms/track/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..51140ff94f8bcc30da53911f1c770727c6620a37
--- /dev/null
+++ b/import_shims/lms/track/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.utils', 'common.djangoapps.track.utils')
+
+from common.djangoapps.track.utils import *
diff --git a/import_shims/lms/track/views/__init__.py b/import_shims/lms/track/views/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b4b5f047e4214199ddfab142e3bc460d85ab614
--- /dev/null
+++ b/import_shims/lms/track/views/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views', 'common.djangoapps.track.views')
+
+from common.djangoapps.track.views import *
diff --git a/import_shims/lms/track/views/segmentio.py b/import_shims/lms/track/views/segmentio.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d2f455821b154fa12add05ad2654208dcb3d007
--- /dev/null
+++ b/import_shims/lms/track/views/segmentio.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.segmentio', 'common.djangoapps.track.views.segmentio')
+
+from common.djangoapps.track.views.segmentio import *
diff --git a/import_shims/lms/track/views/tests/__init__.py b/import_shims/lms/track/views/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a705bea8b58915bb22346c2fc06997a72b44224c
--- /dev/null
+++ b/import_shims/lms/track/views/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests', 'common.djangoapps.track.views.tests')
+
+from common.djangoapps.track.views.tests import *
diff --git a/import_shims/lms/track/views/tests/base.py b/import_shims/lms/track/views/tests/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..f4c28ac66df5766bd54e7f7aea9d7e5ab6d1796e
--- /dev/null
+++ b/import_shims/lms/track/views/tests/base.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests.base', 'common.djangoapps.track.views.tests.base')
+
+from common.djangoapps.track.views.tests.base import *
diff --git a/import_shims/lms/track/views/tests/test_segmentio.py b/import_shims/lms/track/views/tests/test_segmentio.py
new file mode 100644
index 0000000000000000000000000000000000000000..c143f50f3e1db3307b6cdb04be46f3d1c6da0a68
--- /dev/null
+++ b/import_shims/lms/track/views/tests/test_segmentio.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests.test_segmentio', 'common.djangoapps.track.views.tests.test_segmentio')
+
+from common.djangoapps.track.views.tests.test_segmentio import *
diff --git a/import_shims/lms/track/views/tests/test_views.py b/import_shims/lms/track/views/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bc1f69b4f9df35c23419d687338647fcdaffeae
--- /dev/null
+++ b/import_shims/lms/track/views/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests.test_views', 'common.djangoapps.track.views.tests.test_views')
+
+from common.djangoapps.track.views.tests.test_views import *
diff --git a/import_shims/lms/util/__init__.py b/import_shims/lms/util/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e570c1dbb81536f503973f0854b3d2f681fbd5e
--- /dev/null
+++ b/import_shims/lms/util/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util', 'common.djangoapps.util')
+
+from common.djangoapps.util import *
diff --git a/import_shims/lms/util/admin.py b/import_shims/lms/util/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..0915817ceb89152e9bcdba693755f36e35213efb
--- /dev/null
+++ b/import_shims/lms/util/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.admin', 'common.djangoapps.util.admin')
+
+from common.djangoapps.util.admin import *
diff --git a/import_shims/lms/util/cache.py b/import_shims/lms/util/cache.py
new file mode 100644
index 0000000000000000000000000000000000000000..93458850d497d3ec0b4181d8fd2b85841b9e15ea
--- /dev/null
+++ b/import_shims/lms/util/cache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.cache', 'common.djangoapps.util.cache')
+
+from common.djangoapps.util.cache import *
diff --git a/import_shims/lms/util/config_parse.py b/import_shims/lms/util/config_parse.py
new file mode 100644
index 0000000000000000000000000000000000000000..9eb48285f0ffbfcfb833bce93bf955dc88888357
--- /dev/null
+++ b/import_shims/lms/util/config_parse.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.config_parse', 'common.djangoapps.util.config_parse')
+
+from common.djangoapps.util.config_parse import *
diff --git a/import_shims/lms/util/course.py b/import_shims/lms/util/course.py
new file mode 100644
index 0000000000000000000000000000000000000000..3461df4f986593a5b7914e9bba77736156d5faff
--- /dev/null
+++ b/import_shims/lms/util/course.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.course', 'common.djangoapps.util.course')
+
+from common.djangoapps.util.course import *
diff --git a/import_shims/lms/util/date_utils.py b/import_shims/lms/util/date_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..0620f66ca8d5c786305c850deec407cb93c2f850
--- /dev/null
+++ b/import_shims/lms/util/date_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.date_utils', 'common.djangoapps.util.date_utils')
+
+from common.djangoapps.util.date_utils import *
diff --git a/import_shims/lms/util/db.py b/import_shims/lms/util/db.py
new file mode 100644
index 0000000000000000000000000000000000000000..819290c60656454129b02942170814db40650351
--- /dev/null
+++ b/import_shims/lms/util/db.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.db', 'common.djangoapps.util.db')
+
+from common.djangoapps.util.db import *
diff --git a/import_shims/lms/util/disable_rate_limit.py b/import_shims/lms/util/disable_rate_limit.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5b0698a8b3d182e02bcf2534817c55845516e4c
--- /dev/null
+++ b/import_shims/lms/util/disable_rate_limit.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.disable_rate_limit', 'common.djangoapps.util.disable_rate_limit')
+
+from common.djangoapps.util.disable_rate_limit import *
diff --git a/import_shims/lms/util/file.py b/import_shims/lms/util/file.py
new file mode 100644
index 0000000000000000000000000000000000000000..e6d7cbabafff7740a3a9b87896cd5c8c5aa68265
--- /dev/null
+++ b/import_shims/lms/util/file.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.file', 'common.djangoapps.util.file')
+
+from common.djangoapps.util.file import *
diff --git a/import_shims/lms/util/json_request.py b/import_shims/lms/util/json_request.py
new file mode 100644
index 0000000000000000000000000000000000000000..c13138da3e31e8f42fbccdca290f79e1e7de6c5a
--- /dev/null
+++ b/import_shims/lms/util/json_request.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.json_request', 'common.djangoapps.util.json_request')
+
+from common.djangoapps.util.json_request import *
diff --git a/import_shims/lms/util/keyword_substitution.py b/import_shims/lms/util/keyword_substitution.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e795e2758df81a88122732c1078cb97df18ff4d
--- /dev/null
+++ b/import_shims/lms/util/keyword_substitution.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.keyword_substitution', 'common.djangoapps.util.keyword_substitution')
+
+from common.djangoapps.util.keyword_substitution import *
diff --git a/import_shims/lms/util/memcache.py b/import_shims/lms/util/memcache.py
new file mode 100644
index 0000000000000000000000000000000000000000..8032b59e56f95e16ddf659bfb81666358fb09e2a
--- /dev/null
+++ b/import_shims/lms/util/memcache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.memcache', 'common.djangoapps.util.memcache')
+
+from common.djangoapps.util.memcache import *
diff --git a/import_shims/lms/util/milestones_helpers.py b/import_shims/lms/util/milestones_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..41522c71c0b2f89739ef7b7fc9eb8e54a1192e30
--- /dev/null
+++ b/import_shims/lms/util/milestones_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.milestones_helpers', 'common.djangoapps.util.milestones_helpers')
+
+from common.djangoapps.util.milestones_helpers import *
diff --git a/import_shims/lms/util/model_utils.py b/import_shims/lms/util/model_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..75074f6cea7ddbcdb56f3a3b3ac40077fd91f272
--- /dev/null
+++ b/import_shims/lms/util/model_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.model_utils', 'common.djangoapps.util.model_utils')
+
+from common.djangoapps.util.model_utils import *
diff --git a/import_shims/lms/util/models.py b/import_shims/lms/util/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..b63b46d7c67558d817cc05bf77b620582f243fd2
--- /dev/null
+++ b/import_shims/lms/util/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.models', 'common.djangoapps.util.models')
+
+from common.djangoapps.util.models import *
diff --git a/import_shims/lms/util/module_utils.py b/import_shims/lms/util/module_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..450672740cdb1e5623e10e4057d56e8f45908bb0
--- /dev/null
+++ b/import_shims/lms/util/module_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.module_utils', 'common.djangoapps.util.module_utils')
+
+from common.djangoapps.util.module_utils import *
diff --git a/import_shims/lms/util/organizations_helpers.py b/import_shims/lms/util/organizations_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..d5583c578b67e09babcde32eb614ad10b8e23e6c
--- /dev/null
+++ b/import_shims/lms/util/organizations_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.organizations_helpers', 'common.djangoapps.util.organizations_helpers')
+
+from common.djangoapps.util.organizations_helpers import *
diff --git a/import_shims/lms/util/password_policy_validators.py b/import_shims/lms/util/password_policy_validators.py
new file mode 100644
index 0000000000000000000000000000000000000000..b44f93722b09b90483e07c1cf435331dbfca8f08
--- /dev/null
+++ b/import_shims/lms/util/password_policy_validators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.password_policy_validators', 'common.djangoapps.util.password_policy_validators')
+
+from common.djangoapps.util.password_policy_validators import *
diff --git a/import_shims/lms/util/query.py b/import_shims/lms/util/query.py
new file mode 100644
index 0000000000000000000000000000000000000000..4163a7218e5ba9fab164bc522735834572fb950f
--- /dev/null
+++ b/import_shims/lms/util/query.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.query', 'common.djangoapps.util.query')
+
+from common.djangoapps.util.query import *
diff --git a/import_shims/lms/util/request_rate_limiter.py b/import_shims/lms/util/request_rate_limiter.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d7efb2a6ab8224bdbeaa8283f0944a764042be3
--- /dev/null
+++ b/import_shims/lms/util/request_rate_limiter.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.request_rate_limiter', 'common.djangoapps.util.request_rate_limiter')
+
+from common.djangoapps.util.request_rate_limiter import *
diff --git a/import_shims/lms/util/string_utils.py b/import_shims/lms/util/string_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d0a5e5fe7c3861afaf2dc6828c2dd434ba588ed
--- /dev/null
+++ b/import_shims/lms/util/string_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.string_utils', 'common.djangoapps.util.string_utils')
+
+from common.djangoapps.util.string_utils import *
diff --git a/import_shims/lms/util/testing.py b/import_shims/lms/util/testing.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2bb6bafd2113dc9cc3b71a57595e75d1a06e755
--- /dev/null
+++ b/import_shims/lms/util/testing.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.testing', 'common.djangoapps.util.testing')
+
+from common.djangoapps.util.testing import *
diff --git a/import_shims/lms/util/tests/__init__.py b/import_shims/lms/util/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0410eba60f15553dfa7fafcfc50f81b2e4c10b06
--- /dev/null
+++ b/import_shims/lms/util/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests', 'common.djangoapps.util.tests')
+
+from common.djangoapps.util.tests import *
diff --git a/import_shims/lms/util/tests/mixins/__init__.py b/import_shims/lms/util/tests/mixins/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7fcd05af8ecc28aab0b0713800ee8efd68de69c9
--- /dev/null
+++ b/import_shims/lms/util/tests/mixins/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.mixins', 'common.djangoapps.util.tests.mixins')
+
+from common.djangoapps.util.tests.mixins import *
diff --git a/import_shims/lms/util/tests/mixins/discovery.py b/import_shims/lms/util/tests/mixins/discovery.py
new file mode 100644
index 0000000000000000000000000000000000000000..7462689750f48ae1997197c51a4afed5faad2122
--- /dev/null
+++ b/import_shims/lms/util/tests/mixins/discovery.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.mixins.discovery', 'common.djangoapps.util.tests.mixins.discovery')
+
+from common.djangoapps.util.tests.mixins.discovery import *
diff --git a/import_shims/lms/util/tests/test_course.py b/import_shims/lms/util/tests/test_course.py
new file mode 100644
index 0000000000000000000000000000000000000000..c37caf7efde919bfd5c15ac16f28a7451203a08f
--- /dev/null
+++ b/import_shims/lms/util/tests/test_course.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_course', 'common.djangoapps.util.tests.test_course')
+
+from common.djangoapps.util.tests.test_course import *
diff --git a/import_shims/lms/util/tests/test_date_utils.py b/import_shims/lms/util/tests/test_date_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..9bd2a4809bb7016768605f48ea39d4051f34d125
--- /dev/null
+++ b/import_shims/lms/util/tests/test_date_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_date_utils', 'common.djangoapps.util.tests.test_date_utils')
+
+from common.djangoapps.util.tests.test_date_utils import *
diff --git a/import_shims/lms/util/tests/test_db.py b/import_shims/lms/util/tests/test_db.py
new file mode 100644
index 0000000000000000000000000000000000000000..75ca4722fcf85d30095682bcfaa2b1dac297f168
--- /dev/null
+++ b/import_shims/lms/util/tests/test_db.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_db', 'common.djangoapps.util.tests.test_db')
+
+from common.djangoapps.util.tests.test_db import *
diff --git a/import_shims/lms/util/tests/test_disable_rate_limit.py b/import_shims/lms/util/tests/test_disable_rate_limit.py
new file mode 100644
index 0000000000000000000000000000000000000000..4958acbf6e06c4452855a1545209564bf5048ee5
--- /dev/null
+++ b/import_shims/lms/util/tests/test_disable_rate_limit.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_disable_rate_limit', 'common.djangoapps.util.tests.test_disable_rate_limit')
+
+from common.djangoapps.util.tests.test_disable_rate_limit import *
diff --git a/import_shims/lms/util/tests/test_django_utils.py b/import_shims/lms/util/tests/test_django_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..51c59adaa60de710a64faae32f4490be0751716e
--- /dev/null
+++ b/import_shims/lms/util/tests/test_django_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_django_utils', 'common.djangoapps.util.tests.test_django_utils')
+
+from common.djangoapps.util.tests.test_django_utils import *
diff --git a/import_shims/lms/util/tests/test_file.py b/import_shims/lms/util/tests/test_file.py
new file mode 100644
index 0000000000000000000000000000000000000000..cfb50432ad91dcaab128a9fd6068ceba57c85283
--- /dev/null
+++ b/import_shims/lms/util/tests/test_file.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_file', 'common.djangoapps.util.tests.test_file')
+
+from common.djangoapps.util.tests.test_file import *
diff --git a/import_shims/lms/util/tests/test_json_request.py b/import_shims/lms/util/tests/test_json_request.py
new file mode 100644
index 0000000000000000000000000000000000000000..961ed414b056774f981811ef17b9b7671c080d57
--- /dev/null
+++ b/import_shims/lms/util/tests/test_json_request.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_json_request', 'common.djangoapps.util.tests.test_json_request')
+
+from common.djangoapps.util.tests.test_json_request import *
diff --git a/import_shims/lms/util/tests/test_keyword_sub_utils.py b/import_shims/lms/util/tests/test_keyword_sub_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..5e8b652401f7b799002585e73496c49f2dc76a68
--- /dev/null
+++ b/import_shims/lms/util/tests/test_keyword_sub_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_keyword_sub_utils', 'common.djangoapps.util.tests.test_keyword_sub_utils')
+
+from common.djangoapps.util.tests.test_keyword_sub_utils import *
diff --git a/import_shims/lms/util/tests/test_memcache.py b/import_shims/lms/util/tests/test_memcache.py
new file mode 100644
index 0000000000000000000000000000000000000000..6980f31a3aad4a7301d754795dad8f5ce90974fb
--- /dev/null
+++ b/import_shims/lms/util/tests/test_memcache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_memcache', 'common.djangoapps.util.tests.test_memcache')
+
+from common.djangoapps.util.tests.test_memcache import *
diff --git a/import_shims/lms/util/tests/test_milestones_helpers.py b/import_shims/lms/util/tests/test_milestones_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..2604974c84a986467f689a3b02197d7ed5614bee
--- /dev/null
+++ b/import_shims/lms/util/tests/test_milestones_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_milestones_helpers', 'common.djangoapps.util.tests.test_milestones_helpers')
+
+from common.djangoapps.util.tests.test_milestones_helpers import *
diff --git a/import_shims/lms/util/tests/test_organizations_helpers.py b/import_shims/lms/util/tests/test_organizations_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..7f2a2451f3c13e8f51ac5365c52618595c7b2b90
--- /dev/null
+++ b/import_shims/lms/util/tests/test_organizations_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_organizations_helpers', 'common.djangoapps.util.tests.test_organizations_helpers')
+
+from common.djangoapps.util.tests.test_organizations_helpers import *
diff --git a/import_shims/lms/util/tests/test_password_policy_validators.py b/import_shims/lms/util/tests/test_password_policy_validators.py
new file mode 100644
index 0000000000000000000000000000000000000000..97ee0a875acee7a1386461413c0496b7eec17b33
--- /dev/null
+++ b/import_shims/lms/util/tests/test_password_policy_validators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_password_policy_validators', 'common.djangoapps.util.tests.test_password_policy_validators')
+
+from common.djangoapps.util.tests.test_password_policy_validators import *
diff --git a/import_shims/lms/util/tests/test_sandboxing.py b/import_shims/lms/util/tests/test_sandboxing.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e438686d9c3c20d8ead72eb26ec9e1ae11e5e95
--- /dev/null
+++ b/import_shims/lms/util/tests/test_sandboxing.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_sandboxing', 'common.djangoapps.util.tests.test_sandboxing')
+
+from common.djangoapps.util.tests.test_sandboxing import *
diff --git a/import_shims/lms/util/tests/test_string_utils.py b/import_shims/lms/util/tests/test_string_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..8fb4d26ea5b774cf270cd38c3df807f54838649e
--- /dev/null
+++ b/import_shims/lms/util/tests/test_string_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_string_utils', 'common.djangoapps.util.tests.test_string_utils')
+
+from common.djangoapps.util.tests.test_string_utils import *
diff --git a/import_shims/lms/util/url.py b/import_shims/lms/util/url.py
new file mode 100644
index 0000000000000000000000000000000000000000..1fa8d8bc6ce95344e960b244734546912c3dffad
--- /dev/null
+++ b/import_shims/lms/util/url.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.url', 'common.djangoapps.util.url')
+
+from common.djangoapps.util.url import *
diff --git a/import_shims/lms/util/validate_on_save.py b/import_shims/lms/util/validate_on_save.py
new file mode 100644
index 0000000000000000000000000000000000000000..8711134250e5fb67599496171af27a0c355eb72f
--- /dev/null
+++ b/import_shims/lms/util/validate_on_save.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.validate_on_save', 'common.djangoapps.util.validate_on_save')
+
+from common.djangoapps.util.validate_on_save import *
diff --git a/import_shims/lms/util/views.py b/import_shims/lms/util/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..37687efd355b59d2874cf0f748d60acac7c9882d
--- /dev/null
+++ b/import_shims/lms/util/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.views', 'common.djangoapps.util.views')
+
+from common.djangoapps.util.views import *
diff --git a/import_shims/lms/xblock_django/__init__.py b/import_shims/lms/xblock_django/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..217298de7b745b1d07cc95dc9ca5ddbf4fc70d8f
--- /dev/null
+++ b/import_shims/lms/xblock_django/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django', 'common.djangoapps.xblock_django')
+
+from common.djangoapps.xblock_django import *
diff --git a/import_shims/lms/xblock_django/admin.py b/import_shims/lms/xblock_django/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..b291576db7b6f337ca8559a273635ce2c3942ef3
--- /dev/null
+++ b/import_shims/lms/xblock_django/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.admin', 'common.djangoapps.xblock_django.admin')
+
+from common.djangoapps.xblock_django.admin import *
diff --git a/import_shims/lms/xblock_django/api.py b/import_shims/lms/xblock_django/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..67611a4804b0fabf329b3ae74068ccb013855a83
--- /dev/null
+++ b/import_shims/lms/xblock_django/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.api', 'common.djangoapps.xblock_django.api')
+
+from common.djangoapps.xblock_django.api import *
diff --git a/import_shims/lms/xblock_django/management/__init__.py b/import_shims/lms/xblock_django/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f6f453ef695e721f52e3c086af5693d4a697c12c
--- /dev/null
+++ b/import_shims/lms/xblock_django/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.management', 'common.djangoapps.xblock_django.management')
+
+from common.djangoapps.xblock_django.management import *
diff --git a/import_shims/lms/xblock_django/management/commands/__init__.py b/import_shims/lms/xblock_django/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5bddef3d4a7b7939ed8f98d54f32b9a70293f2d9
--- /dev/null
+++ b/import_shims/lms/xblock_django/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.management.commands', 'common.djangoapps.xblock_django.management.commands')
+
+from common.djangoapps.xblock_django.management.commands import *
diff --git a/import_shims/lms/xblock_django/management/commands/ensure_indexes.py b/import_shims/lms/xblock_django/management/commands/ensure_indexes.py
new file mode 100644
index 0000000000000000000000000000000000000000..daf51b8cb27ca9a25cbe1ad1d60a3887818ef58b
--- /dev/null
+++ b/import_shims/lms/xblock_django/management/commands/ensure_indexes.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.management.commands.ensure_indexes', 'common.djangoapps.xblock_django.management.commands.ensure_indexes')
+
+from common.djangoapps.xblock_django.management.commands.ensure_indexes import *
diff --git a/import_shims/lms/xblock_django/models.py b/import_shims/lms/xblock_django/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..b35811c2a3c4355b36424d975da5c9ee359257da
--- /dev/null
+++ b/import_shims/lms/xblock_django/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.models', 'common.djangoapps.xblock_django.models')
+
+from common.djangoapps.xblock_django.models import *
diff --git a/import_shims/lms/xblock_django/tests/__init__.py b/import_shims/lms/xblock_django/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b4baccf440879979bc07069781b416742a7c3ad9
--- /dev/null
+++ b/import_shims/lms/xblock_django/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.tests', 'common.djangoapps.xblock_django.tests')
+
+from common.djangoapps.xblock_django.tests import *
diff --git a/import_shims/lms/xblock_django/tests/test_api.py b/import_shims/lms/xblock_django/tests/test_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..3fe4338cb7d6685efc97fbe1277d48d00345530c
--- /dev/null
+++ b/import_shims/lms/xblock_django/tests/test_api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.tests.test_api', 'common.djangoapps.xblock_django.tests.test_api')
+
+from common.djangoapps.xblock_django.tests.test_api import *
diff --git a/import_shims/lms/xblock_django/tests/test_user_service.py b/import_shims/lms/xblock_django/tests/test_user_service.py
new file mode 100644
index 0000000000000000000000000000000000000000..6bf70dd0625726acedeb7cbd308ff40431a30389
--- /dev/null
+++ b/import_shims/lms/xblock_django/tests/test_user_service.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.tests.test_user_service', 'common.djangoapps.xblock_django.tests.test_user_service')
+
+from common.djangoapps.xblock_django.tests.test_user_service import *
diff --git a/import_shims/lms/xblock_django/user_service.py b/import_shims/lms/xblock_django/user_service.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e237adb1bc234dfc2b456911bacfb0f029956fb
--- /dev/null
+++ b/import_shims/lms/xblock_django/user_service.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.user_service', 'common.djangoapps.xblock_django.user_service')
+
+from common.djangoapps.xblock_django.user_service import *
diff --git a/import_shims/studio/course_action_state/__init__.py b/import_shims/studio/course_action_state/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b5980fa172dadf52fe1d7dd6c151fe63f11a41f
--- /dev/null
+++ b/import_shims/studio/course_action_state/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state', 'common.djangoapps.course_action_state')
+
+from common.djangoapps.course_action_state import *
diff --git a/import_shims/studio/course_action_state/managers.py b/import_shims/studio/course_action_state/managers.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd11c98f47eceaba1f35a09a3726fa74200bf0fb
--- /dev/null
+++ b/import_shims/studio/course_action_state/managers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.managers', 'common.djangoapps.course_action_state.managers')
+
+from common.djangoapps.course_action_state.managers import *
diff --git a/import_shims/studio/course_action_state/models.py b/import_shims/studio/course_action_state/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee7e3c4ad074a953372f3dd01f97c8f61b2d8018
--- /dev/null
+++ b/import_shims/studio/course_action_state/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.models', 'common.djangoapps.course_action_state.models')
+
+from common.djangoapps.course_action_state.models import *
diff --git a/import_shims/studio/course_action_state/tests/__init__.py b/import_shims/studio/course_action_state/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..701aad3144cf56a2aee09e8fa4d93de2390be92a
--- /dev/null
+++ b/import_shims/studio/course_action_state/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.tests', 'common.djangoapps.course_action_state.tests')
+
+from common.djangoapps.course_action_state.tests import *
diff --git a/import_shims/studio/course_action_state/tests/test_managers.py b/import_shims/studio/course_action_state/tests/test_managers.py
new file mode 100644
index 0000000000000000000000000000000000000000..91c1a4c0b5879d5b9c14851dc660f72f6172e8ea
--- /dev/null
+++ b/import_shims/studio/course_action_state/tests/test_managers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.tests.test_managers', 'common.djangoapps.course_action_state.tests.test_managers')
+
+from common.djangoapps.course_action_state.tests.test_managers import *
diff --git a/import_shims/studio/course_action_state/tests/test_rerun_manager.py b/import_shims/studio/course_action_state/tests/test_rerun_manager.py
new file mode 100644
index 0000000000000000000000000000000000000000..740708aa00121b404069ce33024fee522e79d5d4
--- /dev/null
+++ b/import_shims/studio/course_action_state/tests/test_rerun_manager.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_action_state.tests.test_rerun_manager', 'common.djangoapps.course_action_state.tests.test_rerun_manager')
+
+from common.djangoapps.course_action_state.tests.test_rerun_manager import *
diff --git a/import_shims/studio/course_modes/__init__.py b/import_shims/studio/course_modes/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5c4a4ee4c54e1a6c7a1a9e334ff0b339be46499
--- /dev/null
+++ b/import_shims/studio/course_modes/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes', 'common.djangoapps.course_modes')
+
+from common.djangoapps.course_modes import *
diff --git a/import_shims/studio/course_modes/admin.py b/import_shims/studio/course_modes/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..929ba70dc0ab4c7716816a5c516c3b16aa6a2537
--- /dev/null
+++ b/import_shims/studio/course_modes/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.admin', 'common.djangoapps.course_modes.admin')
+
+from common.djangoapps.course_modes.admin import *
diff --git a/import_shims/studio/course_modes/api.py b/import_shims/studio/course_modes/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..74250a451c5456726b7c894b6e4a47542b025d50
--- /dev/null
+++ b/import_shims/studio/course_modes/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.api', 'common.djangoapps.course_modes.api')
+
+from common.djangoapps.course_modes.api import *
diff --git a/import_shims/studio/course_modes/apps.py b/import_shims/studio/course_modes/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2d7673d36bc028505d85a57a33da71b297a3d53
--- /dev/null
+++ b/import_shims/studio/course_modes/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.apps', 'common.djangoapps.course_modes.apps')
+
+from common.djangoapps.course_modes.apps import *
diff --git a/import_shims/studio/course_modes/helpers.py b/import_shims/studio/course_modes/helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..0862592a3c23ca30ad84b5b74fe9531e94146718
--- /dev/null
+++ b/import_shims/studio/course_modes/helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.helpers', 'common.djangoapps.course_modes.helpers')
+
+from common.djangoapps.course_modes.helpers import *
diff --git a/import_shims/studio/course_modes/models.py b/import_shims/studio/course_modes/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..a5f733294cb402e7cf9e802a07d4bbaa3229fc38
--- /dev/null
+++ b/import_shims/studio/course_modes/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.models', 'common.djangoapps.course_modes.models')
+
+from common.djangoapps.course_modes.models import *
diff --git a/import_shims/studio/course_modes/rest_api/__init__.py b/import_shims/studio/course_modes/rest_api/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff3fd85be38c001e941b427f697d6b5738e22fcf
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api', 'common.djangoapps.course_modes.rest_api')
+
+from common.djangoapps.course_modes.rest_api import *
diff --git a/import_shims/studio/course_modes/rest_api/serializers.py b/import_shims/studio/course_modes/rest_api/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..9996d6823b9f77554f584986987f7adb342ca2d3
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.serializers', 'common.djangoapps.course_modes.rest_api.serializers')
+
+from common.djangoapps.course_modes.rest_api.serializers import *
diff --git a/import_shims/studio/course_modes/rest_api/urls.py b/import_shims/studio/course_modes/rest_api/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..61912ad20c79b4d78fd1880df805f729c7364845
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.urls', 'common.djangoapps.course_modes.rest_api.urls')
+
+from common.djangoapps.course_modes.rest_api.urls import *
diff --git a/import_shims/studio/course_modes/rest_api/v1/__init__.py b/import_shims/studio/course_modes/rest_api/v1/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..626c496187b583db4647380107efca529dcb70ba
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/v1/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1', 'common.djangoapps.course_modes.rest_api.v1')
+
+from common.djangoapps.course_modes.rest_api.v1 import *
diff --git a/import_shims/studio/course_modes/rest_api/v1/tests/__init__.py b/import_shims/studio/course_modes/rest_api/v1/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ee1496ee9ad3adfb922b76d7c35eb43d7b58b4dd
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/v1/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.tests', 'common.djangoapps.course_modes.rest_api.v1.tests')
+
+from common.djangoapps.course_modes.rest_api.v1.tests import *
diff --git a/import_shims/studio/course_modes/rest_api/v1/tests/test_views.py b/import_shims/studio/course_modes/rest_api/v1/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..a67d9e8599f02624a067451a6c0959eeed0a199d
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/v1/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.tests.test_views', 'common.djangoapps.course_modes.rest_api.v1.tests.test_views')
+
+from common.djangoapps.course_modes.rest_api.v1.tests.test_views import *
diff --git a/import_shims/studio/course_modes/rest_api/v1/urls.py b/import_shims/studio/course_modes/rest_api/v1/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..840f2e755672da4c12390c0970fc0b7d336fb080
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/v1/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.urls', 'common.djangoapps.course_modes.rest_api.v1.urls')
+
+from common.djangoapps.course_modes.rest_api.v1.urls import *
diff --git a/import_shims/studio/course_modes/rest_api/v1/views.py b/import_shims/studio/course_modes/rest_api/v1/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..d470938c20472888544b06ccef4881f5ca7e1c76
--- /dev/null
+++ b/import_shims/studio/course_modes/rest_api/v1/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.rest_api.v1.views', 'common.djangoapps.course_modes.rest_api.v1.views')
+
+from common.djangoapps.course_modes.rest_api.v1.views import *
diff --git a/import_shims/studio/course_modes/signals.py b/import_shims/studio/course_modes/signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..ce1857f3d85d23a850c0f2651efe606820b8caab
--- /dev/null
+++ b/import_shims/studio/course_modes/signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.signals', 'common.djangoapps.course_modes.signals')
+
+from common.djangoapps.course_modes.signals import *
diff --git a/import_shims/studio/course_modes/tests/__init__.py b/import_shims/studio/course_modes/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7298d7bd70a98c42efd7d524d56b53b1046d310c
--- /dev/null
+++ b/import_shims/studio/course_modes/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests', 'common.djangoapps.course_modes.tests')
+
+from common.djangoapps.course_modes.tests import *
diff --git a/import_shims/studio/course_modes/tests/factories.py b/import_shims/studio/course_modes/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..32bcb47fd9136008cf755c80b9b740f330444c3e
--- /dev/null
+++ b/import_shims/studio/course_modes/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.factories', 'common.djangoapps.course_modes.tests.factories')
+
+from common.djangoapps.course_modes.tests.factories import *
diff --git a/import_shims/studio/course_modes/tests/test_admin.py b/import_shims/studio/course_modes/tests/test_admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e8f1c3481149e0a67a92a3c7c84216b3aa7d1c4
--- /dev/null
+++ b/import_shims/studio/course_modes/tests/test_admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_admin', 'common.djangoapps.course_modes.tests.test_admin')
+
+from common.djangoapps.course_modes.tests.test_admin import *
diff --git a/import_shims/studio/course_modes/tests/test_models.py b/import_shims/studio/course_modes/tests/test_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..d2d30d40d08431ae6cb5f95f1c0f9dbc2f47af47
--- /dev/null
+++ b/import_shims/studio/course_modes/tests/test_models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_models', 'common.djangoapps.course_modes.tests.test_models')
+
+from common.djangoapps.course_modes.tests.test_models import *
diff --git a/import_shims/studio/course_modes/tests/test_signals.py b/import_shims/studio/course_modes/tests/test_signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..fbda5cc65f5561abb0eef87c8fad6a30fc3c4089
--- /dev/null
+++ b/import_shims/studio/course_modes/tests/test_signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_signals', 'common.djangoapps.course_modes.tests.test_signals')
+
+from common.djangoapps.course_modes.tests.test_signals import *
diff --git a/import_shims/studio/course_modes/tests/test_views.py b/import_shims/studio/course_modes/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..66909845fb29a40658efc45d2f6d5c71b5141bc2
--- /dev/null
+++ b/import_shims/studio/course_modes/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.tests.test_views', 'common.djangoapps.course_modes.tests.test_views')
+
+from common.djangoapps.course_modes.tests.test_views import *
diff --git a/import_shims/studio/course_modes/urls.py b/import_shims/studio/course_modes/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..8af9addfb3815722c0f6b9dc19de917d6f2d2821
--- /dev/null
+++ b/import_shims/studio/course_modes/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.urls', 'common.djangoapps.course_modes.urls')
+
+from common.djangoapps.course_modes.urls import *
diff --git a/import_shims/studio/course_modes/views.py b/import_shims/studio/course_modes/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1971cbd67ead5862cfe043d641195ec40702565
--- /dev/null
+++ b/import_shims/studio/course_modes/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('course_modes.views', 'common.djangoapps.course_modes.views')
+
+from common.djangoapps.course_modes.views import *
diff --git a/import_shims/studio/database_fixups/__init__.py b/import_shims/studio/database_fixups/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a43cf8ff09f7b7e7cfa730c83bd8ac623a52d037
--- /dev/null
+++ b/import_shims/studio/database_fixups/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('database_fixups', 'common.djangoapps.database_fixups')
+
+from common.djangoapps.database_fixups import *
diff --git a/import_shims/studio/edxmako/__init__.py b/import_shims/studio/edxmako/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8946feafc071e467ea3661dedcb968ab6437b430
--- /dev/null
+++ b/import_shims/studio/edxmako/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako', 'common.djangoapps.edxmako')
+
+from common.djangoapps.edxmako import *
diff --git a/import_shims/studio/edxmako/apps.py b/import_shims/studio/edxmako/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ca90ecffa79a205c386dddb0783853b55545172
--- /dev/null
+++ b/import_shims/studio/edxmako/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.apps', 'common.djangoapps.edxmako.apps')
+
+from common.djangoapps.edxmako.apps import *
diff --git a/import_shims/studio/edxmako/backend.py b/import_shims/studio/edxmako/backend.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e2cf327c194cc18cc58d34ae0716670245a98a0
--- /dev/null
+++ b/import_shims/studio/edxmako/backend.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.backend', 'common.djangoapps.edxmako.backend')
+
+from common.djangoapps.edxmako.backend import *
diff --git a/import_shims/studio/edxmako/makoloader.py b/import_shims/studio/edxmako/makoloader.py
new file mode 100644
index 0000000000000000000000000000000000000000..f94dff6239c57a0a979579fb467fd1b656e8083b
--- /dev/null
+++ b/import_shims/studio/edxmako/makoloader.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.makoloader', 'common.djangoapps.edxmako.makoloader')
+
+from common.djangoapps.edxmako.makoloader import *
diff --git a/import_shims/studio/edxmako/paths.py b/import_shims/studio/edxmako/paths.py
new file mode 100644
index 0000000000000000000000000000000000000000..34b539091c122f7ca718be6b225fe7b4e41215a6
--- /dev/null
+++ b/import_shims/studio/edxmako/paths.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.paths', 'common.djangoapps.edxmako.paths')
+
+from common.djangoapps.edxmako.paths import *
diff --git a/import_shims/studio/edxmako/request_context.py b/import_shims/studio/edxmako/request_context.py
new file mode 100644
index 0000000000000000000000000000000000000000..faf3c0b56d784a5d7e23713f1909d8bb25f926c3
--- /dev/null
+++ b/import_shims/studio/edxmako/request_context.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.request_context', 'common.djangoapps.edxmako.request_context')
+
+from common.djangoapps.edxmako.request_context import *
diff --git a/import_shims/studio/edxmako/shortcuts.py b/import_shims/studio/edxmako/shortcuts.py
new file mode 100644
index 0000000000000000000000000000000000000000..78198ced7424e4dfc6905b1fde35b0fd48446f1d
--- /dev/null
+++ b/import_shims/studio/edxmako/shortcuts.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.shortcuts', 'common.djangoapps.edxmako.shortcuts')
+
+from common.djangoapps.edxmako.shortcuts import *
diff --git a/import_shims/studio/edxmako/template.py b/import_shims/studio/edxmako/template.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf0592a314b4fc51e8772d03174733f40aa0b5d0
--- /dev/null
+++ b/import_shims/studio/edxmako/template.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.template', 'common.djangoapps.edxmako.template')
+
+from common.djangoapps.edxmako.template import *
diff --git a/import_shims/studio/edxmako/tests.py b/import_shims/studio/edxmako/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f82c23ee376e1f6a364f12d7a528a701f4dfa42
--- /dev/null
+++ b/import_shims/studio/edxmako/tests.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('edxmako.tests', 'common.djangoapps.edxmako.tests')
+
+from common.djangoapps.edxmako.tests import *
diff --git a/import_shims/studio/entitlements/__init__.py b/import_shims/studio/entitlements/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..80e98d5ef66dbfb58e057edc6f32ff5a37cceaf4
--- /dev/null
+++ b/import_shims/studio/entitlements/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements', 'common.djangoapps.entitlements')
+
+from common.djangoapps.entitlements import *
diff --git a/import_shims/studio/entitlements/admin.py b/import_shims/studio/entitlements/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e6bbd05a5e46c94fcc711ac730ae9de1d115e4d
--- /dev/null
+++ b/import_shims/studio/entitlements/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.admin', 'common.djangoapps.entitlements.admin')
+
+from common.djangoapps.entitlements.admin import *
diff --git a/import_shims/studio/entitlements/api.py b/import_shims/studio/entitlements/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..e8e6a9585be6f529dce9ebcfbeda26457e744c6d
--- /dev/null
+++ b/import_shims/studio/entitlements/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.api', 'common.djangoapps.entitlements.api')
+
+from common.djangoapps.entitlements.api import *
diff --git a/import_shims/studio/entitlements/apps.py b/import_shims/studio/entitlements/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc5884bb1f1f084aa2afadefd924e8e11a3985eb
--- /dev/null
+++ b/import_shims/studio/entitlements/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.apps', 'common.djangoapps.entitlements.apps')
+
+from common.djangoapps.entitlements.apps import *
diff --git a/import_shims/studio/entitlements/management/__init__.py b/import_shims/studio/entitlements/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..45bd12618d61bb5d502987bd1f80c0bf8a0fb1fb
--- /dev/null
+++ b/import_shims/studio/entitlements/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management', 'common.djangoapps.entitlements.management')
+
+from common.djangoapps.entitlements.management import *
diff --git a/import_shims/studio/entitlements/management/commands/__init__.py b/import_shims/studio/entitlements/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..13f52e735fe44170943f82a2c4879635ab279be5
--- /dev/null
+++ b/import_shims/studio/entitlements/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands', 'common.djangoapps.entitlements.management.commands')
+
+from common.djangoapps.entitlements.management.commands import *
diff --git a/import_shims/studio/entitlements/management/commands/expire_old_entitlements.py b/import_shims/studio/entitlements/management/commands/expire_old_entitlements.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bdfa7163b137752fa7485d9e910353af62ef55d
--- /dev/null
+++ b/import_shims/studio/entitlements/management/commands/expire_old_entitlements.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.expire_old_entitlements', 'common.djangoapps.entitlements.management.commands.expire_old_entitlements')
+
+from common.djangoapps.entitlements.management.commands.expire_old_entitlements import *
diff --git a/import_shims/studio/entitlements/management/commands/tests/__init__.py b/import_shims/studio/entitlements/management/commands/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..70d804c7d56ca68cc0d316914aa8847d12471efa
--- /dev/null
+++ b/import_shims/studio/entitlements/management/commands/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.tests', 'common.djangoapps.entitlements.management.commands.tests')
+
+from common.djangoapps.entitlements.management.commands.tests import *
diff --git a/import_shims/studio/entitlements/management/commands/tests/test_expire_old_entitlements.py b/import_shims/studio/entitlements/management/commands/tests/test_expire_old_entitlements.py
new file mode 100644
index 0000000000000000000000000000000000000000..5f736d44b1f76aab1eefbc66d6f33ff0b6ad17ef
--- /dev/null
+++ b/import_shims/studio/entitlements/management/commands/tests/test_expire_old_entitlements.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.tests.test_expire_old_entitlements', 'common.djangoapps.entitlements.management.commands.tests.test_expire_old_entitlements')
+
+from common.djangoapps.entitlements.management.commands.tests.test_expire_old_entitlements import *
diff --git a/import_shims/studio/entitlements/management/commands/update_entitlement_mode.py b/import_shims/studio/entitlements/management/commands/update_entitlement_mode.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc2df58af9418d34bbcd336cf7d92c994e43a1f8
--- /dev/null
+++ b/import_shims/studio/entitlements/management/commands/update_entitlement_mode.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.management.commands.update_entitlement_mode', 'common.djangoapps.entitlements.management.commands.update_entitlement_mode')
+
+from common.djangoapps.entitlements.management.commands.update_entitlement_mode import *
diff --git a/import_shims/studio/entitlements/models.py b/import_shims/studio/entitlements/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..bef6e0c52e14e019ff6da4efe9b33480eb3e82ae
--- /dev/null
+++ b/import_shims/studio/entitlements/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.models', 'common.djangoapps.entitlements.models')
+
+from common.djangoapps.entitlements.models import *
diff --git a/import_shims/studio/entitlements/rest_api/__init__.py b/import_shims/studio/entitlements/rest_api/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..08081a35734108e0b8b8576d37536ed904b47165
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api', 'common.djangoapps.entitlements.rest_api')
+
+from common.djangoapps.entitlements.rest_api import *
diff --git a/import_shims/studio/entitlements/rest_api/urls.py b/import_shims/studio/entitlements/rest_api/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..9c377d18a559c0ff510d62571ff1ee35b3fee8cb
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.urls', 'common.djangoapps.entitlements.rest_api.urls')
+
+from common.djangoapps.entitlements.rest_api.urls import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/__init__.py b/import_shims/studio/entitlements/rest_api/v1/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7689d9ccbebb1a988de887801c8529518adc171d
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1', 'common.djangoapps.entitlements.rest_api.v1')
+
+from common.djangoapps.entitlements.rest_api.v1 import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/filters.py b/import_shims/studio/entitlements/rest_api/v1/filters.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd4dbd708d39e57e627e6a416535fd063df0673a
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/filters.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.filters', 'common.djangoapps.entitlements.rest_api.v1.filters')
+
+from common.djangoapps.entitlements.rest_api.v1.filters import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/permissions.py b/import_shims/studio/entitlements/rest_api/v1/permissions.py
new file mode 100644
index 0000000000000000000000000000000000000000..13f5d5c6358889d559977985ed78eac7ef4fcb2e
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/permissions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.permissions', 'common.djangoapps.entitlements.rest_api.v1.permissions')
+
+from common.djangoapps.entitlements.rest_api.v1.permissions import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/serializers.py b/import_shims/studio/entitlements/rest_api/v1/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..ed28d10b37177fb28a6a9b76d40251712916e38e
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.serializers', 'common.djangoapps.entitlements.rest_api.v1.serializers')
+
+from common.djangoapps.entitlements.rest_api.v1.serializers import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/tests/__init__.py b/import_shims/studio/entitlements/rest_api/v1/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e0c962370d735cfbfe71fe7e1eefbe84e8ef37e
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.tests', 'common.djangoapps.entitlements.rest_api.v1.tests')
+
+from common.djangoapps.entitlements.rest_api.v1.tests import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/tests/test_serializers.py b/import_shims/studio/entitlements/rest_api/v1/tests/test_serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..779499677975df02cbf671a684a114e479eeee77
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/tests/test_serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.tests.test_serializers', 'common.djangoapps.entitlements.rest_api.v1.tests.test_serializers')
+
+from common.djangoapps.entitlements.rest_api.v1.tests.test_serializers import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/tests/test_views.py b/import_shims/studio/entitlements/rest_api/v1/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..26cf1e48ffad1bbcc1a512029448535da74ec058
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.tests.test_views', 'common.djangoapps.entitlements.rest_api.v1.tests.test_views')
+
+from common.djangoapps.entitlements.rest_api.v1.tests.test_views import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/urls.py b/import_shims/studio/entitlements/rest_api/v1/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..6b58a24af64b2ca5a621df8fafaed60507a5d862
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.urls', 'common.djangoapps.entitlements.rest_api.v1.urls')
+
+from common.djangoapps.entitlements.rest_api.v1.urls import *
diff --git a/import_shims/studio/entitlements/rest_api/v1/views.py b/import_shims/studio/entitlements/rest_api/v1/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..36040ac2792394432027eba232853919f01826c0
--- /dev/null
+++ b/import_shims/studio/entitlements/rest_api/v1/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.rest_api.v1.views', 'common.djangoapps.entitlements.rest_api.v1.views')
+
+from common.djangoapps.entitlements.rest_api.v1.views import *
diff --git a/import_shims/studio/entitlements/signals.py b/import_shims/studio/entitlements/signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..23a5da7ca85b633b7049b3adb8d6d5a25aa35994
--- /dev/null
+++ b/import_shims/studio/entitlements/signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.signals', 'common.djangoapps.entitlements.signals')
+
+from common.djangoapps.entitlements.signals import *
diff --git a/import_shims/studio/entitlements/tasks.py b/import_shims/studio/entitlements/tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a078a755e26bcb64d8ca0c6576adb88baff47d8
--- /dev/null
+++ b/import_shims/studio/entitlements/tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tasks', 'common.djangoapps.entitlements.tasks')
+
+from common.djangoapps.entitlements.tasks import *
diff --git a/import_shims/studio/entitlements/tests/__init__.py b/import_shims/studio/entitlements/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..858d32fad42bc8a822b207bbb00c816705c3928a
--- /dev/null
+++ b/import_shims/studio/entitlements/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests', 'common.djangoapps.entitlements.tests')
+
+from common.djangoapps.entitlements.tests import *
diff --git a/import_shims/studio/entitlements/tests/factories.py b/import_shims/studio/entitlements/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..e57a7f6e29c7fbcad8c0040f7cfd5e2dfb343035
--- /dev/null
+++ b/import_shims/studio/entitlements/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.factories', 'common.djangoapps.entitlements.tests.factories')
+
+from common.djangoapps.entitlements.tests.factories import *
diff --git a/import_shims/studio/entitlements/tests/test_models.py b/import_shims/studio/entitlements/tests/test_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..be749668149dc6aefba7fa5d96c88c180bd980f9
--- /dev/null
+++ b/import_shims/studio/entitlements/tests/test_models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.test_models', 'common.djangoapps.entitlements.tests.test_models')
+
+from common.djangoapps.entitlements.tests.test_models import *
diff --git a/import_shims/studio/entitlements/tests/test_tasks.py b/import_shims/studio/entitlements/tests/test_tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..97c1078c41178322ee84365d6cbe7dc01e752bff
--- /dev/null
+++ b/import_shims/studio/entitlements/tests/test_tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.test_tasks', 'common.djangoapps.entitlements.tests.test_tasks')
+
+from common.djangoapps.entitlements.tests.test_tasks import *
diff --git a/import_shims/studio/entitlements/tests/test_utils.py b/import_shims/studio/entitlements/tests/test_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..a241173b35edbb68629e36b787ae90d15b6b391d
--- /dev/null
+++ b/import_shims/studio/entitlements/tests/test_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.tests.test_utils', 'common.djangoapps.entitlements.tests.test_utils')
+
+from common.djangoapps.entitlements.tests.test_utils import *
diff --git a/import_shims/studio/entitlements/utils.py b/import_shims/studio/entitlements/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..afb1aa3677aa0a2872e46ff696d560f439902973
--- /dev/null
+++ b/import_shims/studio/entitlements/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('entitlements.utils', 'common.djangoapps.entitlements.utils')
+
+from common.djangoapps.entitlements.utils import *
diff --git a/import_shims/studio/pipeline_mako/__init__.py b/import_shims/studio/pipeline_mako/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ed1028e435255ea2fe8677fd58876e390a190bd1
--- /dev/null
+++ b/import_shims/studio/pipeline_mako/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako', 'common.djangoapps.pipeline_mako')
+
+from common.djangoapps.pipeline_mako import *
diff --git a/import_shims/studio/pipeline_mako/helpers/__init__.py b/import_shims/studio/pipeline_mako/helpers/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b780ffd340a0b0ddba251423046e9cb4086f406d
--- /dev/null
+++ b/import_shims/studio/pipeline_mako/helpers/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.helpers', 'common.djangoapps.pipeline_mako.helpers')
+
+from common.djangoapps.pipeline_mako.helpers import *
diff --git a/import_shims/studio/pipeline_mako/helpers/studiofrontend.py b/import_shims/studio/pipeline_mako/helpers/studiofrontend.py
new file mode 100644
index 0000000000000000000000000000000000000000..4bf4ce91844040ea21074019ee8baa59268516e2
--- /dev/null
+++ b/import_shims/studio/pipeline_mako/helpers/studiofrontend.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.helpers.studiofrontend', 'common.djangoapps.pipeline_mako.helpers.studiofrontend')
+
+from common.djangoapps.pipeline_mako.helpers.studiofrontend import *
diff --git a/import_shims/studio/pipeline_mako/tests/__init__.py b/import_shims/studio/pipeline_mako/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c235280da53053c10698409c7b9d2c086337fc83
--- /dev/null
+++ b/import_shims/studio/pipeline_mako/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.tests', 'common.djangoapps.pipeline_mako.tests')
+
+from common.djangoapps.pipeline_mako.tests import *
diff --git a/import_shims/studio/pipeline_mako/tests/test_render.py b/import_shims/studio/pipeline_mako/tests/test_render.py
new file mode 100644
index 0000000000000000000000000000000000000000..4951f52e81fedd2ed9e8fdc4d7f88db519c5508a
--- /dev/null
+++ b/import_shims/studio/pipeline_mako/tests/test_render.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.tests.test_render', 'common.djangoapps.pipeline_mako.tests.test_render')
+
+from common.djangoapps.pipeline_mako.tests.test_render import *
diff --git a/import_shims/studio/pipeline_mako/tests/test_static_content.py b/import_shims/studio/pipeline_mako/tests/test_static_content.py
new file mode 100644
index 0000000000000000000000000000000000000000..74a9116932ce842c5aeeee9a7e6f73763861d574
--- /dev/null
+++ b/import_shims/studio/pipeline_mako/tests/test_static_content.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('pipeline_mako.tests.test_static_content', 'common.djangoapps.pipeline_mako.tests.test_static_content')
+
+from common.djangoapps.pipeline_mako.tests.test_static_content import *
diff --git a/import_shims/studio/static_replace/__init__.py b/import_shims/studio/static_replace/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..6206589364d9d6ac02b5d917df4eeec9eed4a44a
--- /dev/null
+++ b/import_shims/studio/static_replace/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace', 'common.djangoapps.static_replace')
+
+from common.djangoapps.static_replace import *
diff --git a/import_shims/studio/static_replace/admin.py b/import_shims/studio/static_replace/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e80b27782ad184748b68935808d1f66ea5efe51
--- /dev/null
+++ b/import_shims/studio/static_replace/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.admin', 'common.djangoapps.static_replace.admin')
+
+from common.djangoapps.static_replace.admin import *
diff --git a/import_shims/studio/static_replace/management/__init__.py b/import_shims/studio/static_replace/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..bd3cd2e159bbaad546181fad7d73e42670463081
--- /dev/null
+++ b/import_shims/studio/static_replace/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.management', 'common.djangoapps.static_replace.management')
+
+from common.djangoapps.static_replace.management import *
diff --git a/import_shims/studio/static_replace/management/commands/__init__.py b/import_shims/studio/static_replace/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..924ba91ec4829af7aa227853b1e383556616788e
--- /dev/null
+++ b/import_shims/studio/static_replace/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.management.commands', 'common.djangoapps.static_replace.management.commands')
+
+from common.djangoapps.static_replace.management.commands import *
diff --git a/import_shims/studio/static_replace/management/commands/clear_collectstatic_cache.py b/import_shims/studio/static_replace/management/commands/clear_collectstatic_cache.py
new file mode 100644
index 0000000000000000000000000000000000000000..f48e6c054147a213ac71aaba3fac86b6c0f0cce7
--- /dev/null
+++ b/import_shims/studio/static_replace/management/commands/clear_collectstatic_cache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.management.commands.clear_collectstatic_cache', 'common.djangoapps.static_replace.management.commands.clear_collectstatic_cache')
+
+from common.djangoapps.static_replace.management.commands.clear_collectstatic_cache import *
diff --git a/import_shims/studio/static_replace/models.py b/import_shims/studio/static_replace/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd13639c7e2f3b58d8cb982903a00ff6de21feee
--- /dev/null
+++ b/import_shims/studio/static_replace/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.models', 'common.djangoapps.static_replace.models')
+
+from common.djangoapps.static_replace.models import *
diff --git a/import_shims/studio/static_replace/test/__init__.py b/import_shims/studio/static_replace/test/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a97f94831a5049c7aed0a5cd072870d5d94ecf43
--- /dev/null
+++ b/import_shims/studio/static_replace/test/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.test', 'common.djangoapps.static_replace.test')
+
+from common.djangoapps.static_replace.test import *
diff --git a/import_shims/studio/static_replace/test/test_static_replace.py b/import_shims/studio/static_replace/test/test_static_replace.py
new file mode 100644
index 0000000000000000000000000000000000000000..70597a699a387130ee79f6db5e7101b86e7d234d
--- /dev/null
+++ b/import_shims/studio/static_replace/test/test_static_replace.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('static_replace.test.test_static_replace', 'common.djangoapps.static_replace.test.test_static_replace')
+
+from common.djangoapps.static_replace.test.test_static_replace import *
diff --git a/import_shims/studio/status/__init__.py b/import_shims/studio/status/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a13d08f261c51a473fc3f08033821ce01a9ca87
--- /dev/null
+++ b/import_shims/studio/status/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status', 'common.djangoapps.status')
+
+from common.djangoapps.status import *
diff --git a/import_shims/studio/status/models.py b/import_shims/studio/status/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5472b0bfba08176cbb6b4cb31e13b9feb27cc70
--- /dev/null
+++ b/import_shims/studio/status/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status.models', 'common.djangoapps.status.models')
+
+from common.djangoapps.status.models import *
diff --git a/import_shims/studio/status/status.py b/import_shims/studio/status/status.py
new file mode 100644
index 0000000000000000000000000000000000000000..58ce46f399cd00544d594c98402ac47982b64bca
--- /dev/null
+++ b/import_shims/studio/status/status.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status.status', 'common.djangoapps.status.status')
+
+from common.djangoapps.status.status import *
diff --git a/import_shims/studio/status/tests.py b/import_shims/studio/status/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..2f1eddb757474a78035d4c9fb517abea397a8259
--- /dev/null
+++ b/import_shims/studio/status/tests.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('status.tests', 'common.djangoapps.status.tests')
+
+from common.djangoapps.status.tests import *
diff --git a/import_shims/studio/student/__init__.py b/import_shims/studio/student/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7921410e6ae5253686beb50ccc3fdd915255cb43
--- /dev/null
+++ b/import_shims/studio/student/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student', 'common.djangoapps.student')
+
+from common.djangoapps.student import *
diff --git a/import_shims/studio/student/admin.py b/import_shims/studio/student/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..e0e640ec692a82a452f353afd1db1eeae6bd8808
--- /dev/null
+++ b/import_shims/studio/student/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.admin', 'common.djangoapps.student.admin')
+
+from common.djangoapps.student.admin import *
diff --git a/import_shims/studio/student/api.py b/import_shims/studio/student/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..3157baeb4da2f1bdf7b424d09861a444b4d35231
--- /dev/null
+++ b/import_shims/studio/student/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.api', 'common.djangoapps.student.api')
+
+from common.djangoapps.student.api import *
diff --git a/import_shims/studio/student/apps.py b/import_shims/studio/student/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..54b77ea84728175513c0eba2dcd70406af75f04f
--- /dev/null
+++ b/import_shims/studio/student/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.apps', 'common.djangoapps.student.apps')
+
+from common.djangoapps.student.apps import *
diff --git a/import_shims/studio/student/auth.py b/import_shims/studio/student/auth.py
new file mode 100644
index 0000000000000000000000000000000000000000..cac8c0d18a0f7e70927b11d09a0f9f7d5b8a5433
--- /dev/null
+++ b/import_shims/studio/student/auth.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.auth', 'common.djangoapps.student.auth')
+
+from common.djangoapps.student.auth import *
diff --git a/import_shims/studio/student/forms.py b/import_shims/studio/student/forms.py
new file mode 100644
index 0000000000000000000000000000000000000000..720e7ea84238a505edc5678b82f63531c618d95a
--- /dev/null
+++ b/import_shims/studio/student/forms.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.forms', 'common.djangoapps.student.forms')
+
+from common.djangoapps.student.forms import *
diff --git a/import_shims/studio/student/helpers.py b/import_shims/studio/student/helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d448a557ed7e8037fbaba0e7284e374503fa3eb
--- /dev/null
+++ b/import_shims/studio/student/helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.helpers', 'common.djangoapps.student.helpers')
+
+from common.djangoapps.student.helpers import *
diff --git a/import_shims/studio/student/management/__init__.py b/import_shims/studio/student/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3ac1769d0b32e470827d4909c420cae30e243ea8
--- /dev/null
+++ b/import_shims/studio/student/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management', 'common.djangoapps.student.management')
+
+from common.djangoapps.student.management import *
diff --git a/import_shims/studio/student/management/commands/__init__.py b/import_shims/studio/student/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..69627fdcec4ddd97bcebae51693cde7b4d241cc2
--- /dev/null
+++ b/import_shims/studio/student/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands', 'common.djangoapps.student.management.commands')
+
+from common.djangoapps.student.management.commands import *
diff --git a/import_shims/studio/student/management/commands/_create_users.py b/import_shims/studio/student/management/commands/_create_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..63888425eecb251e82d0b136dea1424c209183ff
--- /dev/null
+++ b/import_shims/studio/student/management/commands/_create_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands._create_users', 'common.djangoapps.student.management.commands._create_users')
+
+from common.djangoapps.student.management.commands._create_users import *
diff --git a/import_shims/studio/student/management/commands/add_to_group.py b/import_shims/studio/student/management/commands/add_to_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..eb768f48a88932af17a704d92517a3c2fab63449
--- /dev/null
+++ b/import_shims/studio/student/management/commands/add_to_group.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.add_to_group', 'common.djangoapps.student.management.commands.add_to_group')
+
+from common.djangoapps.student.management.commands.add_to_group import *
diff --git a/import_shims/studio/student/management/commands/anonymized_id_mapping.py b/import_shims/studio/student/management/commands/anonymized_id_mapping.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1ace4626bf616eb9132d862a23e8708f88dec20
--- /dev/null
+++ b/import_shims/studio/student/management/commands/anonymized_id_mapping.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.anonymized_id_mapping', 'common.djangoapps.student.management.commands.anonymized_id_mapping')
+
+from common.djangoapps.student.management.commands.anonymized_id_mapping import *
diff --git a/import_shims/studio/student/management/commands/assigngroups.py b/import_shims/studio/student/management/commands/assigngroups.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd5b21337098c691ef2c1ddc98a528f983b6face
--- /dev/null
+++ b/import_shims/studio/student/management/commands/assigngroups.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.assigngroups', 'common.djangoapps.student.management.commands.assigngroups')
+
+from common.djangoapps.student.management.commands.assigngroups import *
diff --git a/import_shims/studio/student/management/commands/bulk_change_enrollment.py b/import_shims/studio/student/management/commands/bulk_change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..6204abf5737dc2cef4286b0343077f3c7a9a3176
--- /dev/null
+++ b/import_shims/studio/student/management/commands/bulk_change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_change_enrollment', 'common.djangoapps.student.management.commands.bulk_change_enrollment')
+
+from common.djangoapps.student.management.commands.bulk_change_enrollment import *
diff --git a/import_shims/studio/student/management/commands/bulk_change_enrollment_csv.py b/import_shims/studio/student/management/commands/bulk_change_enrollment_csv.py
new file mode 100644
index 0000000000000000000000000000000000000000..d4a2a9094151a638ed23fadc88caeb49a839daac
--- /dev/null
+++ b/import_shims/studio/student/management/commands/bulk_change_enrollment_csv.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_change_enrollment_csv', 'common.djangoapps.student.management.commands.bulk_change_enrollment_csv')
+
+from common.djangoapps.student.management.commands.bulk_change_enrollment_csv import *
diff --git a/import_shims/studio/student/management/commands/bulk_unenroll.py b/import_shims/studio/student/management/commands/bulk_unenroll.py
new file mode 100644
index 0000000000000000000000000000000000000000..832a85d03b1ce623a9631dced150d0fc1c077fd7
--- /dev/null
+++ b/import_shims/studio/student/management/commands/bulk_unenroll.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_unenroll', 'common.djangoapps.student.management.commands.bulk_unenroll')
+
+from common.djangoapps.student.management.commands.bulk_unenroll import *
diff --git a/import_shims/studio/student/management/commands/bulk_update_email.py b/import_shims/studio/student/management/commands/bulk_update_email.py
new file mode 100644
index 0000000000000000000000000000000000000000..dd18a84c9710853f43f7dd737604465e23648b4d
--- /dev/null
+++ b/import_shims/studio/student/management/commands/bulk_update_email.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.bulk_update_email', 'common.djangoapps.student.management.commands.bulk_update_email')
+
+from common.djangoapps.student.management.commands.bulk_update_email import *
diff --git a/import_shims/studio/student/management/commands/cert_restriction.py b/import_shims/studio/student/management/commands/cert_restriction.py
new file mode 100644
index 0000000000000000000000000000000000000000..b42cf2b33d4ef0607b18bbfd56a0282e8f9f4771
--- /dev/null
+++ b/import_shims/studio/student/management/commands/cert_restriction.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.cert_restriction', 'common.djangoapps.student.management.commands.cert_restriction')
+
+from common.djangoapps.student.management.commands.cert_restriction import *
diff --git a/import_shims/studio/student/management/commands/change_eligibility_deadline.py b/import_shims/studio/student/management/commands/change_eligibility_deadline.py
new file mode 100644
index 0000000000000000000000000000000000000000..165f1918a976184fef1667e10498e5fe818985e3
--- /dev/null
+++ b/import_shims/studio/student/management/commands/change_eligibility_deadline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.change_eligibility_deadline', 'common.djangoapps.student.management.commands.change_eligibility_deadline')
+
+from common.djangoapps.student.management.commands.change_eligibility_deadline import *
diff --git a/import_shims/studio/student/management/commands/change_enrollment.py b/import_shims/studio/student/management/commands/change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..21022051c348380adca060d295062dec688b7435
--- /dev/null
+++ b/import_shims/studio/student/management/commands/change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.change_enrollment', 'common.djangoapps.student.management.commands.change_enrollment')
+
+from common.djangoapps.student.management.commands.change_enrollment import *
diff --git a/import_shims/studio/student/management/commands/change_enterprise_user_username.py b/import_shims/studio/student/management/commands/change_enterprise_user_username.py
new file mode 100644
index 0000000000000000000000000000000000000000..9d843a710f0a01ea61226b151cf9cf0c31b23489
--- /dev/null
+++ b/import_shims/studio/student/management/commands/change_enterprise_user_username.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.change_enterprise_user_username', 'common.djangoapps.student.management.commands.change_enterprise_user_username')
+
+from common.djangoapps.student.management.commands.change_enterprise_user_username import *
diff --git a/import_shims/studio/student/management/commands/create_random_users.py b/import_shims/studio/student/management/commands/create_random_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..63b5b06ed968271888ed49e5aba7cdcf79a0771b
--- /dev/null
+++ b/import_shims/studio/student/management/commands/create_random_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.create_random_users', 'common.djangoapps.student.management.commands.create_random_users')
+
+from common.djangoapps.student.management.commands.create_random_users import *
diff --git a/import_shims/studio/student/management/commands/create_test_users.py b/import_shims/studio/student/management/commands/create_test_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..60e92c12fb4c09897921fac27470a1faa4d92018
--- /dev/null
+++ b/import_shims/studio/student/management/commands/create_test_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.create_test_users', 'common.djangoapps.student.management.commands.create_test_users')
+
+from common.djangoapps.student.management.commands.create_test_users import *
diff --git a/import_shims/studio/student/management/commands/export_staff_users.py b/import_shims/studio/student/management/commands/export_staff_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..972ce7f4e0f975d9c34199e6c245d402cd1fb197
--- /dev/null
+++ b/import_shims/studio/student/management/commands/export_staff_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.export_staff_users', 'common.djangoapps.student.management.commands.export_staff_users')
+
+from common.djangoapps.student.management.commands.export_staff_users import *
diff --git a/import_shims/studio/student/management/commands/manage_group.py b/import_shims/studio/student/management/commands/manage_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..44ebc7b31a16145d4a84aac7d8d4cc7b3a14ea0a
--- /dev/null
+++ b/import_shims/studio/student/management/commands/manage_group.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.manage_group', 'common.djangoapps.student.management.commands.manage_group')
+
+from common.djangoapps.student.management.commands.manage_group import *
diff --git a/import_shims/studio/student/management/commands/manage_user.py b/import_shims/studio/student/management/commands/manage_user.py
new file mode 100644
index 0000000000000000000000000000000000000000..5ac14853a06bf3aea650bedec96d34f9743b9747
--- /dev/null
+++ b/import_shims/studio/student/management/commands/manage_user.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.manage_user', 'common.djangoapps.student.management.commands.manage_user')
+
+from common.djangoapps.student.management.commands.manage_user import *
diff --git a/import_shims/studio/student/management/commands/populate_created_on_site_user_attribute.py b/import_shims/studio/student/management/commands/populate_created_on_site_user_attribute.py
new file mode 100644
index 0000000000000000000000000000000000000000..cc717ada1f49363cbb412f8a929de25a726a1617
--- /dev/null
+++ b/import_shims/studio/student/management/commands/populate_created_on_site_user_attribute.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.populate_created_on_site_user_attribute', 'common.djangoapps.student.management.commands.populate_created_on_site_user_attribute')
+
+from common.djangoapps.student.management.commands.populate_created_on_site_user_attribute import *
diff --git a/import_shims/studio/student/management/commands/recover_account.py b/import_shims/studio/student/management/commands/recover_account.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf1245c0e8b6dbecf40e1a4b6fff68785d935419
--- /dev/null
+++ b/import_shims/studio/student/management/commands/recover_account.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.recover_account', 'common.djangoapps.student.management.commands.recover_account')
+
+from common.djangoapps.student.management.commands.recover_account import *
diff --git a/import_shims/studio/student/management/commands/set_staff.py b/import_shims/studio/student/management/commands/set_staff.py
new file mode 100644
index 0000000000000000000000000000000000000000..c4c5061af239e906c00d7f13b492abf03958bc08
--- /dev/null
+++ b/import_shims/studio/student/management/commands/set_staff.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.set_staff', 'common.djangoapps.student.management.commands.set_staff')
+
+from common.djangoapps.student.management.commands.set_staff import *
diff --git a/import_shims/studio/student/management/commands/set_superuser.py b/import_shims/studio/student/management/commands/set_superuser.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e0a97af8cdd3182b1196deaf84ed4d7b2f9effc
--- /dev/null
+++ b/import_shims/studio/student/management/commands/set_superuser.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.set_superuser', 'common.djangoapps.student.management.commands.set_superuser')
+
+from common.djangoapps.student.management.commands.set_superuser import *
diff --git a/import_shims/studio/student/management/commands/transfer_students.py b/import_shims/studio/student/management/commands/transfer_students.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2bd84fc0d44f3fa5714c4b5e4cdfbb9610e0664
--- /dev/null
+++ b/import_shims/studio/student/management/commands/transfer_students.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.commands.transfer_students', 'common.djangoapps.student.management.commands.transfer_students')
+
+from common.djangoapps.student.management.commands.transfer_students import *
diff --git a/import_shims/studio/student/management/tests/__init__.py b/import_shims/studio/student/management/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b35860319d4600c04fc504a2e82e35dffc284dbc
--- /dev/null
+++ b/import_shims/studio/student/management/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests', 'common.djangoapps.student.management.tests')
+
+from common.djangoapps.student.management.tests import *
diff --git a/import_shims/studio/student/management/tests/test_bulk_change_enrollment.py b/import_shims/studio/student/management/tests/test_bulk_change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..b88a92bf1c349e01aacaf482d2520e9e126b6898
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_bulk_change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_bulk_change_enrollment', 'common.djangoapps.student.management.tests.test_bulk_change_enrollment')
+
+from common.djangoapps.student.management.tests.test_bulk_change_enrollment import *
diff --git a/import_shims/studio/student/management/tests/test_bulk_change_enrollment_csv.py b/import_shims/studio/student/management/tests/test_bulk_change_enrollment_csv.py
new file mode 100644
index 0000000000000000000000000000000000000000..fddfe4309b6ab880d8583fe1b090101c4f86cef0
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_bulk_change_enrollment_csv.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_bulk_change_enrollment_csv', 'common.djangoapps.student.management.tests.test_bulk_change_enrollment_csv')
+
+from common.djangoapps.student.management.tests.test_bulk_change_enrollment_csv import *
diff --git a/import_shims/studio/student/management/tests/test_bulk_unenroll.py b/import_shims/studio/student/management/tests/test_bulk_unenroll.py
new file mode 100644
index 0000000000000000000000000000000000000000..02d67e09bc60834cf0fd56e397a387a641f70f72
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_bulk_unenroll.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_bulk_unenroll', 'common.djangoapps.student.management.tests.test_bulk_unenroll')
+
+from common.djangoapps.student.management.tests.test_bulk_unenroll import *
diff --git a/import_shims/studio/student/management/tests/test_change_eligibility_deadline.py b/import_shims/studio/student/management/tests/test_change_eligibility_deadline.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e472a8c8402a94bd3aba29d53ffaecac681e0fc
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_change_eligibility_deadline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_change_eligibility_deadline', 'common.djangoapps.student.management.tests.test_change_eligibility_deadline')
+
+from common.djangoapps.student.management.tests.test_change_eligibility_deadline import *
diff --git a/import_shims/studio/student/management/tests/test_change_enrollment.py b/import_shims/studio/student/management/tests/test_change_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..0b6f3a109cb287274178dcd381b2bca9fb108027
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_change_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_change_enrollment', 'common.djangoapps.student.management.tests.test_change_enrollment')
+
+from common.djangoapps.student.management.tests.test_change_enrollment import *
diff --git a/import_shims/studio/student/management/tests/test_change_enterprise_user_username.py b/import_shims/studio/student/management/tests/test_change_enterprise_user_username.py
new file mode 100644
index 0000000000000000000000000000000000000000..f9eadb7c83ceb77c3e2acf5ec8a3780f039a5778
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_change_enterprise_user_username.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_change_enterprise_user_username', 'common.djangoapps.student.management.tests.test_change_enterprise_user_username')
+
+from common.djangoapps.student.management.tests.test_change_enterprise_user_username import *
diff --git a/import_shims/studio/student/management/tests/test_create_random_users.py b/import_shims/studio/student/management/tests/test_create_random_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..264a03c94c468c72e01ec754b412b292527c637d
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_create_random_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_create_random_users', 'common.djangoapps.student.management.tests.test_create_random_users')
+
+from common.djangoapps.student.management.tests.test_create_random_users import *
diff --git a/import_shims/studio/student/management/tests/test_create_test_users.py b/import_shims/studio/student/management/tests/test_create_test_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..89fc5fdac9289bfd2551b9aed8f6385703221a79
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_create_test_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_create_test_users', 'common.djangoapps.student.management.tests.test_create_test_users')
+
+from common.djangoapps.student.management.tests.test_create_test_users import *
diff --git a/import_shims/studio/student/management/tests/test_export_staff_users.py b/import_shims/studio/student/management/tests/test_export_staff_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3b21aa5cf6160eff773c210c4699539a6e208a9
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_export_staff_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_export_staff_users', 'common.djangoapps.student.management.tests.test_export_staff_users')
+
+from common.djangoapps.student.management.tests.test_export_staff_users import *
diff --git a/import_shims/studio/student/management/tests/test_manage_group.py b/import_shims/studio/student/management/tests/test_manage_group.py
new file mode 100644
index 0000000000000000000000000000000000000000..f17224ffcfedb25fddbb6c6c34297789f4c3a093
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_manage_group.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_manage_group', 'common.djangoapps.student.management.tests.test_manage_group')
+
+from common.djangoapps.student.management.tests.test_manage_group import *
diff --git a/import_shims/studio/student/management/tests/test_manage_user.py b/import_shims/studio/student/management/tests/test_manage_user.py
new file mode 100644
index 0000000000000000000000000000000000000000..134fc54344849d671044d1bdd5773932bbea7106
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_manage_user.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_manage_user', 'common.djangoapps.student.management.tests.test_manage_user')
+
+from common.djangoapps.student.management.tests.test_manage_user import *
diff --git a/import_shims/studio/student/management/tests/test_populate_created_on_site_user_attribute.py b/import_shims/studio/student/management/tests/test_populate_created_on_site_user_attribute.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5e73645d2da1b695a4d51059746a9ea03e8d211
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_populate_created_on_site_user_attribute.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_populate_created_on_site_user_attribute', 'common.djangoapps.student.management.tests.test_populate_created_on_site_user_attribute')
+
+from common.djangoapps.student.management.tests.test_populate_created_on_site_user_attribute import *
diff --git a/import_shims/studio/student/management/tests/test_recover_account.py b/import_shims/studio/student/management/tests/test_recover_account.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a975f8646248e1715d265cd0af69b4c94e4144a
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_recover_account.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_recover_account', 'common.djangoapps.student.management.tests.test_recover_account')
+
+from common.djangoapps.student.management.tests.test_recover_account import *
diff --git a/import_shims/studio/student/management/tests/test_transfer_students.py b/import_shims/studio/student/management/tests/test_transfer_students.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a6abb78b57670aa8ebaaf5df343bd97cb725d9c
--- /dev/null
+++ b/import_shims/studio/student/management/tests/test_transfer_students.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.management.tests.test_transfer_students', 'common.djangoapps.student.management.tests.test_transfer_students')
+
+from common.djangoapps.student.management.tests.test_transfer_students import *
diff --git a/import_shims/studio/student/message_types.py b/import_shims/studio/student/message_types.py
new file mode 100644
index 0000000000000000000000000000000000000000..991505cce589a1e53c068ab660364bfc3ca771b0
--- /dev/null
+++ b/import_shims/studio/student/message_types.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.message_types', 'common.djangoapps.student.message_types')
+
+from common.djangoapps.student.message_types import *
diff --git a/import_shims/studio/student/middleware.py b/import_shims/studio/student/middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..32fd8e15cb2dc0cf5537298de79416b28742bfbe
--- /dev/null
+++ b/import_shims/studio/student/middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.middleware', 'common.djangoapps.student.middleware')
+
+from common.djangoapps.student.middleware import *
diff --git a/import_shims/studio/student/models.py b/import_shims/studio/student/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..ec6e1c90c7d21fcd6f9ca5a972b22af46ae50178
--- /dev/null
+++ b/import_shims/studio/student/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.models', 'common.djangoapps.student.models')
+
+from common.djangoapps.student.models import *
diff --git a/import_shims/studio/student/models_api.py b/import_shims/studio/student/models_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..66285099be5a3a4618c22237d1951438c79b092e
--- /dev/null
+++ b/import_shims/studio/student/models_api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.models_api', 'common.djangoapps.student.models_api')
+
+from common.djangoapps.student.models_api import *
diff --git a/import_shims/studio/student/role_helpers.py b/import_shims/studio/student/role_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..66b45f6014c2a1acfe7114ba8ed3f260023c66d8
--- /dev/null
+++ b/import_shims/studio/student/role_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.role_helpers', 'common.djangoapps.student.role_helpers')
+
+from common.djangoapps.student.role_helpers import *
diff --git a/import_shims/studio/student/roles.py b/import_shims/studio/student/roles.py
new file mode 100644
index 0000000000000000000000000000000000000000..11a028503a65b37fa20b593f3ba6332d5b0e8a21
--- /dev/null
+++ b/import_shims/studio/student/roles.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.roles', 'common.djangoapps.student.roles')
+
+from common.djangoapps.student.roles import *
diff --git a/import_shims/studio/student/signals/__init__.py b/import_shims/studio/student/signals/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..db8390d48403779aecfe7ebfdc8f6d773bb5d8e9
--- /dev/null
+++ b/import_shims/studio/student/signals/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.signals', 'common.djangoapps.student.signals')
+
+from common.djangoapps.student.signals import *
diff --git a/import_shims/studio/student/signals/receivers.py b/import_shims/studio/student/signals/receivers.py
new file mode 100644
index 0000000000000000000000000000000000000000..4ae80fd70f867c41c9308472dcf141397f511473
--- /dev/null
+++ b/import_shims/studio/student/signals/receivers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.signals.receivers', 'common.djangoapps.student.signals.receivers')
+
+from common.djangoapps.student.signals.receivers import *
diff --git a/import_shims/studio/student/signals/signals.py b/import_shims/studio/student/signals/signals.py
new file mode 100644
index 0000000000000000000000000000000000000000..77c538a8f85b9ffd12e8070f949c9a094ea15163
--- /dev/null
+++ b/import_shims/studio/student/signals/signals.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.signals.signals', 'common.djangoapps.student.signals.signals')
+
+from common.djangoapps.student.signals.signals import *
diff --git a/import_shims/studio/student/tasks.py b/import_shims/studio/student/tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..3fcadcd2cd8f0cd97c5f92e00aea43bffdf8d63e
--- /dev/null
+++ b/import_shims/studio/student/tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tasks', 'common.djangoapps.student.tasks')
+
+from common.djangoapps.student.tasks import *
diff --git a/import_shims/studio/student/tests/__init__.py b/import_shims/studio/student/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2c2e86438edb10432c335d5054cc65c187ad354
--- /dev/null
+++ b/import_shims/studio/student/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests', 'common.djangoapps.student.tests')
+
+from common.djangoapps.student.tests import *
diff --git a/import_shims/studio/student/tests/factories.py b/import_shims/studio/student/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..554f7300972ee04a235eeb6997ca8591090e2c45
--- /dev/null
+++ b/import_shims/studio/student/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.factories', 'common.djangoapps.student.tests.factories')
+
+from common.djangoapps.student.tests.factories import *
diff --git a/import_shims/studio/student/tests/test_activate_account.py b/import_shims/studio/student/tests/test_activate_account.py
new file mode 100644
index 0000000000000000000000000000000000000000..11446e4743f57c63f71ef254135540cab990e147
--- /dev/null
+++ b/import_shims/studio/student/tests/test_activate_account.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_activate_account', 'common.djangoapps.student.tests.test_activate_account')
+
+from common.djangoapps.student.tests.test_activate_account import *
diff --git a/import_shims/studio/student/tests/test_admin_views.py b/import_shims/studio/student/tests/test_admin_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..ffa4ae4acc1a6cf3cc6d7f5883750f11d9bd5873
--- /dev/null
+++ b/import_shims/studio/student/tests/test_admin_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_admin_views', 'common.djangoapps.student.tests.test_admin_views')
+
+from common.djangoapps.student.tests.test_admin_views import *
diff --git a/import_shims/studio/student/tests/test_authz.py b/import_shims/studio/student/tests/test_authz.py
new file mode 100644
index 0000000000000000000000000000000000000000..f296a087db17d1a276fd1e921c6a8f60c18446db
--- /dev/null
+++ b/import_shims/studio/student/tests/test_authz.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_authz', 'common.djangoapps.student.tests.test_authz')
+
+from common.djangoapps.student.tests.test_authz import *
diff --git a/import_shims/studio/student/tests/test_bulk_email_settings.py b/import_shims/studio/student/tests/test_bulk_email_settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..07002a42042b5789d020dc0f10d175152f4b5c3d
--- /dev/null
+++ b/import_shims/studio/student/tests/test_bulk_email_settings.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_bulk_email_settings', 'common.djangoapps.student.tests.test_bulk_email_settings')
+
+from common.djangoapps.student.tests.test_bulk_email_settings import *
diff --git a/import_shims/studio/student/tests/test_certificates.py b/import_shims/studio/student/tests/test_certificates.py
new file mode 100644
index 0000000000000000000000000000000000000000..7bf9fc5ef5edf2ebcf6714381b3a30ca8d55d0df
--- /dev/null
+++ b/import_shims/studio/student/tests/test_certificates.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_certificates', 'common.djangoapps.student.tests.test_certificates')
+
+from common.djangoapps.student.tests.test_certificates import *
diff --git a/import_shims/studio/student/tests/test_configuration_overrides.py b/import_shims/studio/student/tests/test_configuration_overrides.py
new file mode 100644
index 0000000000000000000000000000000000000000..996cfe30109d8a7f56beb3f47cdb95f3bbe7c76c
--- /dev/null
+++ b/import_shims/studio/student/tests/test_configuration_overrides.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_configuration_overrides', 'common.djangoapps.student.tests.test_configuration_overrides')
+
+from common.djangoapps.student.tests.test_configuration_overrides import *
diff --git a/import_shims/studio/student/tests/test_course_listing.py b/import_shims/studio/student/tests/test_course_listing.py
new file mode 100644
index 0000000000000000000000000000000000000000..82b050a96798f86dc0c9ed54ed841e1ab5e8e09a
--- /dev/null
+++ b/import_shims/studio/student/tests/test_course_listing.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_course_listing', 'common.djangoapps.student.tests.test_course_listing')
+
+from common.djangoapps.student.tests.test_course_listing import *
diff --git a/import_shims/studio/student/tests/test_credit.py b/import_shims/studio/student/tests/test_credit.py
new file mode 100644
index 0000000000000000000000000000000000000000..8c1b30260d1bcd913170e6354308ee5b950dcaf8
--- /dev/null
+++ b/import_shims/studio/student/tests/test_credit.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_credit', 'common.djangoapps.student.tests.test_credit')
+
+from common.djangoapps.student.tests.test_credit import *
diff --git a/import_shims/studio/student/tests/test_email.py b/import_shims/studio/student/tests/test_email.py
new file mode 100644
index 0000000000000000000000000000000000000000..dec38af30dd8162e2eaadf82a8f6a605b9f50b5c
--- /dev/null
+++ b/import_shims/studio/student/tests/test_email.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_email', 'common.djangoapps.student.tests.test_email')
+
+from common.djangoapps.student.tests.test_email import *
diff --git a/import_shims/studio/student/tests/test_enrollment.py b/import_shims/studio/student/tests/test_enrollment.py
new file mode 100644
index 0000000000000000000000000000000000000000..49200a64394c76d062fb22bd875922b578b4d854
--- /dev/null
+++ b/import_shims/studio/student/tests/test_enrollment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_enrollment', 'common.djangoapps.student.tests.test_enrollment')
+
+from common.djangoapps.student.tests.test_enrollment import *
diff --git a/import_shims/studio/student/tests/test_events.py b/import_shims/studio/student/tests/test_events.py
new file mode 100644
index 0000000000000000000000000000000000000000..e9a5f5e56c95d9cd868d207e502d83cc5469de8d
--- /dev/null
+++ b/import_shims/studio/student/tests/test_events.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_events', 'common.djangoapps.student.tests.test_events')
+
+from common.djangoapps.student.tests.test_events import *
diff --git a/import_shims/studio/student/tests/test_helpers.py b/import_shims/studio/student/tests/test_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..a8bd5647963fdaf967ec3cfc80d35b90d34df5a5
--- /dev/null
+++ b/import_shims/studio/student/tests/test_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_helpers', 'common.djangoapps.student.tests.test_helpers')
+
+from common.djangoapps.student.tests.test_helpers import *
diff --git a/import_shims/studio/student/tests/test_linkedin.py b/import_shims/studio/student/tests/test_linkedin.py
new file mode 100644
index 0000000000000000000000000000000000000000..8eea4d4bc67196bf9323e9a85ad81e5071460efd
--- /dev/null
+++ b/import_shims/studio/student/tests/test_linkedin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_linkedin', 'common.djangoapps.student.tests.test_linkedin')
+
+from common.djangoapps.student.tests.test_linkedin import *
diff --git a/import_shims/studio/student/tests/test_long_username_email.py b/import_shims/studio/student/tests/test_long_username_email.py
new file mode 100644
index 0000000000000000000000000000000000000000..7a39f4b1a7429628b941ee596241a8d476bce077
--- /dev/null
+++ b/import_shims/studio/student/tests/test_long_username_email.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_long_username_email', 'common.djangoapps.student.tests.test_long_username_email')
+
+from common.djangoapps.student.tests.test_long_username_email import *
diff --git a/import_shims/studio/student/tests/test_models.py b/import_shims/studio/student/tests/test_models.py
new file mode 100644
index 0000000000000000000000000000000000000000..637d9b349ea7d70e470f07e0af9c61b100f2e4d1
--- /dev/null
+++ b/import_shims/studio/student/tests/test_models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_models', 'common.djangoapps.student.tests.test_models')
+
+from common.djangoapps.student.tests.test_models import *
diff --git a/import_shims/studio/student/tests/test_parental_controls.py b/import_shims/studio/student/tests/test_parental_controls.py
new file mode 100644
index 0000000000000000000000000000000000000000..62c35378a8c7fef18080ebf1b1590b3fce746cdb
--- /dev/null
+++ b/import_shims/studio/student/tests/test_parental_controls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_parental_controls', 'common.djangoapps.student.tests.test_parental_controls')
+
+from common.djangoapps.student.tests.test_parental_controls import *
diff --git a/import_shims/studio/student/tests/test_password_policy.py b/import_shims/studio/student/tests/test_password_policy.py
new file mode 100644
index 0000000000000000000000000000000000000000..d65baf165105f574a7ea1ffd1f2a45c72cac583e
--- /dev/null
+++ b/import_shims/studio/student/tests/test_password_policy.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_password_policy', 'common.djangoapps.student.tests.test_password_policy')
+
+from common.djangoapps.student.tests.test_password_policy import *
diff --git a/import_shims/studio/student/tests/test_receivers.py b/import_shims/studio/student/tests/test_receivers.py
new file mode 100644
index 0000000000000000000000000000000000000000..3cf2563810c6e62cb329aefc6e3c7661d8354c4c
--- /dev/null
+++ b/import_shims/studio/student/tests/test_receivers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_receivers', 'common.djangoapps.student.tests.test_receivers')
+
+from common.djangoapps.student.tests.test_receivers import *
diff --git a/import_shims/studio/student/tests/test_recent_enrollments.py b/import_shims/studio/student/tests/test_recent_enrollments.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e59dae51e42a6e2b91b9721cec51b26fdd53843
--- /dev/null
+++ b/import_shims/studio/student/tests/test_recent_enrollments.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_recent_enrollments', 'common.djangoapps.student.tests.test_recent_enrollments')
+
+from common.djangoapps.student.tests.test_recent_enrollments import *
diff --git a/import_shims/studio/student/tests/test_refunds.py b/import_shims/studio/student/tests/test_refunds.py
new file mode 100644
index 0000000000000000000000000000000000000000..ac2684d71474cdbe9608798ed81e04d0e44bb81d
--- /dev/null
+++ b/import_shims/studio/student/tests/test_refunds.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_refunds', 'common.djangoapps.student.tests.test_refunds')
+
+from common.djangoapps.student.tests.test_refunds import *
diff --git a/import_shims/studio/student/tests/test_retirement.py b/import_shims/studio/student/tests/test_retirement.py
new file mode 100644
index 0000000000000000000000000000000000000000..40e9e42460b4c439e5553df69668e398b82bef34
--- /dev/null
+++ b/import_shims/studio/student/tests/test_retirement.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_retirement', 'common.djangoapps.student.tests.test_retirement')
+
+from common.djangoapps.student.tests.test_retirement import *
diff --git a/import_shims/studio/student/tests/test_roles.py b/import_shims/studio/student/tests/test_roles.py
new file mode 100644
index 0000000000000000000000000000000000000000..02da10e0343aa623deac4b9b53900eee4a10f4b3
--- /dev/null
+++ b/import_shims/studio/student/tests/test_roles.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_roles', 'common.djangoapps.student.tests.test_roles')
+
+from common.djangoapps.student.tests.test_roles import *
diff --git a/import_shims/studio/student/tests/test_tasks.py b/import_shims/studio/student/tests/test_tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..ec3a26452f6a3d934f32a2d771b03d82444d93d5
--- /dev/null
+++ b/import_shims/studio/student/tests/test_tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_tasks', 'common.djangoapps.student.tests.test_tasks')
+
+from common.djangoapps.student.tests.test_tasks import *
diff --git a/import_shims/studio/student/tests/test_user_profile_properties.py b/import_shims/studio/student/tests/test_user_profile_properties.py
new file mode 100644
index 0000000000000000000000000000000000000000..868d0efa0f4fb2e587e0bd8e10562b75b2599935
--- /dev/null
+++ b/import_shims/studio/student/tests/test_user_profile_properties.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_user_profile_properties', 'common.djangoapps.student.tests.test_user_profile_properties')
+
+from common.djangoapps.student.tests.test_user_profile_properties import *
diff --git a/import_shims/studio/student/tests/test_userstanding.py b/import_shims/studio/student/tests/test_userstanding.py
new file mode 100644
index 0000000000000000000000000000000000000000..2eabd768f0a1d413477bc7e6f2a894cc9b0c9bf1
--- /dev/null
+++ b/import_shims/studio/student/tests/test_userstanding.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_userstanding', 'common.djangoapps.student.tests.test_userstanding')
+
+from common.djangoapps.student.tests.test_userstanding import *
diff --git a/import_shims/studio/student/tests/test_verification_status.py b/import_shims/studio/student/tests/test_verification_status.py
new file mode 100644
index 0000000000000000000000000000000000000000..ba15fd119b326a0e4423222d83d6e6a3ebe58423
--- /dev/null
+++ b/import_shims/studio/student/tests/test_verification_status.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_verification_status', 'common.djangoapps.student.tests.test_verification_status')
+
+from common.djangoapps.student.tests.test_verification_status import *
diff --git a/import_shims/studio/student/tests/test_views.py b/import_shims/studio/student/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..44d4ef720b1984a14822d8e1456b654a43e50aaf
--- /dev/null
+++ b/import_shims/studio/student/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.test_views', 'common.djangoapps.student.tests.test_views')
+
+from common.djangoapps.student.tests.test_views import *
diff --git a/import_shims/studio/student/tests/tests.py b/import_shims/studio/student/tests/tests.py
new file mode 100644
index 0000000000000000000000000000000000000000..11c6f9943f07ad3334bda1109cb460637cea0a2a
--- /dev/null
+++ b/import_shims/studio/student/tests/tests.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.tests.tests', 'common.djangoapps.student.tests.tests')
+
+from common.djangoapps.student.tests.tests import *
diff --git a/import_shims/studio/student/text_me_the_app.py b/import_shims/studio/student/text_me_the_app.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf97b1f89c877f4c45b3aee2ef3b17cb136ae011
--- /dev/null
+++ b/import_shims/studio/student/text_me_the_app.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.text_me_the_app', 'common.djangoapps.student.text_me_the_app')
+
+from common.djangoapps.student.text_me_the_app import *
diff --git a/import_shims/studio/student/urls.py b/import_shims/studio/student/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..d1c126d342cf68ac7648ebf322e5d918cdeb95c7
--- /dev/null
+++ b/import_shims/studio/student/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.urls', 'common.djangoapps.student.urls')
+
+from common.djangoapps.student.urls import *
diff --git a/import_shims/studio/student/views/__init__.py b/import_shims/studio/student/views/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2d3c117990b3c73fd3eb5e3c9f8535b6d071a50e
--- /dev/null
+++ b/import_shims/studio/student/views/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.views', 'common.djangoapps.student.views')
+
+from common.djangoapps.student.views import *
diff --git a/import_shims/studio/student/views/dashboard.py b/import_shims/studio/student/views/dashboard.py
new file mode 100644
index 0000000000000000000000000000000000000000..0467632cb3dfe4b3fbbad74e819ba4e4b72e4337
--- /dev/null
+++ b/import_shims/studio/student/views/dashboard.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.views.dashboard', 'common.djangoapps.student.views.dashboard')
+
+from common.djangoapps.student.views.dashboard import *
diff --git a/import_shims/studio/student/views/management.py b/import_shims/studio/student/views/management.py
new file mode 100644
index 0000000000000000000000000000000000000000..eacbe8f2ae4cb087e132d4b51ae1a187a867d89b
--- /dev/null
+++ b/import_shims/studio/student/views/management.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('student.views.management', 'common.djangoapps.student.views.management')
+
+from common.djangoapps.student.views.management import *
diff --git a/import_shims/studio/terrain/__init__.py b/import_shims/studio/terrain/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a63a99b3d2febd6bcf266d824429bd77a3f2237
--- /dev/null
+++ b/import_shims/studio/terrain/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain', 'common.djangoapps.terrain')
+
+from common.djangoapps.terrain import *
diff --git a/import_shims/studio/terrain/stubs/__init__.py b/import_shims/studio/terrain/stubs/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..852fb4d5cf6b290f64e9845fb68f2e70ffed4f07
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs', 'common.djangoapps.terrain.stubs')
+
+from common.djangoapps.terrain.stubs import *
diff --git a/import_shims/studio/terrain/stubs/catalog.py b/import_shims/studio/terrain/stubs/catalog.py
new file mode 100644
index 0000000000000000000000000000000000000000..2619f93d53f853346d3f8f63910e7b98b3303094
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/catalog.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.catalog', 'common.djangoapps.terrain.stubs.catalog')
+
+from common.djangoapps.terrain.stubs.catalog import *
diff --git a/import_shims/studio/terrain/stubs/comments.py b/import_shims/studio/terrain/stubs/comments.py
new file mode 100644
index 0000000000000000000000000000000000000000..ebdb78821e17285bcfcacc5a2f50cf00478377b1
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/comments.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.comments', 'common.djangoapps.terrain.stubs.comments')
+
+from common.djangoapps.terrain.stubs.comments import *
diff --git a/import_shims/studio/terrain/stubs/ecommerce.py b/import_shims/studio/terrain/stubs/ecommerce.py
new file mode 100644
index 0000000000000000000000000000000000000000..a56f7022b47519317e23dd3e51f3f9742a373de2
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/ecommerce.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.ecommerce', 'common.djangoapps.terrain.stubs.ecommerce')
+
+from common.djangoapps.terrain.stubs.ecommerce import *
diff --git a/import_shims/studio/terrain/stubs/edxnotes.py b/import_shims/studio/terrain/stubs/edxnotes.py
new file mode 100644
index 0000000000000000000000000000000000000000..55240506cfff06fa9c6a35ad6ffbfd0e9138ef3d
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/edxnotes.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.edxnotes', 'common.djangoapps.terrain.stubs.edxnotes')
+
+from common.djangoapps.terrain.stubs.edxnotes import *
diff --git a/import_shims/studio/terrain/stubs/http.py b/import_shims/studio/terrain/stubs/http.py
new file mode 100644
index 0000000000000000000000000000000000000000..d587bf0b9b99a6b97d007d6454d296b6f6651ea2
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/http.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.http', 'common.djangoapps.terrain.stubs.http')
+
+from common.djangoapps.terrain.stubs.http import *
diff --git a/import_shims/studio/terrain/stubs/lti.py b/import_shims/studio/terrain/stubs/lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..594fa9866bfcd76bdfe3e0b51857ce10c204bdfd
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.lti', 'common.djangoapps.terrain.stubs.lti')
+
+from common.djangoapps.terrain.stubs.lti import *
diff --git a/import_shims/studio/terrain/stubs/start.py b/import_shims/studio/terrain/stubs/start.py
new file mode 100644
index 0000000000000000000000000000000000000000..21bee3437c599c5cd826265f48f8ec2177c3926f
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/start.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.start', 'common.djangoapps.terrain.stubs.start')
+
+from common.djangoapps.terrain.stubs.start import *
diff --git a/import_shims/studio/terrain/stubs/tests/__init__.py b/import_shims/studio/terrain/stubs/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3528d5d4a58ce02b1473fac44d1908e5d81460b8
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests', 'common.djangoapps.terrain.stubs.tests')
+
+from common.djangoapps.terrain.stubs.tests import *
diff --git a/import_shims/studio/terrain/stubs/tests/test_edxnotes.py b/import_shims/studio/terrain/stubs/tests/test_edxnotes.py
new file mode 100644
index 0000000000000000000000000000000000000000..fd219186356ef250182b180611720784b940d972
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/tests/test_edxnotes.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_edxnotes', 'common.djangoapps.terrain.stubs.tests.test_edxnotes')
+
+from common.djangoapps.terrain.stubs.tests.test_edxnotes import *
diff --git a/import_shims/studio/terrain/stubs/tests/test_http.py b/import_shims/studio/terrain/stubs/tests/test_http.py
new file mode 100644
index 0000000000000000000000000000000000000000..8c8980f01973453f5551a459ade3abf7f6b92679
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/tests/test_http.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_http', 'common.djangoapps.terrain.stubs.tests.test_http')
+
+from common.djangoapps.terrain.stubs.tests.test_http import *
diff --git a/import_shims/studio/terrain/stubs/tests/test_lti_stub.py b/import_shims/studio/terrain/stubs/tests/test_lti_stub.py
new file mode 100644
index 0000000000000000000000000000000000000000..e718be3881b6038aa020c323da3a3e9b74cf519f
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/tests/test_lti_stub.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_lti_stub', 'common.djangoapps.terrain.stubs.tests.test_lti_stub')
+
+from common.djangoapps.terrain.stubs.tests.test_lti_stub import *
diff --git a/import_shims/studio/terrain/stubs/tests/test_video.py b/import_shims/studio/terrain/stubs/tests/test_video.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2cd949a4066d7f1ee753fef5b8fd198fdefc8e3
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/tests/test_video.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_video', 'common.djangoapps.terrain.stubs.tests.test_video')
+
+from common.djangoapps.terrain.stubs.tests.test_video import *
diff --git a/import_shims/studio/terrain/stubs/tests/test_xqueue_stub.py b/import_shims/studio/terrain/stubs/tests/test_xqueue_stub.py
new file mode 100644
index 0000000000000000000000000000000000000000..7adbabdb2b0332ca3cef7aad9343003c18683701
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/tests/test_xqueue_stub.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_xqueue_stub', 'common.djangoapps.terrain.stubs.tests.test_xqueue_stub')
+
+from common.djangoapps.terrain.stubs.tests.test_xqueue_stub import *
diff --git a/import_shims/studio/terrain/stubs/tests/test_youtube_stub.py b/import_shims/studio/terrain/stubs/tests/test_youtube_stub.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e188c237684beb08c2a088a5d0b109f16828d01
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/tests/test_youtube_stub.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.tests.test_youtube_stub', 'common.djangoapps.terrain.stubs.tests.test_youtube_stub')
+
+from common.djangoapps.terrain.stubs.tests.test_youtube_stub import *
diff --git a/import_shims/studio/terrain/stubs/video_source.py b/import_shims/studio/terrain/stubs/video_source.py
new file mode 100644
index 0000000000000000000000000000000000000000..798753615ad11aa4eb5aecef78e49203640aa5ee
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/video_source.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.video_source', 'common.djangoapps.terrain.stubs.video_source')
+
+from common.djangoapps.terrain.stubs.video_source import *
diff --git a/import_shims/studio/terrain/stubs/xqueue.py b/import_shims/studio/terrain/stubs/xqueue.py
new file mode 100644
index 0000000000000000000000000000000000000000..6ece16501fa9f2cdf9a126fe3567fd2d1726dee2
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/xqueue.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.xqueue', 'common.djangoapps.terrain.stubs.xqueue')
+
+from common.djangoapps.terrain.stubs.xqueue import *
diff --git a/import_shims/studio/terrain/stubs/youtube.py b/import_shims/studio/terrain/stubs/youtube.py
new file mode 100644
index 0000000000000000000000000000000000000000..a84da9ee228e94eb87dc5612b3298e658442401e
--- /dev/null
+++ b/import_shims/studio/terrain/stubs/youtube.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('terrain.stubs.youtube', 'common.djangoapps.terrain.stubs.youtube')
+
+from common.djangoapps.terrain.stubs.youtube import *
diff --git a/import_shims/studio/third_party_auth/__init__.py b/import_shims/studio/third_party_auth/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..18c19d988af0cf66335c1536fcc8a9bed09fc98c
--- /dev/null
+++ b/import_shims/studio/third_party_auth/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth', 'common.djangoapps.third_party_auth')
+
+from common.djangoapps.third_party_auth import *
diff --git a/import_shims/studio/third_party_auth/admin.py b/import_shims/studio/third_party_auth/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..2233cab3b553c91b442849579edf7d300b98cdbe
--- /dev/null
+++ b/import_shims/studio/third_party_auth/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.admin', 'common.djangoapps.third_party_auth.admin')
+
+from common.djangoapps.third_party_auth.admin import *
diff --git a/import_shims/studio/third_party_auth/api/__init__.py b/import_shims/studio/third_party_auth/api/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5a5a44432455ba313a0cb7892b225dceb692857d
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api', 'common.djangoapps.third_party_auth.api')
+
+from common.djangoapps.third_party_auth.api import *
diff --git a/import_shims/studio/third_party_auth/api/permissions.py b/import_shims/studio/third_party_auth/api/permissions.py
new file mode 100644
index 0000000000000000000000000000000000000000..501ced05f3184ff4bfd3e861b706281f12ca1330
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/permissions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.permissions', 'common.djangoapps.third_party_auth.api.permissions')
+
+from common.djangoapps.third_party_auth.api.permissions import *
diff --git a/import_shims/studio/third_party_auth/api/serializers.py b/import_shims/studio/third_party_auth/api/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..e70908c945157bee4a80244751c72862b70904b9
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.serializers', 'common.djangoapps.third_party_auth.api.serializers')
+
+from common.djangoapps.third_party_auth.api.serializers import *
diff --git a/import_shims/studio/third_party_auth/api/tests/__init__.py b/import_shims/studio/third_party_auth/api/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..ef7e02f4856bd4b0f230a76c0aa78822ddbd1751
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.tests', 'common.djangoapps.third_party_auth.api.tests')
+
+from common.djangoapps.third_party_auth.api.tests import *
diff --git a/import_shims/studio/third_party_auth/api/tests/test_permissions.py b/import_shims/studio/third_party_auth/api/tests/test_permissions.py
new file mode 100644
index 0000000000000000000000000000000000000000..df77e14f035a7df408ade4b2c80c1376f2c52969
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/tests/test_permissions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.tests.test_permissions', 'common.djangoapps.third_party_auth.api.tests.test_permissions')
+
+from common.djangoapps.third_party_auth.api.tests.test_permissions import *
diff --git a/import_shims/studio/third_party_auth/api/tests/test_views.py b/import_shims/studio/third_party_auth/api/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..4996711fa6a9af0dbf319346f53b9fa7512514af
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.tests.test_views', 'common.djangoapps.third_party_auth.api.tests.test_views')
+
+from common.djangoapps.third_party_auth.api.tests.test_views import *
diff --git a/import_shims/studio/third_party_auth/api/urls.py b/import_shims/studio/third_party_auth/api/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..0f02453a55f2a94144a9625d8b655de99bb7afe2
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.urls', 'common.djangoapps.third_party_auth.api.urls')
+
+from common.djangoapps.third_party_auth.api.urls import *
diff --git a/import_shims/studio/third_party_auth/api/utils.py b/import_shims/studio/third_party_auth/api/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..1eabc8a86a44a7c3ac9a83a9f5ad1d0b276cd36c
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.utils', 'common.djangoapps.third_party_auth.api.utils')
+
+from common.djangoapps.third_party_auth.api.utils import *
diff --git a/import_shims/studio/third_party_auth/api/views.py b/import_shims/studio/third_party_auth/api/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..52b63ed5ad8fb5809a881ee2a9f1b9a4208db3f3
--- /dev/null
+++ b/import_shims/studio/third_party_auth/api/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.api.views', 'common.djangoapps.third_party_auth.api.views')
+
+from common.djangoapps.third_party_auth.api.views import *
diff --git a/import_shims/studio/third_party_auth/appleid.py b/import_shims/studio/third_party_auth/appleid.py
new file mode 100644
index 0000000000000000000000000000000000000000..84956cfa5a05764c68d862efc5d40867d792c180
--- /dev/null
+++ b/import_shims/studio/third_party_auth/appleid.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.appleid', 'common.djangoapps.third_party_auth.appleid')
+
+from common.djangoapps.third_party_auth.appleid import *
diff --git a/import_shims/studio/third_party_auth/apps.py b/import_shims/studio/third_party_auth/apps.py
new file mode 100644
index 0000000000000000000000000000000000000000..22f79f231c2e2b0287ef1268af02655542ccc7c5
--- /dev/null
+++ b/import_shims/studio/third_party_auth/apps.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.apps', 'common.djangoapps.third_party_auth.apps')
+
+from common.djangoapps.third_party_auth.apps import *
diff --git a/import_shims/studio/third_party_auth/decorators.py b/import_shims/studio/third_party_auth/decorators.py
new file mode 100644
index 0000000000000000000000000000000000000000..fc3872961e0bcbca1512a398b0f605503782abb6
--- /dev/null
+++ b/import_shims/studio/third_party_auth/decorators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.decorators', 'common.djangoapps.third_party_auth.decorators')
+
+from common.djangoapps.third_party_auth.decorators import *
diff --git a/import_shims/studio/third_party_auth/dummy.py b/import_shims/studio/third_party_auth/dummy.py
new file mode 100644
index 0000000000000000000000000000000000000000..97c9709669cedb482b2e79b551da0664e1b6eeb7
--- /dev/null
+++ b/import_shims/studio/third_party_auth/dummy.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.dummy', 'common.djangoapps.third_party_auth.dummy')
+
+from common.djangoapps.third_party_auth.dummy import *
diff --git a/import_shims/studio/third_party_auth/exceptions.py b/import_shims/studio/third_party_auth/exceptions.py
new file mode 100644
index 0000000000000000000000000000000000000000..55958ad7fc754a93657dfb6d6b97352896ba4b67
--- /dev/null
+++ b/import_shims/studio/third_party_auth/exceptions.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.exceptions', 'common.djangoapps.third_party_auth.exceptions')
+
+from common.djangoapps.third_party_auth.exceptions import *
diff --git a/import_shims/studio/third_party_auth/identityserver3.py b/import_shims/studio/third_party_auth/identityserver3.py
new file mode 100644
index 0000000000000000000000000000000000000000..379e9e2cdb81fd607408df2cb2ffe24a8e214ffb
--- /dev/null
+++ b/import_shims/studio/third_party_auth/identityserver3.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.identityserver3', 'common.djangoapps.third_party_auth.identityserver3')
+
+from common.djangoapps.third_party_auth.identityserver3 import *
diff --git a/import_shims/studio/third_party_auth/lti.py b/import_shims/studio/third_party_auth/lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..979ba20da5eeed0d55f3e86faa4b98747321d32d
--- /dev/null
+++ b/import_shims/studio/third_party_auth/lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.lti', 'common.djangoapps.third_party_auth.lti')
+
+from common.djangoapps.third_party_auth.lti import *
diff --git a/import_shims/studio/third_party_auth/management/__init__.py b/import_shims/studio/third_party_auth/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..18e1bc948d0894cad913bc7a5218e001bf59a154
--- /dev/null
+++ b/import_shims/studio/third_party_auth/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management', 'common.djangoapps.third_party_auth.management')
+
+from common.djangoapps.third_party_auth.management import *
diff --git a/import_shims/studio/third_party_auth/management/commands/__init__.py b/import_shims/studio/third_party_auth/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..98268c925004e7dc6f7dc73ea9e40fa304b4f74e
--- /dev/null
+++ b/import_shims/studio/third_party_auth/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands', 'common.djangoapps.third_party_auth.management.commands')
+
+from common.djangoapps.third_party_auth.management.commands import *
diff --git a/import_shims/studio/third_party_auth/management/commands/remove_social_auth_users.py b/import_shims/studio/third_party_auth/management/commands/remove_social_auth_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..1bd3cc7bc78cfd5b71e1eed03a6efe9987902544
--- /dev/null
+++ b/import_shims/studio/third_party_auth/management/commands/remove_social_auth_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.remove_social_auth_users', 'common.djangoapps.third_party_auth.management.commands.remove_social_auth_users')
+
+from common.djangoapps.third_party_auth.management.commands.remove_social_auth_users import *
diff --git a/import_shims/studio/third_party_auth/management/commands/saml.py b/import_shims/studio/third_party_auth/management/commands/saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..7aab3a9ca471579fb7dea2de73d3351d83ecfc2d
--- /dev/null
+++ b/import_shims/studio/third_party_auth/management/commands/saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.saml', 'common.djangoapps.third_party_auth.management.commands.saml')
+
+from common.djangoapps.third_party_auth.management.commands.saml import *
diff --git a/import_shims/studio/third_party_auth/management/commands/tests/__init__.py b/import_shims/studio/third_party_auth/management/commands/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a3cdc2be0e1e232ad2f4a969a009f7ce48463903
--- /dev/null
+++ b/import_shims/studio/third_party_auth/management/commands/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.tests', 'common.djangoapps.third_party_auth.management.commands.tests')
+
+from common.djangoapps.third_party_auth.management.commands.tests import *
diff --git a/import_shims/studio/third_party_auth/management/commands/tests/test_remove_social_auth_users.py b/import_shims/studio/third_party_auth/management/commands/tests/test_remove_social_auth_users.py
new file mode 100644
index 0000000000000000000000000000000000000000..f86e17ea62e327bf3935b4cb0554750aee17a5dd
--- /dev/null
+++ b/import_shims/studio/third_party_auth/management/commands/tests/test_remove_social_auth_users.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.tests.test_remove_social_auth_users', 'common.djangoapps.third_party_auth.management.commands.tests.test_remove_social_auth_users')
+
+from common.djangoapps.third_party_auth.management.commands.tests.test_remove_social_auth_users import *
diff --git a/import_shims/studio/third_party_auth/management/commands/tests/test_saml.py b/import_shims/studio/third_party_auth/management/commands/tests/test_saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..e82cbb3be302627707eef1d5b1fea46bb6a93c7b
--- /dev/null
+++ b/import_shims/studio/third_party_auth/management/commands/tests/test_saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.management.commands.tests.test_saml', 'common.djangoapps.third_party_auth.management.commands.tests.test_saml')
+
+from common.djangoapps.third_party_auth.management.commands.tests.test_saml import *
diff --git a/import_shims/studio/third_party_auth/middleware.py b/import_shims/studio/third_party_auth/middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..f0eedcfd61f27f26a7e17a860f3d6e5bbf315c7b
--- /dev/null
+++ b/import_shims/studio/third_party_auth/middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.middleware', 'common.djangoapps.third_party_auth.middleware')
+
+from common.djangoapps.third_party_auth.middleware import *
diff --git a/import_shims/studio/third_party_auth/models.py b/import_shims/studio/third_party_auth/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a6302c7e03c9466a1195c27c5bbf4af6bdfec94
--- /dev/null
+++ b/import_shims/studio/third_party_auth/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.models', 'common.djangoapps.third_party_auth.models')
+
+from common.djangoapps.third_party_auth.models import *
diff --git a/import_shims/studio/third_party_auth/pipeline.py b/import_shims/studio/third_party_auth/pipeline.py
new file mode 100644
index 0000000000000000000000000000000000000000..2ec9cab7ed3b13aa45d890e4264e7f7a462e345f
--- /dev/null
+++ b/import_shims/studio/third_party_auth/pipeline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.pipeline', 'common.djangoapps.third_party_auth.pipeline')
+
+from common.djangoapps.third_party_auth.pipeline import *
diff --git a/import_shims/studio/third_party_auth/provider.py b/import_shims/studio/third_party_auth/provider.py
new file mode 100644
index 0000000000000000000000000000000000000000..a68bf834714f71c06bd5e886139f0796b8af65cc
--- /dev/null
+++ b/import_shims/studio/third_party_auth/provider.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.provider', 'common.djangoapps.third_party_auth.provider')
+
+from common.djangoapps.third_party_auth.provider import *
diff --git a/import_shims/studio/third_party_auth/saml.py b/import_shims/studio/third_party_auth/saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..358ef19b7e23bd540baa669e52e60fbf19c43013
--- /dev/null
+++ b/import_shims/studio/third_party_auth/saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml', 'common.djangoapps.third_party_auth.saml')
+
+from common.djangoapps.third_party_auth.saml import *
diff --git a/import_shims/studio/third_party_auth/saml_configuration/__init__.py b/import_shims/studio/third_party_auth/saml_configuration/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..2286cc196301bc99b9423f5caa37091122a70161
--- /dev/null
+++ b/import_shims/studio/third_party_auth/saml_configuration/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration', 'common.djangoapps.third_party_auth.saml_configuration')
+
+from common.djangoapps.third_party_auth.saml_configuration import *
diff --git a/import_shims/studio/third_party_auth/saml_configuration/serializers.py b/import_shims/studio/third_party_auth/saml_configuration/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..1a753b64afcaf799d824dcff2e39d3430683bea4
--- /dev/null
+++ b/import_shims/studio/third_party_auth/saml_configuration/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.serializers', 'common.djangoapps.third_party_auth.saml_configuration.serializers')
+
+from common.djangoapps.third_party_auth.saml_configuration.serializers import *
diff --git a/import_shims/studio/third_party_auth/saml_configuration/tests/__init__.py b/import_shims/studio/third_party_auth/saml_configuration/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8633561ccebc8ffc385ac0f750fde27bdd5b18c5
--- /dev/null
+++ b/import_shims/studio/third_party_auth/saml_configuration/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.tests', 'common.djangoapps.third_party_auth.saml_configuration.tests')
+
+from common.djangoapps.third_party_auth.saml_configuration.tests import *
diff --git a/import_shims/studio/third_party_auth/saml_configuration/tests/test_saml_configuration.py b/import_shims/studio/third_party_auth/saml_configuration/tests/test_saml_configuration.py
new file mode 100644
index 0000000000000000000000000000000000000000..0ea750287eee5b3f13167ebd801bc620e804e4b4
--- /dev/null
+++ b/import_shims/studio/third_party_auth/saml_configuration/tests/test_saml_configuration.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.tests.test_saml_configuration', 'common.djangoapps.third_party_auth.saml_configuration.tests.test_saml_configuration')
+
+from common.djangoapps.third_party_auth.saml_configuration.tests.test_saml_configuration import *
diff --git a/import_shims/studio/third_party_auth/saml_configuration/urls.py b/import_shims/studio/third_party_auth/saml_configuration/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..031d3ae3181b5290e0f1261bc5fc54ff87b63cc6
--- /dev/null
+++ b/import_shims/studio/third_party_auth/saml_configuration/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.urls', 'common.djangoapps.third_party_auth.saml_configuration.urls')
+
+from common.djangoapps.third_party_auth.saml_configuration.urls import *
diff --git a/import_shims/studio/third_party_auth/saml_configuration/views.py b/import_shims/studio/third_party_auth/saml_configuration/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..89520150e370cb0714e69109e6df526f670de1ab
--- /dev/null
+++ b/import_shims/studio/third_party_auth/saml_configuration/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.saml_configuration.views', 'common.djangoapps.third_party_auth.saml_configuration.views')
+
+from common.djangoapps.third_party_auth.saml_configuration.views import *
diff --git a/import_shims/studio/third_party_auth/samlproviderconfig/__init__.py b/import_shims/studio/third_party_auth/samlproviderconfig/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c297bff8f9b66fd45141a7a61a4cef52caf8a6a7
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderconfig/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig', 'common.djangoapps.third_party_auth.samlproviderconfig')
+
+from common.djangoapps.third_party_auth.samlproviderconfig import *
diff --git a/import_shims/studio/third_party_auth/samlproviderconfig/serializers.py b/import_shims/studio/third_party_auth/samlproviderconfig/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..5fae240c85d69ec7c83bb86a441f0ff3bb9d745c
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderconfig/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.serializers', 'common.djangoapps.third_party_auth.samlproviderconfig.serializers')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.serializers import *
diff --git a/import_shims/studio/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py b/import_shims/studio/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3dc1adeef6820f98edcb1d3005c0515e3735d74
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderconfig/tests/test_samlproviderconfig.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.tests.test_samlproviderconfig', 'common.djangoapps.third_party_auth.samlproviderconfig.tests.test_samlproviderconfig')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.tests.test_samlproviderconfig import *
diff --git a/import_shims/studio/third_party_auth/samlproviderconfig/urls.py b/import_shims/studio/third_party_auth/samlproviderconfig/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1376df3ddd5e283189d8f8bd17a56e769b856ac
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderconfig/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.urls', 'common.djangoapps.third_party_auth.samlproviderconfig.urls')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.urls import *
diff --git a/import_shims/studio/third_party_auth/samlproviderconfig/views.py b/import_shims/studio/third_party_auth/samlproviderconfig/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..021f807ef7070b9512a62994ed4665b46837c5dd
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderconfig/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderconfig.views', 'common.djangoapps.third_party_auth.samlproviderconfig.views')
+
+from common.djangoapps.third_party_auth.samlproviderconfig.views import *
diff --git a/import_shims/studio/third_party_auth/samlproviderdata/__init__.py b/import_shims/studio/third_party_auth/samlproviderdata/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..4393e67589798e065d43679b912414c469df961a
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderdata/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata', 'common.djangoapps.third_party_auth.samlproviderdata')
+
+from common.djangoapps.third_party_auth.samlproviderdata import *
diff --git a/import_shims/studio/third_party_auth/samlproviderdata/serializers.py b/import_shims/studio/third_party_auth/samlproviderdata/serializers.py
new file mode 100644
index 0000000000000000000000000000000000000000..2749bf8941d420a2d309746f3adbd0fbe0975d18
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderdata/serializers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.serializers', 'common.djangoapps.third_party_auth.samlproviderdata.serializers')
+
+from common.djangoapps.third_party_auth.samlproviderdata.serializers import *
diff --git a/import_shims/studio/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py b/import_shims/studio/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py
new file mode 100644
index 0000000000000000000000000000000000000000..5ce225f1581e19ba2687524780bea206fbeaebda
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderdata/tests/test_samlproviderdata.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.tests.test_samlproviderdata', 'common.djangoapps.third_party_auth.samlproviderdata.tests.test_samlproviderdata')
+
+from common.djangoapps.third_party_auth.samlproviderdata.tests.test_samlproviderdata import *
diff --git a/import_shims/studio/third_party_auth/samlproviderdata/urls.py b/import_shims/studio/third_party_auth/samlproviderdata/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..558a9806434f588e5ab59da5410469633a16cac4
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderdata/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.urls', 'common.djangoapps.third_party_auth.samlproviderdata.urls')
+
+from common.djangoapps.third_party_auth.samlproviderdata.urls import *
diff --git a/import_shims/studio/third_party_auth/samlproviderdata/views.py b/import_shims/studio/third_party_auth/samlproviderdata/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..8121174727128768bc28147df68640e26177ff8b
--- /dev/null
+++ b/import_shims/studio/third_party_auth/samlproviderdata/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.samlproviderdata.views', 'common.djangoapps.third_party_auth.samlproviderdata.views')
+
+from common.djangoapps.third_party_auth.samlproviderdata.views import *
diff --git a/import_shims/studio/third_party_auth/settings.py b/import_shims/studio/third_party_auth/settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..6701b7c179798be3affcbd80b4e8b677300f3e88
--- /dev/null
+++ b/import_shims/studio/third_party_auth/settings.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.settings', 'common.djangoapps.third_party_auth.settings')
+
+from common.djangoapps.third_party_auth.settings import *
diff --git a/import_shims/studio/third_party_auth/strategy.py b/import_shims/studio/third_party_auth/strategy.py
new file mode 100644
index 0000000000000000000000000000000000000000..df95f86f627fcc5b858da1bb59276380fb7ecc18
--- /dev/null
+++ b/import_shims/studio/third_party_auth/strategy.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.strategy', 'common.djangoapps.third_party_auth.strategy')
+
+from common.djangoapps.third_party_auth.strategy import *
diff --git a/import_shims/studio/third_party_auth/tasks.py b/import_shims/studio/third_party_auth/tasks.py
new file mode 100644
index 0000000000000000000000000000000000000000..7220e2241ea895ccc33ad74582204c32db750556
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tasks.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tasks', 'common.djangoapps.third_party_auth.tasks')
+
+from common.djangoapps.third_party_auth.tasks import *
diff --git a/import_shims/studio/third_party_auth/tests/__init__.py b/import_shims/studio/third_party_auth/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a7bad8e5d4b6e1a7fa3ad8c8e66874d0321f5e4
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests', 'common.djangoapps.third_party_auth.tests')
+
+from common.djangoapps.third_party_auth.tests import *
diff --git a/import_shims/studio/third_party_auth/tests/data/__init__.py b/import_shims/studio/third_party_auth/tests/data/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..046acef654f663f447631849fb8d700ec30f8fd1
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/data/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.data', 'common.djangoapps.third_party_auth.tests.data')
+
+from common.djangoapps.third_party_auth.tests.data import *
diff --git a/import_shims/studio/third_party_auth/tests/data/saml_identity_provider_mock_data.py b/import_shims/studio/third_party_auth/tests/data/saml_identity_provider_mock_data.py
new file mode 100644
index 0000000000000000000000000000000000000000..b3df5bac884fcdbc0839505a9342310c67080cef
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/data/saml_identity_provider_mock_data.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.data.saml_identity_provider_mock_data', 'common.djangoapps.third_party_auth.tests.data.saml_identity_provider_mock_data')
+
+from common.djangoapps.third_party_auth.tests.data.saml_identity_provider_mock_data import *
diff --git a/import_shims/studio/third_party_auth/tests/factories.py b/import_shims/studio/third_party_auth/tests/factories.py
new file mode 100644
index 0000000000000000000000000000000000000000..0a51f06edf6ffb0b7a0ff3cfaada101f022ddb16
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/factories.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.factories', 'common.djangoapps.third_party_auth.tests.factories')
+
+from common.djangoapps.third_party_auth.tests.factories import *
diff --git a/import_shims/studio/third_party_auth/tests/samlutils.py b/import_shims/studio/third_party_auth/tests/samlutils.py
new file mode 100644
index 0000000000000000000000000000000000000000..e1985a09a6e74ad6e7eec671f11e00736f1f8601
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/samlutils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.samlutils', 'common.djangoapps.third_party_auth.tests.samlutils')
+
+from common.djangoapps.third_party_auth.tests.samlutils import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/__init__.py b/import_shims/studio/third_party_auth/tests/specs/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe43dd29ea753d7ffd39b4ef3b7e248221238882
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs', 'common.djangoapps.third_party_auth.tests.specs')
+
+from common.djangoapps.third_party_auth.tests.specs import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/base.py b/import_shims/studio/third_party_auth/tests/specs/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..aa52e8b3c3fb77dad6dcd9bfa83f6cf9e17ae357
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/base.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.base', 'common.djangoapps.third_party_auth.tests.specs.base')
+
+from common.djangoapps.third_party_auth.tests.specs.base import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/test_azuread.py b/import_shims/studio/third_party_auth/tests/specs/test_azuread.py
new file mode 100644
index 0000000000000000000000000000000000000000..3b088fcb69b8cb942b9db79f668b5ca6d274e011
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/test_azuread.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_azuread', 'common.djangoapps.third_party_auth.tests.specs.test_azuread')
+
+from common.djangoapps.third_party_auth.tests.specs.test_azuread import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/test_generic.py b/import_shims/studio/third_party_auth/tests/specs/test_generic.py
new file mode 100644
index 0000000000000000000000000000000000000000..52c33c9838d43f61c07bb99b5c02a372838dcc17
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/test_generic.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_generic', 'common.djangoapps.third_party_auth.tests.specs.test_generic')
+
+from common.djangoapps.third_party_auth.tests.specs.test_generic import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/test_google.py b/import_shims/studio/third_party_auth/tests/specs/test_google.py
new file mode 100644
index 0000000000000000000000000000000000000000..cf90e5378a645e5ca4b9e5287cda61498ac099f6
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/test_google.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_google', 'common.djangoapps.third_party_auth.tests.specs.test_google')
+
+from common.djangoapps.third_party_auth.tests.specs.test_google import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/test_linkedin.py b/import_shims/studio/third_party_auth/tests/specs/test_linkedin.py
new file mode 100644
index 0000000000000000000000000000000000000000..cd9d11aee8dbf10b0f04f1405b4ccc78332c84ba
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/test_linkedin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_linkedin', 'common.djangoapps.third_party_auth.tests.specs.test_linkedin')
+
+from common.djangoapps.third_party_auth.tests.specs.test_linkedin import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/test_lti.py b/import_shims/studio/third_party_auth/tests/specs/test_lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2309a6801c3112e59be89a2c4ea912a53a5161c
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/test_lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_lti', 'common.djangoapps.third_party_auth.tests.specs.test_lti')
+
+from common.djangoapps.third_party_auth.tests.specs.test_lti import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/test_testshib.py b/import_shims/studio/third_party_auth/tests/specs/test_testshib.py
new file mode 100644
index 0000000000000000000000000000000000000000..f45f518e7fe479f52ac377a06468698268caee8c
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/test_testshib.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_testshib', 'common.djangoapps.third_party_auth.tests.specs.test_testshib')
+
+from common.djangoapps.third_party_auth.tests.specs.test_testshib import *
diff --git a/import_shims/studio/third_party_auth/tests/specs/test_twitter.py b/import_shims/studio/third_party_auth/tests/specs/test_twitter.py
new file mode 100644
index 0000000000000000000000000000000000000000..421f50e7f274cc997dc74f829a4e1c62ea203ab6
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/specs/test_twitter.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.specs.test_twitter', 'common.djangoapps.third_party_auth.tests.specs.test_twitter')
+
+from common.djangoapps.third_party_auth.tests.specs.test_twitter import *
diff --git a/import_shims/studio/third_party_auth/tests/test_admin.py b/import_shims/studio/third_party_auth/tests/test_admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..968e52bc34416c6002c69c5ca52fb74c444dd7e0
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_admin', 'common.djangoapps.third_party_auth.tests.test_admin')
+
+from common.djangoapps.third_party_auth.tests.test_admin import *
diff --git a/import_shims/studio/third_party_auth/tests/test_decorators.py b/import_shims/studio/third_party_auth/tests/test_decorators.py
new file mode 100644
index 0000000000000000000000000000000000000000..450f7e08eecfc8252612a944b5014e6d9cced368
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_decorators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_decorators', 'common.djangoapps.third_party_auth.tests.test_decorators')
+
+from common.djangoapps.third_party_auth.tests.test_decorators import *
diff --git a/import_shims/studio/third_party_auth/tests/test_identityserver3.py b/import_shims/studio/third_party_auth/tests/test_identityserver3.py
new file mode 100644
index 0000000000000000000000000000000000000000..5351f2147732d3a89b79613dd98880e62ea1c14a
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_identityserver3.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_identityserver3', 'common.djangoapps.third_party_auth.tests.test_identityserver3')
+
+from common.djangoapps.third_party_auth.tests.test_identityserver3 import *
diff --git a/import_shims/studio/third_party_auth/tests/test_lti.py b/import_shims/studio/third_party_auth/tests/test_lti.py
new file mode 100644
index 0000000000000000000000000000000000000000..93c4d7decc9bf34acf761de37974d5faac90499b
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_lti.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_lti', 'common.djangoapps.third_party_auth.tests.test_lti')
+
+from common.djangoapps.third_party_auth.tests.test_lti import *
diff --git a/import_shims/studio/third_party_auth/tests/test_middleware.py b/import_shims/studio/third_party_auth/tests/test_middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..3cc825af6312b125a8c548f6dc5a2fae4615de63
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_middleware', 'common.djangoapps.third_party_auth.tests.test_middleware')
+
+from common.djangoapps.third_party_auth.tests.test_middleware import *
diff --git a/import_shims/studio/third_party_auth/tests/test_pipeline.py b/import_shims/studio/third_party_auth/tests/test_pipeline.py
new file mode 100644
index 0000000000000000000000000000000000000000..f2aefb6dfb47bfe3cd07ca02a4a6d66ab546e8a3
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_pipeline.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_pipeline', 'common.djangoapps.third_party_auth.tests.test_pipeline')
+
+from common.djangoapps.third_party_auth.tests.test_pipeline import *
diff --git a/import_shims/studio/third_party_auth/tests/test_pipeline_integration.py b/import_shims/studio/third_party_auth/tests/test_pipeline_integration.py
new file mode 100644
index 0000000000000000000000000000000000000000..9c624d61a3ecb875b8d8099b508fabf030c09ef5
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_pipeline_integration.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_pipeline_integration', 'common.djangoapps.third_party_auth.tests.test_pipeline_integration')
+
+from common.djangoapps.third_party_auth.tests.test_pipeline_integration import *
diff --git a/import_shims/studio/third_party_auth/tests/test_provider.py b/import_shims/studio/third_party_auth/tests/test_provider.py
new file mode 100644
index 0000000000000000000000000000000000000000..a4db8d0f89d806dd5efa4d1776337767e147b3f4
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_provider.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_provider', 'common.djangoapps.third_party_auth.tests.test_provider')
+
+from common.djangoapps.third_party_auth.tests.test_provider import *
diff --git a/import_shims/studio/third_party_auth/tests/test_saml.py b/import_shims/studio/third_party_auth/tests/test_saml.py
new file mode 100644
index 0000000000000000000000000000000000000000..9567ab38db71a4503fbdcb5ce1a4c4c2ac04c7fe
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_saml.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_saml', 'common.djangoapps.third_party_auth.tests.test_saml')
+
+from common.djangoapps.third_party_auth.tests.test_saml import *
diff --git a/import_shims/studio/third_party_auth/tests/test_settings.py b/import_shims/studio/third_party_auth/tests/test_settings.py
new file mode 100644
index 0000000000000000000000000000000000000000..284a2a84e926f254be9a9821ab694a82992c16da
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_settings.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_settings', 'common.djangoapps.third_party_auth.tests.test_settings')
+
+from common.djangoapps.third_party_auth.tests.test_settings import *
diff --git a/import_shims/studio/third_party_auth/tests/test_utils.py b/import_shims/studio/third_party_auth/tests/test_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..0dc19c9a523cbd9a44e78802ac833211f77682e0
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_utils', 'common.djangoapps.third_party_auth.tests.test_utils')
+
+from common.djangoapps.third_party_auth.tests.test_utils import *
diff --git a/import_shims/studio/third_party_auth/tests/test_views.py b/import_shims/studio/third_party_auth/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..b638f83c12aa2c21d310a134c7a91d63ec70af51
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.test_views', 'common.djangoapps.third_party_auth.tests.test_views')
+
+from common.djangoapps.third_party_auth.tests.test_views import *
diff --git a/import_shims/studio/third_party_auth/tests/testutil.py b/import_shims/studio/third_party_auth/tests/testutil.py
new file mode 100644
index 0000000000000000000000000000000000000000..a047baef5107069df8ddb81f72148c4d96b1d8d4
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/testutil.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.testutil', 'common.djangoapps.third_party_auth.tests.testutil')
+
+from common.djangoapps.third_party_auth.tests.testutil import *
diff --git a/import_shims/studio/third_party_auth/tests/utils.py b/import_shims/studio/third_party_auth/tests/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..083b728c32a06b8070595d823b902120d5549d1f
--- /dev/null
+++ b/import_shims/studio/third_party_auth/tests/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.tests.utils', 'common.djangoapps.third_party_auth.tests.utils')
+
+from common.djangoapps.third_party_auth.tests.utils import *
diff --git a/import_shims/studio/third_party_auth/urls.py b/import_shims/studio/third_party_auth/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..1077a81183a92c039566422e3fd67a188abe1e98
--- /dev/null
+++ b/import_shims/studio/third_party_auth/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.urls', 'common.djangoapps.third_party_auth.urls')
+
+from common.djangoapps.third_party_auth.urls import *
diff --git a/import_shims/studio/third_party_auth/utils.py b/import_shims/studio/third_party_auth/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..287d2d7891b949637ba79fce89f9838ef9c3daa7
--- /dev/null
+++ b/import_shims/studio/third_party_auth/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.utils', 'common.djangoapps.third_party_auth.utils')
+
+from common.djangoapps.third_party_auth.utils import *
diff --git a/import_shims/studio/third_party_auth/views.py b/import_shims/studio/third_party_auth/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..90b8f5ba8623e5ceca3c65d135be5f838f1a914c
--- /dev/null
+++ b/import_shims/studio/third_party_auth/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('third_party_auth.views', 'common.djangoapps.third_party_auth.views')
+
+from common.djangoapps.third_party_auth.views import *
diff --git a/import_shims/studio/track/__init__.py b/import_shims/studio/track/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..89295ed9febdddb494fd9f192afba2a51bed1188
--- /dev/null
+++ b/import_shims/studio/track/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track', 'common.djangoapps.track')
+
+from common.djangoapps.track import *
diff --git a/import_shims/studio/track/backends/__init__.py b/import_shims/studio/track/backends/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0396b32170af3f67df21c675aaa283482a3c3170
--- /dev/null
+++ b/import_shims/studio/track/backends/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends', 'common.djangoapps.track.backends')
+
+from common.djangoapps.track.backends import *
diff --git a/import_shims/studio/track/backends/logger.py b/import_shims/studio/track/backends/logger.py
new file mode 100644
index 0000000000000000000000000000000000000000..45b81081e21eb2ce0759475127e012a00436fc99
--- /dev/null
+++ b/import_shims/studio/track/backends/logger.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.logger', 'common.djangoapps.track.backends.logger')
+
+from common.djangoapps.track.backends.logger import *
diff --git a/import_shims/studio/track/backends/mongodb.py b/import_shims/studio/track/backends/mongodb.py
new file mode 100644
index 0000000000000000000000000000000000000000..e89e2221dc9f34b7770ae4b8e526c02aa78f0830
--- /dev/null
+++ b/import_shims/studio/track/backends/mongodb.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.mongodb', 'common.djangoapps.track.backends.mongodb')
+
+from common.djangoapps.track.backends.mongodb import *
diff --git a/import_shims/studio/track/backends/tests/__init__.py b/import_shims/studio/track/backends/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..da0df0db054662d6a567b8863614b6155c460ec8
--- /dev/null
+++ b/import_shims/studio/track/backends/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.tests', 'common.djangoapps.track.backends.tests')
+
+from common.djangoapps.track.backends.tests import *
diff --git a/import_shims/studio/track/backends/tests/test_logger.py b/import_shims/studio/track/backends/tests/test_logger.py
new file mode 100644
index 0000000000000000000000000000000000000000..fe33312f92dbf54ea323e0a2772975ceb0030ca2
--- /dev/null
+++ b/import_shims/studio/track/backends/tests/test_logger.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.tests.test_logger', 'common.djangoapps.track.backends.tests.test_logger')
+
+from common.djangoapps.track.backends.tests.test_logger import *
diff --git a/import_shims/studio/track/backends/tests/test_mongodb.py b/import_shims/studio/track/backends/tests/test_mongodb.py
new file mode 100644
index 0000000000000000000000000000000000000000..4a76d7a61db82ad403dcae0d62c7a38fdec0d38b
--- /dev/null
+++ b/import_shims/studio/track/backends/tests/test_mongodb.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.backends.tests.test_mongodb', 'common.djangoapps.track.backends.tests.test_mongodb')
+
+from common.djangoapps.track.backends.tests.test_mongodb import *
diff --git a/import_shims/studio/track/contexts.py b/import_shims/studio/track/contexts.py
new file mode 100644
index 0000000000000000000000000000000000000000..5658fb74e61d7bfe94dfc62e4694fef6c402df9a
--- /dev/null
+++ b/import_shims/studio/track/contexts.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.contexts', 'common.djangoapps.track.contexts')
+
+from common.djangoapps.track.contexts import *
diff --git a/import_shims/studio/track/event_transaction_utils.py b/import_shims/studio/track/event_transaction_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..4af8e2de498d63a981caa5a113c6a6684bcd0efd
--- /dev/null
+++ b/import_shims/studio/track/event_transaction_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.event_transaction_utils', 'common.djangoapps.track.event_transaction_utils')
+
+from common.djangoapps.track.event_transaction_utils import *
diff --git a/import_shims/studio/track/management/__init__.py b/import_shims/studio/track/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..c6749d0c92d5977e7894b426f178388ed71a8a33
--- /dev/null
+++ b/import_shims/studio/track/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management', 'common.djangoapps.track.management')
+
+from common.djangoapps.track.management import *
diff --git a/import_shims/studio/track/management/commands/__init__.py b/import_shims/studio/track/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..61e6172f3e678a6c9503aecf0fccf3cc68c832a8
--- /dev/null
+++ b/import_shims/studio/track/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.commands', 'common.djangoapps.track.management.commands')
+
+from common.djangoapps.track.management.commands import *
diff --git a/import_shims/studio/track/management/commands/tracked_dummy_command.py b/import_shims/studio/track/management/commands/tracked_dummy_command.py
new file mode 100644
index 0000000000000000000000000000000000000000..b2642844dada932082c2df2fcc9dc732810cb00b
--- /dev/null
+++ b/import_shims/studio/track/management/commands/tracked_dummy_command.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.commands.tracked_dummy_command', 'common.djangoapps.track.management.commands.tracked_dummy_command')
+
+from common.djangoapps.track.management.commands.tracked_dummy_command import *
diff --git a/import_shims/studio/track/management/tests/__init__.py b/import_shims/studio/track/management/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..bd2cd69a1890ca5b2ac7a90b79330646ce206dda
--- /dev/null
+++ b/import_shims/studio/track/management/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.tests', 'common.djangoapps.track.management.tests')
+
+from common.djangoapps.track.management.tests import *
diff --git a/import_shims/studio/track/management/tests/test_tracked_command.py b/import_shims/studio/track/management/tests/test_tracked_command.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5bb381982bee1564c4535def1ba44d89b8bd2be
--- /dev/null
+++ b/import_shims/studio/track/management/tests/test_tracked_command.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.tests.test_tracked_command', 'common.djangoapps.track.management.tests.test_tracked_command')
+
+from common.djangoapps.track.management.tests.test_tracked_command import *
diff --git a/import_shims/studio/track/management/tracked_command.py b/import_shims/studio/track/management/tracked_command.py
new file mode 100644
index 0000000000000000000000000000000000000000..6ed0440f37c77912eefbeb1c85703e119ab17cb5
--- /dev/null
+++ b/import_shims/studio/track/management/tracked_command.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.management.tracked_command', 'common.djangoapps.track.management.tracked_command')
+
+from common.djangoapps.track.management.tracked_command import *
diff --git a/import_shims/studio/track/middleware.py b/import_shims/studio/track/middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..96cda2b33f44a6927ce41ccc0248a3189e8ac750
--- /dev/null
+++ b/import_shims/studio/track/middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.middleware', 'common.djangoapps.track.middleware')
+
+from common.djangoapps.track.middleware import *
diff --git a/import_shims/studio/track/segment.py b/import_shims/studio/track/segment.py
new file mode 100644
index 0000000000000000000000000000000000000000..78a62fb3538cb40ef298d85137c7b1e27bfc1b0c
--- /dev/null
+++ b/import_shims/studio/track/segment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.segment', 'common.djangoapps.track.segment')
+
+from common.djangoapps.track.segment import *
diff --git a/import_shims/studio/track/shim.py b/import_shims/studio/track/shim.py
new file mode 100644
index 0000000000000000000000000000000000000000..a2c8ace2ae62c54e246a132fb0d0f601839fc53b
--- /dev/null
+++ b/import_shims/studio/track/shim.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.shim', 'common.djangoapps.track.shim')
+
+from common.djangoapps.track.shim import *
diff --git a/import_shims/studio/track/tests/__init__.py b/import_shims/studio/track/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..76a5191e6b3029e78ce2e9e3882af19433b36359
--- /dev/null
+++ b/import_shims/studio/track/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests', 'common.djangoapps.track.tests')
+
+from common.djangoapps.track.tests import *
diff --git a/import_shims/studio/track/tests/test_contexts.py b/import_shims/studio/track/tests/test_contexts.py
new file mode 100644
index 0000000000000000000000000000000000000000..24db8b9672fec411df54d6a9e963b2fec91f8abf
--- /dev/null
+++ b/import_shims/studio/track/tests/test_contexts.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_contexts', 'common.djangoapps.track.tests.test_contexts')
+
+from common.djangoapps.track.tests.test_contexts import *
diff --git a/import_shims/studio/track/tests/test_middleware.py b/import_shims/studio/track/tests/test_middleware.py
new file mode 100644
index 0000000000000000000000000000000000000000..ff3972ca1fa551ef15dac55b39bf44b6737bd205
--- /dev/null
+++ b/import_shims/studio/track/tests/test_middleware.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_middleware', 'common.djangoapps.track.tests.test_middleware')
+
+from common.djangoapps.track.tests.test_middleware import *
diff --git a/import_shims/studio/track/tests/test_segment.py b/import_shims/studio/track/tests/test_segment.py
new file mode 100644
index 0000000000000000000000000000000000000000..ed0e3fec8778c1a7b2385a3d1e30ec55e1b5f27c
--- /dev/null
+++ b/import_shims/studio/track/tests/test_segment.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_segment', 'common.djangoapps.track.tests.test_segment')
+
+from common.djangoapps.track.tests.test_segment import *
diff --git a/import_shims/studio/track/tests/test_shim.py b/import_shims/studio/track/tests/test_shim.py
new file mode 100644
index 0000000000000000000000000000000000000000..8eeeec8593511cc20fdf4d584c9d4852c08a8c37
--- /dev/null
+++ b/import_shims/studio/track/tests/test_shim.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_shim', 'common.djangoapps.track.tests.test_shim')
+
+from common.djangoapps.track.tests.test_shim import *
diff --git a/import_shims/studio/track/tests/test_tracker.py b/import_shims/studio/track/tests/test_tracker.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d136ed7193e0306b68cb83b5e081d92b42ab7ae
--- /dev/null
+++ b/import_shims/studio/track/tests/test_tracker.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_tracker', 'common.djangoapps.track.tests.test_tracker')
+
+from common.djangoapps.track.tests.test_tracker import *
diff --git a/import_shims/studio/track/tests/test_util.py b/import_shims/studio/track/tests/test_util.py
new file mode 100644
index 0000000000000000000000000000000000000000..c3d02a143b391e6e247411c5e6888c1deb9941a0
--- /dev/null
+++ b/import_shims/studio/track/tests/test_util.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tests.test_util', 'common.djangoapps.track.tests.test_util')
+
+from common.djangoapps.track.tests.test_util import *
diff --git a/import_shims/studio/track/tracker.py b/import_shims/studio/track/tracker.py
new file mode 100644
index 0000000000000000000000000000000000000000..78d3fa4ec24ba976076a997b475e0c72c4c27c7b
--- /dev/null
+++ b/import_shims/studio/track/tracker.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.tracker', 'common.djangoapps.track.tracker')
+
+from common.djangoapps.track.tracker import *
diff --git a/import_shims/studio/track/transformers.py b/import_shims/studio/track/transformers.py
new file mode 100644
index 0000000000000000000000000000000000000000..aab2f7c868b95f1c1121cb26f46bdc9054175a24
--- /dev/null
+++ b/import_shims/studio/track/transformers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.transformers', 'common.djangoapps.track.transformers')
+
+from common.djangoapps.track.transformers import *
diff --git a/import_shims/studio/track/urls.py b/import_shims/studio/track/urls.py
new file mode 100644
index 0000000000000000000000000000000000000000..8a4f828b00d7cbae3a735786ba936cfee1ee82cc
--- /dev/null
+++ b/import_shims/studio/track/urls.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.urls', 'common.djangoapps.track.urls')
+
+from common.djangoapps.track.urls import *
diff --git a/import_shims/studio/track/utils.py b/import_shims/studio/track/utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..51140ff94f8bcc30da53911f1c770727c6620a37
--- /dev/null
+++ b/import_shims/studio/track/utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.utils', 'common.djangoapps.track.utils')
+
+from common.djangoapps.track.utils import *
diff --git a/import_shims/studio/track/views/__init__.py b/import_shims/studio/track/views/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..8b4b5f047e4214199ddfab142e3bc460d85ab614
--- /dev/null
+++ b/import_shims/studio/track/views/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views', 'common.djangoapps.track.views')
+
+from common.djangoapps.track.views import *
diff --git a/import_shims/studio/track/views/segmentio.py b/import_shims/studio/track/views/segmentio.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d2f455821b154fa12add05ad2654208dcb3d007
--- /dev/null
+++ b/import_shims/studio/track/views/segmentio.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.segmentio', 'common.djangoapps.track.views.segmentio')
+
+from common.djangoapps.track.views.segmentio import *
diff --git a/import_shims/studio/track/views/tests/__init__.py b/import_shims/studio/track/views/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..a705bea8b58915bb22346c2fc06997a72b44224c
--- /dev/null
+++ b/import_shims/studio/track/views/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests', 'common.djangoapps.track.views.tests')
+
+from common.djangoapps.track.views.tests import *
diff --git a/import_shims/studio/track/views/tests/base.py b/import_shims/studio/track/views/tests/base.py
new file mode 100644
index 0000000000000000000000000000000000000000..f4c28ac66df5766bd54e7f7aea9d7e5ab6d1796e
--- /dev/null
+++ b/import_shims/studio/track/views/tests/base.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests.base', 'common.djangoapps.track.views.tests.base')
+
+from common.djangoapps.track.views.tests.base import *
diff --git a/import_shims/studio/track/views/tests/test_segmentio.py b/import_shims/studio/track/views/tests/test_segmentio.py
new file mode 100644
index 0000000000000000000000000000000000000000..c143f50f3e1db3307b6cdb04be46f3d1c6da0a68
--- /dev/null
+++ b/import_shims/studio/track/views/tests/test_segmentio.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests.test_segmentio', 'common.djangoapps.track.views.tests.test_segmentio')
+
+from common.djangoapps.track.views.tests.test_segmentio import *
diff --git a/import_shims/studio/track/views/tests/test_views.py b/import_shims/studio/track/views/tests/test_views.py
new file mode 100644
index 0000000000000000000000000000000000000000..3bc1f69b4f9df35c23419d687338647fcdaffeae
--- /dev/null
+++ b/import_shims/studio/track/views/tests/test_views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('track.views.tests.test_views', 'common.djangoapps.track.views.tests.test_views')
+
+from common.djangoapps.track.views.tests.test_views import *
diff --git a/import_shims/studio/util/__init__.py b/import_shims/studio/util/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0e570c1dbb81536f503973f0854b3d2f681fbd5e
--- /dev/null
+++ b/import_shims/studio/util/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util', 'common.djangoapps.util')
+
+from common.djangoapps.util import *
diff --git a/import_shims/studio/util/admin.py b/import_shims/studio/util/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..0915817ceb89152e9bcdba693755f36e35213efb
--- /dev/null
+++ b/import_shims/studio/util/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.admin', 'common.djangoapps.util.admin')
+
+from common.djangoapps.util.admin import *
diff --git a/import_shims/studio/util/cache.py b/import_shims/studio/util/cache.py
new file mode 100644
index 0000000000000000000000000000000000000000..93458850d497d3ec0b4181d8fd2b85841b9e15ea
--- /dev/null
+++ b/import_shims/studio/util/cache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.cache', 'common.djangoapps.util.cache')
+
+from common.djangoapps.util.cache import *
diff --git a/import_shims/studio/util/config_parse.py b/import_shims/studio/util/config_parse.py
new file mode 100644
index 0000000000000000000000000000000000000000..9eb48285f0ffbfcfb833bce93bf955dc88888357
--- /dev/null
+++ b/import_shims/studio/util/config_parse.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.config_parse', 'common.djangoapps.util.config_parse')
+
+from common.djangoapps.util.config_parse import *
diff --git a/import_shims/studio/util/course.py b/import_shims/studio/util/course.py
new file mode 100644
index 0000000000000000000000000000000000000000..3461df4f986593a5b7914e9bba77736156d5faff
--- /dev/null
+++ b/import_shims/studio/util/course.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.course', 'common.djangoapps.util.course')
+
+from common.djangoapps.util.course import *
diff --git a/import_shims/studio/util/date_utils.py b/import_shims/studio/util/date_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..0620f66ca8d5c786305c850deec407cb93c2f850
--- /dev/null
+++ b/import_shims/studio/util/date_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.date_utils', 'common.djangoapps.util.date_utils')
+
+from common.djangoapps.util.date_utils import *
diff --git a/import_shims/studio/util/db.py b/import_shims/studio/util/db.py
new file mode 100644
index 0000000000000000000000000000000000000000..819290c60656454129b02942170814db40650351
--- /dev/null
+++ b/import_shims/studio/util/db.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.db', 'common.djangoapps.util.db')
+
+from common.djangoapps.util.db import *
diff --git a/import_shims/studio/util/disable_rate_limit.py b/import_shims/studio/util/disable_rate_limit.py
new file mode 100644
index 0000000000000000000000000000000000000000..f5b0698a8b3d182e02bcf2534817c55845516e4c
--- /dev/null
+++ b/import_shims/studio/util/disable_rate_limit.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.disable_rate_limit', 'common.djangoapps.util.disable_rate_limit')
+
+from common.djangoapps.util.disable_rate_limit import *
diff --git a/import_shims/studio/util/file.py b/import_shims/studio/util/file.py
new file mode 100644
index 0000000000000000000000000000000000000000..e6d7cbabafff7740a3a9b87896cd5c8c5aa68265
--- /dev/null
+++ b/import_shims/studio/util/file.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.file', 'common.djangoapps.util.file')
+
+from common.djangoapps.util.file import *
diff --git a/import_shims/studio/util/json_request.py b/import_shims/studio/util/json_request.py
new file mode 100644
index 0000000000000000000000000000000000000000..c13138da3e31e8f42fbccdca290f79e1e7de6c5a
--- /dev/null
+++ b/import_shims/studio/util/json_request.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.json_request', 'common.djangoapps.util.json_request')
+
+from common.djangoapps.util.json_request import *
diff --git a/import_shims/studio/util/keyword_substitution.py b/import_shims/studio/util/keyword_substitution.py
new file mode 100644
index 0000000000000000000000000000000000000000..4e795e2758df81a88122732c1078cb97df18ff4d
--- /dev/null
+++ b/import_shims/studio/util/keyword_substitution.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.keyword_substitution', 'common.djangoapps.util.keyword_substitution')
+
+from common.djangoapps.util.keyword_substitution import *
diff --git a/import_shims/studio/util/memcache.py b/import_shims/studio/util/memcache.py
new file mode 100644
index 0000000000000000000000000000000000000000..8032b59e56f95e16ddf659bfb81666358fb09e2a
--- /dev/null
+++ b/import_shims/studio/util/memcache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.memcache', 'common.djangoapps.util.memcache')
+
+from common.djangoapps.util.memcache import *
diff --git a/import_shims/studio/util/milestones_helpers.py b/import_shims/studio/util/milestones_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..41522c71c0b2f89739ef7b7fc9eb8e54a1192e30
--- /dev/null
+++ b/import_shims/studio/util/milestones_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.milestones_helpers', 'common.djangoapps.util.milestones_helpers')
+
+from common.djangoapps.util.milestones_helpers import *
diff --git a/import_shims/studio/util/model_utils.py b/import_shims/studio/util/model_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..75074f6cea7ddbcdb56f3a3b3ac40077fd91f272
--- /dev/null
+++ b/import_shims/studio/util/model_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.model_utils', 'common.djangoapps.util.model_utils')
+
+from common.djangoapps.util.model_utils import *
diff --git a/import_shims/studio/util/models.py b/import_shims/studio/util/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..b63b46d7c67558d817cc05bf77b620582f243fd2
--- /dev/null
+++ b/import_shims/studio/util/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.models', 'common.djangoapps.util.models')
+
+from common.djangoapps.util.models import *
diff --git a/import_shims/studio/util/module_utils.py b/import_shims/studio/util/module_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..450672740cdb1e5623e10e4057d56e8f45908bb0
--- /dev/null
+++ b/import_shims/studio/util/module_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.module_utils', 'common.djangoapps.util.module_utils')
+
+from common.djangoapps.util.module_utils import *
diff --git a/import_shims/studio/util/organizations_helpers.py b/import_shims/studio/util/organizations_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..d5583c578b67e09babcde32eb614ad10b8e23e6c
--- /dev/null
+++ b/import_shims/studio/util/organizations_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.organizations_helpers', 'common.djangoapps.util.organizations_helpers')
+
+from common.djangoapps.util.organizations_helpers import *
diff --git a/import_shims/studio/util/password_policy_validators.py b/import_shims/studio/util/password_policy_validators.py
new file mode 100644
index 0000000000000000000000000000000000000000..b44f93722b09b90483e07c1cf435331dbfca8f08
--- /dev/null
+++ b/import_shims/studio/util/password_policy_validators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.password_policy_validators', 'common.djangoapps.util.password_policy_validators')
+
+from common.djangoapps.util.password_policy_validators import *
diff --git a/import_shims/studio/util/query.py b/import_shims/studio/util/query.py
new file mode 100644
index 0000000000000000000000000000000000000000..4163a7218e5ba9fab164bc522735834572fb950f
--- /dev/null
+++ b/import_shims/studio/util/query.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.query', 'common.djangoapps.util.query')
+
+from common.djangoapps.util.query import *
diff --git a/import_shims/studio/util/request_rate_limiter.py b/import_shims/studio/util/request_rate_limiter.py
new file mode 100644
index 0000000000000000000000000000000000000000..3d7efb2a6ab8224bdbeaa8283f0944a764042be3
--- /dev/null
+++ b/import_shims/studio/util/request_rate_limiter.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.request_rate_limiter', 'common.djangoapps.util.request_rate_limiter')
+
+from common.djangoapps.util.request_rate_limiter import *
diff --git a/import_shims/studio/util/string_utils.py b/import_shims/studio/util/string_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..7d0a5e5fe7c3861afaf2dc6828c2dd434ba588ed
--- /dev/null
+++ b/import_shims/studio/util/string_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.string_utils', 'common.djangoapps.util.string_utils')
+
+from common.djangoapps.util.string_utils import *
diff --git a/import_shims/studio/util/testing.py b/import_shims/studio/util/testing.py
new file mode 100644
index 0000000000000000000000000000000000000000..c2bb6bafd2113dc9cc3b71a57595e75d1a06e755
--- /dev/null
+++ b/import_shims/studio/util/testing.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.testing', 'common.djangoapps.util.testing')
+
+from common.djangoapps.util.testing import *
diff --git a/import_shims/studio/util/tests/__init__.py b/import_shims/studio/util/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..0410eba60f15553dfa7fafcfc50f81b2e4c10b06
--- /dev/null
+++ b/import_shims/studio/util/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests', 'common.djangoapps.util.tests')
+
+from common.djangoapps.util.tests import *
diff --git a/import_shims/studio/util/tests/mixins/__init__.py b/import_shims/studio/util/tests/mixins/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..7fcd05af8ecc28aab0b0713800ee8efd68de69c9
--- /dev/null
+++ b/import_shims/studio/util/tests/mixins/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.mixins', 'common.djangoapps.util.tests.mixins')
+
+from common.djangoapps.util.tests.mixins import *
diff --git a/import_shims/studio/util/tests/mixins/discovery.py b/import_shims/studio/util/tests/mixins/discovery.py
new file mode 100644
index 0000000000000000000000000000000000000000..7462689750f48ae1997197c51a4afed5faad2122
--- /dev/null
+++ b/import_shims/studio/util/tests/mixins/discovery.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.mixins.discovery', 'common.djangoapps.util.tests.mixins.discovery')
+
+from common.djangoapps.util.tests.mixins.discovery import *
diff --git a/import_shims/studio/util/tests/test_course.py b/import_shims/studio/util/tests/test_course.py
new file mode 100644
index 0000000000000000000000000000000000000000..c37caf7efde919bfd5c15ac16f28a7451203a08f
--- /dev/null
+++ b/import_shims/studio/util/tests/test_course.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_course', 'common.djangoapps.util.tests.test_course')
+
+from common.djangoapps.util.tests.test_course import *
diff --git a/import_shims/studio/util/tests/test_date_utils.py b/import_shims/studio/util/tests/test_date_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..9bd2a4809bb7016768605f48ea39d4051f34d125
--- /dev/null
+++ b/import_shims/studio/util/tests/test_date_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_date_utils', 'common.djangoapps.util.tests.test_date_utils')
+
+from common.djangoapps.util.tests.test_date_utils import *
diff --git a/import_shims/studio/util/tests/test_db.py b/import_shims/studio/util/tests/test_db.py
new file mode 100644
index 0000000000000000000000000000000000000000..75ca4722fcf85d30095682bcfaa2b1dac297f168
--- /dev/null
+++ b/import_shims/studio/util/tests/test_db.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_db', 'common.djangoapps.util.tests.test_db')
+
+from common.djangoapps.util.tests.test_db import *
diff --git a/import_shims/studio/util/tests/test_disable_rate_limit.py b/import_shims/studio/util/tests/test_disable_rate_limit.py
new file mode 100644
index 0000000000000000000000000000000000000000..4958acbf6e06c4452855a1545209564bf5048ee5
--- /dev/null
+++ b/import_shims/studio/util/tests/test_disable_rate_limit.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_disable_rate_limit', 'common.djangoapps.util.tests.test_disable_rate_limit')
+
+from common.djangoapps.util.tests.test_disable_rate_limit import *
diff --git a/import_shims/studio/util/tests/test_django_utils.py b/import_shims/studio/util/tests/test_django_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..51c59adaa60de710a64faae32f4490be0751716e
--- /dev/null
+++ b/import_shims/studio/util/tests/test_django_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_django_utils', 'common.djangoapps.util.tests.test_django_utils')
+
+from common.djangoapps.util.tests.test_django_utils import *
diff --git a/import_shims/studio/util/tests/test_file.py b/import_shims/studio/util/tests/test_file.py
new file mode 100644
index 0000000000000000000000000000000000000000..cfb50432ad91dcaab128a9fd6068ceba57c85283
--- /dev/null
+++ b/import_shims/studio/util/tests/test_file.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_file', 'common.djangoapps.util.tests.test_file')
+
+from common.djangoapps.util.tests.test_file import *
diff --git a/import_shims/studio/util/tests/test_json_request.py b/import_shims/studio/util/tests/test_json_request.py
new file mode 100644
index 0000000000000000000000000000000000000000..961ed414b056774f981811ef17b9b7671c080d57
--- /dev/null
+++ b/import_shims/studio/util/tests/test_json_request.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_json_request', 'common.djangoapps.util.tests.test_json_request')
+
+from common.djangoapps.util.tests.test_json_request import *
diff --git a/import_shims/studio/util/tests/test_keyword_sub_utils.py b/import_shims/studio/util/tests/test_keyword_sub_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..5e8b652401f7b799002585e73496c49f2dc76a68
--- /dev/null
+++ b/import_shims/studio/util/tests/test_keyword_sub_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_keyword_sub_utils', 'common.djangoapps.util.tests.test_keyword_sub_utils')
+
+from common.djangoapps.util.tests.test_keyword_sub_utils import *
diff --git a/import_shims/studio/util/tests/test_memcache.py b/import_shims/studio/util/tests/test_memcache.py
new file mode 100644
index 0000000000000000000000000000000000000000..6980f31a3aad4a7301d754795dad8f5ce90974fb
--- /dev/null
+++ b/import_shims/studio/util/tests/test_memcache.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_memcache', 'common.djangoapps.util.tests.test_memcache')
+
+from common.djangoapps.util.tests.test_memcache import *
diff --git a/import_shims/studio/util/tests/test_milestones_helpers.py b/import_shims/studio/util/tests/test_milestones_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..2604974c84a986467f689a3b02197d7ed5614bee
--- /dev/null
+++ b/import_shims/studio/util/tests/test_milestones_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_milestones_helpers', 'common.djangoapps.util.tests.test_milestones_helpers')
+
+from common.djangoapps.util.tests.test_milestones_helpers import *
diff --git a/import_shims/studio/util/tests/test_organizations_helpers.py b/import_shims/studio/util/tests/test_organizations_helpers.py
new file mode 100644
index 0000000000000000000000000000000000000000..7f2a2451f3c13e8f51ac5365c52618595c7b2b90
--- /dev/null
+++ b/import_shims/studio/util/tests/test_organizations_helpers.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_organizations_helpers', 'common.djangoapps.util.tests.test_organizations_helpers')
+
+from common.djangoapps.util.tests.test_organizations_helpers import *
diff --git a/import_shims/studio/util/tests/test_password_policy_validators.py b/import_shims/studio/util/tests/test_password_policy_validators.py
new file mode 100644
index 0000000000000000000000000000000000000000..97ee0a875acee7a1386461413c0496b7eec17b33
--- /dev/null
+++ b/import_shims/studio/util/tests/test_password_policy_validators.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_password_policy_validators', 'common.djangoapps.util.tests.test_password_policy_validators')
+
+from common.djangoapps.util.tests.test_password_policy_validators import *
diff --git a/import_shims/studio/util/tests/test_sandboxing.py b/import_shims/studio/util/tests/test_sandboxing.py
new file mode 100644
index 0000000000000000000000000000000000000000..8e438686d9c3c20d8ead72eb26ec9e1ae11e5e95
--- /dev/null
+++ b/import_shims/studio/util/tests/test_sandboxing.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_sandboxing', 'common.djangoapps.util.tests.test_sandboxing')
+
+from common.djangoapps.util.tests.test_sandboxing import *
diff --git a/import_shims/studio/util/tests/test_string_utils.py b/import_shims/studio/util/tests/test_string_utils.py
new file mode 100644
index 0000000000000000000000000000000000000000..8fb4d26ea5b774cf270cd38c3df807f54838649e
--- /dev/null
+++ b/import_shims/studio/util/tests/test_string_utils.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.tests.test_string_utils', 'common.djangoapps.util.tests.test_string_utils')
+
+from common.djangoapps.util.tests.test_string_utils import *
diff --git a/import_shims/studio/util/url.py b/import_shims/studio/util/url.py
new file mode 100644
index 0000000000000000000000000000000000000000..1fa8d8bc6ce95344e960b244734546912c3dffad
--- /dev/null
+++ b/import_shims/studio/util/url.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.url', 'common.djangoapps.util.url')
+
+from common.djangoapps.util.url import *
diff --git a/import_shims/studio/util/validate_on_save.py b/import_shims/studio/util/validate_on_save.py
new file mode 100644
index 0000000000000000000000000000000000000000..8711134250e5fb67599496171af27a0c355eb72f
--- /dev/null
+++ b/import_shims/studio/util/validate_on_save.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.validate_on_save', 'common.djangoapps.util.validate_on_save')
+
+from common.djangoapps.util.validate_on_save import *
diff --git a/import_shims/studio/util/views.py b/import_shims/studio/util/views.py
new file mode 100644
index 0000000000000000000000000000000000000000..37687efd355b59d2874cf0f748d60acac7c9882d
--- /dev/null
+++ b/import_shims/studio/util/views.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('util.views', 'common.djangoapps.util.views')
+
+from common.djangoapps.util.views import *
diff --git a/import_shims/studio/xblock_django/__init__.py b/import_shims/studio/xblock_django/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..217298de7b745b1d07cc95dc9ca5ddbf4fc70d8f
--- /dev/null
+++ b/import_shims/studio/xblock_django/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django', 'common.djangoapps.xblock_django')
+
+from common.djangoapps.xblock_django import *
diff --git a/import_shims/studio/xblock_django/admin.py b/import_shims/studio/xblock_django/admin.py
new file mode 100644
index 0000000000000000000000000000000000000000..b291576db7b6f337ca8559a273635ce2c3942ef3
--- /dev/null
+++ b/import_shims/studio/xblock_django/admin.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.admin', 'common.djangoapps.xblock_django.admin')
+
+from common.djangoapps.xblock_django.admin import *
diff --git a/import_shims/studio/xblock_django/api.py b/import_shims/studio/xblock_django/api.py
new file mode 100644
index 0000000000000000000000000000000000000000..67611a4804b0fabf329b3ae74068ccb013855a83
--- /dev/null
+++ b/import_shims/studio/xblock_django/api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.api', 'common.djangoapps.xblock_django.api')
+
+from common.djangoapps.xblock_django.api import *
diff --git a/import_shims/studio/xblock_django/management/__init__.py b/import_shims/studio/xblock_django/management/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..f6f453ef695e721f52e3c086af5693d4a697c12c
--- /dev/null
+++ b/import_shims/studio/xblock_django/management/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.management', 'common.djangoapps.xblock_django.management')
+
+from common.djangoapps.xblock_django.management import *
diff --git a/import_shims/studio/xblock_django/management/commands/__init__.py b/import_shims/studio/xblock_django/management/commands/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..5bddef3d4a7b7939ed8f98d54f32b9a70293f2d9
--- /dev/null
+++ b/import_shims/studio/xblock_django/management/commands/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.management.commands', 'common.djangoapps.xblock_django.management.commands')
+
+from common.djangoapps.xblock_django.management.commands import *
diff --git a/import_shims/studio/xblock_django/management/commands/ensure_indexes.py b/import_shims/studio/xblock_django/management/commands/ensure_indexes.py
new file mode 100644
index 0000000000000000000000000000000000000000..daf51b8cb27ca9a25cbe1ad1d60a3887818ef58b
--- /dev/null
+++ b/import_shims/studio/xblock_django/management/commands/ensure_indexes.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.management.commands.ensure_indexes', 'common.djangoapps.xblock_django.management.commands.ensure_indexes')
+
+from common.djangoapps.xblock_django.management.commands.ensure_indexes import *
diff --git a/import_shims/studio/xblock_django/models.py b/import_shims/studio/xblock_django/models.py
new file mode 100644
index 0000000000000000000000000000000000000000..b35811c2a3c4355b36424d975da5c9ee359257da
--- /dev/null
+++ b/import_shims/studio/xblock_django/models.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.models', 'common.djangoapps.xblock_django.models')
+
+from common.djangoapps.xblock_django.models import *
diff --git a/import_shims/studio/xblock_django/tests/__init__.py b/import_shims/studio/xblock_django/tests/__init__.py
new file mode 100644
index 0000000000000000000000000000000000000000..b4baccf440879979bc07069781b416742a7c3ad9
--- /dev/null
+++ b/import_shims/studio/xblock_django/tests/__init__.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.tests', 'common.djangoapps.xblock_django.tests')
+
+from common.djangoapps.xblock_django.tests import *
diff --git a/import_shims/studio/xblock_django/tests/test_api.py b/import_shims/studio/xblock_django/tests/test_api.py
new file mode 100644
index 0000000000000000000000000000000000000000..3fe4338cb7d6685efc97fbe1277d48d00345530c
--- /dev/null
+++ b/import_shims/studio/xblock_django/tests/test_api.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.tests.test_api', 'common.djangoapps.xblock_django.tests.test_api')
+
+from common.djangoapps.xblock_django.tests.test_api import *
diff --git a/import_shims/studio/xblock_django/tests/test_user_service.py b/import_shims/studio/xblock_django/tests/test_user_service.py
new file mode 100644
index 0000000000000000000000000000000000000000..6bf70dd0625726acedeb7cbd308ff40431a30389
--- /dev/null
+++ b/import_shims/studio/xblock_django/tests/test_user_service.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.tests.test_user_service', 'common.djangoapps.xblock_django.tests.test_user_service')
+
+from common.djangoapps.xblock_django.tests.test_user_service import *
diff --git a/import_shims/studio/xblock_django/user_service.py b/import_shims/studio/xblock_django/user_service.py
new file mode 100644
index 0000000000000000000000000000000000000000..1e237adb1bc234dfc2b456911bacfb0f029956fb
--- /dev/null
+++ b/import_shims/studio/xblock_django/user_service.py
@@ -0,0 +1,5 @@
+from import_shims.warn import warn_deprecated_import
+
+warn_deprecated_import('xblock_django.user_service', 'common.djangoapps.xblock_django.user_service')
+
+from common.djangoapps.xblock_django.user_service import *
diff --git a/lms/devstack.yml b/lms/devstack.yml
index f0b8b5e0830001d125f5958c2eea76a17c66cc07..974c5e1539e8e71c9e8003df4b01e565566356ac 100644
--- a/lms/devstack.yml
+++ b/lms/devstack.yml
@@ -24,10 +24,10 @@ AUDIT_CERT_CUTOFF_DATE: null
 AUTH_DOCUMENTATION_URL: http://course-catalog-api-guide.readthedocs.io/en/latest/authentication/index.html
 AUTH_PASSWORD_VALIDATORS:
 -   NAME: django.contrib.auth.password_validation.UserAttributeSimilarityValidator
--   NAME: util.password_policy_validators.MinimumLengthValidator
+-   NAME: common.djangoapps.util.password_policy_validators.MinimumLengthValidator
     OPTIONS:
         min_length: 2
--   NAME: util.password_policy_validators.MaximumLengthValidator
+-   NAME: common.djangoapps.util.password_policy_validators.MaximumLengthValidator
     OPTIONS:
         max_length: 75
 AWS_ACCESS_KEY_ID: null
@@ -54,47 +54,47 @@ BULK_EMAIL_ROUTING_KEY_SMALL_JOBS: edx.lms.core.default
 CACHES:
     celery:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: celery
         LOCATION:
         - edx.devstack.memcached:11211
         TIMEOUT: '7200'
     configuration:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: 1001c6274ca4
         LOCATION:
         - edx.devstack.memcached:11211
     course_structure_cache:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: course_structure
         LOCATION:
         - edx.devstack.memcached:11211
         TIMEOUT: '7200'
     default:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: default
         LOCATION:
         - edx.devstack.memcached:11211
         VERSION: '1'
     general:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: general
         LOCATION:
         - edx.devstack.memcached:11211
     mongo_metadata_inheritance:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: mongo_metadata_inheritance
         LOCATION:
         - edx.devstack.memcached:11211
         TIMEOUT: 300
     staticfiles:
         BACKEND: django.core.cache.backends.memcached.MemcachedCache
-        KEY_FUNCTION: util.memcache.safe_key
+        KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
         KEY_PREFIX: 1001c6274ca4_general
         LOCATION:
         - edx.devstack.memcached:11211
diff --git a/lms/djangoapps/badges/api/tests.py b/lms/djangoapps/badges/api/tests.py
index fbec7ed5460b135db9efb89a11d32f4345d485e9..71492b734122342b93e2dffce67ea8d1c9d05e2f 100644
--- a/lms/djangoapps/badges/api/tests.py
+++ b/lms/djangoapps/badges/api/tests.py
@@ -11,8 +11,8 @@ from six.moves import range
 
 from lms.djangoapps.badges.tests.factories import BadgeAssertionFactory, BadgeClassFactory, RandomBadgeClassFactory
 from openedx.core.lib.api.test_utils import ApiTestCase
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/badges/backends/tests/test_badgr_backend.py b/lms/djangoapps/badges/backends/tests/test_badgr_backend.py
index 9019679b662dcf8789fb73afb7d2c85a15c4f9ee..563eb8293ee3794240cbd1fba45912041a7ce698 100644
--- a/lms/djangoapps/badges/backends/tests/test_badgr_backend.py
+++ b/lms/djangoapps/badges/backends/tests/test_badgr_backend.py
@@ -16,8 +16,8 @@ from lms.djangoapps.badges.backends.badgr import BadgrBackend
 from lms.djangoapps.badges.models import BadgeAssertion
 from lms.djangoapps.badges.tests.factories import BadgeClassFactory
 from openedx.core.lib.tests.assertions.events import assert_event_matches
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from track.tests import EventTrackingTestCase
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.track.tests import EventTrackingTestCase
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/badges/events/course_complete.py b/lms/djangoapps/badges/events/course_complete.py
index 85fcda289e714173777e761743487da976027708..b5e8b5b4325c74535f02e6efc84aeb3ef3386156 100644
--- a/lms/djangoapps/badges/events/course_complete.py
+++ b/lms/djangoapps/badges/events/course_complete.py
@@ -85,7 +85,7 @@ def get_completion_badge(course_id, user):
     Given a course key and a user, find the user's enrollment mode
     and get the Course Completion badge.
     """
-    from student.models import CourseEnrollment
+    from common.djangoapps.student.models import CourseEnrollment
     badge_classes = CourseEnrollment.objects.filter(
         user=user, course_id=course_id
     ).order_by('-is_active')
diff --git a/lms/djangoapps/badges/events/tests/test_course_complete.py b/lms/djangoapps/badges/events/tests/test_course_complete.py
index 406e7533024e560fd8a6c319025cf064f45076ff..70d78da97df6a2fdaf7e9ed3578bc96cc7ddf9fa 100644
--- a/lms/djangoapps/badges/events/tests/test_course_complete.py
+++ b/lms/djangoapps/badges/events/tests/test_course_complete.py
@@ -6,7 +6,7 @@ from uuid import uuid4
 
 from lms.djangoapps.badges.events import course_complete
 from lms.djangoapps.certificates.models import GeneratedCertificate
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/badges/events/tests/test_course_meta.py b/lms/djangoapps/badges/events/tests/test_course_meta.py
index 0ccd3058e054523b7526475dca256f3ddacb2df7..9b73829e73ec2f302ca2d174b39472c1ec8f5511 100644
--- a/lms/djangoapps/badges/events/tests/test_course_meta.py
+++ b/lms/djangoapps/badges/events/tests/test_course_meta.py
@@ -12,8 +12,8 @@ from mock import patch
 
 from lms.djangoapps.badges.tests.factories import CourseEventBadgesConfigurationFactory, RandomBadgeClassFactory
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/badges/handlers.py b/lms/djangoapps/badges/handlers.py
index f871f61d1a240814bea15b58dafc13ba85e08c7d..4af4c58adb6f0a79211508a4a6df5d23ce2e40b6 100644
--- a/lms/djangoapps/badges/handlers.py
+++ b/lms/djangoapps/badges/handlers.py
@@ -7,8 +7,8 @@ from django.dispatch import receiver
 
 from lms.djangoapps.badges.events.course_meta import award_enrollment_badge
 from lms.djangoapps.badges.utils import badges_enabled
-from student.models import EnrollStatusChange
-from student.signals import ENROLL_STATUS_CHANGE
+from common.djangoapps.student.models import EnrollStatusChange
+from common.djangoapps.student.signals import ENROLL_STATUS_CHANGE
 
 
 @receiver(ENROLL_STATUS_CHANGE)
diff --git a/lms/djangoapps/badges/tests/factories.py b/lms/djangoapps/badges/tests/factories.py
index cd70fd8cec4c9579d488810c885c292640acedbe..b7f13d0f7cfdeeaafce1532e31a5bda276fd8fbd 100644
--- a/lms/djangoapps/badges/tests/factories.py
+++ b/lms/djangoapps/badges/tests/factories.py
@@ -11,7 +11,7 @@ from factory import DjangoModelFactory
 from factory.django import ImageField
 
 from lms.djangoapps.badges.models import BadgeAssertion, BadgeClass, CourseCompleteImageConfiguration, CourseEventBadgesConfiguration
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 def generate_dummy_image(_unused):
diff --git a/lms/djangoapps/badges/tests/test_models.py b/lms/djangoapps/badges/tests/test_models.py
index a4520a3d666a15dfa07c85214b7505802ec480b7..ec9cfa61dd3d51f8da97552404b60a02950741da 100644
--- a/lms/djangoapps/badges/tests/test_models.py
+++ b/lms/djangoapps/badges/tests/test_models.py
@@ -22,7 +22,7 @@ from lms.djangoapps.badges.models import (
 )
 from lms.djangoapps.badges.tests.factories import BadgeAssertionFactory, BadgeClassFactory, RandomBadgeClassFactory
 from lms.djangoapps.certificates.tests.test_models import TEST_DATA_ROOT
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/branding/api.py b/lms/djangoapps/branding/api.py
index e1e0793f62627829ec6bb076ea778fc315f2b745..e532240dfea64561122af55f1ed64fd540686d00 100644
--- a/lms/djangoapps/branding/api.py
+++ b/lms/djangoapps/branding/api.py
@@ -24,7 +24,7 @@ from django.utils.translation import ugettext as _
 from six.moves.urllib.parse import urljoin
 
 from lms.djangoapps.branding.models import BrandingApiConfig
-from edxmako.shortcuts import marketing_link
+from common.djangoapps.edxmako.shortcuts import marketing_link
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 
 log = logging.getLogger("edx.footer")
diff --git a/lms/djangoapps/branding/tests/test_page.py b/lms/djangoapps/branding/tests/test_page.py
index d9c39edb51262e28d970cc0f918d186dc0d0de58..a02de8979700a8a5f258119de07e4657274f75f7 100644
--- a/lms/djangoapps/branding/tests/test_page.py
+++ b/lms/djangoapps/branding/tests/test_page.py
@@ -18,9 +18,9 @@ from pytz import UTC
 
 from lms.djangoapps.branding.views import index
 from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
-from util.milestones_helpers import set_prerequisite_courses
+from common.djangoapps.util.milestones_helpers import set_prerequisite_courses
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -190,7 +190,7 @@ class IndexPageCourseCardsSortingTests(ModuleStoreTestCase):
         )
         self.factory = RequestFactory()
 
-    @patch('student.views.management.render_to_response', RENDER_MOCK)
+    @patch('common.djangoapps.student.views.management.render_to_response', RENDER_MOCK)
     @patch('lms.djangoapps.courseware.views.views.render_to_response', RENDER_MOCK)
     @patch.dict('django.conf.settings.FEATURES', {'ENABLE_COURSE_DISCOVERY': False})
     def test_course_discovery_off(self):
@@ -214,7 +214,7 @@ class IndexPageCourseCardsSortingTests(ModuleStoreTestCase):
         # make sure we have the special css class on the section
         self.assertContains(response, '<div class="courses no-course-discovery"')
 
-    @patch('student.views.management.render_to_response', RENDER_MOCK)
+    @patch('common.djangoapps.student.views.management.render_to_response', RENDER_MOCK)
     @patch('lms.djangoapps.courseware.views.views.render_to_response', RENDER_MOCK)
     @patch.dict('django.conf.settings.FEATURES', {'ENABLE_COURSE_DISCOVERY': True})
     def test_course_discovery_on(self):
@@ -236,7 +236,7 @@ class IndexPageCourseCardsSortingTests(ModuleStoreTestCase):
         self.assertContains(response, '<aside aria-label="Refine Your Search" class="search-facets phone-menu">')
         self.assertContains(response, '<div class="courses"')
 
-    @patch('student.views.management.render_to_response', RENDER_MOCK)
+    @patch('common.djangoapps.student.views.management.render_to_response', RENDER_MOCK)
     @patch('lms.djangoapps.courseware.views.views.render_to_response', RENDER_MOCK)
     @patch.dict('django.conf.settings.FEATURES', {'ENABLE_COURSE_DISCOVERY': False})
     def test_course_cards_sorted_by_default_sorting(self):
@@ -261,7 +261,7 @@ class IndexPageCourseCardsSortingTests(ModuleStoreTestCase):
         self.assertEqual(context['courses'][1].id, self.starting_later.id)
         self.assertEqual(context['courses'][2].id, self.course_with_default_start_date.id)
 
-    @patch('student.views.management.render_to_response', RENDER_MOCK)
+    @patch('common.djangoapps.student.views.management.render_to_response', RENDER_MOCK)
     @patch('lms.djangoapps.courseware.views.views.render_to_response', RENDER_MOCK)
     @patch.dict('django.conf.settings.FEATURES', {'ENABLE_COURSE_SORTING_BY_START_DATE': False})
     @patch.dict('django.conf.settings.FEATURES', {'ENABLE_COURSE_DISCOVERY': False})
@@ -294,7 +294,7 @@ class IndexPageProgramsTests(SiteMixin, ModuleStoreTestCase):
     """
     def test_get_programs_with_type_called(self):
         views = [
-            (reverse('root'), 'student.views.management.get_programs_with_type'),
+            (reverse('root'), 'common.djangoapps.student.views.management.get_programs_with_type'),
             (reverse('courses'), 'lms.djangoapps.courseware.views.views.get_programs_with_type'),
         ]
         for url, dotted_path in views:
diff --git a/lms/djangoapps/branding/tests/test_views.py b/lms/djangoapps/branding/tests/test_views.py
index e5720585152aa66a424aedfacde2e0c3f5c6aecb..4424496732854f6409619ca9491f1551d2c6497a 100644
--- a/lms/djangoapps/branding/tests/test_views.py
+++ b/lms/djangoapps/branding/tests/test_views.py
@@ -18,7 +18,7 @@ from openedx.core.djangoapps.lang_pref.api import released_languages
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme_context
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
@@ -280,7 +280,7 @@ class TestIndex(SiteMixin, TestCase):
         """ Set up a user """
         super(TestIndex, self).setUp()
 
-        patcher = mock.patch("student.models.tracker")
+        patcher = mock.patch("common.djangoapps.student.models.tracker")
         self.mock_tracker = patcher.start()
         self.user = UserFactory.create()
         self.user.set_password("password")
diff --git a/lms/djangoapps/branding/views.py b/lms/djangoapps/branding/views.py
index 1618324f30cf424c4ef9ec71987e8dbe4313aab8..346a0c8b7cfbae1e5abc03f118cfa599b1d320d6 100644
--- a/lms/djangoapps/branding/views.py
+++ b/lms/djangoapps/branding/views.py
@@ -18,12 +18,12 @@ from django.views.decorators.csrf import ensure_csrf_cookie
 
 import lms.djangoapps.branding.api as branding_api
 import lms.djangoapps.courseware.views.views as courseware_views
-import student.views
-from edxmako.shortcuts import marketing_link, render_to_response
+from common.djangoapps.student import views as student_views
+from common.djangoapps.edxmako.shortcuts import marketing_link, render_to_response
 from openedx.core.djangoapps.lang_pref.api import released_languages
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from util.cache import cache_if_anonymous
-from util.json_request import JsonResponse
+from common.djangoapps.util.cache import cache_if_anonymous
+from common.djangoapps.util.json_request import JsonResponse
 
 log = logging.getLogger(__name__)
 
@@ -68,7 +68,7 @@ def index(request):
     #  marketing and edge are enabled
 
     try:
-        return student.views.index(request, user=request.user)
+        return student_views.index(request, user=request.user)
     except NoReverseMatch:
         log.error(
             'https is not a registered namespace Request from {}'.format(domain),
diff --git a/lms/djangoapps/bulk_email/models.py b/lms/djangoapps/bulk_email/models.py
index 9e15719569c072a1bcff26641c49050c9e950b4b..7a16c9bcc193975087d1ce16152f68a645992025 100644
--- a/lms/djangoapps/bulk_email/models.py
+++ b/lms/djangoapps/bulk_email/models.py
@@ -15,16 +15,16 @@ from opaque_keys.edx.django.models import CourseKeyField
 from six import text_type
 from six.moves import zip
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.course_groups.cohorts import get_cohort_by_name
 from openedx.core.djangoapps.course_groups.models import CourseUserGroup
 from openedx.core.djangoapps.enrollments.api import validate_course_mode
 from openedx.core.djangoapps.enrollments.errors import CourseModeNotFoundError
 from openedx.core.lib.html_to_text import html_to_text
 from openedx.core.lib.mail_utils import wrap_message
-from student.roles import CourseInstructorRole, CourseStaffRole
-from util.keyword_substitution import substitute_keywords_with_data
-from util.query import use_read_replica_if_available
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.util.keyword_substitution import substitute_keywords_with_data
+from common.djangoapps.util.query import use_read_replica_if_available
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/bulk_email/signals.py b/lms/djangoapps/bulk_email/signals.py
index 319110d04f029ee97a369cf392d20fb2a525e4c4..56956d5e672a67fc56339df2faef489421baf873 100644
--- a/lms/djangoapps/bulk_email/signals.py
+++ b/lms/djangoapps/bulk_email/signals.py
@@ -6,7 +6,7 @@ Signal handlers for the bulk_email app
 from django.dispatch import receiver
 
 from openedx.core.djangoapps.user_api.accounts.signals import USER_RETIRE_MAILINGS
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 from .models import Optout
 
diff --git a/lms/djangoapps/bulk_email/tasks.py b/lms/djangoapps/bulk_email/tasks.py
index f85c15387d600bb1894bb48ad175a8d818b7cf86..ef2b21aa3dacc06184325ff2c6a3129987070f40 100644
--- a/lms/djangoapps/bulk_email/tasks.py
+++ b/lms/djangoapps/bulk_email/tasks.py
@@ -52,8 +52,8 @@ from lms.djangoapps.instructor_task.subtasks import (
 )
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.lib.courses import course_image_url
-from util.date_utils import get_default_time_display
-from util.string_utils import _has_non_ascii_characters
+from common.djangoapps.util.date_utils import get_default_time_display
+from common.djangoapps.util.string_utils import _has_non_ascii_characters
 
 log = logging.getLogger('edx.celery.task')
 
diff --git a/lms/djangoapps/bulk_email/tests/test_course_optout.py b/lms/djangoapps/bulk_email/tests/test_course_optout.py
index 1d3db1e60a77bf52ebcfe028a5aa8f3ebdf13bab..a24968089bc0d7f0a298b05f17a32783b195376d 100644
--- a/lms/djangoapps/bulk_email/tests/test_course_optout.py
+++ b/lms/djangoapps/bulk_email/tests/test_course_optout.py
@@ -18,8 +18,8 @@ from six import text_type
 
 from lms.djangoapps.bulk_email.models import BulkEmailFlag
 from lms.djangoapps.bulk_email.policies import CourseEmailOptout
-from student.models import CourseEnrollment
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/bulk_email/tests/test_email.py b/lms/djangoapps/bulk_email/tests/test_email.py
index 4b4e07d20450639c8d807a11de04cbf8566ab931..bb9be7344c39d910ad2403cf4c4c5e401a800eb1 100644
--- a/lms/djangoapps/bulk_email/tests/test_email.py
+++ b/lms/djangoapps/bulk_email/tests/test_email.py
@@ -23,16 +23,16 @@ from mock import Mock, patch
 
 from ..models import BulkEmailFlag, Optout
 from lms.djangoapps.bulk_email.tasks import _get_course_email_context, _get_source_address
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 
 from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory
 from lms.djangoapps.instructor_task.subtasks import update_subtask_status
 from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort
 from openedx.core.djangoapps.course_groups.models import CourseCohort
 from openedx.core.djangoapps.enrollments.api import update_enrollment
-from student.models import CourseEnrollment
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/bulk_email/tests/test_err_handling.py b/lms/djangoapps/bulk_email/tests/test_err_handling.py
index 6cb7eac48150997e34cb5f3ae3e9def395c76f92..9de1cb4dcfaf96d20519a395a3084e4dec691d89 100644
--- a/lms/djangoapps/bulk_email/tests/test_err_handling.py
+++ b/lms/djangoapps/bulk_email/tests/test_err_handling.py
@@ -30,7 +30,7 @@ from lms.djangoapps.instructor_task.subtasks import (
     initialize_subtask_info,
     update_subtask_status
 )
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/bulk_email/tests/test_models.py b/lms/djangoapps/bulk_email/tests/test_models.py
index 2bff0faa91df431a64855e1d38c71fa176c490d1..5c9a83aac762e22a6d0dbf0257c59345c2c198c6 100644
--- a/lms/djangoapps/bulk_email/tests/test_models.py
+++ b/lms/djangoapps/bulk_email/tests/test_models.py
@@ -23,9 +23,9 @@ from lms.djangoapps.bulk_email.models import (
     CourseEmailTemplate,
     Optout,
 )
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.course_groups.models import CourseCohort
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/bulk_email/tests/test_signals.py b/lms/djangoapps/bulk_email/tests/test_signals.py
index 29c905ff8172f342951cf76fc10523b5eb09e53a..58bff499108acd32fdf8cd8e18d4078510aac47d 100644
--- a/lms/djangoapps/bulk_email/tests/test_signals.py
+++ b/lms/djangoapps/bulk_email/tests/test_signals.py
@@ -13,7 +13,7 @@ from six import text_type
 
 from lms.djangoapps.bulk_email.models import BulkEmailFlag, Optout
 from lms.djangoapps.bulk_email.signals import force_optout_all
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/bulk_email/tests/test_views.py b/lms/djangoapps/bulk_email/tests/test_views.py
index 5190ebe34c41f1a19022ef3f540b00c2cea8aea3..67f556117e40f78f33d55d0a8b29b5cc90fac4fb 100644
--- a/lms/djangoapps/bulk_email/tests/test_views.py
+++ b/lms/djangoapps/bulk_email/tests/test_views.py
@@ -15,7 +15,7 @@ from six import text_type
 
 from lms.djangoapps.discussion.notification_prefs.views import UsernameCipher
 from openedx.core.lib.tests import attr
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
diff --git a/lms/djangoapps/bulk_email/views.py b/lms/djangoapps/bulk_email/views.py
index 30a15d102a54de93eb82831b125be497101a73b0..2336912d34d99b79e8b599cbadd3623b4e2cd1fb 100644
--- a/lms/djangoapps/bulk_email/views.py
+++ b/lms/djangoapps/bulk_email/views.py
@@ -12,7 +12,7 @@ from django.http import Http404
 
 from lms.djangoapps.bulk_email.models import Optout
 from lms.djangoapps.courseware.courses import get_course_by_id
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.discussion.notification_prefs.views import (
     UsernameCipher,
     UsernameDecryptionException,
diff --git a/lms/djangoapps/bulk_enroll/tests/test_views.py b/lms/djangoapps/bulk_enroll/tests/test_views.py
index 13ed78ea6388196c85719ab6808b14e78b8e8035..724f4d108bceceddcb2b66c3947c2e5f616d1da6 100644
--- a/lms/djangoapps/bulk_enroll/tests/test_views.py
+++ b/lms/djangoapps/bulk_enroll/tests/test_views.py
@@ -21,8 +21,8 @@ from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
 from openedx.core.djangoapps.course_groups.cohorts import get_cohort_id
 from openedx.core.djangoapps.course_groups.tests.helpers import config_course_cohorts
 from openedx.core.djangoapps.site_configuration.helpers import get_value as get_site_value
-from student.models import ENROLLED_TO_UNENROLLED, UNENROLLED_TO_ENROLLED, CourseEnrollment, ManualEnrollmentAudit
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import ENROLLED_TO_UNENROLLED, UNENROLLED_TO_ENROLLED, CourseEnrollment, ManualEnrollmentAudit
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/bulk_enroll/views.py b/lms/djangoapps/bulk_enroll/views.py
index 746ac09ae667efeeb1dc922521dba1c5051efcdc..a20ced46bab1be0f0d827a22bdc6b03ffcdd58cf 100644
--- a/lms/djangoapps/bulk_enroll/views.py
+++ b/lms/djangoapps/bulk_enroll/views.py
@@ -20,7 +20,7 @@ from openedx.core.djangoapps.course_groups.models import CourseUserGroup
 from openedx.core.djangoapps.enrollments.views import EnrollmentUserThrottle
 from openedx.core.lib.api.authentication import BearerAuthentication
 from openedx.core.lib.api.permissions import IsStaff
-from util.disable_rate_limit import can_disable_rate_limit
+from common.djangoapps.util.disable_rate_limit import can_disable_rate_limit
 
 
 @can_disable_rate_limit
diff --git a/lms/djangoapps/ccx/api/v0/tests/test_views.py b/lms/djangoapps/ccx/api/v0/tests/test_views.py
index 77e3d74c77e34caf4e1f0ce854d78120ac7b2b59..b11bb2f95026ae0703251a29c9d501383e153a59 100644
--- a/lms/djangoapps/ccx/api/v0/tests/test_views.py
+++ b/lms/djangoapps/ccx/api/v0/tests/test_views.py
@@ -30,9 +30,9 @@ from lms.djangoapps.ccx.utils import ccx_course as ccx_course_cm
 from lms.djangoapps.courseware import courses
 from lms.djangoapps.instructor.access import allow_access, list_with_level
 from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params
-from student.models import CourseEnrollment
-from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 
 USER_PASSWORD = 'test'
 
diff --git a/lms/djangoapps/ccx/api/v0/views.py b/lms/djangoapps/ccx/api/v0/views.py
index cecf7aa2358883f182aee727a305102895ec8018..4ceadc74a37ac6cb90a54cd6dc16dfe15cee3a68 100644
--- a/lms/djangoapps/ccx/api/v0/views.py
+++ b/lms/djangoapps/ccx/api/v0/views.py
@@ -27,8 +27,8 @@ from lms.djangoapps.ccx.utils import add_master_course_staff_to_ccx, assign_staf
 from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.lib.api import authentication, permissions
-from student.models import CourseEnrollment
-from student.roles import CourseCcxCoachRole
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseCcxCoachRole
 from xmodule.modulestore.django import SignalHandler
 
 from .paginators import CCXAPIPagination
diff --git a/lms/djangoapps/ccx/plugins.py b/lms/djangoapps/ccx/plugins.py
index 73539f2b42742dae02ddcaae6455c6c720201c4d..3cf16d47b514b87dd5efead47a158c05c0b655f1 100644
--- a/lms/djangoapps/ccx/plugins.py
+++ b/lms/djangoapps/ccx/plugins.py
@@ -6,7 +6,7 @@ Registers the CCX feature for the edX platform.
 from django.conf import settings
 from django.utils.translation import ugettext_noop
 
-from student.roles import CourseCcxCoachRole
+from common.djangoapps.student.roles import CourseCcxCoachRole
 from xmodule.tabs import CourseTab
 
 from .permissions import VIEW_CCX_COACH_DASHBOARD
diff --git a/lms/djangoapps/ccx/tests/factories.py b/lms/djangoapps/ccx/tests/factories.py
index dc3ce3fa7c3a42897fc329964ced970ef7859e63..b622a99e4af1a0627d738fe84dbca4f236c3d6ae 100644
--- a/lms/djangoapps/ccx/tests/factories.py
+++ b/lms/djangoapps/ccx/tests/factories.py
@@ -7,7 +7,7 @@ from factory import Sequence, SubFactory
 from factory.django import DjangoModelFactory
 
 from lms.djangoapps.ccx.models import CustomCourseForEdX
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 # pylint: disable=missing-class-docstring
diff --git a/lms/djangoapps/ccx/tests/test_ccx_modulestore.py b/lms/djangoapps/ccx/tests/test_ccx_modulestore.py
index 0ea38a0ffa100e651e2a9db490f93208fc59f92b..518e8d6f497e1a9d4167deeb704c7502c4380028 100644
--- a/lms/djangoapps/ccx/tests/test_ccx_modulestore.py
+++ b/lms/djangoapps/ccx/tests/test_ccx_modulestore.py
@@ -12,7 +12,7 @@ from ccx_keys.locator import CCXLocator
 from six.moves import range, zip_longest
 
 from lms.djangoapps.ccx.models import CustomCourseForEdX
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/ccx/tests/test_field_override_performance.py b/lms/djangoapps/ccx/tests/test_field_override_performance.py
index 14c0ecda177f5e32a5cc6c5a459bdb45d64dd6cb..ffd0238d56900817647be40fade6d6219e3e83bd 100644
--- a/lms/djangoapps/ccx/tests/test_field_override_performance.py
+++ b/lms/djangoapps/ccx/tests/test_field_override_performance.py
@@ -30,8 +30,8 @@ from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from openedx.core.djangoapps.content.block_structure.api import get_course_in_cache
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import (
     TEST_DATA_MONGO_MODULESTORE,
     TEST_DATA_SPLIT_MODULESTORE,
@@ -76,7 +76,7 @@ class FieldOverridePerformanceTestCase(FieldOverrideTestMixin, ProceduralCourseT
         messages = FallbackStorage(self.request)
         self.request._messages = messages  # pylint: disable=protected-access
 
-        patcher = mock.patch('edxmako.request_context.get_current_request', return_value=self.request)
+        patcher = mock.patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=self.request)
         patcher.start()
         self.addCleanup(patcher.stop)
         self.course = None
diff --git a/lms/djangoapps/ccx/tests/test_models.py b/lms/djangoapps/ccx/tests/test_models.py
index af778b0a2e92a73bff78df5c00b23a224a50187c..66a46222525200834f080de0d1f2816d36451341 100644
--- a/lms/djangoapps/ccx/tests/test_models.py
+++ b/lms/djangoapps/ccx/tests/test_models.py
@@ -9,8 +9,8 @@ from datetime import datetime, timedelta
 import ddt
 from pytz import utc
 
-from student.roles import CourseCcxCoachRole
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.roles import CourseCcxCoachRole
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls
 
diff --git a/lms/djangoapps/ccx/tests/test_overrides.py b/lms/djangoapps/ccx/tests/test_overrides.py
index 5a6d9f21980caca0ad6a825433a59e90a94f39bf..98b19a9e68c0bf326b4566238da9e0dfcc1acb60 100644
--- a/lms/djangoapps/ccx/tests/test_overrides.py
+++ b/lms/djangoapps/ccx/tests/test_overrides.py
@@ -20,7 +20,7 @@ from lms.djangoapps.ccx.overrides import override_field_for_ccx
 from lms.djangoapps.ccx.tests.utils import flatten, iter_blocks
 from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from lms.djangoapps.courseware.tests.test_field_overrides import inject_field_overrides
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/ccx/tests/test_tasks.py b/lms/djangoapps/ccx/tests/test_tasks.py
index b5b4824017c1489271d2406268fa2eba8502f5e4..ae468bcc0ce67d823d4eb6da886676122b2d8c21 100644
--- a/lms/djangoapps/ccx/tests/test_tasks.py
+++ b/lms/djangoapps/ccx/tests/test_tasks.py
@@ -12,8 +12,8 @@ from ccx_keys.locator import CCXLocator
 from lms.djangoapps.ccx.tasks import send_ccx_course_published
 from lms.djangoapps.ccx.tests.factories import CcxFactory
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.roles import CourseCcxCoachRole
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.roles import CourseCcxCoachRole
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.django import SignalHandler
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/ccx/tests/test_utils.py b/lms/djangoapps/ccx/tests/test_utils.py
index d69784d089e852d3e126f98b58b15401e2eb12a5..12ff664e5d2919ee7709e7bd97c26183dee0e411 100644
--- a/lms/djangoapps/ccx/tests/test_utils.py
+++ b/lms/djangoapps/ccx/tests/test_utils.py
@@ -13,9 +13,9 @@ from lms.djangoapps.ccx.tests.factories import CcxFactory
 from lms.djangoapps.ccx.tests.utils import CcxTestCase
 from lms.djangoapps.ccx.utils import add_master_course_staff_to_ccx, ccx_course, remove_master_course_staff_from_ccx
 from lms.djangoapps.instructor.access import list_with_level
-from student.models import CourseEnrollment, CourseEnrollmentException
-from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentException
+from common.djangoapps.student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/ccx/tests/test_views.py b/lms/djangoapps/ccx/tests/test_views.py
index b661693fff2f5e898c09b24c294cf89f853b9870..cf4abb44f21f3bf5c75b9d8821605d6851366b76 100644
--- a/lms/djangoapps/ccx/tests/test_views.py
+++ b/lms/djangoapps/ccx/tests/test_views.py
@@ -27,7 +27,7 @@ from lms.djangoapps.courseware.tabs import get_course_tab_list
 from lms.djangoapps.courseware.tests.factories import StudentModuleFactory
 from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
 from lms.djangoapps.courseware.testutils import FieldOverrideTestMixin
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.ccx.models import CustomCourseForEdX
 from lms.djangoapps.ccx.overrides import get_override_for_ccx, override_field_for_ccx
 from lms.djangoapps.ccx.tests.factories import CcxFactory
@@ -40,9 +40,9 @@ from lms.djangoapps.instructor.access import allow_access, list_with_level
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.django_comment_common.models import FORUM_ROLE_ADMINISTRATOR
 from openedx.core.djangoapps.django_comment_common.utils import are_permissions_roles_seeded
-from student.models import CourseEnrollment, CourseEnrollmentAllowed
-from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAllowed
+from common.djangoapps.student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import (
diff --git a/lms/djangoapps/ccx/tests/utils.py b/lms/djangoapps/ccx/tests/utils.py
index 2f8f928c1ad56b8e47c983ac6472adc0f5a28e28..b123dc82d866a3f5812b0bb324c1b0e77c157923 100644
--- a/lms/djangoapps/ccx/tests/utils.py
+++ b/lms/djangoapps/ccx/tests/utils.py
@@ -12,8 +12,8 @@ from six.moves import range
 from lms.djangoapps.ccx.overrides import override_field_for_ccx
 from lms.djangoapps.ccx.tests.factories import CcxFactory
 from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin
-from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/ccx/utils.py b/lms/djangoapps/ccx/utils.py
index 35bc237526feb6039bc1bbd193a8c07bb368cd4e..34a849ccf9a8300f2622777ab933834e51e2a94f 100644
--- a/lms/djangoapps/ccx/utils.py
+++ b/lms/djangoapps/ccx/utils.py
@@ -27,8 +27,8 @@ from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params,
 from lms.djangoapps.instructor.views.api import _split_input_list
 from lms.djangoapps.instructor.views.tools import get_student_from_identifier
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment, CourseEnrollmentException
-from student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentException
+from common.djangoapps.student.roles import CourseCcxCoachRole, CourseInstructorRole, CourseStaffRole
 
 log = logging.getLogger("edx.ccx")
 
diff --git a/lms/djangoapps/ccx/views.py b/lms/djangoapps/ccx/views.py
index 768e967bf4f9a0fbde233d87e0fa80bc19898be2..7b83c0f729b3937bb350f047cf221f486571cd41 100644
--- a/lms/djangoapps/ccx/views.py
+++ b/lms/djangoapps/ccx/views.py
@@ -27,7 +27,7 @@ from django.views.decorators.csrf import ensure_csrf_cookie
 from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.courseware.courses import get_course_by_id
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.ccx.models import CustomCourseForEdX
 from lms.djangoapps.ccx.overrides import (
     bulk_delete_ccx_override_fields,
@@ -54,8 +54,8 @@ from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params
 from lms.djangoapps.instructor.views.gradebook_api import get_grade_book_page
 from openedx.core.djangoapps.django_comment_common.models import FORUM_ROLE_ADMINISTRATOR, assign_role
 from openedx.core.djangoapps.django_comment_common.utils import seed_permissions_roles
-from student.models import CourseEnrollment
-from student.roles import CourseCcxCoachRole
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseCcxCoachRole
 from xmodule.modulestore.django import SignalHandler
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/certificates/admin.py b/lms/djangoapps/certificates/admin.py
index 5a1967a811f882ff472ffb0ad2e6f9765fc646b7..01b3c4981bb368c492bde8b144787e8a4b8f0077 100644
--- a/lms/djangoapps/certificates/admin.py
+++ b/lms/djangoapps/certificates/admin.py
@@ -19,7 +19,7 @@ from lms.djangoapps.certificates.models import (
     CertificateTemplateAsset,
     GeneratedCertificate
 )
-from util.organizations_helpers import get_organizations
+from common.djangoapps.util.organizations_helpers import get_organizations
 
 
 class CertificateTemplateForm(forms.ModelForm):
diff --git a/lms/djangoapps/certificates/api.py b/lms/djangoapps/certificates/api.py
index 76b3f2f0746999b481d13d2f45aca0f07034f764..42343da8842fac6adf85cc60d880b389b61f7252 100644
--- a/lms/djangoapps/certificates/api.py
+++ b/lms/djangoapps/certificates/api.py
@@ -32,7 +32,7 @@ from lms.djangoapps.certificates.queue import XQueueCertInterface
 from lms.djangoapps.instructor.access import list_with_level
 from openedx.core.djangoapps.certificates.api import certificates_viewable_for_course
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from util.organizations_helpers import get_course_organization_id
+from common.djangoapps.util.organizations_helpers import get_course_organization_id
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger("edx.certificate")
diff --git a/lms/djangoapps/certificates/apis/v0/tests/test_views.py b/lms/djangoapps/certificates/apis/v0/tests/test_views.py
index b99eebdf15493f1050b0da1c04e972846babc816..dee9b063d48d4fc29e6bf86983b7a1b20832802f 100644
--- a/lms/djangoapps/certificates/apis/v0/tests/test_views.py
+++ b/lms/djangoapps/certificates/apis/v0/tests/test_views.py
@@ -15,14 +15,14 @@ from mock import patch
 from rest_framework import status
 from rest_framework.test import APITestCase
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.apis.v0.views import CertificatesDetailView, CertificatesListView
 from lms.djangoapps.certificates.models import CertificateStatuses
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.user_api.tests.factories import UserPreferenceFactory
 from openedx.core.djangoapps.user_authn.tests.utils import JWT_AUTH_TYPES, AuthAndScopesTestMixin, AuthType
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/models.py b/lms/djangoapps/certificates/models.py
index 7e076234322b6c468a4f2e924f36f9e10d1e6426..82a79c68c934163cc05c30ad872a03ca3a4aa70d 100644
--- a/lms/djangoapps/certificates/models.py
+++ b/lms/djangoapps/certificates/models.py
@@ -71,12 +71,12 @@ from simple_history.models import HistoricalRecords
 
 from lms.djangoapps.badges.events.course_complete import course_badge_check
 from lms.djangoapps.badges.events.course_meta import completion_check, course_group_check
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.instructor_task.models import InstructorTask
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.signals.signals import COURSE_CERT_AWARDED, COURSE_CERT_CHANGED, COURSE_CERT_REVOKED
 from openedx.core.djangoapps.xmodule_django.models import NoneToEmptyManager
-from util.milestones_helpers import fulfill_course_milestone, is_prerequisite_courses_enabled
+from common.djangoapps.util.milestones_helpers import fulfill_course_milestone, is_prerequisite_courses_enabled
 
 LOGGER = logging.getLogger(__name__)
 
@@ -248,7 +248,7 @@ class GeneratedCertificate(models.Model):
     """
     # Import here instead of top of file since this module gets imported before
     # the course_modes app is loaded, resulting in a Django deprecation warning.
-    from course_modes.models import CourseMode
+    from common.djangoapps.course_modes.models import CourseMode
 
     # Only returns eligible certificates. This should be used in
     # preference to the default `objects` manager in most cases.
@@ -619,7 +619,7 @@ def certificate_status(generated_certificate):
     """
     # Import here instead of top of file since this module gets imported before
     # the course_modes app is loaded, resulting in a Django deprecation warning.
-    from course_modes.models import CourseMode
+    from common.djangoapps.course_modes.models import CourseMode
 
     if generated_certificate:
         cert_status = {
@@ -650,7 +650,7 @@ def certificate_info_for_user(user, course_id, grade, user_is_whitelisted, user_
     """
     Returns the certificate info for a user for grade report.
     """
-    from student.models import CourseEnrollment
+    from common.djangoapps.student.models import CourseEnrollment
 
     certificate_is_delivered = 'N'
     certificate_type = 'N/A'
@@ -704,7 +704,7 @@ class ExampleCertificateSet(TimeStampedModel):
         """
         # Import here instead of top of file since this module gets imported before
         # the course_modes app is loaded, resulting in a Django deprecation warning.
-        from course_modes.models import CourseMode
+        from common.djangoapps.course_modes.models import CourseMode
         cert_set = cls.objects.create(course_key=course_key)
 
         ExampleCertificate.objects.bulk_create([
diff --git a/lms/djangoapps/certificates/queue.py b/lms/djangoapps/certificates/queue.py
index d917161ae4503fccf19c3e932b6908fff3d36adb..2f9f6175745a2cecd07de00c212724fdc73971b6 100644
--- a/lms/djangoapps/certificates/queue.py
+++ b/lms/djangoapps/certificates/queue.py
@@ -16,7 +16,7 @@ from lxml.etree import ParserError, XMLSyntaxError
 from requests.auth import HTTPBasicAuth
 
 from capa.xqueue_interface import XQueueInterface, make_hashkey, make_xheader
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateStatuses as status
 from lms.djangoapps.certificates.models import (
     CertificateWhitelist,
@@ -26,7 +26,7 @@ from lms.djangoapps.certificates.models import (
 )
 from lms.djangoapps.grades.api import CourseGradeFactory
 from lms.djangoapps.verify_student.services import IDVerificationService
-from student.models import CourseEnrollment, UserProfile
+from common.djangoapps.student.models import CourseEnrollment, UserProfile
 from xmodule.modulestore.django import modulestore
 
 LOGGER = logging.getLogger(__name__)
diff --git a/lms/djangoapps/certificates/signals.py b/lms/djangoapps/certificates/signals.py
index ef7c6dbfb6f5220a9c71af75f00ea597cc8145c0..eb0edf3e4e0327143fc2c38e7a7947281da3d96f 100644
--- a/lms/djangoapps/certificates/signals.py
+++ b/lms/djangoapps/certificates/signals.py
@@ -9,7 +9,7 @@ import six
 from django.db.models.signals import post_save
 from django.dispatch import receiver
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import (
     CertificateGenerationCourseSetting,
     CertificateStatuses,
@@ -27,7 +27,7 @@ from openedx.core.djangoapps.signals.signals import (
     COURSE_GRADE_NOW_PASSED,
     LEARNER_NOW_VERIFIED
 )
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 log = logging.getLogger(__name__)
 CERTIFICATE_DELAY_SECONDS = 2
diff --git a/lms/djangoapps/certificates/tests/factories.py b/lms/djangoapps/certificates/tests/factories.py
index c1dc63aedd92918ac903d68b44c85d144f2f390a..f15f7cc6fa57df2030ce0b85c8188608c6ed61d0 100644
--- a/lms/djangoapps/certificates/tests/factories.py
+++ b/lms/djangoapps/certificates/tests/factories.py
@@ -12,7 +12,7 @@ from lms.djangoapps.certificates.models import (
     CertificateWhitelist,
     GeneratedCertificate
 )
-from student.models import LinkedInAddToProfileConfiguration
+from common.djangoapps.student.models import LinkedInAddToProfileConfiguration
 
 
 class GeneratedCertificateFactory(DjangoModelFactory):
diff --git a/lms/djangoapps/certificates/tests/test_api.py b/lms/djangoapps/certificates/tests/test_api.py
index 1eb58fbf4f1467f071c2ddc351be9cd152be14b7..7bfe45b548caa2969f5fce5ff4580d91b57c3db4 100644
--- a/lms/djangoapps/certificates/tests/test_api.py
+++ b/lms/djangoapps/certificates/tests/test_api.py
@@ -19,8 +19,8 @@ from mock import patch
 from opaque_keys.edx.keys import CourseKey
 from opaque_keys.edx.locator import CourseLocator
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.certificates import api as certs_api
 from lms.djangoapps.certificates.models import (
     CertificateGenerationConfiguration,
@@ -34,9 +34,9 @@ from lms.djangoapps.certificates.tests.factories import CertificateInvalidationF
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
 from lms.djangoapps.grades.tests.utils import mock_passing_grade
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
-from util.testing import EventTestMixin
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import EventTestMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/tests/test_cert_management.py b/lms/djangoapps/certificates/tests/test_cert_management.py
index a09020f64249498489fbd9b8ba914b3381e933d9..61b4b27fbdb7fe06f71ce02df27b6efbec5439a5 100644
--- a/lms/djangoapps/certificates/tests/test_cert_management.py
+++ b/lms/djangoapps/certificates/tests/test_cert_management.py
@@ -13,10 +13,10 @@ from six.moves import range
 from lms.djangoapps.badges.events.course_complete import get_completion_badge
 from lms.djangoapps.badges.models import BadgeAssertion
 from lms.djangoapps.badges.tests.factories import BadgeAssertionFactory, CourseCompleteImageConfigurationFactory
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
 from lms.djangoapps.grades.tests.utils import mock_passing_grade
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, check_mongo_calls
 
diff --git a/lms/djangoapps/certificates/tests/test_create_fake_cert.py b/lms/djangoapps/certificates/tests/test_create_fake_cert.py
index 2cc8561b2dd1762ba77c1c59b7e4e9a2ceae8e66..adc0a9106968d98caee6b1f32e86a8fd700e6280 100644
--- a/lms/djangoapps/certificates/tests/test_create_fake_cert.py
+++ b/lms/djangoapps/certificates/tests/test_create_fake_cert.py
@@ -9,7 +9,7 @@ from opaque_keys.edx.locator import CourseLocator
 from six import text_type
 
 from lms.djangoapps.certificates.models import GeneratedCertificate
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class CreateFakeCertTest(TestCase):
diff --git a/lms/djangoapps/certificates/tests/test_models.py b/lms/djangoapps/certificates/tests/test_models.py
index 6c8f6811257221c07bbb80e76105a0eeae23aaf9..7a6f1466c30190a8788d7106f129bd6e8ec7f3f8 100644
--- a/lms/djangoapps/certificates/tests/test_models.py
+++ b/lms/djangoapps/certificates/tests/test_models.py
@@ -26,7 +26,7 @@ from lms.djangoapps.certificates.models import (
 from lms.djangoapps.certificates.tests.factories import CertificateInvalidationFactory, GeneratedCertificateFactory
 from lms.djangoapps.instructor_task.tests.factories import InstructorTaskFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/tests/test_queue.py b/lms/djangoapps/certificates/tests/test_queue.py
index 52f10ef083713a05babac1a4904a853625247924..f008f4c97181be7c82682d5570140a4f17c00c8e 100644
--- a/lms/djangoapps/certificates/tests/test_queue.py
+++ b/lms/djangoapps/certificates/tests/test_queue.py
@@ -23,7 +23,7 @@ from testfixtures import LogCapture
 # and verify that items are being correctly added to the queue
 # in our `XQueueCertInterface` implementation.
 from capa.xqueue_interface import XQueueInterface
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import (
     CertificateStatuses,
     ExampleCertificate,
@@ -34,7 +34,7 @@ from lms.djangoapps.certificates.queue import LOGGER, XQueueCertInterface
 from lms.djangoapps.certificates.tests.factories import CertificateWhitelistFactory, GeneratedCertificateFactory
 from lms.djangoapps.grades.tests.utils import mock_passing_grade
 from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/tests/test_services.py b/lms/djangoapps/certificates/tests/test_services.py
index 0b608f083f09d7d5e2c555bedb07ffa711ac15b7..4a84fb62bcf1c255daadee25d7c2d970a855250d 100644
--- a/lms/djangoapps/certificates/tests/test_services.py
+++ b/lms/djangoapps/certificates/tests/test_services.py
@@ -6,7 +6,7 @@ Unit Tests for the Certificate service
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
 from lms.djangoapps.certificates.services import CertificateService
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/tests/test_signals.py b/lms/djangoapps/certificates/tests/test_signals.py
index b95058cb8209702278137986c29efd35f33bd068..b776a750c96c08a6c155479b610261843ce79fd9 100644
--- a/lms/djangoapps/certificates/tests/test_signals.py
+++ b/lms/djangoapps/certificates/tests/test_signals.py
@@ -9,7 +9,7 @@ import mock
 import six
 from edx_toggles.toggles import WaffleSwitch
 from edx_toggles.toggles.testutils import override_waffle_switch
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/tests/test_support_views.py b/lms/djangoapps/certificates/tests/test_support_views.py
index a47df6a8eee6e443ee407aabc278aac6c8c14fa8..937eb25b250e103f90be70ece2484929bec26c54 100644
--- a/lms/djangoapps/certificates/tests/test_support_views.py
+++ b/lms/djangoapps/certificates/tests/test_support_views.py
@@ -20,9 +20,9 @@ from lms.djangoapps.certificates.models import CertificateInvalidation, Certific
 from lms.djangoapps.certificates.tests.factories import CertificateInvalidationFactory
 from lms.djangoapps.grades.tests.utils import mock_passing_grade
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.models import CourseEnrollment
-from student.roles import GlobalStaff, SupportStaffRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import GlobalStaff, SupportStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -314,7 +314,7 @@ class CertificateRegenerateTests(CertificateSupportTestCase):
         self.cert.save()
 
         with mock_passing_grade(percent=0.75):
-            with patch('course_modes.models.CourseMode.mode_for_course') as mock_mode_for_course:
+            with patch('common.djangoapps.course_modes.models.CourseMode.mode_for_course') as mock_mode_for_course:
                 mock_mode_for_course.return_value = 'honor'
                 api.regenerate_user_certificates(self.student, self.course.id,
                                                  course=self.course)
diff --git a/lms/djangoapps/certificates/tests/test_tasks.py b/lms/djangoapps/certificates/tests/test_tasks.py
index ac596fc7cd4e486124bc2c29247e96af25ec8482..31a4db4324c63f492f0d9dace21ceeef02698868 100644
--- a/lms/djangoapps/certificates/tests/test_tasks.py
+++ b/lms/djangoapps/certificates/tests/test_tasks.py
@@ -10,7 +10,7 @@ from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.certificates.tasks import generate_certificate
 from lms.djangoapps.verify_student.models import IDVerificationAttempt
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/lms/djangoapps/certificates/tests/test_views.py b/lms/djangoapps/certificates/tests/test_views.py
index a823d1c5d7cae89145963e0e02f1735edb5cdc7a..39edc36e31c5a089597cb8144768d5e07d9d11e8 100644
--- a/lms/djangoapps/certificates/tests/test_views.py
+++ b/lms/djangoapps/certificates/tests/test_views.py
@@ -24,7 +24,7 @@ from lms.djangoapps.certificates.models import (
 )
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/tests/test_webview_views.py b/lms/djangoapps/certificates/tests/test_webview_views.py
index fa1d47d88e42fe606c7d3b369ed55d7320fc5449..665853265324437e6b8ab5b3e40d2d126e49d6ac 100644
--- a/lms/djangoapps/certificates/tests/test_webview_views.py
+++ b/lms/djangoapps/certificates/tests/test_webview_views.py
@@ -16,7 +16,7 @@ from django.urls import reverse
 from mock import patch
 from urllib.parse import urlencode
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles import WaffleSwitch
 from edx_toggles.toggles.testutils import override_waffle_switch
 from lms.djangoapps.badges.events.course_complete import get_completion_badge
@@ -50,11 +50,11 @@ from openedx.core.djangoapps.site_configuration.tests.test_util import (
 from openedx.core.djangolib.js_utils import js_escaped_string
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.core.lib.tests.assertions.events import assert_event_matches
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from track.tests import EventTrackingTestCase
-from util import organizations_helpers as organizations_api
-from util.date_utils import strftime_localized
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.track.tests import EventTrackingTestCase
+from common.djangoapps.util import organizations_helpers as organizations_api
+from common.djangoapps.util.date_utils import strftime_localized
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/tests/tests.py b/lms/djangoapps/certificates/tests/tests.py
index f3c7b87f9e589bbb56be042bb3a924db48143972..13fa74c92c6bd8218e4b0ff89161dbe493d9ccde 100644
--- a/lms/djangoapps/certificates/tests/tests.py
+++ b/lms/djangoapps/certificates/tests/tests.py
@@ -20,9 +20,9 @@ from lms.djangoapps.certificates.models import (
     certificate_status_for_student
 )
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
-from student.models import CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.milestones_helpers import milestones_achieved_by_user, set_prerequisite_courses
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.milestones_helpers import milestones_achieved_by_user, set_prerequisite_courses
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/certificates/views/support.py b/lms/djangoapps/certificates/views/support.py
index 01b75f3630d2a9b2aac511b418a5a76881f68a7f..c8a353800137edbd5c3875795b7a988b0c509fcc 100644
--- a/lms/djangoapps/certificates/views/support.py
+++ b/lms/djangoapps/certificates/views/support.py
@@ -24,8 +24,8 @@ from lms.djangoapps.certificates.models import CertificateInvalidation
 from lms.djangoapps.certificates.permissions import GENERATE_ALL_CERTIFICATES, VIEW_ALL_CERTIFICATES
 from lms.djangoapps.instructor_task.api import generate_certificates_for_students
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment, User
-from util.json_request import JsonResponse
+from common.djangoapps.student.models import CourseEnrollment, User
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/certificates/views/webview.py b/lms/djangoapps/certificates/views/webview.py
index d6991e5edc0927266a38b5dd92ae415f8f0331a1..26f8e7f03330e9ead77b72ceb6185de456cb4f93 100644
--- a/lms/djangoapps/certificates/views/webview.py
+++ b/lms/djangoapps/certificates/views/webview.py
@@ -23,8 +23,8 @@ from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.badges.events.course_complete import get_completion_badge
 from lms.djangoapps.badges.utils import badges_enabled
-from edxmako.shortcuts import render_to_response
-from edxmako.template import Template
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.template import Template
 from lms.djangoapps.certificates.api import (
     emit_certificate_event,
     get_active_web_certificate,
@@ -47,10 +47,10 @@ from openedx.core.djangoapps.certificates.api import certificates_viewable_for_c
 from openedx.core.djangoapps.lang_pref.api import get_closest_released_language
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.lib.courses import course_image_url
-from student.models import LinkedInAddToProfileConfiguration
-from util import organizations_helpers as organization_api
-from util.date_utils import strftime_localized
-from util.views import handle_500
+from common.djangoapps.student.models import LinkedInAddToProfileConfiguration
+from common.djangoapps.util import organizations_helpers as organization_api
+from common.djangoapps.util.date_utils import strftime_localized
+from common.djangoapps.util.views import handle_500
 
 log = logging.getLogger(__name__)
 _ = translation.ugettext
diff --git a/lms/djangoapps/certificates/views/xqueue.py b/lms/djangoapps/certificates/views/xqueue.py
index 449bf70f9424ae33b83c2d894c4e17c89472040a..d700e8d78375f608cd2cb7295988a39ef2d1cb86 100644
--- a/lms/djangoapps/certificates/views/xqueue.py
+++ b/lms/djangoapps/certificates/views/xqueue.py
@@ -21,8 +21,8 @@ from lms.djangoapps.certificates.models import (
     GeneratedCertificate,
     certificate_status_for_student
 )
-from util.json_request import JsonResponse, JsonResponseBadRequest
-from util.request_rate_limiter import BadRequestRateLimiter
+from common.djangoapps.util.json_request import JsonResponse, JsonResponseBadRequest
+from common.djangoapps.util.request_rate_limiter import BadRequestRateLimiter
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/commerce/api/v0/tests/test_views.py b/lms/djangoapps/commerce/api/v0/tests/test_views.py
index 3fa30d5e5cc9a5f7f5b1a738c74896a18c9773cd..36904bb7af71483e8ee9debae03ea93d01a2bdb2 100644
--- a/lms/djangoapps/commerce/api/v0/tests/test_views.py
+++ b/lms/djangoapps/commerce/api/v0/tests/test_views.py
@@ -15,13 +15,13 @@ from django.test import TestCase
 from django.test.utils import override_settings
 from django.urls import reverse, reverse_lazy
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.embargo.test_utils import restrict_course
 from openedx.core.djangoapps.enrollments.api import get_enrollment
 from openedx.core.lib.django_test_client_utils import get_absolute_url
-from student.models import CourseEnrollment
-from student.tests.tests import EnrollmentEventTestMixin
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.tests import EnrollmentEventTestMixin
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/commerce/api/v0/views.py b/lms/djangoapps/commerce/api/v0/views.py
index bf51afdea051ee4d65cfd72fc713e2d828bfba45..754d289dc68d43850847ce8de1c38fc6d8dc56ac 100644
--- a/lms/djangoapps/commerce/api/v0/views.py
+++ b/lms/djangoapps/commerce/api/v0/views.py
@@ -15,18 +15,18 @@ from rest_framework.status import HTTP_406_NOT_ACCEPTABLE, HTTP_409_CONFLICT
 from rest_framework.views import APIView
 from six import text_type
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware import courses
-from entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.models import CourseEntitlement
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
 from openedx.core.djangoapps.embargo import api as embargo_api
 from openedx.core.djangoapps.enrollments.api import add_enrollment
 from openedx.core.djangoapps.enrollments.views import EnrollmentCrossDomainSessionAuth
 from openedx.core.djangoapps.user_api.preferences.api import update_email_opt_in
 from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
-from student.models import CourseEnrollment
-from student.signals import SAILTHRU_AUDIT_PURCHASE
-from util.json_request import JsonResponse
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.signals import SAILTHRU_AUDIT_PURCHASE
+from common.djangoapps.util.json_request import JsonResponse
 
 from ...constants import Messages
 from ...http import DetailResponse
diff --git a/lms/djangoapps/commerce/api/v1/models.py b/lms/djangoapps/commerce/api/v1/models.py
index 9c910c17cfc4556ad33cd470b5780538cd8e827c..8c484c5e5a4988530d562149b8a472c0a9f8d0d9 100644
--- a/lms/djangoapps/commerce/api/v1/models.py
+++ b/lms/djangoapps/commerce/api/v1/models.py
@@ -9,7 +9,7 @@ from django.db import transaction
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.verify_student.models import VerificationDeadline
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 
diff --git a/lms/djangoapps/commerce/api/v1/serializers.py b/lms/djangoapps/commerce/api/v1/serializers.py
index 82091e8b223333ccc4215bcbf8223230f10996eb..f882cd461c90b7d4e2c1615fed1166df3a05c597 100644
--- a/lms/djangoapps/commerce/api/v1/serializers.py
+++ b/lms/djangoapps/commerce/api/v1/serializers.py
@@ -10,7 +10,7 @@ from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 from rest_framework import serializers
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from xmodule.modulestore.django import modulestore
 
 from .models import UNDEFINED, Course
diff --git a/lms/djangoapps/commerce/api/v1/tests/test_models.py b/lms/djangoapps/commerce/api/v1/tests/test_models.py
index 29e8b18efdaa18a235e2bc0a7ab45df24801be69..ff2b3e3d95f5cf762fc6ec717897ad0b46a428aa 100644
--- a/lms/djangoapps/commerce/api/v1/tests/test_models.py
+++ b/lms/djangoapps/commerce/api/v1/tests/test_models.py
@@ -4,7 +4,7 @@
 import ddt
 from django.test import TestCase
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 
 from ..models import Course
 
diff --git a/lms/djangoapps/commerce/api/v1/tests/test_views.py b/lms/djangoapps/commerce/api/v1/tests/test_views.py
index 2981d987d5a86f34d85885c4b60b7699f82b4b96..1155dbf90c3c6ea9f15588c059410b2fe291bb0b 100644
--- a/lms/djangoapps/commerce/api/v1/tests/test_views.py
+++ b/lms/djangoapps/commerce/api/v1/tests/test_views.py
@@ -15,9 +15,9 @@ from django.test.utils import override_settings
 from django.urls import reverse, reverse_lazy
 from rest_framework.utils.encoders import JSONEncoder
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.verify_student.models import VerificationDeadline
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/commerce/api/v1/views.py b/lms/djangoapps/commerce/api/v1/views.py
index e92c8f70275f9d92f6385ce290cb9c0b4df15373..4ea967bf6c284763e68c1c8ac1273025aff1247f 100644
--- a/lms/djangoapps/commerce/api/v1/views.py
+++ b/lms/djangoapps/commerce/api/v1/views.py
@@ -15,10 +15,10 @@ from rest_framework.permissions import IsAuthenticated
 from rest_framework.views import APIView
 from openedx.core.lib.api.authentication import BearerAuthentication
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
 from openedx.core.lib.api.mixins import PutAsCreateMixin
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 
 from ...utils import is_account_activation_requirement_disabled
 from .models import Course
diff --git a/lms/djangoapps/commerce/http.py b/lms/djangoapps/commerce/http.py
index 35e4063087adeb8da5540600ab55ad927968c4a8..01e19bb1e8caba2c3d2f96ca98bcff98db09935e 100644
--- a/lms/djangoapps/commerce/http.py
+++ b/lms/djangoapps/commerce/http.py
@@ -3,7 +3,7 @@
 
 from rest_framework.status import HTTP_200_OK, HTTP_500_INTERNAL_SERVER_ERROR
 
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 
 
 class DetailResponse(JsonResponse):
diff --git a/lms/djangoapps/commerce/management/commands/create_orders_for_old_enterprise_course_enrollment.py b/lms/djangoapps/commerce/management/commands/create_orders_for_old_enterprise_course_enrollment.py
index 31157ac4360f27ee5fbdd751203a699f04938f77..839a5fbd6a88f3bc85b689d7063451fe975975b9 100644
--- a/lms/djangoapps/commerce/management/commands/create_orders_for_old_enterprise_course_enrollment.py
+++ b/lms/djangoapps/commerce/management/commands/create_orders_for_old_enterprise_course_enrollment.py
@@ -18,10 +18,10 @@ from requests import Timeout
 from slumber.exceptions import HttpServerError, SlumberBaseException
 
 from enterprise.models import EnterpriseCourseEnrollment
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
 
-from util.query import use_read_replica_if_available
+from common.djangoapps.util.query import use_read_replica_if_available
 
 User = get_user_model()
 
diff --git a/lms/djangoapps/commerce/management/commands/tests/test_create_orders_for_old_enterprise_course_enrollmnet.py b/lms/djangoapps/commerce/management/commands/tests/test_create_orders_for_old_enterprise_course_enrollmnet.py
index 1a8b0c15690554b7250d1f42a262d9219b72068c..edb0abab6197c89d7cab3a8ab7b5d3ca2bc12e80 100644
--- a/lms/djangoapps/commerce/management/commands/tests/test_create_orders_for_old_enterprise_course_enrollmnet.py
+++ b/lms/djangoapps/commerce/management/commands/tests/test_create_orders_for_old_enterprise_course_enrollmnet.py
@@ -10,8 +10,8 @@ from django.utils.six import StringIO
 from mock import patch
 from six.moves import range
 
-from course_modes.models import CourseMode
-from student.tests.factories import UserFactory, CourseEnrollmentFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.tests.factories import UserFactory, CourseEnrollmentFactory
 from openedx.core.djangoapps.credit.tests.test_api import TEST_ECOMMERCE_WORKER
 from openedx.core.djangolib.testing.utils import skip_unless_lms
 from openedx.features.enterprise_support.tests.factories import (
diff --git a/lms/djangoapps/commerce/signals.py b/lms/djangoapps/commerce/signals.py
index d847758cd7e924e913ae40a87e09048c58599263..9ba69c9f7295d19bcbc83ae8214570f765e1c575 100644
--- a/lms/djangoapps/commerce/signals.py
+++ b/lms/djangoapps/commerce/signals.py
@@ -10,7 +10,7 @@ from django.contrib.auth.models import AnonymousUser
 from django.dispatch import receiver
 
 from openedx.core.djangoapps.commerce.utils import is_commerce_service_configured
-from student.signals import REFUND_ORDER
+from common.djangoapps.student.signals import REFUND_ORDER
 
 from .utils import refund_seat
 
diff --git a/lms/djangoapps/commerce/tests/__init__.py b/lms/djangoapps/commerce/tests/__init__.py
index 1c584e7530ac1fb88d5699e46faf8a033a8c16a2..69d0ea84afe691bb6a8830533b570a109c48ca01 100644
--- a/lms/djangoapps/commerce/tests/__init__.py
+++ b/lms/djangoapps/commerce/tests/__init__.py
@@ -10,7 +10,7 @@ from freezegun import freeze_time
 
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
 from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 JSON = 'application/json'
 TEST_PUBLIC_URL_ROOT = 'http://www.example.com'
diff --git a/lms/djangoapps/commerce/tests/test_signals.py b/lms/djangoapps/commerce/tests/test_signals.py
index 0917c94e1240b64798da6271083c672405d8caad..f938c9272ddde6be862b66d3c3ce41945e1a5f71 100644
--- a/lms/djangoapps/commerce/tests/test_signals.py
+++ b/lms/djangoapps/commerce/tests/test_signals.py
@@ -18,9 +18,9 @@ from opaque_keys.edx.keys import CourseKey
 from requests import Timeout
 from six.moves.urllib.parse import urljoin
 
-from course_modes.models import CourseMode
-from student.signals import REFUND_ORDER
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.signals import REFUND_ORDER
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 from ..models import CommerceConfiguration
 from ..utils import _generate_refund_notification_body, _send_refund_notification, create_zendesk_ticket
diff --git a/lms/djangoapps/commerce/tests/test_utils.py b/lms/djangoapps/commerce/tests/test_utils.py
index 45f4283b9f1f75f9dd7f96ee6ff39f0f66b68239..32faf2e64772874366ad8bdbf75d1f8d5fe29c55 100644
--- a/lms/djangoapps/commerce/tests/test_utils.py
+++ b/lms/djangoapps/commerce/tests/test_utils.py
@@ -14,20 +14,20 @@ from opaque_keys.edx.locator import CourseLocator
 from six.moves.urllib.parse import urlencode
 from waffle.testutils import override_switch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.commerce.models import CommerceConfiguration
 from lms.djangoapps.commerce.utils import EcommerceService, refund_entitlement, refund_seat
 from openedx.core.djangolib.testing.utils import skip_unless_lms
 from openedx.core.lib.log_utils import audit_log
-from student.models import CourseEnrollment
-from student.tests.factories import TEST_PASSWORD, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
 # Entitlements is not in CMS' INSTALLED_APPS so these imports will error during test collection
 if settings.ROOT_URLCONF == 'lms.urls':
-    from entitlements.tests.factories import CourseEntitlementFactory
+    from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 
 
 def update_commerce_config(enabled=False, checkout_page='/test_basket/add/'):
diff --git a/lms/djangoapps/commerce/tests/test_views.py b/lms/djangoapps/commerce/tests/test_views.py
index 22637c808015ba89191e38f55a0612816db6fc84..2230ac8a7728923970e0fb1bb5ae9d0ee5655868 100644
--- a/lms/djangoapps/commerce/tests/test_views.py
+++ b/lms/djangoapps/commerce/tests/test_views.py
@@ -1,6 +1,6 @@
 """ Tests for commerce views. """
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class UserMixin(object):
diff --git a/lms/djangoapps/commerce/utils.py b/lms/djangoapps/commerce/utils.py
index ab5679a149013a7711816c0a3ea825da419188f4..5037a535b89cf336db3d820a6af446051da069ec 100644
--- a/lms/djangoapps/commerce/utils.py
+++ b/lms/djangoapps/commerce/utils.py
@@ -14,11 +14,11 @@ from django.utils.translation import ugettext as _
 from opaque_keys.edx.keys import CourseKey
 from six.moves.urllib.parse import urlencode, urljoin
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client, is_commerce_service_configured
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.theming import helpers as theming_helpers
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 from .models import CommerceConfiguration
 
diff --git a/lms/djangoapps/course_api/api.py b/lms/djangoapps/course_api/api.py
index 86aa3c9d39cda60bafcaf995a1f50e4b06e0b9bc..86c9fe6ba8a5afcee256c4380a6923bbb282963c 100644
--- a/lms/djangoapps/course_api/api.py
+++ b/lms/djangoapps/course_api/api.py
@@ -21,8 +21,8 @@ from lms.djangoapps.courseware.courses import (
 from opaque_keys.edx.django.models import CourseKeyField
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.lib.api.view_utils import LazySequence
-from student.models import CourseAccessRole
-from student.roles import GlobalStaff
+from common.djangoapps.student.models import CourseAccessRole
+from common.djangoapps.student.roles import GlobalStaff
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
diff --git a/lms/djangoapps/course_api/blocks/permissions.py b/lms/djangoapps/course_api/blocks/permissions.py
index 3d0e2c467037feeff0ec232b88209846a04d5f32..391ede90cfd19a21f1a2133f2224ee6d03ccb15e 100644
--- a/lms/djangoapps/course_api/blocks/permissions.py
+++ b/lms/djangoapps/course_api/blocks/permissions.py
@@ -8,8 +8,8 @@ from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.courseware.access_response import AccessResponse
 from lms.djangoapps.courseware.access_utils import ACCESS_DENIED, ACCESS_GRANTED, check_public_access
 from lms.djangoapps.courseware.courses import get_course
-from student.models import CourseEnrollment
-from student.roles import CourseStaffRole
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseStaffRole
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC
 
 
diff --git a/lms/djangoapps/course_api/blocks/tests/test_api.py b/lms/djangoapps/course_api/blocks/tests/test_api.py
index ba73088ca13a5051556afb5b5b865edb75d044cd..f738fd09bf5e3772be2cb1fc943c7033b5fab31c 100644
--- a/lms/djangoapps/course_api/blocks/tests/test_api.py
+++ b/lms/djangoapps/course_api/blocks/tests/test_api.py
@@ -10,12 +10,12 @@ import six
 from django.test.client import RequestFactory
 from edx_toggles.toggles.testutils import override_waffle_switch
 from mock import patch
-from student.tests.factories import UserFactory
+
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import SampleCourseFactory, check_mongo_calls
 from xmodule.modulestore.tests.sample_courses import BlockInfo
-
 from openedx.core.djangoapps.content.block_structure.api import clear_course_from_cache
 from openedx.core.djangoapps.content.block_structure.config import STORAGE_BACKING_FOR_CACHE, waffle_switch
 
diff --git a/lms/djangoapps/course_api/blocks/tests/test_forms.py b/lms/djangoapps/course_api/blocks/tests/test_forms.py
index 62a8692b4f0c9d69e71c60831839768a38875f9c..47d23c8342fda6d8d98e9f8687aa55739740a683 100644
--- a/lms/djangoapps/course_api/blocks/tests/test_forms.py
+++ b/lms/djangoapps/course_api/blocks/tests/test_forms.py
@@ -11,8 +11,8 @@ from opaque_keys.edx.locator import CourseLocator
 from rest_framework.exceptions import PermissionDenied
 
 from openedx.core.djangoapps.util.test_forms import FormTestMixin
-from student.models import CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/course_api/blocks/tests/test_serializers.py b/lms/djangoapps/course_api/blocks/tests/test_serializers.py
index 5c71cba275f4e13f8affc573c47d3c85d5c29aa2..f0a28fbce9713b5abdd836c1579de14917c3d408 100644
--- a/lms/djangoapps/course_api/blocks/tests/test_serializers.py
+++ b/lms/djangoapps/course_api/blocks/tests/test_serializers.py
@@ -8,8 +8,8 @@ from mock import MagicMock
 
 from lms.djangoapps.course_blocks.api import get_course_block_access_transformers, get_course_blocks
 from openedx.core.djangoapps.content.block_structure.transformers import BlockStructureTransformers
-from student.roles import CourseStaffRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
diff --git a/lms/djangoapps/course_api/blocks/tests/test_views.py b/lms/djangoapps/course_api/blocks/tests/test_views.py
index 77e72212cb37f57aa6bc956dd98b9a49016655cb..71410c64feea3adedcff40a4cfdc66941c3cfc40 100644
--- a/lms/djangoapps/course_api/blocks/tests/test_views.py
+++ b/lms/djangoapps/course_api/blocks/tests/test_views.py
@@ -12,8 +12,8 @@ from django.conf import settings
 from django.urls import reverse
 from opaque_keys.edx.locator import CourseLocator
 
-from student.models import CourseEnrollment
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
 
diff --git a/lms/djangoapps/course_api/blocks/transformers/milestones.py b/lms/djangoapps/course_api/blocks/transformers/milestones.py
index 7b203745b5a5944fa38bfbf52984614aa22b7f51..218913ca6c268466095f1a762f5f47b3ad69a357 100644
--- a/lms/djangoapps/course_api/blocks/transformers/milestones.py
+++ b/lms/djangoapps/course_api/blocks/transformers/milestones.py
@@ -11,8 +11,8 @@ from edx_proctoring.api import get_attempt_status_summary
 from edx_proctoring.exceptions import ProctoredExamNotFoundException
 
 from openedx.core.djangoapps.content.block_structure.transformer import BlockStructureTransformer
-from student.models import EntranceExamConfiguration
-from util import milestones_helpers
+from common.djangoapps.student.models import EntranceExamConfiguration
+from common.djangoapps.util import milestones_helpers
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/course_api/blocks/transformers/tests/test_block_completion.py b/lms/djangoapps/course_api/blocks/transformers/tests/test_block_completion.py
index 0d67aedade49581b4f59c46b2b4811b098a1575e..0bddc35311787b12b04bf89945a3571cd8e0ac48 100644
--- a/lms/djangoapps/course_api/blocks/transformers/tests/test_block_completion.py
+++ b/lms/djangoapps/course_api/blocks/transformers/tests/test_block_completion.py
@@ -11,7 +11,7 @@ from xblock.core import XBlock
 from lms.djangoapps.course_api.blocks.transformers.block_completion import BlockCompletionTransformer
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from lms.djangoapps.course_blocks.transformers.tests.helpers import ModuleStoreTestCase, TransformerRegistryTestMixin
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
 
diff --git a/lms/djangoapps/course_api/blocks/transformers/tests/test_milestones.py b/lms/djangoapps/course_api/blocks/transformers/tests/test_milestones.py
index bbede2ede2c211a10e769239a19af45e35bc724e..c44ccd9863c52e058f98c9130c6513baaa3a3e22 100644
--- a/lms/djangoapps/course_api/blocks/transformers/tests/test_milestones.py
+++ b/lms/djangoapps/course_api/blocks/transformers/tests/test_milestones.py
@@ -13,7 +13,7 @@ from lms.djangoapps.course_blocks.api import get_course_blocks
 from lms.djangoapps.course_blocks.transformers.tests.helpers import CourseStructureTestCase
 from openedx.core.djangoapps.content.block_structure.transformers import BlockStructureTransformers
 from openedx.core.lib.gating import api as gating_api
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 
 from ..milestones import MilestonesAndSpecialExamsTransformer
 
diff --git a/lms/djangoapps/course_api/permissions.py b/lms/djangoapps/course_api/permissions.py
index 50790c11c90be4e439ad538c2391018607349787..99fafdd74b990e25d285740a67e62d6f2e5fd1eb 100644
--- a/lms/djangoapps/course_api/permissions.py
+++ b/lms/djangoapps/course_api/permissions.py
@@ -3,7 +3,7 @@ Course API Authorization functions
 """
 
 
-from student.roles import GlobalStaff
+from common.djangoapps.student.roles import GlobalStaff
 
 
 def can_view_courses_for_username(requesting_user, target_username):
diff --git a/lms/djangoapps/course_api/tests/mixins.py b/lms/djangoapps/course_api/tests/mixins.py
index c32bb21be6ec6d5450e566a102a8fbc0cdae478c..349193775b7139720df1a93c62433e8dde9c487b 100644
--- a/lms/djangoapps/course_api/tests/mixins.py
+++ b/lms/djangoapps/course_api/tests/mixins.py
@@ -5,7 +5,7 @@ Common mixins for Course API Tests
 
 from datetime import datetime
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.factories import ToyCourseFactory
 
 TEST_PASSWORD = u'edx'
diff --git a/lms/djangoapps/course_api/tests/test_forms.py b/lms/djangoapps/course_api/tests/test_forms.py
index 1ecaa48ebd2ce66b7df3ca430be7c2da8196e5df..100d2de23ffec670c5b82a919fd43ebe0a0787b1 100644
--- a/lms/djangoapps/course_api/tests/test_forms.py
+++ b/lms/djangoapps/course_api/tests/test_forms.py
@@ -11,7 +11,7 @@ from django.contrib.auth.models import AnonymousUser
 from django.http import QueryDict
 
 from openedx.core.djangoapps.util.test_forms import FormTestMixin
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/course_api/tests/test_views.py b/lms/djangoapps/course_api/tests/test_views.py
index 2369b6223600f478bbcdc13507b9f43ad3886829..43d019ad808ff05e41ac478d2d93bc2aaaaa0f7b 100644
--- a/lms/djangoapps/course_api/tests/test_views.py
+++ b/lms/djangoapps/course_api/tests/test_views.py
@@ -20,15 +20,15 @@ from search.tests.tests import TEST_INDEX_NAME
 from search.tests.utils import SearcherMixin
 from waffle.testutils import override_switch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from opaque_keys.edx.locator import LibraryLocator
 from openedx.core.lib.api.view_utils import LazySequence
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
-from student.auth import add_users
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.auth import add_users
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/course_blocks/transformers/library_content.py b/lms/djangoapps/course_blocks/transformers/library_content.py
index 6123f9f178c11395d0ecbf192cb8c3dab5d0e62b..da56dc81b95b0aa8e79946d29f40ad610760b1f5 100644
--- a/lms/djangoapps/course_blocks/transformers/library_content.py
+++ b/lms/djangoapps/course_blocks/transformers/library_content.py
@@ -14,7 +14,7 @@ from openedx.core.djangoapps.content.block_structure.transformer import (
     BlockStructureTransformer,
     FilteringTransformerMixin
 )
-from track import contexts
+from common.djangoapps.track import contexts
 from xmodule.library_content_module import LibraryContentBlock
 from xmodule.modulestore.django import modulestore
 
diff --git a/lms/djangoapps/course_blocks/transformers/tests/helpers.py b/lms/djangoapps/course_blocks/transformers/tests/helpers.py
index 605c5d70723c8afb88e31ef375700beb040a5d53..8028d34691b11e172ee7050b96faf1cdd98819c9 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/helpers.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/helpers.py
@@ -7,11 +7,11 @@ import six
 from six.moves import range
 from mock import patch
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.access import has_access
 from openedx.core.djangoapps.content.block_structure.tests.helpers import clear_registered_transformers_cache
 from openedx.core.djangoapps.content.block_structure.transformers import BlockStructureTransformers
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_library_content.py b/lms/djangoapps/course_blocks/transformers/tests/test_library_content.py
index bb3cbad872c3f220b88ba263532cd6b5d7362a41..2910d783a06ea2ec067a0dc258a99edcbe5278ad 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/test_library_content.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/test_library_content.py
@@ -8,7 +8,7 @@ import mock
 
 from openedx.core.djangoapps.content.block_structure.api import clear_course_from_cache
 from openedx.core.djangoapps.content.block_structure.transformers import BlockStructureTransformers
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 
 from ...api import get_course_blocks
 from ..library_content import ContentLibraryTransformer, ContentLibraryOrderTransformer
diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py b/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py
index ab1b8698420217574b86d1c3c3f7ecb24a20d1b2..fdca09e317a2f239ada17da92136fec7ddea22ea 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/test_load_override_data.py
@@ -11,7 +11,7 @@ import pytz
 from lms.djangoapps.course_blocks.transformers.load_override_data import REQUESTED_FIELDS, OverrideDataTransformer
 from lms.djangoapps.courseware.student_field_overrides import get_override_for_user, override_field_for_user
 from openedx.core.djangoapps.content.block_structure.factory import BlockStructureFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py b/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py
index f48a9c51d0a1e51401459072fb3eec3297dac5b1..1274caf22041ca792959508616d83855438dcc25 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/test_split_test.py
@@ -7,7 +7,7 @@ import ddt
 
 import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 from xmodule.modulestore.tests.factories import check_mongo_calls
 from xmodule.partitions.partitions import Group, UserPartition
 from xmodule.partitions.partitions_service import get_user_partition_groups
diff --git a/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py b/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py
index 6847582c13eacb27025d1ab4ce9d54d7eb05745f..5be604e9db4e21ad7e66cb9bd041d188cf8936d4 100644
--- a/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py
+++ b/lms/djangoapps/course_blocks/transformers/tests/test_user_partitions.py
@@ -13,14 +13,14 @@ import six
 from six.moves import range
 from mock import patch
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort
 from openedx.core.djangoapps.course_groups.partition_scheme import CohortPartitionScheme
 from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory, config_course_cohorts
 from openedx.core.djangoapps.course_groups.views import link_cohort_to_partition_group
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.content_type_gating.partitions import create_content_gating_partition
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.partitions.partitions import Group, UserPartition
 
diff --git a/lms/djangoapps/course_goals/api.py b/lms/djangoapps/course_goals/api.py
index 608e9cf8eb9a3f0e5e86bd98266d5428667d9858..7e5d7e04a8b6fa2ecf319bc61f5a05f3492edb68 100644
--- a/lms/djangoapps/course_goals/api.py
+++ b/lms/djangoapps/course_goals/api.py
@@ -8,7 +8,7 @@ from opaque_keys.edx.keys import CourseKey
 from rest_framework.reverse import reverse
 from six import text_type
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.features.course_experience import ENABLE_COURSE_GOALS
 
 from . import models
diff --git a/lms/djangoapps/course_goals/handlers.py b/lms/djangoapps/course_goals/handlers.py
index 3baff2e556437ae9947b0136d30b09da90d86f1c..9ca3db95755dedbc49b6f6c9d0abe875904ee1ba 100644
--- a/lms/djangoapps/course_goals/handlers.py
+++ b/lms/djangoapps/course_goals/handlers.py
@@ -8,8 +8,8 @@ from django.db import models
 from django.dispatch import receiver
 
 import six
-from course_modes.models import CourseMode
-from student.models import CourseEnrollment
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.models import CourseEnrollment
 
 from .api import add_course_goal, remove_course_goal
 from .models import GOAL_KEY_CHOICES
diff --git a/lms/djangoapps/course_goals/tests/test_api.py b/lms/djangoapps/course_goals/tests/test_api.py
index 8240f60a311972db1a90918f7432be4fcacddfb5..53fb021cf6483a73aa2fa0609447558f46ce014e 100644
--- a/lms/djangoapps/course_goals/tests/test_api.py
+++ b/lms/djangoapps/course_goals/tests/test_api.py
@@ -10,8 +10,8 @@ from django.urls import reverse
 from rest_framework.test import APIClient
 
 from lms.djangoapps.course_goals.models import CourseGoal
-from student.models import CourseEnrollment
-from track.tests import EventTrackingTestCase
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.track.tests import EventTrackingTestCase
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/course_goals/views.py b/lms/djangoapps/course_goals/views.py
index c98ff66aadc3193008c4d1be1d12d4f99e914a04..ebd5baafd8a91e618a1dfd36ed0a001561b46d88 100644
--- a/lms/djangoapps/course_goals/views.py
+++ b/lms/djangoapps/course_goals/views.py
@@ -15,7 +15,7 @@ from rest_framework.authentication import SessionAuthentication
 from rest_framework.response import Response
 
 from openedx.core.lib.api.permissions import IsStaffOrOwner
-from track import segment
+from common.djangoapps.track import segment
 
 from .api import get_course_goal_options
 from .models import GOAL_KEY_CHOICES, CourseGoal
diff --git a/lms/djangoapps/course_home_api/course_metadata/v1/tests/test_views.py b/lms/djangoapps/course_home_api/course_metadata/v1/tests/test_views.py
index 4f6a2d4c6e534528987ad321628e57504bbd6b5a..af35a99efd878a02f1faef7fe8c1d78521d62cd5 100644
--- a/lms/djangoapps/course_home_api/course_metadata/v1/tests/test_views.py
+++ b/lms/djangoapps/course_home_api/course_metadata/v1/tests/test_views.py
@@ -7,10 +7,10 @@ import ddt
 
 from django.urls import reverse
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.course_home_api.tests.utils import BaseCourseHomeTests
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/lms/djangoapps/course_home_api/course_metadata/v1/views.py b/lms/djangoapps/course_home_api/course_metadata/v1/views.py
index 348c495172dd98a8926349e24c100475eee1cce1..5398b9561cf42513dec89387336b8c66376e120d 100644
--- a/lms/djangoapps/course_home_api/course_metadata/v1/views.py
+++ b/lms/djangoapps/course_home_api/course_metadata/v1/views.py
@@ -7,7 +7,7 @@ from rest_framework.response import Response
 
 from opaque_keys.edx.keys import CourseKey
 
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.courseware.masquerade import setup_masquerade
 from lms.djangoapps.courseware.tabs import get_course_tab_list
diff --git a/lms/djangoapps/course_home_api/dates/v1/tests/test_views.py b/lms/djangoapps/course_home_api/dates/v1/tests/test_views.py
index 0ad6288e27e9060f5d89b35e1c34ca15e6a393cd..cc3975396d5c25e009fe9d353494a98cb94b9183 100644
--- a/lms/djangoapps/course_home_api/dates/v1/tests/test_views.py
+++ b/lms/djangoapps/course_home_api/dates/v1/tests/test_views.py
@@ -7,13 +7,13 @@ from datetime import datetime
 import ddt
 from django.urls import reverse
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.course_home_api.tests.utils import BaseCourseHomeTests
 from lms.djangoapps.course_home_api.toggles import COURSE_HOME_MICROFRONTEND, COURSE_HOME_MICROFRONTEND_DATES_TAB
 from lms.djangoapps.experiments.testutils import override_experiment_waffle_flag
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 @ddt.ddt
diff --git a/lms/djangoapps/course_home_api/outline/v1/tests/test_views.py b/lms/djangoapps/course_home_api/outline/v1/tests/test_views.py
index 683c49958d50642331dd92cc9d78d55dded79a0f..4d3a2cfc0934d309ba241e7749bd375bd83eae7e 100644
--- a/lms/djangoapps/course_home_api/outline/v1/tests/test_views.py
+++ b/lms/djangoapps/course_home_api/outline/v1/tests/test_views.py
@@ -10,7 +10,7 @@ from django.conf import settings
 from django.urls import reverse
 from mock import Mock, patch
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.course_home_api.tests.utils import BaseCourseHomeTests
 from lms.djangoapps.course_home_api.toggles import COURSE_HOME_MICROFRONTEND, COURSE_HOME_MICROFRONTEND_OUTLINE_TAB
@@ -18,8 +18,8 @@ from lms.djangoapps.experiments.testutils import override_experiment_waffle_flag
 from openedx.core.djangoapps.user_api.preferences.api import set_user_preference
 from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory
 from openedx.features.course_experience import COURSE_ENABLE_UNENROLLED_ACCESS_FLAG, ENABLE_COURSE_GOALS
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/course_home_api/outline/v1/views.py b/lms/djangoapps/course_home_api/outline/v1/views.py
index 344cd73b9e0d9de102196680bda1e27b9dbd70db..f79730a01e46d1512f51e79281f7f3a892d22fec 100644
--- a/lms/djangoapps/course_home_api/outline/v1/views.py
+++ b/lms/djangoapps/course_home_api/outline/v1/views.py
@@ -17,7 +17,7 @@ from rest_framework.response import Response
 
 from completion.exceptions import UnavailableCompletionData
 from completion.utilities import get_key_to_last_completed_block
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.course_goals.api import (add_course_goal, get_course_goal, get_course_goal_text,
                                              has_course_goal_permission, valid_course_goals_ordered)
 from lms.djangoapps.course_home_api.outline.v1.serializers import OutlineTabSerializer
@@ -38,7 +38,7 @@ from openedx.features.course_experience.utils import get_course_outline_block_tr
 from openedx.features.course_experience.views.latest_update import LatestUpdateFragmentView
 from openedx.features.course_experience.views.welcome_message import PREFERENCE_KEY, WelcomeMessageFragmentView
 from openedx.features.discounts.utils import generate_offer_html
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
 from xmodule.modulestore.django import modulestore
 
diff --git a/lms/djangoapps/course_home_api/progress/v1/tests/test_views.py b/lms/djangoapps/course_home_api/progress/v1/tests/test_views.py
index 9b1f27683a136794ce3af17604dc1f3a22aefb67..b5427cddc6b375e0375748fbae48eb936efddef2 100644
--- a/lms/djangoapps/course_home_api/progress/v1/tests/test_views.py
+++ b/lms/djangoapps/course_home_api/progress/v1/tests/test_views.py
@@ -5,14 +5,14 @@ Tests for Progress Tab API in the Course Home API
 import ddt
 from django.urls import reverse
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.course_home_api.tests.utils import BaseCourseHomeTests
 from lms.djangoapps.course_home_api.toggles import COURSE_HOME_MICROFRONTEND
 from lms.djangoapps.verify_student.models import ManualVerification
 from openedx.core.djangoapps.user_api.preferences.api import set_user_preference
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 
 CREDIT_SUPPORT_URL = 'https://support.edx.org/hc/en-us/sections/115004154688-Purchasing-Academic-Credit'
 
diff --git a/lms/djangoapps/course_home_api/progress/v1/views.py b/lms/djangoapps/course_home_api/progress/v1/views.py
index e90e62a67b7c4ad5749bea4ec96748e566f55748..c7f7936ddf55d40898c4329c587db67fcf7fcbd5 100644
--- a/lms/djangoapps/course_home_api/progress/v1/views.py
+++ b/lms/djangoapps/course_home_api/progress/v1/views.py
@@ -11,7 +11,7 @@ from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.course_home_api.progress.v1.serializers import ProgressTabSerializer
 
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from lms.djangoapps.course_api.blocks.transformers.blocks_api import BlocksAPITransformer
 from lms.djangoapps.courseware.context_processor import user_timezone_locale_prefs
 from lms.djangoapps.courseware.courses import get_course_with_access, get_studio_url
diff --git a/lms/djangoapps/course_home_api/tests/utils.py b/lms/djangoapps/course_home_api/tests/utils.py
index 1bbcb3891c4db6a73e5492c6180b3820483e5959..0144f7c96bf5cb8160e159e6c38d2f7c994e3241 100644
--- a/lms/djangoapps/course_home_api/tests/utils.py
+++ b/lms/djangoapps/course_home_api/tests/utils.py
@@ -7,8 +7,8 @@ import unittest
 from datetime import datetime
 from django.conf import settings
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.tests.helpers import MasqueradeMixin
 from lms.djangoapps.verify_student.models import VerificationDeadline
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
diff --git a/lms/djangoapps/course_wiki/middleware.py b/lms/djangoapps/course_wiki/middleware.py
index 828103a00ffa6149af3f75a67a3598d426917926..5bbbd23245a7dad8f8a801e7246ddb43cbb47d30 100644
--- a/lms/djangoapps/course_wiki/middleware.py
+++ b/lms/djangoapps/course_wiki/middleware.py
@@ -14,7 +14,7 @@ from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.courseware.courses import get_course_overview_with_access, get_course_with_access
 from openedx.core.lib.request_utils import course_id_from_url
 from openedx.features.enterprise_support.api import get_enterprise_consent_url
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class WikiAccessMiddleware(MiddlewareMixin):
diff --git a/lms/djangoapps/course_wiki/tests/test_access.py b/lms/djangoapps/course_wiki/tests/test_access.py
index c79c555877e1d81a415802805c7965b53d6f8870..3013081a0764489bca2e47c8330f168b3961bd47 100644
--- a/lms/djangoapps/course_wiki/tests/test_access.py
+++ b/lms/djangoapps/course_wiki/tests/test_access.py
@@ -10,7 +10,7 @@ from lms.djangoapps.course_wiki import settings
 from lms.djangoapps.course_wiki.utils import course_wiki_slug, user_is_article_course_staff
 from lms.djangoapps.course_wiki.views import get_or_create_root
 from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/course_wiki/tests/test_tab.py b/lms/djangoapps/course_wiki/tests/test_tab.py
index 4fb9b12e29f429cfa99e144c71dd7ab5552d9839..5e77397dadfafcb4ef962db522d62b031b49c742 100644
--- a/lms/djangoapps/course_wiki/tests/test_tab.py
+++ b/lms/djangoapps/course_wiki/tests/test_tab.py
@@ -7,7 +7,7 @@ from django.conf import settings
 from django.test.client import RequestFactory
 
 from lms.djangoapps.courseware.tabs import get_course_tab_list
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/courseware/access.py b/lms/djangoapps/courseware/access.py
index 6277b627e6d141c0288d69dd08bf57db70dced96..ed389ca575a9baf6c9c27bef4fea187a6dde0c94 100644
--- a/lms/djangoapps/courseware/access.py
+++ b/lms/djangoapps/courseware/access.py
@@ -46,9 +46,9 @@ from lms.djangoapps.ccx.models import CustomCourseForEdX
 from lms.djangoapps.mobile_api.models import IgnoreMobileAvailableFlagConfig
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.features.course_duration_limits.access import check_course_expired
-from student import auth
-from student.models import CourseEnrollmentAllowed
-from student.roles import (
+from common.djangoapps.student import auth
+from common.djangoapps.student.models import CourseEnrollmentAllowed
+from common.djangoapps.student.roles import (
     CourseBetaTesterRole,
     CourseCcxCoachRole,
     CourseInstructorRole,
@@ -58,8 +58,8 @@ from student.roles import (
     OrgStaffRole,
     SupportStaffRole
 )
-from util import milestones_helpers as milestones_helpers
-from util.milestones_helpers import (
+from common.djangoapps.util import milestones_helpers as milestones_helpers
+from common.djangoapps.util.milestones_helpers import (
     any_unfulfilled_milestones,
     get_pre_requisite_courses_not_completed,
     is_prerequisite_courses_enabled
diff --git a/lms/djangoapps/courseware/access_utils.py b/lms/djangoapps/courseware/access_utils.py
index 17534049eab6b35c3e698ea8131aa6cb780c180e..2529f80c09ea16719383af11b6a9b5142c453f89 100644
--- a/lms/djangoapps/courseware/access_utils.py
+++ b/lms/djangoapps/courseware/access_utils.py
@@ -23,8 +23,8 @@ from openedx.features.course_experience import (
     COURSE_PRE_START_ACCESS_FLAG,
     COURSE_ENABLE_UNENROLLED_ACCESS_FLAG,
 )
-from student.models import CourseEnrollment
-from student.roles import CourseBetaTesterRole
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseBetaTesterRole
 from xmodule.util.xmodule_django import get_current_request_hostname
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC
 
diff --git a/lms/djangoapps/courseware/course_tools.py b/lms/djangoapps/courseware/course_tools.py
index 54c0d81651c95358106646f28ed69faaa3ee1f80..5b0207acf7a39bed0b56a81661b47a76b81e3e2b 100644
--- a/lms/djangoapps/courseware/course_tools.py
+++ b/lms/djangoapps/courseware/course_tools.py
@@ -10,10 +10,10 @@ from crum import get_current_request
 from django.conf import settings
 from django.utils.translation import ugettext as _
 from django.urls import reverse
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.utils import verified_upgrade_deadline_link
 from openedx.features.course_experience.course_tools import CourseTool
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 
 
diff --git a/lms/djangoapps/courseware/courses.py b/lms/djangoapps/courseware/courses.py
index 36aea94adfc129556f4460ef660ca8bbb2895340..a63a479e50e88d7c40566b1f622f84ea4632bbf5 100644
--- a/lms/djangoapps/courseware/courses.py
+++ b/lms/djangoapps/courseware/courses.py
@@ -44,7 +44,7 @@ from lms.djangoapps.courseware.date_summary import (
 from lms.djangoapps.courseware.masquerade import check_content_start_date_for_masquerade_user
 from lms.djangoapps.courseware.model_data import FieldDataCache
 from lms.djangoapps.courseware.module_render import get_module
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from lms.djangoapps.courseware.access_utils import (
     check_authentication,
     check_enrollment,
@@ -59,9 +59,9 @@ from openedx.core.lib.api.view_utils import LazySequence
 from openedx.features.course_duration_limits.access import AuditExpiredError
 from openedx.features.course_experience import RELATIVE_DATES_FLAG
 from openedx.features.course_experience.utils import is_block_structure_complete_for_assignments
-from static_replace import replace_static_urls
+from common.djangoapps.static_replace import replace_static_urls
 from lms.djangoapps.survey.utils import SurveyRequiredAccessError, check_survey_required_and_unanswered
-from util.date_utils import strftime_localized
+from common.djangoapps.util.date_utils import strftime_localized
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 from xmodule.x_module import STUDENT_VIEW
diff --git a/lms/djangoapps/courseware/date_summary.py b/lms/djangoapps/courseware/date_summary.py
index 7ec0c406bdddce75c14797fdc61fbaa45f9c3445..2269c16bb21c0d5ceaf7421df089b18a3653e486 100644
--- a/lms/djangoapps/courseware/date_summary.py
+++ b/lms/djangoapps/courseware/date_summary.py
@@ -19,7 +19,7 @@ from django.utils.translation import ugettext_lazy
 from lazy import lazy
 from pytz import utc
 
-from course_modes.models import CourseMode, get_cosmetic_verified_display_price
+from common.djangoapps.course_modes.models import CourseMode, get_cosmetic_verified_display_price
 from lms.djangoapps.certificates.api import get_active_web_certificate
 from lms.djangoapps.courseware.utils import verified_upgrade_deadline_link, can_show_verified_upgrade
 from lms.djangoapps.verify_student.models import VerificationDeadline
@@ -29,7 +29,7 @@ from openedx.core.djangoapps.certificates.api import can_show_certificate_availa
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.features.course_duration_limits.access import get_user_course_expiration_date
 from openedx.features.course_experience import RELATIVE_DATES_FLAG, UPGRADE_DEADLINE_MESSAGE, CourseHomeMessages
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 from .context_processor import user_timezone_locale_prefs
 
diff --git a/lms/djangoapps/courseware/entrance_exams.py b/lms/djangoapps/courseware/entrance_exams.py
index 8ff5dd9753473cea587019635f3831c257ab1509..40724d2027db846ac56adc5dec2b1627815c53cd 100644
--- a/lms/djangoapps/courseware/entrance_exams.py
+++ b/lms/djangoapps/courseware/entrance_exams.py
@@ -6,8 +6,8 @@ This file contains all entrance exam related utils/logic.
 from opaque_keys.edx.keys import UsageKey
 
 from lms.djangoapps.courseware.access import has_access
-from student.models import EntranceExamConfiguration
-from util.milestones_helpers import get_required_content
+from common.djangoapps.student.models import EntranceExamConfiguration
+from common.djangoapps.util.milestones_helpers import get_required_content
 from openedx.core.toggles import ENTRANCE_EXAMS
 from xmodule.modulestore.django import modulestore
 
diff --git a/lms/djangoapps/courseware/masquerade.py b/lms/djangoapps/courseware/masquerade.py
index 66a216eef930c5a5a7485ff3745415297269859a..1de5d26c6994c72496e4c5d8d2807aa6c5b412c3 100644
--- a/lms/djangoapps/courseware/masquerade.py
+++ b/lms/djangoapps/courseware/masquerade.py
@@ -20,15 +20,15 @@ from pytz import utc
 from web_fragments.fragment import Fragment
 from xblock.runtime import KeyValueStore
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.util.user_messages import PageLevelMessages
 from openedx.core.djangolib.markup import HTML
 from openedx.features.content_type_gating.helpers import CONTENT_GATING_PARTITION_ID
 from openedx.features.content_type_gating.helpers import FULL_ACCESS
 from openedx.features.content_type_gating.helpers import LIMITED_ACCESS
-from student.models import CourseEnrollment
-from student.role_helpers import has_staff_roles
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.role_helpers import has_staff_roles
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 from xmodule.modulestore.django import modulestore
 from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID
 from xmodule.partitions.partitions import NoSuchUserPartitionGroupError
diff --git a/lms/djangoapps/courseware/module_render.py b/lms/djangoapps/courseware/module_render.py
index 39bd0f47eff25da9b377531192181fe58b58956a..ae163ec85f47617ea663ec195698fa90b79e671b 100644
--- a/lms/djangoapps/courseware/module_render.py
+++ b/lms/djangoapps/courseware/module_render.py
@@ -44,7 +44,7 @@ from xblock.exceptions import NoSuchHandlerError, NoSuchViewError
 from xblock.reference.plugins import FSService
 from xblock.runtime import KvsFieldData
 
-import static_replace
+from common.djangoapps import static_replace
 from capa.xqueue_interface import XQueueInterface
 from lms.djangoapps.courseware.access import get_user_role, has_access
 from lms.djangoapps.courseware.entrance_exams import user_can_skip_entrance_exam, user_has_passed_entrance_exam
@@ -55,7 +55,7 @@ from lms.djangoapps.courseware.masquerade import (
     setup_masquerade
 )
 from lms.djangoapps.courseware.model_data import DjangoKeyValueStore, FieldDataCache
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from lms.djangoapps.courseware.field_overrides import OverrideFieldData
 from lms.djangoapps.courseware.services import UserStateService
 from lms.djangoapps.grades.api import GradesUtilService
@@ -88,12 +88,12 @@ from openedx.core.lib.xblock_utils import wrap_xblock
 from openedx.features.course_duration_limits.access import course_expiration_wrapper
 from openedx.features.discounts.utils import offer_banner_wrapper
 from openedx.features.content_type_gating.services import ContentTypeGatingService
-from student.models import anonymous_id_for_user, user_by_anonymous_id
-from student.roles import CourseBetaTesterRole
-from track import contexts
-from util import milestones_helpers
-from util.json_request import JsonResponse
-from xblock_django.user_service import DjangoXBlockUserService
+from common.djangoapps.student.models import anonymous_id_for_user, user_by_anonymous_id
+from common.djangoapps.student.roles import CourseBetaTesterRole
+from common.djangoapps.track import contexts
+from common.djangoapps.util import milestones_helpers
+from common.djangoapps.util.json_request import JsonResponse
+from common.djangoapps.xblock_django.user_service import DjangoXBlockUserService
 from xmodule.contentstore.django import contentstore
 from xmodule.error_module import ErrorDescriptor, NonStaffErrorDescriptor
 from xmodule.exceptions import NotFoundError, ProcessingError
@@ -133,10 +133,10 @@ def make_track_function(request):
     Make a tracking function that logs what happened.
     For use in ModuleSystem.
     '''
-    import track.views
+    from common.djangoapps.track import views as track_views
 
     def function(event_type, event):
-        return track.views.server_track(request, event_type, event, page='x_module')
+        return track_views.server_track(request, event_type, event, page='x_module')
     return function
 
 
diff --git a/lms/djangoapps/courseware/rules.py b/lms/djangoapps/courseware/rules.py
index 5360e79578639e19e3130987039d5cee6d8a4464..3a3aec44bbdbfccc46cc7f996380c058b3bc04ee 100644
--- a/lms/djangoapps/courseware/rules.py
+++ b/lms/djangoapps/courseware/rules.py
@@ -16,10 +16,10 @@ from opaque_keys.edx.django.models import CourseKeyField
 from opaque_keys.edx.keys import CourseKey, UsageKey
 from xblock.core import XBlock
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseAccessRole, CourseEnrollment
-from student.roles import CourseRole, OrgRole
+from common.djangoapps.student.models import CourseAccessRole, CourseEnrollment
+from common.djangoapps.student.roles import CourseRole, OrgRole
 from xmodule.course_module import CourseDescriptor
 from xmodule.error_module import ErrorDescriptor
 from xmodule.x_module import XModule
diff --git a/lms/djangoapps/courseware/services.py b/lms/djangoapps/courseware/services.py
index 32f21a7995903a03244b22d12286d8123bf993c0..1fac7359bd3ba3fbb7bbb8e2e044293fff55609e 100644
--- a/lms/djangoapps/courseware/services.py
+++ b/lms/djangoapps/courseware/services.py
@@ -8,7 +8,7 @@ import json
 from django.contrib.auth.models import User
 
 from lms.djangoapps.courseware.models import StudentModule
-from student.models import get_user_by_username_or_email
+from common.djangoapps.student.models import get_user_by_username_or_email
 
 
 class UserStateService(object):
diff --git a/lms/djangoapps/courseware/tabs.py b/lms/djangoapps/courseware/tabs.py
index e97fc920695e3d0240fc41ee3077fb72cbb94bec..8013b33c4262e1c31e1f752b16e4e5d1ccba1a1e 100644
--- a/lms/djangoapps/courseware/tabs.py
+++ b/lms/djangoapps/courseware/tabs.py
@@ -15,7 +15,7 @@ from lms.djangoapps.course_home_api.toggles import course_home_mfe_dates_tab_is_
 from lms.djangoapps.course_home_api.utils import get_microfrontend_url
 from openedx.core.lib.course_tabs import CourseTabPluginManager
 from openedx.features.course_experience import RELATIVE_DATES_FLAG, DISABLE_UNIFIED_COURSE_TAB_FLAG, default_course_url_name
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.tabs import CourseTab, CourseTabList, course_reverse_func_from_name_func, key_checker
 
 
diff --git a/lms/djangoapps/courseware/tests/factories.py b/lms/djangoapps/courseware/tests/factories.py
index 4e0cafada1653addca12e5a38bbe441e2eff3d86..7bb2b72fa1dbb87eae2fb35355ef0cf8e7c071c7 100644
--- a/lms/djangoapps/courseware/tests/factories.py
+++ b/lms/djangoapps/courseware/tests/factories.py
@@ -16,7 +16,7 @@ from lms.djangoapps.courseware.models import (
     XModuleStudentPrefsField,
     XModuleUserStateSummaryField
 )
-from student.roles import (
+from common.djangoapps.student.roles import (
     CourseBetaTesterRole,
     CourseInstructorRole,
     CourseStaffRole,
@@ -25,8 +25,8 @@ from student.roles import (
     OrgStaffRole
 )
 # Imported to re-export
-from student.tests.factories import UserFactory  # Imported to re-export
-from student.tests.factories import UserProfileFactory as StudentUserProfileFactory
+from common.djangoapps.student.tests.factories import UserFactory  # Imported to re-export
+from common.djangoapps.student.tests.factories import UserProfileFactory as StudentUserProfileFactory
 
 # TODO fix this (course_id and location are invalid names as constants, and course_id should really be COURSE_KEY)
 # pylint: disable=invalid-name
diff --git a/lms/djangoapps/courseware/tests/helpers.py b/lms/djangoapps/courseware/tests/helpers.py
index d5c50044d4ebb9cfed545a1583702a6255f72bfd..9aecfc19470b9ba3cd524f4389d9c04bdc75540b 100644
--- a/lms/djangoapps/courseware/tests/helpers.py
+++ b/lms/djangoapps/courseware/tests/helpers.py
@@ -19,7 +19,7 @@ from six import text_type
 from six.moves import range
 from xblock.field_data import DictFieldData
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.courseware.utils import verified_upgrade_deadline_link
 from lms.djangoapps.courseware.masquerade import MasqueradeView
@@ -28,9 +28,9 @@ from lms.djangoapps.lms_xblock.field_data import LmsFieldData
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.lib.url_utils import quote_slashes
 from openedx.features.course_duration_limits.access import EXPIRATION_DATE_FORMAT_STR
-from student.models import CourseEnrollment, Registration
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.date_utils import strftime_localized
+from common.djangoapps.student.models import CourseEnrollment, Registration
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.date_utils import strftime_localized
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_MONGO_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/courseware/tests/test_about.py b/lms/djangoapps/courseware/tests/test_about.py
index e11e32d9b4908bb7e2afae18e71aae57c8c4edb6..a06ab37ad3afdea8854ff0083e40ca9ff0f877c7 100644
--- a/lms/djangoapps/courseware/tests/test_about.py
+++ b/lms/djangoapps/courseware/tests/test_about.py
@@ -18,16 +18,16 @@ from mock import patch
 from six import text_type
 from waffle.testutils import override_switch
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.ccx.tests.factories import CcxFactory
 from openedx.features.course_experience import COURSE_ENABLE_UNENROLLED_ACCESS_FLAG
 from openedx.features.course_experience.waffle import ENABLE_COURSE_ABOUT_SIDEBAR_HTML
 from openedx.features.course_experience.waffle import WAFFLE_NAMESPACE as COURSE_EXPERIENCE_WAFFLE_NAMESPACE
-from student.models import CourseEnrollment
-from student.tests.factories import AdminFactory, CourseEnrollmentAllowedFactory, UserFactory
-from track.tests import EventTrackingTestCase
-from util.milestones_helpers import get_prerequisite_courses_display, set_prerequisite_courses
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentAllowedFactory, UserFactory
+from common.djangoapps.track.tests import EventTrackingTestCase
+from common.djangoapps.util.milestones_helpers import get_prerequisite_courses_display, set_prerequisite_courses
 from xmodule.course_module import (
     CATALOG_VISIBILITY_ABOUT,
     CATALOG_VISIBILITY_NONE,
diff --git a/lms/djangoapps/courseware/tests/test_access.py b/lms/djangoapps/courseware/tests/test_access.py
index 3dc4c18d60a66716bb073f1e1ff4124621876e4c..adfb0dadadda737d77a9cc430925be0d26091b94 100644
--- a/lms/djangoapps/courseware/tests/test_access.py
+++ b/lms/djangoapps/courseware/tests/test_access.py
@@ -34,15 +34,15 @@ from lms.djangoapps.ccx.models import CustomCourseForEdX
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
-from student.models import CourseEnrollment
-from student.roles import CourseCcxCoachRole, CourseStaffRole
-from student.tests.factories import (
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseCcxCoachRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import (
     AdminFactory,
     AnonymousUserFactory,
     CourseEnrollmentAllowedFactory,
     CourseEnrollmentFactory
 )
-from util.milestones_helpers import fulfill_course_milestone, set_prerequisite_courses
+from common.djangoapps.util.milestones_helpers import fulfill_course_milestone, set_prerequisite_courses
 from xmodule.course_module import (
     CATALOG_VISIBILITY_ABOUT,
     CATALOG_VISIBILITY_CATALOG_AND_ABOUT,
diff --git a/lms/djangoapps/courseware/tests/test_comprehensive_theming.py b/lms/djangoapps/courseware/tests/test_comprehensive_theming.py
index cb223ca35fdce9fca26c5e009d79e26393cdff15..0e8279c0f0666b9ee067d6f9627b9faf0b1a6ab5 100644
--- a/lms/djangoapps/courseware/tests/test_comprehensive_theming.py
+++ b/lms/djangoapps/courseware/tests/test_comprehensive_theming.py
@@ -6,7 +6,7 @@ from django.contrib import staticfiles
 from django.test import TestCase
 from path import Path
 
-import edxmako
+from common.djangoapps import edxmako
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme
 from openedx.core.lib.tempdir import create_symlink, delete_symlink, mkdtemp_clean
 
diff --git a/lms/djangoapps/courseware/tests/test_context_processor.py b/lms/djangoapps/courseware/tests/test_context_processor.py
index 57ac32419c1392b2019c48862eccca1cf04c5245..23fb17e348bc291dc8ef3f79a30ed6bc242562ec 100644
--- a/lms/djangoapps/courseware/tests/test_context_processor.py
+++ b/lms/djangoapps/courseware/tests/test_context_processor.py
@@ -8,7 +8,7 @@ from mock import Mock
 
 from lms.djangoapps.courseware.context_processor import user_timezone_locale_prefs
 from openedx.core.djangoapps.user_api.preferences.api import set_user_preference
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 
diff --git a/lms/djangoapps/courseware/tests/test_course_info.py b/lms/djangoapps/courseware/tests/test_course_info.py
index d82a001de8ad7e68adfbc7fb5e68d0a1839d68af..004cc138644d39ce5f7c364d10b23ec76b2d65cf 100644
--- a/lms/djangoapps/courseware/tests/test_course_info.py
+++ b/lms/djangoapps/courseware/tests/test_course_info.py
@@ -25,9 +25,9 @@ from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.course_experience import DISABLE_UNIFIED_COURSE_TAB_FLAG
 from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired
 from pyquery import PyQuery as pq
-from student.models import CourseEnrollment
-from student.tests.factories import AdminFactory
-from util.date_utils import strftime_localized
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import AdminFactory
+from common.djangoapps.util.date_utils import strftime_localized
 from xmodule.modulestore.tests.django_utils import (
     TEST_DATA_MIXED_MODULESTORE,
     TEST_DATA_SPLIT_MODULESTORE,
@@ -128,7 +128,7 @@ class CourseInfoTestCase(EnterpriseTestConsentRequired, LoginEnrollmentTestCase,
         self.assertRedirects(response, expected_url)
 
     @mock.patch.dict(settings.FEATURES, {'DISABLE_START_DATES': False})
-    @mock.patch("util.date_utils.strftime_localized")
+    @mock.patch("common.djangoapps.util.date_utils.strftime_localized")
     def test_non_live_course_other_language(self, mock_strftime_localized):
         """Ensure that a user accessing a non-live course sees a redirect to
         the student dashboard, not a 404, even if the localized date is unicode
diff --git a/lms/djangoapps/courseware/tests/test_course_tools.py b/lms/djangoapps/courseware/tests/test_course_tools.py
index 5c8a0d60c513c68e72c77a4a6fdcebb14e19ac20..3574aab2ba292406392d2a39c4a6bdfd350c1c57 100644
--- a/lms/djangoapps/courseware/tests/test_course_tools.py
+++ b/lms/djangoapps/courseware/tests/test_course_tools.py
@@ -10,15 +10,15 @@ import pytz
 from django.test import RequestFactory
 from mock import patch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.courseware.course_tools import FinancialAssistanceTool, VerifiedUpgradeTool
 from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.schedules.config import CREATE_SCHEDULE_WAFFLE_FLAG
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/courseware/tests/test_courses.py b/lms/djangoapps/courseware/tests/test_courses.py
index 35a8ec72053525d902536f13f888bfa990eb8d79..b6cfe05e8d7ceb6da9d0a909cd8062cf57288ddb 100644
--- a/lms/djangoapps/courseware/tests/test_courses.py
+++ b/lms/djangoapps/courseware/tests/test_courses.py
@@ -41,7 +41,7 @@ from lms.djangoapps.courseware.module_render import get_module_for_descriptor
 from lms.djangoapps.courseware.courseware_access_exception import CoursewareAccessException
 from openedx.core.djangolib.testing.utils import get_mock_request
 from openedx.core.lib.courses import course_image_url
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import _get_modulestore_branch_setting, modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/courseware/tests/test_credit_requirements.py b/lms/djangoapps/courseware/tests/test_credit_requirements.py
index e33b99e5945f4e97d34b34fbe55f93e89385cf4f..01abec9225759d1e0c33cbf7bea7168fa5fbc18f 100644
--- a/lms/djangoapps/courseware/tests/test_credit_requirements.py
+++ b/lms/djangoapps/courseware/tests/test_credit_requirements.py
@@ -9,10 +9,10 @@ from django.conf import settings
 from django.urls import reverse
 from mock import patch
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.credit import api as credit_api
 from openedx.core.djangoapps.credit.models import CreditCourse
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/courseware/tests/test_date_summary.py b/lms/djangoapps/courseware/tests/test_date_summary.py
index 9b745050ff636d3f43e6cd3c09a41952468c3dcb..f079b0ee410c96e53f7bbc247b04ab28f08652fd 100644
--- a/lms/djangoapps/courseware/tests/test_date_summary.py
+++ b/lms/djangoapps/courseware/tests/test_date_summary.py
@@ -14,8 +14,8 @@ from edx_toggles.toggles.testutils import override_waffle_flag
 from mock import patch
 from pytz import utc
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from freezegun import freeze_time
 from lms.djangoapps.commerce.models import CommerceConfiguration
 from lms.djangoapps.course_home_api.toggles import COURSE_HOME_MICROFRONTEND, COURSE_HOME_MICROFRONTEND_DATES_TAB
@@ -50,7 +50,7 @@ from openedx.features.course_experience import (
     UPGRADE_DEADLINE_MESSAGE,
     CourseHomeMessages
 )
-from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/courseware/tests/test_discussion_xblock.py b/lms/djangoapps/courseware/tests/test_discussion_xblock.py
index c4063cea1b47e6274dfa829ac11b381d7c77e646..de24678b7bcaf8108c27fca487d23f0da13c84f3 100644
--- a/lms/djangoapps/courseware/tests/test_discussion_xblock.py
+++ b/lms/djangoapps/courseware/tests/test_discussion_xblock.py
@@ -21,7 +21,7 @@ from xblock.field_data import DictFieldData
 from lms.djangoapps.course_api.blocks.tests.helpers import deserialize_usage_key
 from lms.djangoapps.courseware.module_render import get_module_for_descriptor_internal
 from lms.djangoapps.courseware.tests.helpers import XModuleRenderingTestBase
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xblock_discussion import DiscussionXBlock, loader
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
diff --git a/lms/djangoapps/courseware/tests/test_entrance_exam.py b/lms/djangoapps/courseware/tests/test_entrance_exam.py
index 89b7721d9a1cea63dacdb336b6c67fe38960d28c..891a0d436dbc6d61d24fdd8ece6373ba16b422c9 100644
--- a/lms/djangoapps/courseware/tests/test_entrance_exam.py
+++ b/lms/djangoapps/courseware/tests/test_entrance_exam.py
@@ -23,9 +23,9 @@ from lms.djangoapps.courseware.tests.factories import InstructorFactory, Request
 from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
 from openedx.core.djangolib.testing.utils import get_mock_request
 from openedx.features.course_experience import DISABLE_COURSE_OUTLINE_PAGE_FLAG, DISABLE_UNIFIED_COURSE_TAB_FLAG
-from student.models import CourseEnrollment
-from student.tests.factories import AnonymousUserFactory, CourseEnrollmentFactory
-from util.milestones_helpers import (
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import AnonymousUserFactory, CourseEnrollmentFactory
+from common.djangoapps.util.milestones_helpers import (
     add_course_content_milestone,
     add_course_milestone,
     add_milestone,
@@ -476,7 +476,7 @@ class EntranceExamTestCases(LoginEnrollmentTestCase, ModuleStoreTestCase, Milest
         """
         self._assert_chapter_loaded(self.course, self.chapter)
 
-    @patch('util.milestones_helpers.get_required_content', Mock(return_value=['a value']))
+    @patch('common.djangoapps.util.milestones_helpers.get_required_content', Mock(return_value=['a value']))
     def test_courseware_page_access_with_staff_user_without_passing_entrance_exam(self):
         """
         Test courseware access page without passing entrance exam but with staff user
diff --git a/lms/djangoapps/courseware/tests/test_favicon.py b/lms/djangoapps/courseware/tests/test_favicon.py
index c1373710a827b5fbeb0ec86e41e7ee7c9c99252c..a799acc47b401f81fcc703c431bace0fe5409c92 100644
--- a/lms/djangoapps/courseware/tests/test_favicon.py
+++ b/lms/djangoapps/courseware/tests/test_favicon.py
@@ -6,7 +6,7 @@ Tests of the courseware favicon
 from django.test import TestCase
 from django.test.utils import override_settings
 
-from util.testing import UrlResetMixin
+from common.djangoapps.util.testing import UrlResetMixin
 
 
 class FaviconTestCase(UrlResetMixin, TestCase):
diff --git a/lms/djangoapps/courseware/tests/test_i18n.py b/lms/djangoapps/courseware/tests/test_i18n.py
index 31e3318015b32565d725052192149a145d587365..b3e6cff5e11c3de4773be07ed0947a8dff16ebac 100644
--- a/lms/djangoapps/courseware/tests/test_i18n.py
+++ b/lms/djangoapps/courseware/tests/test_i18n.py
@@ -16,7 +16,7 @@ from django.utils import translation
 from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
 from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class BaseI18nTestCase(CacheIsolationTestCase):
diff --git a/lms/djangoapps/courseware/tests/test_masquerade.py b/lms/djangoapps/courseware/tests/test_masquerade.py
index 5db5dee3f0f02506af3ce360bd9defa4cc9af8d3..f1721b0e66d16127759fc353db51fbee6a236f4f 100644
--- a/lms/djangoapps/courseware/tests/test_masquerade.py
+++ b/lms/djangoapps/courseware/tests/test_masquerade.py
@@ -31,8 +31,8 @@ from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
 from openedx.core.djangoapps.self_paced.models import SelfPacedConfiguration
 from openedx.core.djangoapps.user_api.preferences.api import get_user_preference, set_user_preference
 from openedx.features.course_experience import DISABLE_UNIFIED_COURSE_TAB_FLAG
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/courseware/tests/test_model_data.py b/lms/djangoapps/courseware/tests/test_model_data.py
index 1ce7b2d404c8f4f6f5c12d02830927e35fac5198..19f01d181dd990667e0d2610de6afcead3a9f5c2 100644
--- a/lms/djangoapps/courseware/tests/test_model_data.py
+++ b/lms/djangoapps/courseware/tests/test_model_data.py
@@ -23,7 +23,7 @@ from lms.djangoapps.courseware.models import (
 from lms.djangoapps.courseware.tests.factories import StudentInfoFactory
 from lms.djangoapps.courseware.tests.factories import StudentModuleFactory as cmfStudentModuleFactory
 from lms.djangoapps.courseware.tests.factories import StudentPrefsFactory, UserStateSummaryFactory, course_id, location
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 def mock_field(scope, name):
diff --git a/lms/djangoapps/courseware/tests/test_module_render.py b/lms/djangoapps/courseware/tests/test_module_render.py
index 809a7ca0bd53fde14e0f0426e081bbf46e084f61..84ccba083313836c9f18fec6111874f4937db9fc 100644
--- a/lms/djangoapps/courseware/tests/test_module_render.py
+++ b/lms/djangoapps/courseware/tests/test_module_render.py
@@ -17,7 +17,7 @@ from bson import ObjectId
 from capa.tests.response_xml_factory import OptionResponseXMLFactory
 from completion import waffle as completion_waffle
 from completion.models import BlockCompletion
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from django.conf import settings
 from django.contrib.auth.models import AnonymousUser
 from django.http import Http404, HttpResponse
@@ -47,6 +47,8 @@ from xblock.fields import ScopeIds
 from xblock.runtime import DictKeyValueStore, KvsFieldData, Runtime
 from xblock.test.tools import TestRuntime
 
+from capa.tests.response_xml_factory import OptionResponseXMLFactory
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware import module_render as render
 from lms.djangoapps.courseware.access_response import AccessResponse
 from lms.djangoapps.courseware.courses import get_course_info_section, get_course_with_access
@@ -71,9 +73,9 @@ from openedx.core.djangoapps.oauth_dispatch.tests.factories import AccessTokenFa
 from openedx.core.lib.courses import course_image_url
 from openedx.core.lib.gating import api as gating_api
 from openedx.core.lib.url_utils import quote_slashes
-from student.models import CourseEnrollment, anonymous_id_for_user
+from common.djangoapps.student.models import CourseEnrollment, anonymous_id_for_user
 from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory
-from xblock_django.models import XBlockConfiguration
+from common.djangoapps.xblock_django.models import XBlockConfiguration
 from xmodule.capa_module import ProblemBlock
 from xmodule.html_module import AboutBlock, CourseInfoBlock, HtmlBlock, StaticTabBlock
 from xmodule.lti_module import LTIDescriptor
@@ -2016,7 +2018,7 @@ class TestAnonymousStudentId(SharedModuleStoreTestCase, LoginEnrollmentTestCase)
         )
 
 
-@patch('track.views.eventtracker', autospec=True)
+@patch('common.djangoapps.track.views.eventtracker', autospec=True)
 class TestModuleTrackingContext(SharedModuleStoreTestCase):
     """
     Ensure correct tracking information is included in events emitted during XBlock callback handling.
diff --git a/lms/djangoapps/courseware/tests/test_navigation.py b/lms/djangoapps/courseware/tests/test_navigation.py
index 032eb9733bb0e99ff3d4f190043f10ee01fbb272..cdbc7c8c06f8e098f167317da10c49d8a1e78dc6 100644
--- a/lms/djangoapps/courseware/tests/test_navigation.py
+++ b/lms/djangoapps/courseware/tests/test_navigation.py
@@ -16,7 +16,7 @@ from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
 from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
 from openedx.features.course_experience import DISABLE_COURSE_OUTLINE_PAGE_FLAG
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/courseware/tests/test_rules.py b/lms/djangoapps/courseware/tests/test_rules.py
index 808761303b36c6eab84688956f6d5eabff0e9a08..f08c94470e4a163ac059206f3c488ec74888ed07 100644
--- a/lms/djangoapps/courseware/tests/test_rules.py
+++ b/lms/djangoapps/courseware/tests/test_rules.py
@@ -8,9 +8,9 @@ import six
 from django.test import TestCase
 from opaque_keys.edx.locator import CourseLocator
 
-from course_modes.tests.factories import CourseModeFactory
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/lms/djangoapps/courseware/tests/test_services.py b/lms/djangoapps/courseware/tests/test_services.py
index 47ec2bff4519cbcd66ad748b3905cd28b582ef12..af90d8518bb7c1d1f3537aaba332d13f0458e49c 100644
--- a/lms/djangoapps/courseware/tests/test_services.py
+++ b/lms/djangoapps/courseware/tests/test_services.py
@@ -84,7 +84,7 @@ class TestUserStateService(ModuleStoreTestCase):
         Scenario:
             Given a user and a problem or block
             Then create a student module entry for the user
-            If the state is obtained from student module service
+            If the state is obtained from common.djangoapps.student module service
             Then the state is equal to previously created student module state
         """
         self._create_student_module(expected_state)
diff --git a/lms/djangoapps/courseware/tests/test_split_module.py b/lms/djangoapps/courseware/tests/test_split_module.py
index 30666980dee47b4c6875ac87189aac51dc0eccfe..4dce78c5e27b7d2a6ce60812423e4e235d7a9cb1 100644
--- a/lms/djangoapps/courseware/tests/test_split_module.py
+++ b/lms/djangoapps/courseware/tests/test_split_module.py
@@ -11,7 +11,7 @@ from six import text_type
 from lms.djangoapps.courseware.model_data import FieldDataCache
 from lms.djangoapps.courseware.module_render import get_module_for_descriptor
 from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.partitions.partitions import Group, UserPartition
diff --git a/lms/djangoapps/courseware/tests/test_submitting_problems.py b/lms/djangoapps/courseware/tests/test_submitting_problems.py
index 7e9fcdaa9b7280162e62f38eccc6450fb870ea77..86671db0d4466030ce1299a033c21952b3aaa35d 100644
--- a/lms/djangoapps/courseware/tests/test_submitting_problems.py
+++ b/lms/djangoapps/courseware/tests/test_submitting_problems.py
@@ -28,7 +28,7 @@ from capa.tests.response_xml_factory import (
     OptionResponseXMLFactory,
     SchematicResponseXMLFactory
 )
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.models import BaseStudentModuleHistory, StudentModule
 from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
 from lms.djangoapps.grades.api import CourseGradeFactory, task_compute_all_grades_for_course
@@ -36,7 +36,7 @@ from openedx.core.djangoapps.credit.api import get_credit_requirement_status, se
 from openedx.core.djangoapps.credit.models import CreditCourse, CreditProvider
 from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory
 from openedx.core.lib.url_utils import quote_slashes
-from student.models import CourseEnrollment, anonymous_id_for_user
+from common.djangoapps.student.models import CourseEnrollment, anonymous_id_for_user
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.partitions.partitions import Group, UserPartition
diff --git a/lms/djangoapps/courseware/tests/test_tabs.py b/lms/djangoapps/courseware/tests/test_tabs.py
index 526bf14483caa56e2875fe7064358effa55c5cb8..7e726fafcf0181a812422525f00bcc4f7e21bca7 100644
--- a/lms/djangoapps/courseware/tests/test_tabs.py
+++ b/lms/djangoapps/courseware/tests/test_tabs.py
@@ -29,9 +29,9 @@ from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
 from lms.djangoapps.courseware.views.views import StaticCourseTabView, get_static_tab_fragment
 from openedx.core.djangolib.testing.utils import get_mock_request
 from openedx.features.course_experience import DISABLE_UNIFIED_COURSE_TAB_FLAG
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
-from util.milestones_helpers import (
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.milestones_helpers import (
     add_course_content_milestone,
     add_course_milestone,
     add_milestone,
@@ -734,7 +734,7 @@ class ProgressTestCase(TabTestCase):
             invalid_dict_tab=None,
         )
 
-    @patch('student.models.CourseEnrollment.is_enrolled')
+    @patch('common.djangoapps.student.models.CourseEnrollment.is_enrolled')
     def test_progress(self, is_enrolled):
         is_enrolled.return_value = True
         self.course.hide_progress_tab = False
@@ -834,7 +834,7 @@ class DiscussionLinkTestCase(TabTestCase):
         self.course.discussion_link = discussion_link_in_course
         discussion_tab = xmodule_tabs.CourseTabList.get_discussion(self.course)
         user = self.create_mock_user(is_staff=is_staff, is_enrolled=is_enrolled)
-        with patch('student.models.CourseEnrollment.is_enrolled') as check_is_enrolled:
+        with patch('common.djangoapps.student.models.CourseEnrollment.is_enrolled') as check_is_enrolled:
             check_is_enrolled.return_value = is_enrolled
             self.assertEqual(
                 (
@@ -910,7 +910,7 @@ class DatesTabTestCase(TabListTestCase):
     """Test cases for dates tab"""
 
     @patch('lms.djangoapps.courseware.tabs.RELATIVE_DATES_FLAG')
-    @patch('student.models.CourseEnrollment.is_enrolled')
+    @patch('common.djangoapps.student.models.CourseEnrollment.is_enrolled')
     def test_dates_tab_disabled_if_unenrolled(self, is_enrolled, mock_flag):
         mock_flag.is_enabled().return_value = True
         tab = DatesTab({'type': DatesTab.type, 'name': 'dates'})
diff --git a/lms/djangoapps/courseware/tests/test_view_authentication.py b/lms/djangoapps/courseware/tests/test_view_authentication.py
index 88a9dee22ace318915c36a428ff2d56b1e88e210..b28da2c6e88b105a09792a36d46d26baecaafc16 100644
--- a/lms/djangoapps/courseware/tests/test_view_authentication.py
+++ b/lms/djangoapps/courseware/tests/test_view_authentication.py
@@ -22,7 +22,7 @@ from lms.djangoapps.courseware.tests.factories import (
 )
 from lms.djangoapps.courseware.tests.helpers import CourseAccessTestMixin, LoginEnrollmentTestCase
 from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/courseware/tests/test_views.py b/lms/djangoapps/courseware/tests/test_views.py
index 7efe81977d5d3c11b40d97d06d545f7ea5f77407..8145a8f8947ca3c7a0d8290386f15e36635056f5 100644
--- a/lms/djangoapps/courseware/tests/test_views.py
+++ b/lms/djangoapps/courseware/tests/test_views.py
@@ -38,8 +38,8 @@ from xblock.fields import Scope, String
 
 import lms.djangoapps.courseware.views.views as views
 from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from freezegun import freeze_time
 from lms.djangoapps.certificates import api as certs_api
 from lms.djangoapps.certificates.models import (
@@ -88,12 +88,12 @@ from openedx.features.course_experience import (
 )
 from openedx.features.course_experience.tests.views.helpers import add_course_mode
 from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired
-from student.models import CourseEnrollment
-from student.roles import CourseStaffRole
-from student.tests.factories import TEST_PASSWORD, AdminFactory, CourseEnrollmentFactory, UserFactory
-from util.tests.test_date_utils import fake_pgettext, fake_ugettext
-from util.url import reload_django_url_config
-from util.views import ensure_valid_course_key
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.tests.test_date_utils import fake_pgettext, fake_ugettext
+from common.djangoapps.util.url import reload_django_url_config
+from common.djangoapps.util.views import ensure_valid_course_key
 from xmodule.course_module import COURSE_VISIBILITY_PRIVATE, COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
 from xmodule.graders import ShowCorrectness
 from xmodule.modulestore import ModuleStoreEnum
@@ -1134,10 +1134,10 @@ class StartDateTests(ModuleStoreTestCase):
         """
         return self.client.get(reverse('about_course', args=[six.text_type(course_key)]))
 
-    @patch('util.date_utils.pgettext', fake_pgettext(translations={
+    @patch('common.djangoapps.util.date_utils.pgettext', fake_pgettext(translations={
         ("abbreviated month name", "Sep"): "SEPTEMBER",
     }))
-    @patch('util.date_utils.ugettext', fake_ugettext(translations={
+    @patch('common.djangoapps.util.date_utils.ugettext', fake_ugettext(translations={
         "SHORT_DATE_FORMAT": "%Y-%b-%d",
     }))
     def test_format_localized_in_studio_course(self):
diff --git a/lms/djangoapps/courseware/testutils.py b/lms/djangoapps/courseware/testutils.py
index a7613585eb26220d2979efe060abb3444d2b25f3..6aa8469288858ff3ee17534fb3043b5fd7fe4595 100644
--- a/lms/djangoapps/courseware/testutils.py
+++ b/lms/djangoapps/courseware/testutils.py
@@ -14,7 +14,7 @@ from six.moves.urllib.parse import urlencode
 from lms.djangoapps.courseware.field_overrides import OverrideModulestoreFieldData
 from lms.djangoapps.courseware.url_helpers import get_redirect_url
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, check_mongo_calls
diff --git a/lms/djangoapps/courseware/utils.py b/lms/djangoapps/courseware/utils.py
index 439c2e988739430f396ed1c103346ec7ef32984c..1e677eba528b5a50af3065cb648d9bad471a310e 100644
--- a/lms/djangoapps/courseware/utils.py
+++ b/lms/djangoapps/courseware/utils.py
@@ -7,7 +7,7 @@ from django.conf import settings
 from lms.djangoapps.commerce.utils import EcommerceService
 from pytz import utc
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID
 from xmodule.partitions.partitions_service import PartitionService
 
diff --git a/lms/djangoapps/courseware/views/index.py b/lms/djangoapps/courseware/views/index.py
index 9ddac75e298fad13bcbe28901a9cc8c6df4e9680..ec0f119c10c2e7a86da9a6f27b0868eeec06d50a 100644
--- a/lms/djangoapps/courseware/views/index.py
+++ b/lms/djangoapps/courseware/views/index.py
@@ -27,7 +27,7 @@ from opaque_keys.edx.keys import CourseKey, UsageKey
 from six.moves import urllib
 from web_fragments.fragment import Fragment
 
-from edxmako.shortcuts import render_to_response, render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_response, render_to_string
 from lms.djangoapps.courseware.exceptions import CourseAccessRedirect, Redirect
 from lms.djangoapps.experiments.utils import get_experiment_user_metadata_context
 from lms.djangoapps.gating.api import get_entrance_exam_score_ratio, get_entrance_exam_usage_key
@@ -47,8 +47,8 @@ from openedx.features.course_experience import (
 from openedx.features.course_experience.urls import COURSE_HOME_VIEW_NAME
 from openedx.features.course_experience.views.course_sock import CourseSockFragmentView
 from openedx.features.enterprise_support.api import data_sharing_consent_required
-from student.models import CourseEnrollment
-from util.views import ensure_valid_course_key
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.views import ensure_valid_course_key
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC
 from xmodule.modulestore.django import modulestore
 from xmodule.x_module import PUBLIC_VIEW, STUDENT_VIEW
diff --git a/lms/djangoapps/courseware/views/views.py b/lms/djangoapps/courseware/views/views.py
index 438ebd0845e7e610a4bcc80ab85e8435a1235bc0..297a9b7dc25a54860fb25f38683a02e665d98039 100644
--- a/lms/djangoapps/courseware/views/views.py
+++ b/lms/djangoapps/courseware/views/views.py
@@ -48,8 +48,8 @@ from six import text_type
 from web_fragments.fragment import Fragment
 
 from lms.djangoapps.survey import views as survey_views
-from course_modes.models import CourseMode, get_course_prices
-from edxmako.shortcuts import marketing_link, render_to_response, render_to_string
+from common.djangoapps.course_modes.models import CourseMode, get_course_prices
+from common.djangoapps.edxmako.shortcuts import marketing_link, render_to_response, render_to_string
 from lms.djangoapps.edxnotes.helpers import is_feature_enabled
 from lms.djangoapps.ccx.custom_exception import CCXLocatorValidationException
 from lms.djangoapps.certificates import api as certs_api
@@ -118,12 +118,12 @@ from openedx.features.course_experience.views.course_dates import CourseDatesFra
 from openedx.features.course_experience.waffle import ENABLE_COURSE_ABOUT_SIDEBAR_HTML
 from openedx.features.course_experience.waffle import waffle as course_experience_waffle
 from openedx.features.enterprise_support.api import data_sharing_consent_required
-from student.models import CourseEnrollment, UserTestGroup
-from track import segment
-from util.cache import cache, cache_if_anonymous
-from util.db import outer_atomic
-from util.milestones_helpers import get_prerequisite_courses_display
-from util.views import ensure_valid_course_key, ensure_valid_usage_key
+from common.djangoapps.student.models import CourseEnrollment, UserTestGroup
+from common.djangoapps.track import segment
+from common.djangoapps.util.cache import cache, cache_if_anonymous
+from common.djangoapps.util.db import outer_atomic
+from common.djangoapps.util.milestones_helpers import get_prerequisite_courses_display
+from common.djangoapps.util.views import ensure_valid_course_key, ensure_valid_usage_key
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError, NoPathToItem
diff --git a/lms/djangoapps/dashboard/sysadmin.py b/lms/djangoapps/dashboard/sysadmin.py
index 38bd6a97e69df1987f25cc4da672749c9f8c95fc..dc26b0e4668c36b0c5210691dbdfd344fb1d7151 100644
--- a/lms/djangoapps/dashboard/sysadmin.py
+++ b/lms/djangoapps/dashboard/sysadmin.py
@@ -28,14 +28,14 @@ from path import Path as path
 from six import StringIO, text_type
 
 import lms.djangoapps.dashboard.git_import as git_import
-import track.views
+from common.djangoapps.track import views as track_views
 from lms.djangoapps.dashboard.git_import import GitImportError
 from lms.djangoapps.dashboard.models import CourseImportLog
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.courseware.courses import get_course_by_id
 from openedx.core.djangolib.markup import HTML
-from student.models import CourseEnrollment, Registration, UserProfile
-from student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.models import CourseEnrollment, Registration, UserProfile
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
@@ -176,7 +176,7 @@ class Users(SysadminDashboardView):
         if not request.user.is_staff:
             raise Http404
         action = request.POST.get('action', '')
-        track.views.server_track(request, action, {}, page='user_sysdashboard')
+        track_views.server_track(request, action, {}, page='user_sysdashboard')
 
         if action == 'create_user':
             uname = request.POST.get('student_uname', '').strip()
@@ -332,7 +332,7 @@ class Courses(SysadminDashboardView):
             raise Http404
 
         action = request.POST.get('action', '')
-        track.views.server_track(request, action, {},
+        track_views.server_track(request, action, {},
                                  page='courses_sysdashboard')
 
         courses = {course.id: course for course in self.get_courses()}
diff --git a/lms/djangoapps/dashboard/tests/test_sysadmin.py b/lms/djangoapps/dashboard/tests/test_sysadmin.py
index 280cb24769e0ab6b03d426f45a433ed2f3e3d9e9..4ba4c8a347802f600c730259055489e0225c6101 100644
--- a/lms/djangoapps/dashboard/tests/test_sysadmin.py
+++ b/lms/djangoapps/dashboard/tests/test_sysadmin.py
@@ -24,9 +24,9 @@ from six.moves import range
 from lms.djangoapps.dashboard.git_import import GitImportErrorNoDir
 from lms.djangoapps.dashboard.models import CourseImportLog
 from openedx.core.djangolib.markup import Text
-from student.roles import CourseStaffRole, GlobalStaff
-from student.tests.factories import UserFactory
-from util.date_utils import DEFAULT_DATE_TIME_FORMAT, get_time_display
+from common.djangoapps.student.roles import CourseStaffRole, GlobalStaff
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.date_utils import DEFAULT_DATE_TIME_FORMAT, get_time_display
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.mongo_connection import MONGO_HOST, MONGO_PORT_NUM
diff --git a/lms/djangoapps/debug/views.py b/lms/djangoapps/debug/views.py
index 8096867435d2eeeb6cea79ff300910eabfb2c115..7bf403fd72b0826a9def50a1b787a38984844296 100644
--- a/lms/djangoapps/debug/views.py
+++ b/lms/djangoapps/debug/views.py
@@ -10,7 +10,7 @@ from django.utils.html import escape
 from django.views.decorators.csrf import ensure_csrf_cookie
 
 from codejail.safe_exec import safe_exec
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangolib.markup import HTML
 
 
diff --git a/lms/djangoapps/discussion/django_comment_client/base/event_transformers.py b/lms/djangoapps/discussion/django_comment_client/base/event_transformers.py
index ab2f621e53f138d687e01f05f15c1291f4569750..efea25403c4ed2af74750b194cf8043963d456dc 100644
--- a/lms/djangoapps/discussion/django_comment_client/base/event_transformers.py
+++ b/lms/djangoapps/discussion/django_comment_client/base/event_transformers.py
@@ -14,8 +14,8 @@ from opaque_keys.edx.locator import CourseLocator
 from lms.djangoapps.discussion.django_comment_client.base.views import add_truncated_title_to_event_data
 from lms.djangoapps.discussion.django_comment_client.permissions import get_team
 from lms.djangoapps.discussion.django_comment_client.utils import get_cached_discussion_id_map_by_course_id
-from track.transformers import EventTransformer, EventTransformerRegistry
-from track.views.segmentio import BI_SCREEN_VIEWED_EVENT_NAME, FORUM_THREAD_VIEWED_EVENT_LABEL
+from common.djangoapps.track.transformers import EventTransformer, EventTransformerRegistry
+from common.djangoapps.track.views.segmentio import BI_SCREEN_VIEWED_EVENT_NAME, FORUM_THREAD_VIEWED_EVENT_LABEL
 
 
 def _get_string(dictionary, key, del_if_bad=True):
diff --git a/lms/djangoapps/discussion/django_comment_client/base/tests.py b/lms/djangoapps/discussion/django_comment_client/base/tests.py
index b09e3017393bfed23981bb42dd8a466d0dba8f2a..1aefa55f20a86f4ecfe62d8018eb0e57cf855d17 100644
--- a/lms/djangoapps/discussion/django_comment_client/base/tests.py
+++ b/lms/djangoapps/discussion/django_comment_client/base/tests.py
@@ -21,8 +21,8 @@ from six import text_type
 from six.moves import range
 
 from common.test.utils import MockSignalHandlerMixin, disable_signal
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.discussion.django_comment_client.base import views
 from lms.djangoapps.discussion.django_comment_client.tests.group_id import (
     CohortedTopicGroupIdTestMixin,
@@ -48,12 +48,12 @@ from openedx.core.djangoapps.django_comment_common.utils import (
 )
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
 from openedx.core.lib.teams_config import TeamsConfig
-from student.roles import CourseStaffRole, UserBasedRole
-from student.tests.factories import CourseAccessRoleFactory, CourseEnrollmentFactory, UserFactory
-from track.middleware import TrackMiddleware
-from track.views import segmentio
-from track.views.tests.base import SEGMENTIO_TEST_USER_ID, SegmentIOTrackingTestCaseBase
-from util.testing import UrlResetMixin
+from common.djangoapps.student.roles import CourseStaffRole, UserBasedRole
+from common.djangoapps.student.tests.factories import CourseAccessRoleFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.track.middleware import TrackMiddleware
+from common.djangoapps.track.views import segmentio
+from common.djangoapps.track.views.tests.base import SEGMENTIO_TEST_USER_ID, SegmentIOTrackingTestCaseBase
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
@@ -239,7 +239,7 @@ class ViewsTestCaseMixin(object):
 
         # Patch the comment client user save method so it does not try
         # to create a new cc user when creating a django user
-        with patch('student.models.cc.User.save'):
+        with patch('common.djangoapps.student.models.cc.User.save'):
             uname = 'student'
             email = 'student@edx.org'
             self.password = 'test'
@@ -462,7 +462,7 @@ class ViewsTestCase(
 
         # Patch the comment client user save method so it does not try
         # to create a new cc user when creating a django user
-        with patch('student.models.cc.User.save'):
+        with patch('common.djangoapps.student.models.cc.User.save'):
             uname = 'student'
             email = 'student@edx.org'
             self.password = 'test'
@@ -2050,7 +2050,7 @@ class ForumThreadViewedEventTransformerTestCase(ForumsEnableMixin, UrlResetMixin
     DUMMY_CATEGORY_ID = 'i4x-edx-dummy-commentable-id'
     DUMMY_THREAD_ID = 'dummy_thread_id'
 
-    @mock.patch.dict("student.models.settings.FEATURES", {"ENABLE_DISCUSSION_SERVICE": True})
+    @mock.patch.dict("common.djangoapps.student.models.settings.FEATURES", {"ENABLE_DISCUSSION_SERVICE": True})
     def setUp(self):
         super(ForumThreadViewedEventTransformerTestCase, self).setUp()
         self.courses_by_store = {
diff --git a/lms/djangoapps/discussion/django_comment_client/base/views.py b/lms/djangoapps/discussion/django_comment_client/base/views.py
index 505cda2841ece54cd2f5187f6a75d6b67e2d6adb..5ccbf1c0da7b70c2fc170476c21650c276725639 100644
--- a/lms/djangoapps/discussion/django_comment_client/base/views.py
+++ b/lms/djangoapps/discussion/django_comment_client/base/views.py
@@ -57,7 +57,7 @@ from openedx.core.djangoapps.django_comment_common.signals import (
     thread_voted
 )
 from openedx.core.djangoapps.django_comment_common.utils import ThreadContext
-from util.file import store_uploaded_file
+from common.djangoapps.util.file import store_uploaded_file
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/discussion/django_comment_client/tests/group_id.py b/lms/djangoapps/discussion/django_comment_client/tests/group_id.py
index 9c305cd8accae2a8f3524f51d7fb9f8d214a8336..574d91479b4810d8e9f0f6720f6e44bb6064323a 100644
--- a/lms/djangoapps/discussion/django_comment_client/tests/group_id.py
+++ b/lms/djangoapps/discussion/django_comment_client/tests/group_id.py
@@ -4,8 +4,8 @@
 import json
 import re
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.teams.tests.factories import CourseTeamFactory
 from openedx.core.djangoapps.django_comment_common.models import CourseDiscussionSettings
 from openedx.core.djangoapps.django_comment_common.utils import set_course_discussion_settings
diff --git a/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py b/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py
index 90a0624592d6ccfb53c07dd95e456412d78930a1..11aa4c769661de904c4c6c925ed5c5c27bbfba15 100644
--- a/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py
+++ b/lms/djangoapps/discussion/django_comment_client/tests/test_utils.py
@@ -19,8 +19,8 @@ from pytz import UTC
 from six import text_type
 
 import lms.djangoapps.discussion.django_comment_client.utils as utils
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.tabs import get_course_tab_list
 from lms.djangoapps.courseware.tests.factories import InstructorFactory
 from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
@@ -47,8 +47,8 @@ from openedx.core.djangoapps.django_comment_common.utils import (
     set_course_discussion_settings
 )
 from openedx.core.djangoapps.util.testing import ContentGroupTestCase
-from student.roles import CourseStaffRole
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_MIXED_MODULESTORE, ModuleStoreTestCase
diff --git a/lms/djangoapps/discussion/django_comment_client/tests/utils.py b/lms/djangoapps/discussion/django_comment_client/tests/utils.py
index 600ea776a6a65e60956db1f16e606b76ba2a55bd..f27129badb45e3d94e0b6a6960e0a0428cd617db 100644
--- a/lms/djangoapps/discussion/django_comment_client/tests/utils.py
+++ b/lms/djangoapps/discussion/django_comment_client/tests/utils.py
@@ -13,8 +13,8 @@ from openedx.core.djangoapps.django_comment_common.utils import (
     set_course_discussion_settings
 )
 from openedx.core.lib.teams_config import TeamsConfig
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
diff --git a/lms/djangoapps/discussion/django_comment_client/utils.py b/lms/djangoapps/discussion/django_comment_client/utils.py
index a5cfa2a0627912aed45002b2e249656859d25442..c58b1c387ec427f7f4208bbd1165190c1be5273d 100644
--- a/lms/djangoapps/discussion/django_comment_client/utils.py
+++ b/lms/djangoapps/discussion/django_comment_client/utils.py
@@ -37,8 +37,8 @@ from openedx.core.djangoapps.django_comment_common.models import (
 )
 from openedx.core.djangoapps.django_comment_common.utils import get_course_discussion_settings
 from openedx.core.lib.cache_utils import request_cached
-from student.models import get_user_by_username_or_email
-from student.roles import GlobalStaff
+from common.djangoapps.student.models import get_user_by_username_or_email
+from common.djangoapps.student.roles import GlobalStaff
 from xmodule.modulestore.django import modulestore
 from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID
 from xmodule.partitions.partitions_service import PartitionService
diff --git a/lms/djangoapps/discussion/management/commands/assign_roles_for_course.py b/lms/djangoapps/discussion/management/commands/assign_roles_for_course.py
index e721279053330ee5279c406d2ea9ba3c8d44bb4b..156b5e1777e428caf3e2385b4b85430262e5a2e1 100644
--- a/lms/djangoapps/discussion/management/commands/assign_roles_for_course.py
+++ b/lms/djangoapps/discussion/management/commands/assign_roles_for_course.py
@@ -9,7 +9,7 @@ Enrollments.
 from django.core.management.base import BaseCommand
 
 from openedx.core.djangoapps.django_comment_common.models import assign_default_role_on_enrollment
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class Command(BaseCommand):
diff --git a/lms/djangoapps/discussion/management/commands/create_roles_for_existing.py b/lms/djangoapps/discussion/management/commands/create_roles_for_existing.py
index 154147cdfea560a433d5713d9d9a4f98df1159fe..246dad152a8bbf5c9333ba3840179a5cb267cc48 100644
--- a/lms/djangoapps/discussion/management/commands/create_roles_for_existing.py
+++ b/lms/djangoapps/discussion/management/commands/create_roles_for_existing.py
@@ -9,7 +9,7 @@ Enrollments.
 from django.core.management.base import BaseCommand
 
 from openedx.core.djangoapps.django_comment_common.models import assign_default_role_on_enrollment
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class Command(BaseCommand):
diff --git a/lms/djangoapps/discussion/notification_prefs/tests.py b/lms/djangoapps/discussion/notification_prefs/tests.py
index d86d8871c6b0c6025796fd3dba5e9de6d0ec5dfd..e826ebe5ad26103ff802c7c7ffe43c2582fef823 100644
--- a/lms/djangoapps/discussion/notification_prefs/tests.py
+++ b/lms/djangoapps/discussion/notification_prefs/tests.py
@@ -22,8 +22,8 @@ from lms.djangoapps.discussion.notification_prefs.views import (
     set_subscription
 )
 from openedx.core.djangoapps.user_api.models import UserPreference
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 
 
 @override_settings(SECRET_KEY="test secret key")
diff --git a/lms/djangoapps/discussion/notification_prefs/views.py b/lms/djangoapps/discussion/notification_prefs/views.py
index 20e631bbf60122c5c2364a85106be0d084e5fde7..c2f9d9ad59224423ac43634b8fd1294674e45036 100644
--- a/lms/djangoapps/discussion/notification_prefs/views.py
+++ b/lms/djangoapps/discussion/notification_prefs/views.py
@@ -22,7 +22,7 @@ from django.views.decorators.http import require_GET, require_POST
 import six
 from six import text_type
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.discussion.notification_prefs import NOTIFICATION_PREF_KEY
 from openedx.core.djangoapps.user_api.models import UserPreference
 from openedx.core.djangoapps.user_api.preferences.api import delete_user_preference
diff --git a/lms/djangoapps/discussion/rest_api/serializers.py b/lms/djangoapps/discussion/rest_api/serializers.py
index 414c9bdc372a0ddca281d725af8fd26696854d67..d39237c970057fcf254a8948fa1f750ec058c0bc 100644
--- a/lms/djangoapps/discussion/rest_api/serializers.py
+++ b/lms/djangoapps/discussion/rest_api/serializers.py
@@ -34,7 +34,7 @@ from openedx.core.djangoapps.django_comment_common.models import (
     Role
 )
 from openedx.core.djangoapps.django_comment_common.utils import get_course_discussion_settings
-from student.models import get_user_by_username_or_email
+from common.djangoapps.student.models import get_user_by_username_or_email
 
 
 def get_context(course, request, thread=None):
diff --git a/lms/djangoapps/discussion/rest_api/tests/test_api.py b/lms/djangoapps/discussion/rest_api/tests/test_api.py
index c993890b728c2718166609bad8d861efcc8a1f26..df7c838d76f7b211e8b6a3be5085b58bc20b8a0d 100644
--- a/lms/djangoapps/discussion/rest_api/tests/test_api.py
+++ b/lms/djangoapps/discussion/rest_api/tests/test_api.py
@@ -56,8 +56,8 @@ from openedx.core.djangoapps.django_comment_common.models import (
     Role
 )
 from openedx.core.lib.exceptions import CourseNotFoundError, PageNotFoundError
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
diff --git a/lms/djangoapps/discussion/rest_api/tests/test_serializers.py b/lms/djangoapps/discussion/rest_api/tests/test_serializers.py
index a4b8d1a601995add4e0a8601a4fbf01e6fcbc6ee..80c105708a22091120fc8015159915f5aa767fa1 100644
--- a/lms/djangoapps/discussion/rest_api/tests/test_serializers.py
+++ b/lms/djangoapps/discussion/rest_api/tests/test_serializers.py
@@ -29,8 +29,8 @@ from openedx.core.djangoapps.django_comment_common.models import (
     FORUM_ROLE_STUDENT,
     Role
 )
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
diff --git a/lms/djangoapps/discussion/rest_api/tests/test_views.py b/lms/djangoapps/discussion/rest_api/tests/test_views.py
index 8029dd1173360386677dabd755e2df78aad4c3af..232f361c526255f5c32a47064f588f1bf805c34d 100644
--- a/lms/djangoapps/discussion/rest_api/tests/test_views.py
+++ b/lms/djangoapps/discussion/rest_api/tests/test_views.py
@@ -19,8 +19,8 @@ from six.moves import range
 from six.moves.urllib.parse import urlparse
 
 from common.test.utils import disable_signal
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.discussion.django_comment_client.tests.utils import (
     ForumsEnableMixin,
     config_course_discussions,
@@ -41,9 +41,9 @@ from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
 from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFactory, AccessTokenFactory
 from openedx.core.djangoapps.user_api.accounts.image_helpers import get_profile_image_storage
 from openedx.core.djangoapps.user_api.models import RetirementState, UserRetirementStatus
-from student.models import get_retired_username_by_username
-from student.tests.factories import CourseEnrollmentFactory, SuperuserFactory, UserFactory
-from util.testing import PatchMediaTypeMixin, UrlResetMixin
+from common.djangoapps.student.models import get_retired_username_by_username
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, SuperuserFactory, UserFactory
+from common.djangoapps.util.testing import PatchMediaTypeMixin, UrlResetMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/discussion/rest_api/views.py b/lms/djangoapps/discussion/rest_api/views.py
index 30864c31f8fc2d4f5a8cf5e24d0873a619d7f449..339a7c4675a30d360ed83538d242b9639902be0e 100644
--- a/lms/djangoapps/discussion/rest_api/views.py
+++ b/lms/djangoapps/discussion/rest_api/views.py
@@ -60,7 +60,7 @@ from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiv
 
 from openedx.core.lib.api.parsers import MergePatchParser
 from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin, view_auth_classes
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/discussion/tasks.py b/lms/djangoapps/discussion/tasks.py
index a0101e85b466d7fa6a460d7e5f76c79025a38864..8c6c8d5a7a64095d3618c56acae7b08fa5952f3c 100644
--- a/lms/djangoapps/discussion/tasks.py
+++ b/lms/djangoapps/discussion/tasks.py
@@ -29,7 +29,7 @@ from openedx.core.djangoapps.ace_common.template_context import get_base_templat
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.django_comment_common.models import DiscussionsIdMapping
 from openedx.core.lib.celery.task_utils import emulate_http_request
-from track import segment
+from common.djangoapps.track import segment
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/discussion/tests/test_tasks.py b/lms/djangoapps/discussion/tests/test_tasks.py
index 5f828b102af0375a9b5b5e74fa3ada9d9a695c11..c1264c045661fb6cba046a4c9d4c5a648b7aed26 100644
--- a/lms/djangoapps/discussion/tests/test_tasks.py
+++ b/lms/djangoapps/discussion/tests/test_tasks.py
@@ -25,7 +25,7 @@ from openedx.core.djangoapps.django_comment_common.models import ForumsConfig
 from openedx.core.djangoapps.django_comment_common.signals import comment_created
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory
 from openedx.core.lib.celery.task_utils import emulate_http_request
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 NOW = datetime.utcnow()
@@ -78,7 +78,7 @@ class TaskTestCase(ModuleStoreTestCase):
 
         # Patch the comment client user save method so it does not try
         # to create a new cc user when creating a django user
-        with mock.patch('student.models.cc.User.save'):
+        with mock.patch('common.djangoapps.student.models.cc.User.save'):
             cls.thread_author = UserFactory(
                 username='thread_author',
                 password='password',
diff --git a/lms/djangoapps/discussion/tests/test_views.py b/lms/djangoapps/discussion/tests/test_views.py
index 872b643f1fa5a5613bacf8c8379c741c7eb5ff56..3e67c281e7c5531aa30e325d3ce085b48bdf559e 100644
--- a/lms/djangoapps/discussion/tests/test_views.py
+++ b/lms/djangoapps/discussion/tests/test_views.py
@@ -20,8 +20,8 @@ from mock import ANY, Mock, call, patch
 from six import text_type
 from six.moves import range
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.exceptions import CourseAccessRedirect
 from lms.djangoapps.discussion import views
 from lms.djangoapps.discussion.django_comment_client.constants import TYPE_ENTRY, TYPE_SUBCATEGORY
@@ -56,9 +56,9 @@ from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
 from openedx.core.lib.teams_config import TeamsConfig
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseTestConsentRequired
-from student.roles import CourseStaffRole, UserBasedRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import EventTestMixin, UrlResetMixin
+from common.djangoapps.student.roles import CourseStaffRole, UserBasedRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import EventTestMixin, UrlResetMixin
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import (
@@ -89,7 +89,7 @@ class ViewsExceptionTestCase(UrlResetMixin, ModuleStoreTestCase):
 
         # Patch the comment client user save method so it does not try
         # to create a new cc user when creating a django user
-        with patch('student.models.cc.User.save'):
+        with patch('common.djangoapps.student.models.cc.User.save'):
             uname = 'student'
             email = 'student@edx.org'
             password = 'test'
@@ -108,8 +108,8 @@ class ViewsExceptionTestCase(UrlResetMixin, ModuleStoreTestCase):
         config.enabled = True
         config.save()
 
-    @patch('student.models.cc.User.from_django_user')
-    @patch('student.models.cc.User.active_threads')
+    @patch('common.djangoapps.student.models.cc.User.from_django_user')
+    @patch('common.djangoapps.student.models.cc.User.active_threads')
     def test_user_profile_exception(self, mock_threads, mock_from_django_user):
 
         # Mock the code that makes the HTTP requests to the cs_comment_service app
@@ -125,8 +125,8 @@ class ViewsExceptionTestCase(UrlResetMixin, ModuleStoreTestCase):
         response = self.client.get(url)
         self.assertEqual(response.status_code, 404)
 
-    @patch('student.models.cc.User.from_django_user')
-    @patch('student.models.cc.User.subscribed_threads')
+    @patch('common.djangoapps.student.models.cc.User.from_django_user')
+    @patch('common.djangoapps.student.models.cc.User.subscribed_threads')
     def test_user_followed_threads_exception(self, mock_threads, mock_from_django_user):
 
         # Mock the code that makes the HTTP requests to the cs_comment_service app
@@ -1654,7 +1654,7 @@ class ForumDiscussionXSSTestCase(ForumsEnableMixin, UrlResetMixin, ModuleStoreTe
         self.assertTrue(self.client.login(username=username, password=password))
 
     @ddt.data('"><script>alert(1)</script>', '<script>alert(1)</script>', '</script><script>alert(1)</script>')
-    @patch('student.models.cc.User.from_django_user')
+    @patch('common.djangoapps.student.models.cc.User.from_django_user')
     def test_forum_discussion_xss_prevent(self, malicious_code, mock_user, mock_req):
         """
         Test that XSS attack is prevented
@@ -1670,8 +1670,8 @@ class ForumDiscussionXSSTestCase(ForumsEnableMixin, UrlResetMixin, ModuleStoreTe
         self.assertNotContains(resp, malicious_code)
 
     @ddt.data('"><script>alert(1)</script>', '<script>alert(1)</script>', '</script><script>alert(1)</script>')
-    @patch('student.models.cc.User.from_django_user')
-    @patch('student.models.cc.User.active_threads')
+    @patch('common.djangoapps.student.models.cc.User.from_django_user')
+    @patch('common.djangoapps.student.models.cc.User.active_threads')
     def test_forum_user_profile_xss_prevent(self, malicious_code, mock_threads, mock_from_django_user, mock_request):
         """
         Test that XSS attack is prevented
diff --git a/lms/djangoapps/discussion/views.py b/lms/djangoapps/discussion/views.py
index ffe9166589f61158fefc123b373ebbb39b1c60f9..f28488e78af2c3ed91c58b958dd3d6eeede592e7 100644
--- a/lms/djangoapps/discussion/views.py
+++ b/lms/djangoapps/discussion/views.py
@@ -57,8 +57,8 @@ from openedx.core.djangoapps.django_comment_common.utils import (
 )
 from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
 from openedx.features.course_duration_limits.access import generate_course_expired_fragment
-from student.models import CourseEnrollment
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger("edx.discussions")
diff --git a/lms/djangoapps/edxnotes/decorators.py b/lms/djangoapps/edxnotes/decorators.py
index 0fab13d329aabbec54ba1ff978db3f49eeb0e020..277ac8ca05902a56676cfa65661f4766efd17776 100644
--- a/lms/djangoapps/edxnotes/decorators.py
+++ b/lms/djangoapps/edxnotes/decorators.py
@@ -8,7 +8,7 @@ import json
 import six
 from django.conf import settings
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 
 
 def edxnotes(cls):
diff --git a/lms/djangoapps/edxnotes/helpers.py b/lms/djangoapps/edxnotes/helpers.py
index beee9f368f495951e4f3dd6fed2128135deb8dd1..c6dec5e647bf2d542daa67f7c20d954bc8aa1fb8 100644
--- a/lms/djangoapps/edxnotes/helpers.py
+++ b/lms/djangoapps/edxnotes/helpers.py
@@ -28,8 +28,8 @@ from lms.djangoapps.edxnotes.plugins import EdxNotesTab
 from lms.lib.utils import get_parent_unit
 from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
 from openedx.core.djangolib.markup import Text
-from student.models import anonymous_id_for_user
-from util.date_utils import get_default_time_display
+from common.djangoapps.student.models import anonymous_id_for_user
+from common.djangoapps.util.date_utils import get_default_time_display
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
diff --git a/lms/djangoapps/edxnotes/tests.py b/lms/djangoapps/edxnotes/tests.py
index d83faf288e6a39eab676139ce35dd9e12981028c..f9074b633d0ea40bb998c631cd6dea9a18168dfd 100644
--- a/lms/djangoapps/edxnotes/tests.py
+++ b/lms/djangoapps/edxnotes/tests.py
@@ -25,7 +25,7 @@ from oauth2_provider.models import Application
 from lms.djangoapps.courseware.model_data import FieldDataCache
 from lms.djangoapps.courseware.module_render import get_module_for_descriptor
 from lms.djangoapps.courseware.tabs import get_course_tab_list
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from . import helpers
 from .decorators import edxnotes
 from .exceptions import EdxNotesParseError, EdxNotesServiceUnavailable
@@ -33,7 +33,7 @@ from .plugins import EdxNotesTab
 from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
 from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFactory
 from openedx.core.djangoapps.user_api.models import RetirementState, UserRetirementStatus
-from student.tests.factories import CourseEnrollmentFactory, SuperuserFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, SuperuserFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/edxnotes/views.py b/lms/djangoapps/edxnotes/views.py
index 5123c84235ae7187ec68b352b74e4192ebc987a4..012503e873a06886bc791d8ff48b0bdc621e94a1 100644
--- a/lms/djangoapps/edxnotes/views.py
+++ b/lms/djangoapps/edxnotes/views.py
@@ -21,7 +21,7 @@ from six import text_type
 from lms.djangoapps.courseware.courses import get_course_with_access
 from lms.djangoapps.courseware.model_data import FieldDataCache
 from lms.djangoapps.courseware.module_render import get_module_for_descriptor
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.edxnotes.exceptions import EdxNotesParseError, EdxNotesServiceUnavailable
 from lms.djangoapps.edxnotes.helpers import (
     DEFAULT_PAGE,
@@ -35,7 +35,7 @@ from lms.djangoapps.edxnotes.helpers import (
 )
 from openedx.core.djangoapps.user_api.accounts.permissions import CanRetireUser
 from openedx.core.djangoapps.user_api.models import RetirementStateError, UserRetirementStatus
-from util.json_request import JsonResponse, JsonResponseBadRequest
+from common.djangoapps.util.json_request import JsonResponse, JsonResponseBadRequest
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/email_marketing/signals.py b/lms/djangoapps/email_marketing/signals.py
index 82b8655394546949ea5604a78f3ed56bb953d08e..0625919a131ac1b7beb8159b9c39c99f04ea6a1e 100644
--- a/lms/djangoapps/email_marketing/signals.py
+++ b/lms/djangoapps/email_marketing/signals.py
@@ -14,8 +14,8 @@ from django.dispatch import receiver
 from sailthru.sailthru_error import SailthruClientError
 from six import text_type
 
-import third_party_auth
-from course_modes.models import CourseMode
+from common.djangoapps import third_party_auth
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles import WaffleSwitchNamespace
 from lms.djangoapps.email_marketing.tasks import (
     get_email_cookies_via_sailthru,
@@ -26,8 +26,8 @@ from lms.djangoapps.email_marketing.tasks import (
 from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
 from openedx.core.djangoapps.user_authn.cookies import CREATE_LOGON_COOKIE
 from openedx.core.djangoapps.user_authn.views.register import REGISTER_USER
-from student.signals import SAILTHRU_AUDIT_PURCHASE
-from util.model_utils import USER_FIELD_CHANGED
+from common.djangoapps.student.signals import SAILTHRU_AUDIT_PURCHASE
+from common.djangoapps.util.model_utils import USER_FIELD_CHANGED
 
 from .models import EmailMarketingConfiguration
 
diff --git a/lms/djangoapps/email_marketing/tests/test_signals.py b/lms/djangoapps/email_marketing/tests/test_signals.py
index d21c2d0e94da426fb803705722f550f88b910e86..4e604d3c467bc4b09b7c1f0d65fb65fc4280bf4e 100644
--- a/lms/djangoapps/email_marketing/tests/test_signals.py
+++ b/lms/djangoapps/email_marketing/tests/test_signals.py
@@ -30,9 +30,9 @@ from lms.djangoapps.email_marketing.tasks import (
     update_user_email
 )
 from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
-from student.models import Registration
-from student.tests.factories import CourseEnrollmentFactory, UserFactory, UserProfileFactory
-from util.json_request import JsonResponse
+from common.djangoapps.student.models import Registration
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory, UserProfileFactory
+from common.djangoapps.util.json_request import JsonResponse
 
 from ..models import EmailMarketingConfiguration
 from ..signals import (
diff --git a/lms/djangoapps/experiments/factories.py b/lms/djangoapps/experiments/factories.py
index 68ef58ccd35787b4b0c7926989a7be011a9a5a10..8a472a2877fc5371f95781611d3df0dcf50cfefb 100644
--- a/lms/djangoapps/experiments/factories.py
+++ b/lms/djangoapps/experiments/factories.py
@@ -7,7 +7,7 @@ import factory
 import factory.fuzzy
 
 from lms.djangoapps.experiments.models import ExperimentData, ExperimentKeyValue
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class ExperimentDataFactory(factory.DjangoModelFactory):
diff --git a/lms/djangoapps/experiments/flags.py b/lms/djangoapps/experiments/flags.py
index 81052d9cb68e6439c0041b635770bc1e36d60be7..645be72362627f17c43e7bc8dff5f85b9bc336e6 100644
--- a/lms/djangoapps/experiments/flags.py
+++ b/lms/djangoapps/experiments/flags.py
@@ -13,7 +13,7 @@ from edx_django_utils.cache import RequestCache
 
 from lms.djangoapps.experiments.stable_bucketing import stable_bucketing_hash_group
 from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag
-from track import segment
+from common.djangoapps.track import segment
 
 log = logging.getLogger(__name__)
 
@@ -88,7 +88,7 @@ class ExperimentWaffleFlag(CourseWaffleFlag):
 
     def _is_enrollment_inside_date_bounds(self, experiment_values, user, course_key):
         """ Returns True if the user's enrollment (if any) is valid for the configured experiment date range """
-        from student.models import CourseEnrollment
+        from common.djangoapps.student.models import CourseEnrollment
 
         enrollment_start = experiment_values.get('enrollment_start')
         enrollment_end = experiment_values.get('enrollment_end')
diff --git a/lms/djangoapps/experiments/tests/test_flags.py b/lms/djangoapps/experiments/tests/test_flags.py
index 1b9ee6d6f8371b5afa4e02b18a64e9aad2f87459..0540a65c8a7b127c21192987ab580d90765bc2c5 100644
--- a/lms/djangoapps/experiments/tests/test_flags.py
+++ b/lms/djangoapps/experiments/tests/test_flags.py
@@ -18,7 +18,7 @@ from lms.djangoapps.experiments.flags import ExperimentWaffleFlag
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangoapps.waffle_utils import CourseWaffleFlag
 from openedx.core.djangoapps.waffle_utils.models import WaffleFlagCourseOverrideModel
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 
 
diff --git a/lms/djangoapps/experiments/tests/test_utils.py b/lms/djangoapps/experiments/tests/test_utils.py
index f3479754231b353617b5ca6525010af9792a6154..9459b263e4faab9a675223db921f682a6daa1031 100644
--- a/lms/djangoapps/experiments/tests/test_utils.py
+++ b/lms/djangoapps/experiments/tests/test_utils.py
@@ -17,7 +17,7 @@ from lms.djangoapps.experiments.utils import (
     get_unenrolled_courses,
     is_enrolled_in_course_run
 )
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.factories import CourseFactory
 
 
diff --git a/lms/djangoapps/experiments/tests/test_views.py b/lms/djangoapps/experiments/tests/test_views.py
index e5945dd5aa11fdcd5ecd04871e3ca2fc09a7934f..101369e8ac15b463f9c044556ffbb14ee11ef03b 100644
--- a/lms/djangoapps/experiments/tests/test_views.py
+++ b/lms/djangoapps/experiments/tests/test_views.py
@@ -21,7 +21,7 @@ from rest_framework.test import APITestCase
 from lms.djangoapps.experiments.factories import ExperimentDataFactory, ExperimentKeyValueFactory
 from lms.djangoapps.experiments.models import ExperimentData, ExperimentKeyValue
 from lms.djangoapps.experiments.serializers import ExperimentDataSerializer
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/experiments/tests/test_views_custom.py b/lms/djangoapps/experiments/tests/test_views_custom.py
index 597f8b9991fed2cfff437cd80344047642562866..c83bc77d75233e3c49708d91a95655ee683bee88 100644
--- a/lms/djangoapps/experiments/tests/test_views_custom.py
+++ b/lms/djangoapps/experiments/tests/test_views_custom.py
@@ -11,12 +11,12 @@ from django.urls import reverse
 from django.utils.timezone import now
 from rest_framework.test import APITestCase
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.course_blocks.transformers.tests.helpers import ModuleStoreTestCase
 from lms.djangoapps.experiments.views_custom import MOBILE_UPSELL_FLAG
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.factories import CourseFactory
 
 CROSS_DOMAIN_REFERER = 'https://ecommerce.edx.org'
diff --git a/lms/djangoapps/experiments/utils.py b/lms/djangoapps/experiments/utils.py
index b38f49cfdd8493dd468bba5f8eb94b9157b8df62..a18a51fd51d1c3a2fc02838faf64ba38fc68f4d2 100644
--- a/lms/djangoapps/experiments/utils.py
+++ b/lms/djangoapps/experiments/utils.py
@@ -11,9 +11,9 @@ from django.utils.timezone import now
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode, format_course_price, get_cosmetic_verified_display_price
+from common.djangoapps.course_modes.models import format_course_price, get_cosmetic_verified_display_price, CourseMode
 from edx_toggles.toggles import WaffleFlag, WaffleFlagNamespace
-from entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.models import CourseEntitlement
 from lms.djangoapps.commerce.utils import EcommerceService
 from lms.djangoapps.courseware.access import has_staff_access_to_preview_mode
 from lms.djangoapps.courseware.utils import can_show_verified_upgrade, verified_upgrade_deadline_link
@@ -21,7 +21,7 @@ from openedx.core.djangoapps.catalog.utils import get_programs
 from openedx.core.djangoapps.django_comment_common.models import Role
 from openedx.core.djangoapps.schedules.models import Schedule
 from openedx.features.course_duration_limits.access import get_user_course_duration, get_user_course_expiration_date
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.partitions.partitions_service import get_all_partitions_for_course, get_user_partition_groups
 
 # Import this for backwards compatibility (so that anyone importing this function from here doesn't break)
diff --git a/lms/djangoapps/experiments/views.py b/lms/djangoapps/experiments/views.py
index caa6eacb0f6778d65fbd44eb6e20e0df832bf297..3d26c0d8060387cf742aa2d5bf9dad54948877f2 100644
--- a/lms/djangoapps/experiments/views.py
+++ b/lms/djangoapps/experiments/views.py
@@ -14,14 +14,14 @@ from opaque_keys.edx.keys import CourseKey
 from rest_framework import permissions, viewsets
 from rest_framework.response import Response
 from rest_framework.views import APIView
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 
 from lms.djangoapps.experiments import filters, serializers
 from lms.djangoapps.experiments.models import ExperimentData, ExperimentKeyValue
 from lms.djangoapps.experiments.permissions import IsStaffOrOwner, IsStaffOrReadOnly, IsStaffOrReadOnlyForSelf
 from lms.djangoapps.experiments.utils import get_experiment_user_metadata_context
 from openedx.core.djangoapps.cors_csrf.authentication import SessionAuthenticationCrossDomainCsrf
-from student.models import get_user_by_username_or_email
+from common.djangoapps.student.models import get_user_by_username_or_email
 
 User = get_user_model()  # pylint: disable=invalid-name
 
diff --git a/lms/djangoapps/experiments/views_custom.py b/lms/djangoapps/experiments/views_custom.py
index 50c9a104eb531632a873644b24a95e0e4a658936..a1ba0d21ec15c32d9d6487b72d8b9fa384e14062 100644
--- a/lms/djangoapps/experiments/views_custom.py
+++ b/lms/djangoapps/experiments/views_custom.py
@@ -15,7 +15,7 @@ from opaque_keys.edx.keys import CourseKey
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
-from course_modes.models import get_cosmetic_verified_display_price
+from common.djangoapps.course_modes.models import get_cosmetic_verified_display_price
 from edx_toggles.toggles import WaffleFlag, WaffleFlagNamespace
 from lms.djangoapps.commerce.utils import EcommerceService
 from lms.djangoapps.courseware.utils import can_show_verified_upgrade
@@ -25,8 +25,8 @@ from openedx.core.djangoapps.cors_csrf.decorators import ensure_csrf_cookie_cros
 from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
 from openedx.core.lib.api.permissions import ApiKeyHeaderPermissionIsAuthenticated
 from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin
-from student.models import CourseEnrollment
-from track import segment
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.track import segment
 
 # .. toggle_name: experiments.mobile_upsell_rev934
 # .. toggle_implementation: WaffleFlag
diff --git a/lms/djangoapps/gating/api.py b/lms/djangoapps/gating/api.py
index 9ee405f5fa881fb53a4c748ed3cd08dd444355a1..a8d2d898914b1537bb5205f8cd55341d626a99f2 100644
--- a/lms/djangoapps/gating/api.py
+++ b/lms/djangoapps/gating/api.py
@@ -10,7 +10,7 @@ from opaque_keys.edx.keys import UsageKey
 
 from lms.djangoapps.courseware.entrance_exams import get_entrance_exam_content
 from openedx.core.lib.gating import api as gating_api
-from util import milestones_helpers
+from common.djangoapps.util import milestones_helpers
 from openedx.core.toggles import ENTRANCE_EXAMS
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/gating/tests/test_integration.py b/lms/djangoapps/gating/tests/test_integration.py
index f98b89ba2d8d8610e4029f5834669a51b54edea5..99d86e282d3848e27ec36d7a9fdd0281d0b61692 100644
--- a/lms/djangoapps/gating/tests/test_integration.py
+++ b/lms/djangoapps/gating/tests/test_integration.py
@@ -16,7 +16,7 @@ from lms.djangoapps.grades.api import CourseGradeFactory
 from lms.djangoapps.grades.tests.utils import answer_problem
 from openedx.core.djangolib.testing.utils import get_mock_request
 from openedx.core.lib.gating import api as gating_api
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/gating/tests/test_signals.py b/lms/djangoapps/gating/tests/test_signals.py
index 42c99fe5d6fde55418fe2f08f1a7535c6a329664..bb773a4aaf41c400fd8e3bca2bfe022f29ea31cb 100644
--- a/lms/djangoapps/gating/tests/test_signals.py
+++ b/lms/djangoapps/gating/tests/test_signals.py
@@ -6,7 +6,7 @@ Unit tests for gating.signals module
 from mock import Mock, patch
 
 from lms.djangoapps.gating.signals import evaluate_subsection_gated_milestones
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/grades/api.py b/lms/djangoapps/grades/api.py
index 3c2de86d1de4636ce6000e46bd0cecc6279d8434..f8ef149e4820fbc1f34eaeb6014fd889e7153c6e 100644
--- a/lms/djangoapps/grades/api.py
+++ b/lms/djangoapps/grades/api.py
@@ -27,7 +27,7 @@ from lms.djangoapps.grades.subsection_grade_factory import SubsectionGradeFactor
 from lms.djangoapps.grades.tasks import compute_all_grades_for_course as task_compute_all_grades_for_course
 from lms.djangoapps.grades.util_services import GradesUtilService
 from lms.djangoapps.utils import _get_key
-from track.event_transaction_utils import create_new_event_transaction_id, set_event_transaction_type
+from common.djangoapps.track.event_transaction_utils import create_new_event_transaction_id, set_event_transaction_type
 
 
 def graded_subsections_for_course_id(course_id):
diff --git a/lms/djangoapps/grades/events.py b/lms/djangoapps/grades/events.py
index 6f55ab177c0940b2501c430bd626a26222f2df36..e4eb6729659268b7041816e8212c816627b92875 100644
--- a/lms/djangoapps/grades/events.py
+++ b/lms/djangoapps/grades/events.py
@@ -7,8 +7,8 @@ import six
 from crum import get_current_user
 from eventtracking import tracker
 
-from track import contexts
-from track.event_transaction_utils import (
+from common.djangoapps.track import contexts
+from common.djangoapps.track.event_transaction_utils import (
     create_new_event_transaction_id,
     get_event_transaction_id,
     get_event_transaction_type,
diff --git a/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py b/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py
index f08a05b3f7739f509641b54246d2f9a2e59446df..3a2bc8de7324fde7ebd868b19a0a401683cee7bf 100644
--- a/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py
+++ b/lms/djangoapps/grades/management/commands/recalculate_subsection_grades.py
@@ -16,9 +16,9 @@ from lms.djangoapps.courseware.models import StudentModule
 from lms.djangoapps.grades.constants import ScoreDatabaseTableEnum
 from lms.djangoapps.grades.events import PROBLEM_SUBMITTED_EVENT_TYPE
 from lms.djangoapps.grades.tasks import recalculate_subsection_grade_v3
-from student.models import user_by_anonymous_id
-from track.event_transaction_utils import create_new_event_transaction_id, set_event_transaction_type
-from util.date_utils import to_timestamp
+from common.djangoapps.student.models import user_by_anonymous_id
+from common.djangoapps.track.event_transaction_utils import create_new_event_transaction_id, set_event_transaction_type
+from common.djangoapps.util.date_utils import to_timestamp
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/grades/management/commands/tests/test_compute_grades.py b/lms/djangoapps/grades/management/commands/tests/test_compute_grades.py
index 12e86c09d1fdead54c639d7cf0d9a60476da3ec3..7ca5fb9dad54fc67c6e3ba72a8761fc8cb5f6f0f 100644
--- a/lms/djangoapps/grades/management/commands/tests/test_compute_grades.py
+++ b/lms/djangoapps/grades/management/commands/tests/test_compute_grades.py
@@ -14,7 +14,7 @@ from mock import ANY, patch
 
 from lms.djangoapps.grades.config.models import ComputeGradesSetting
 from lms.djangoapps.grades.management.commands import compute_grades
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/grades/management/commands/tests/test_recalculate_learner_grades.py b/lms/djangoapps/grades/management/commands/tests/test_recalculate_learner_grades.py
index c50e2bbac691af50ce23fe1f4ca732e4c92ae9b0..fd3a60ee0ba16be2ee5d73513e5cdc4a61aa8905 100644
--- a/lms/djangoapps/grades/management/commands/tests/test_recalculate_learner_grades.py
+++ b/lms/djangoapps/grades/management/commands/tests/test_recalculate_learner_grades.py
@@ -9,7 +9,7 @@ import mock
 
 from lms.djangoapps.grades.management.commands import recalculate_learner_grades
 from lms.djangoapps.grades.tests.test_tasks import HasCourseWithProblemsMixin
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/grades/management/commands/tests/test_recalculate_subsection_grades.py b/lms/djangoapps/grades/management/commands/tests/test_recalculate_subsection_grades.py
index 7d4a56aca8f57537e71e945850c99fc1b9d468ab..9ff5b72f7afe08e4f34791f213d7fcba87aa20e0 100644
--- a/lms/djangoapps/grades/management/commands/tests/test_recalculate_subsection_grades.py
+++ b/lms/djangoapps/grades/management/commands/tests/test_recalculate_subsection_grades.py
@@ -15,8 +15,8 @@ from pytz import utc
 from lms.djangoapps.grades.constants import ScoreDatabaseTableEnum
 from lms.djangoapps.grades.management.commands import recalculate_subsection_grades
 from lms.djangoapps.grades.tests.test_tasks import HasCourseWithProblemsMixin
-from track.event_transaction_utils import get_event_transaction_id
-from util.date_utils import to_timestamp
+from common.djangoapps.track.event_transaction_utils import get_event_transaction_id
+from common.djangoapps.util.date_utils import to_timestamp
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 DATE_FORMAT = u"%Y-%m-%d %H:%M"
diff --git a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py
index 05b97cacd5883593eb71e602f46356e7e8eaeea1..c94098844e737bb8d890daed391c44923aea2305 100644
--- a/lms/djangoapps/grades/rest_api/v1/gradebook_views.py
+++ b/lms/djangoapps/grades/rest_api/v1/gradebook_views.py
@@ -58,16 +58,16 @@ from openedx.core.lib.api.view_utils import (
     view_auth_classes
 )
 from openedx.core.lib.cache_utils import request_cached
-from student.auth import has_course_author_access
-from student.models import CourseEnrollment
-from student.roles import BulkRoleCache
-from track.event_transaction_utils import (
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import BulkRoleCache
+from common.djangoapps.track.event_transaction_utils import (
     create_new_event_transaction_id,
     get_event_transaction_id,
     get_event_transaction_type,
     set_event_transaction_type
 )
-from util.date_utils import to_timestamp
+from common.djangoapps.util.date_utils import to_timestamp
 from xmodule.modulestore.django import modulestore
 from xmodule.util.misc import get_default_short_labeler
 
diff --git a/lms/djangoapps/grades/rest_api/v1/tests/mixins.py b/lms/djangoapps/grades/rest_api/v1/tests/mixins.py
index 695737e2c759b05895b34db980b091e8321199d3..f0967fa510c2612e3793e5a8940f0d5798a8199b 100644
--- a/lms/djangoapps/grades/rest_api/v1/tests/mixins.py
+++ b/lms/djangoapps/grades/rest_api/v1/tests/mixins.py
@@ -11,7 +11,7 @@ from six.moves import range
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
 from lms.djangoapps.program_enrollments.tests.factories import ProgramEnrollmentFactory, ProgramCourseEnrollmentFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/grades/rest_api/v1/tests/test_gradebook_views.py b/lms/djangoapps/grades/rest_api/v1/tests/test_gradebook_views.py
index 14b46691df4da10970269cee40c96837c91f07bf..d1cfe7e025ce1285ed88808a63c1fb60c49f69ae 100644
--- a/lms/djangoapps/grades/rest_api/v1/tests/test_gradebook_views.py
+++ b/lms/djangoapps/grades/rest_api/v1/tests/test_gradebook_views.py
@@ -17,7 +17,7 @@ from rest_framework import status
 from rest_framework.test import APITestCase
 from six import text_type
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
 from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory
@@ -37,7 +37,7 @@ from lms.djangoapps.grades.rest_api.v1.views import CourseEnrollmentPagination
 from lms.djangoapps.grades.subsection_grade import ReadSubsectionGrade
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/grades/rest_api/v1/tests/test_grading_policy_view.py b/lms/djangoapps/grades/rest_api/v1/tests/test_grading_policy_view.py
index 0fab8487babd8a3c31b84fa850061a69467a3cf7..4e75b3cb3bc0c50404de9a3e6416fc152a931189 100644
--- a/lms/djangoapps/grades/rest_api/v1/tests/test_grading_policy_view.py
+++ b/lms/djangoapps/grades/rest_api/v1/tests/test_grading_policy_view.py
@@ -13,7 +13,7 @@ from pytz import UTC
 from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFactory, AccessTokenFactory
 from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory, StaffFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/grades/rest_api/v1/tests/test_views.py b/lms/djangoapps/grades/rest_api/v1/tests/test_views.py
index 9c89bf4d9458a9f10413229cf6f407a88f72dbc2..d6de94533b9e2d1fe2e1f53511f2f301a0752f55 100644
--- a/lms/djangoapps/grades/rest_api/v1/tests/test_views.py
+++ b/lms/djangoapps/grades/rest_api/v1/tests/test_views.py
@@ -15,7 +15,7 @@ from rest_framework.test import APITestCase
 from lms.djangoapps.grades.rest_api.v1.tests.mixins import GradeViewTestMixin
 from lms.djangoapps.grades.rest_api.v1.views import CourseGradesView
 from openedx.core.djangoapps.user_authn.tests.utils import AuthAndScopesTestMixin
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/lms/djangoapps/grades/rest_api/v1/utils.py b/lms/djangoapps/grades/rest_api/v1/utils.py
index 4c2fd9af50703836f55f55c07d85fe27e0d41040..bdf9bba1a185db91337853ed0b38ad1f6be41d0e 100644
--- a/lms/djangoapps/grades/rest_api/v1/utils.py
+++ b/lms/djangoapps/grades/rest_api/v1/utils.py
@@ -14,8 +14,8 @@ from rest_framework.response import Response
 
 from lms.djangoapps.grades.course_grade_factory import CourseGradeFactory
 from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin
-from student.models import CourseEnrollment
-from util.query import use_read_replica_if_available
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.query import use_read_replica_if_available
 
 USER_MODEL = get_user_model()
 
diff --git a/lms/djangoapps/grades/signals/handlers.py b/lms/djangoapps/grades/signals/handlers.py
index 887f0f50221a9ebab45ef617235a564c8d2f17b1..b56f69f9111df5d0bb67dcb5bb0aef3d10140962 100644
--- a/lms/djangoapps/grades/signals/handlers.py
+++ b/lms/djangoapps/grades/signals/handlers.py
@@ -15,10 +15,10 @@ from xblock.scorable import ScorableXBlockMixin, Score
 from lms.djangoapps.courseware.model_data import get_score, set_score
 from openedx.core.djangoapps.course_groups.signals.signals import COHORT_MEMBERSHIP_UPDATED
 from openedx.core.lib.grade_utils import is_score_higher_or_equal
-from student.models import user_by_anonymous_id
-from student.signals import ENROLLMENT_TRACK_UPDATED
-from track.event_transaction_utils import get_event_transaction_id, get_event_transaction_type
-from util.date_utils import to_timestamp
+from common.djangoapps.student.models import user_by_anonymous_id
+from common.djangoapps.student.signals import ENROLLMENT_TRACK_UPDATED
+from common.djangoapps.track.event_transaction_utils import get_event_transaction_id, get_event_transaction_type
+from common.djangoapps.util.date_utils import to_timestamp
 
 from .. import events
 from ..constants import ScoreDatabaseTableEnum
diff --git a/lms/djangoapps/grades/subsection_grade_factory.py b/lms/djangoapps/grades/subsection_grade_factory.py
index 50e82cad28ee56d56e9b0220ca783988f1fcc877..35b6047c2f021a86d760acd7568f7021c6114108 100644
--- a/lms/djangoapps/grades/subsection_grade_factory.py
+++ b/lms/djangoapps/grades/subsection_grade_factory.py
@@ -14,7 +14,7 @@ from lms.djangoapps.grades.config import assume_zero_if_absent, should_persist_g
 from lms.djangoapps.grades.models import PersistentSubsectionGrade
 from lms.djangoapps.grades.scores import possibly_scored
 from openedx.core.lib.grade_utils import is_score_higher_or_equal
-from student.models import anonymous_id_for_user
+from common.djangoapps.student.models import anonymous_id_for_user
 
 from .course_data import CourseData
 from .subsection_grade import CreateSubsectionGrade, ReadSubsectionGrade, ZeroSubsectionGrade
diff --git a/lms/djangoapps/grades/tasks.py b/lms/djangoapps/grades/tasks.py
index cbd517f9c19ea96e9292742dfb0e7276bc0afeb3..a2dafd3e6e34ca0623213fbc143f57a2eb0d1b81 100644
--- a/lms/djangoapps/grades/tasks.py
+++ b/lms/djangoapps/grades/tasks.py
@@ -21,9 +21,9 @@ from lms.djangoapps.courseware.model_data import get_score
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from lms.djangoapps.grades.config.models import ComputeGradesSetting
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment
-from track.event_transaction_utils import set_event_transaction_id, set_event_transaction_type
-from util.date_utils import from_timestamp
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.track.event_transaction_utils import set_event_transaction_id, set_event_transaction_type
+from common.djangoapps.util.date_utils import from_timestamp
 from xmodule.modulestore.django import modulestore
 
 from .config.waffle import DISABLE_REGRADE_ON_POLICY_CHANGE, waffle
diff --git a/lms/djangoapps/grades/tests/base.py b/lms/djangoapps/grades/tests/base.py
index 17146e1cc66df0e942a709caf2667a9e6f1087a6..2e362b3c66cadd0cfbada87e8d861f0607fa8b20 100644
--- a/lms/djangoapps/grades/tests/base.py
+++ b/lms/djangoapps/grades/tests/base.py
@@ -8,8 +8,8 @@ from crum import set_current_request
 from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from openedx.core.djangolib.testing.utils import get_mock_request
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/grades/tests/integration/test_access.py b/lms/djangoapps/grades/tests/integration/test_access.py
index b426b37d10d812b94afa0d8c51bf9e521ee1b0e6..e966671a3ddd6b4107ee4405c116fcf9dac8d873 100644
--- a/lms/djangoapps/grades/tests/integration/test_access.py
+++ b/lms/djangoapps/grades/tests/integration/test_access.py
@@ -9,8 +9,8 @@ from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
 from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from openedx.core.djangolib.testing.utils import get_mock_request
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
diff --git a/lms/djangoapps/grades/tests/integration/test_events.py b/lms/djangoapps/grades/tests/integration/test_events.py
index fdcc3069eb9f54e2ff9d0ff5432a707c8d792088..f6f488e0e7cc76d77fd544038571e930a3b43e81 100644
--- a/lms/djangoapps/grades/tests/integration/test_events.py
+++ b/lms/djangoapps/grades/tests/integration/test_events.py
@@ -13,8 +13,8 @@ from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubm
 from lms.djangoapps.instructor.enrollment import reset_student_attempts
 from lms.djangoapps.instructor_task.api import submit_rescore_problem_for_student
 from openedx.core.djangolib.testing.utils import get_mock_request
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/grades/tests/integration/test_problems.py b/lms/djangoapps/grades/tests/integration/test_problems.py
index ae1815b0927191ea17ec6baff89d4e51449f7541..675ee26d541330212e2509d1fd55b6c341c645cb 100644
--- a/lms/djangoapps/grades/tests/integration/test_problems.py
+++ b/lms/djangoapps/grades/tests/integration/test_problems.py
@@ -10,8 +10,8 @@ from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
 from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from openedx.core.djangolib.testing.utils import get_mock_request
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.graders import ProblemScore
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
diff --git a/lms/djangoapps/grades/tests/test_api.py b/lms/djangoapps/grades/tests/test_api.py
index 6a97ef9496cb7f37da4f030e335799cd5a373b4c..681d022e42210ab37d66e380e03e803fda81df52 100644
--- a/lms/djangoapps/grades/tests/test_api.py
+++ b/lms/djangoapps/grades/tests/test_api.py
@@ -9,7 +9,7 @@ from lms.djangoapps.grades.models import (
     PersistentSubsectionGrade,
     PersistentSubsectionGradeOverride,
 )
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/grades/tests/test_course_data.py b/lms/djangoapps/grades/tests/test_course_data.py
index bf6c08e73f0f6f42ca9f815f7bd80e8cc09863e2..b305a6cc2fcaa102c8c86e519ae88bc98dcc72ba 100644
--- a/lms/djangoapps/grades/tests/test_course_data.py
+++ b/lms/djangoapps/grades/tests/test_course_data.py
@@ -8,7 +8,7 @@ from mock import patch
 
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from openedx.core.djangoapps.content.block_structure.api import get_course_in_cache
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/grades/tests/test_course_grade.py b/lms/djangoapps/grades/tests/test_course_grade.py
index bf8fd188affebd04c4f1aefa4bf23c0afa41273f..3b867ca75e2d733f6b0baa5ae5ee4ba4f76444d7 100644
--- a/lms/djangoapps/grades/tests/test_course_grade.py
+++ b/lms/djangoapps/grades/tests/test_course_grade.py
@@ -6,8 +6,8 @@ from mock import patch
 
 from edx_toggles.toggles.testutils import override_waffle_switch
 from openedx.core.djangolib.testing.utils import get_mock_request
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/grades/tests/test_course_grade_factory.py b/lms/djangoapps/grades/tests/test_course_grade_factory.py
index 4ced0b961afae4a940e1e8b61028c1a2a49038d3..c410729a0a1b4ef723f97c8eb6756ece3bd84f83 100644
--- a/lms/djangoapps/grades/tests/test_course_grade_factory.py
+++ b/lms/djangoapps/grades/tests/test_course_grade_factory.py
@@ -13,7 +13,7 @@ from edx_toggles.toggles.testutils import override_waffle_switch
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.grades.config.tests.utils import persistent_grades_feature_flags
 from openedx.core.djangoapps.content.block_structure.factory import BlockStructureFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/grades/tests/test_models.py b/lms/djangoapps/grades/tests/test_models.py
index 2a071f6ba56f45d2d61890689d3cdbd01ab8de80..44fc05ffee1924777f32b8d47af3d06be93cbb94 100644
--- a/lms/djangoapps/grades/tests/test_models.py
+++ b/lms/djangoapps/grades/tests/test_models.py
@@ -30,8 +30,8 @@ from lms.djangoapps.grades.models import (
     PersistentSubsectionGradeOverride,
     VisibleBlocks
 )
-from student.tests.factories import UserFactory
-from track.event_transaction_utils import get_event_transaction_id, get_event_transaction_type
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.track.event_transaction_utils import get_event_transaction_id, get_event_transaction_type
 
 
 class BlockRecordListTestCase(TestCase):
diff --git a/lms/djangoapps/grades/tests/test_services.py b/lms/djangoapps/grades/tests/test_services.py
index 5da2fea458e23207d74ce785a691fbae1b308239..99c934412d23b0fb2d86ab106970fc680b3ba5e7 100644
--- a/lms/djangoapps/grades/tests/test_services.py
+++ b/lms/djangoapps/grades/tests/test_services.py
@@ -17,7 +17,7 @@ from lms.djangoapps.grades.models import (
     PersistentSubsectionGradeOverride
 )
 from lms.djangoapps.grades.services import GradesService
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/grades/tests/test_signals.py b/lms/djangoapps/grades/tests/test_signals.py
index 3474c85a42d4433a67934811601839f36274e825..a434dc24af9b29932d5accfe77fe82f834eb27a8 100644
--- a/lms/djangoapps/grades/tests/test_signals.py
+++ b/lms/djangoapps/grades/tests/test_signals.py
@@ -12,7 +12,7 @@ from django.test import TestCase
 from mock import MagicMock, patch
 from submissions.models import score_reset, score_set
 
-from util.date_utils import to_timestamp
+from common.djangoapps.util.date_utils import to_timestamp
 
 from ..constants import ScoreDatabaseTableEnum
 from ..signals.handlers import (
diff --git a/lms/djangoapps/grades/tests/test_subsection_grade_factory.py b/lms/djangoapps/grades/tests/test_subsection_grade_factory.py
index 6e94df674193af4181cac0e060271dacf0e1b981..c3390b716a63fa17a050594b62ecc1c1a81679ae 100644
--- a/lms/djangoapps/grades/tests/test_subsection_grade_factory.py
+++ b/lms/djangoapps/grades/tests/test_subsection_grade_factory.py
@@ -9,7 +9,7 @@ from mock import patch
 
 from lms.djangoapps.courseware.tests.test_submitting_problems import ProblemSubmissionTestMixin
 from lms.djangoapps.grades.config.tests.utils import persistent_grades_feature_flags
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..constants import GradeOverrideFeatureEnum
 from ..models import PersistentSubsectionGrade, PersistentSubsectionGradeOverride
diff --git a/lms/djangoapps/grades/tests/test_tasks.py b/lms/djangoapps/grades/tests/test_tasks.py
index 50b7dd087dd6fba5810c48c684828675091bc6e9..13e95d2288f30de294c94de0f053557993660565 100644
--- a/lms/djangoapps/grades/tests/test_tasks.py
+++ b/lms/djangoapps/grades/tests/test_tasks.py
@@ -34,10 +34,10 @@ from lms.djangoapps.grades.tasks import (
     recalculate_subsection_grade_v3
 )
 from openedx.core.djangoapps.content.block_structure.exceptions import BlockStructureNotFound
-from student.models import CourseEnrollment, anonymous_id_for_user
-from student.tests.factories import UserFactory
-from track.event_transaction_utils import create_new_event_transaction_id, get_event_transaction_id
-from util.date_utils import to_timestamp
+from common.djangoapps.student.models import CourseEnrollment, anonymous_id_for_user
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.track.event_transaction_utils import create_new_event_transaction_id, get_event_transaction_id
+from common.djangoapps.util.date_utils import to_timestamp
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/grades/tests/test_transformer.py b/lms/djangoapps/grades/tests/test_transformer.py
index 4e3180f1556f09f44f20b4bc8ccbe278c740e2e0..a3c38d7e05c5cdffe163944a6d5096ec831515e7 100644
--- a/lms/djangoapps/grades/tests/test_transformer.py
+++ b/lms/djangoapps/grades/tests/test_transformer.py
@@ -15,7 +15,7 @@ from six.moves import range
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from lms.djangoapps.course_blocks.transformers.tests.helpers import CourseStructureTestCase
 from openedx.core.djangoapps.content.block_structure.api import clear_course_from_cache
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
diff --git a/lms/djangoapps/instructor/access.py b/lms/djangoapps/instructor/access.py
index fbb431b4014b721c7097eae2f3e8db6682bc86d5..5ea7bde8b6875c577bd755b7597a32fd90c13807 100644
--- a/lms/djangoapps/instructor/access.py
+++ b/lms/djangoapps/instructor/access.py
@@ -14,7 +14,7 @@ import logging
 
 from lms.djangoapps.instructor.enrollment import enroll_email, get_email_params
 from openedx.core.djangoapps.django_comment_common.models import Role
-from student.roles import (
+from common.djangoapps.student.roles import (
     CourseBetaTesterRole, CourseCcxCoachRole, CourseDataResearcherRole,
     CourseInstructorRole, CourseStaffRole
 )
diff --git a/lms/djangoapps/instructor/enrollment.py b/lms/djangoapps/instructor/enrollment.py
index 74a821236f45f28648cb8c966333cf5fbb7e3f82..d36049f1a27ae942cb764d59400b159a2f489175 100644
--- a/lms/djangoapps/instructor/enrollment.py
+++ b/lms/djangoapps/instructor/enrollment.py
@@ -24,7 +24,7 @@ from six import text_type
 from submissions import api as sub_api  # installed from the edx-submissions repository
 from submissions.models import score_set
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.models import StudentModule
 from lms.djangoapps.grades.api import constants as grades_constants
 from lms.djangoapps.grades.api import disconnect_submissions_signal_receiver
@@ -43,8 +43,8 @@ from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_api.models import UserPreference
 from openedx.core.djangolib.markup import Text
-from student.models import CourseEnrollment, CourseEnrollmentAllowed, anonymous_id_for_user, is_email_retired
-from track.event_transaction_utils import (
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAllowed, anonymous_id_for_user, is_email_retired
+from common.djangoapps.track.event_transaction_utils import (
     create_new_event_transaction_id,
     get_event_transaction_id,
     set_event_transaction_type
diff --git a/lms/djangoapps/instructor/services.py b/lms/djangoapps/instructor/services.py
index 4e611cacd39e02d7ba60c78ba87ad76b131f8d1a..22e19aff6ad3e3844e1a71ccd0915e969b9e2375 100644
--- a/lms/djangoapps/instructor/services.py
+++ b/lms/djangoapps/instructor/services.py
@@ -14,8 +14,8 @@ import lms.djangoapps.instructor.enrollment as enrollment
 from lms.djangoapps.courseware.models import StudentModule
 from lms.djangoapps.commerce.utils import create_zendesk_ticket
 from lms.djangoapps.instructor.views.tools import get_student_from_identifier
-from student import auth
-from student.roles import CourseStaffRole
+from common.djangoapps.student import auth
+from common.djangoapps.student.roles import CourseStaffRole
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/instructor/tests/test_access.py b/lms/djangoapps/instructor/tests/test_access.py
index c5ed16a1b8fb448a0514be59c017d0d616e73a06..12b49c590086b2c1c32da52c13a2f5a047b6eb37 100644
--- a/lms/djangoapps/instructor/tests/test_access.py
+++ b/lms/djangoapps/instructor/tests/test_access.py
@@ -9,8 +9,8 @@ from six.moves import range
 from lms.djangoapps.instructor.access import allow_access, list_with_level, revoke_access, update_forum_role
 from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin
 from openedx.core.djangoapps.django_comment_common.models import FORUM_ROLE_MODERATOR, Role
-from student.roles import CourseBetaTesterRole, CourseCcxCoachRole, CourseStaffRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.roles import CourseBetaTesterRole, CourseCcxCoachRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_api.py b/lms/djangoapps/instructor/tests/test_api.py
index 118c6de830fc382f5eacf58e81dc00d4d0dc2ec7..4bb6c6137946f48b81a0653cff9c7f62cdf6657b 100644
--- a/lms/djangoapps/instructor/tests/test_api.py
+++ b/lms/djangoapps/instructor/tests/test_api.py
@@ -34,8 +34,8 @@ from six.moves import range, zip
 from testfixtures import LogCapture
 
 from lms.djangoapps.bulk_email.models import BulkEmailFlag, CourseEmail, CourseEmailTemplate
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.certificates.api import generate_user_certificates
 from lms.djangoapps.certificates.models import CertificateStatuses
@@ -72,7 +72,7 @@ from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
 from openedx.core.lib.teams_config import TeamsConfig
 from openedx.core.lib.xblock_utils import grade_histogram
 from openedx.features.course_experience import RELATIVE_DATES_FLAG
-from student.models import (
+from common.djangoapps.student.models import (
     ALLOWEDTOENROLL_TO_ENROLLED,
     ALLOWEDTOENROLL_TO_UNENROLLED,
     ENROLLED_TO_ENROLLED,
@@ -87,14 +87,14 @@ from student.models import (
     get_retired_email_by_email,
     get_retired_username_by_username
 )
-from student.roles import (
+from common.djangoapps.student.roles import (
     CourseBetaTesterRole,
     CourseDataResearcherRole,
     CourseFinanceAdminRole,
     CourseInstructorRole,
     CourseSalesAdminRole
 )
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.fields import Date
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
diff --git a/lms/djangoapps/instructor/tests/test_api_email_localization.py b/lms/djangoapps/instructor/tests/test_api_email_localization.py
index 1c2a72cdb336f8e0e6e17f3c5c7c744cd8e7068c..473878dcdf44f1cdab3063a25e3536b136661276 100644
--- a/lms/djangoapps/instructor/tests/test_api_email_localization.py
+++ b/lms/djangoapps/instructor/tests/test_api_email_localization.py
@@ -12,8 +12,8 @@ from six import text_type
 from lms.djangoapps.courseware.tests.factories import InstructorFactory
 from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
 from openedx.core.djangoapps.user_api.preferences.api import delete_user_preference, set_user_preference
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_certificates.py b/lms/djangoapps/instructor/tests/test_certificates.py
index 0597f1cd12a1a5b017e67a2a09d2f92d5dcbf955..36600486faad4d9f276648bbc594adebc962de5d 100644
--- a/lms/djangoapps/instructor/tests/test_certificates.py
+++ b/lms/djangoapps/instructor/tests/test_certificates.py
@@ -18,7 +18,7 @@ from django.test.utils import override_settings
 from django.urls import reverse
 
 from capa.xqueue_interface import XQueueInterface
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory, InstructorFactory, UserFactory
 from lms.djangoapps.certificates import api as certs_api
 from lms.djangoapps.certificates.models import (
@@ -36,7 +36,7 @@ from lms.djangoapps.certificates.tests.factories import (
 from lms.djangoapps.grades.tests.utils import mock_passing_grade
 from lms.djangoapps.verify_student.services import IDVerificationService
 from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_email.py b/lms/djangoapps/instructor/tests/test_email.py
index bb70ad370f3d999bbb5951fd39f0da1f904ee397..72fc6bb5254f4ba0ba7bbbf04af7c2a1c449e07d 100644
--- a/lms/djangoapps/instructor/tests/test_email.py
+++ b/lms/djangoapps/instructor/tests/test_email.py
@@ -12,7 +12,7 @@ from six import text_type
 
 from lms.djangoapps.bulk_email.api import is_bulk_email_enabled_for_course, is_bulk_email_feature_enabled
 from lms.djangoapps.bulk_email.models import BulkEmailFlag, CourseAuthorization
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_MIXED_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_enrollment.py b/lms/djangoapps/instructor/tests/test_enrollment.py
index cfe5ee09e21f4e54b868d53535a4ce75ef75306d..bae4f632cfad596a8ba5e933c0dc3e273a6c7868 100644
--- a/lms/djangoapps/instructor/tests/test_enrollment.py
+++ b/lms/djangoapps/instructor/tests/test_enrollment.py
@@ -38,9 +38,9 @@ from lms.djangoapps.teams.models import CourseTeamMembership
 from lms.djangoapps.teams.tests.factories import CourseTeamFactory
 from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, get_mock_request
-from student.models import CourseEnrollment, CourseEnrollmentAllowed, anonymous_id_for_user
-from student.roles import CourseCcxCoachRole
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAllowed, anonymous_id_for_user
+from common.djangoapps.student.roles import CourseCcxCoachRole
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_proctoring.py b/lms/djangoapps/instructor/tests/test_proctoring.py
index b78ef1ee6a98c1622d0b2c2d99d5c057f2b58fc0..84b37612b500ccd6cc24cca3fe238ffeb25a16a0 100644
--- a/lms/djangoapps/instructor/tests/test_proctoring.py
+++ b/lms/djangoapps/instructor/tests/test_proctoring.py
@@ -11,8 +11,8 @@ from six import text_type
 
 from edx_proctoring.api import create_exam
 from edx_proctoring.backends.tests.test_backend import TestBackendProvider
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_services.py b/lms/djangoapps/instructor/tests/test_services.py
index 368acba6e0fe41fd31999fd7554444108c4f1853..c83b81c0c5f1cd6e1ffa4e5e6e0abc8bf00b3f26 100644
--- a/lms/djangoapps/instructor/tests/test_services.py
+++ b/lms/djangoapps/instructor/tests/test_services.py
@@ -12,8 +12,8 @@ from lms.djangoapps.courseware.models import StudentModule
 from lms.djangoapps.instructor.access import allow_access
 from lms.djangoapps.instructor.services import InstructorService
 from lms.djangoapps.instructor.tests.test_tools import msk_from_problem_urlname
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_spoc_gradebook.py b/lms/djangoapps/instructor/tests/test_spoc_gradebook.py
index 02175fe98734803028473770bd84045753941bde..00ae66ae2124535d89359f3ab540bf1e646c61b3 100644
--- a/lms/djangoapps/instructor/tests/test_spoc_gradebook.py
+++ b/lms/djangoapps/instructor/tests/test_spoc_gradebook.py
@@ -10,7 +10,7 @@ from six.moves import range
 from capa.tests.response_xml_factory import StringResponseXMLFactory
 from lms.djangoapps.courseware.tests.factories import StudentModuleFactory
 from lms.djangoapps.grades.api import task_compute_all_grades_for_course
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/instructor/tests/test_tools.py b/lms/djangoapps/instructor/tests/test_tools.py
index 9febba7ccc993b8aff7a1081fff5a22a3cb6301a..5c653fae222c087ef30930b64ca92ae77c8b9469 100644
--- a/lms/djangoapps/instructor/tests/test_tools.py
+++ b/lms/djangoapps/instructor/tests/test_tools.py
@@ -19,7 +19,7 @@ from edx_when.api import set_dates_for_course
 from edx_when.field_data import DateLookupFieldData
 from openedx.core.djangoapps.course_date_signals import handlers
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.fields import Date
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/lms/djangoapps/instructor/tests/utils.py b/lms/djangoapps/instructor/tests/utils.py
index 2a65e8509e1059446b35df8fceae8c12b0381a7f..87ca8297aac805fabc53b50dda6af6eddcf85116 100644
--- a/lms/djangoapps/instructor/tests/utils.py
+++ b/lms/djangoapps/instructor/tests/utils.py
@@ -10,7 +10,7 @@ import random
 import six
 from pytz import UTC
 
-from util.date_utils import get_default_time_display
+from common.djangoapps.util.date_utils import get_default_time_display
 
 
 class FakeInfo(object):
diff --git a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py
index 19fe30496f158d31b81ed5caf77843ee3139d7fe..77873d8833ddd4adb08d627ca578627289caa13e 100644
--- a/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py
+++ b/lms/djangoapps/instructor/tests/views/test_instructor_dashboard.py
@@ -19,9 +19,9 @@ from six import text_type
 from six.moves import range
 
 from common.test.utils import XssTestMixin
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from edx_toggles.toggles.testutils import override_waffle_flag
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.courseware.tabs import get_course_tab_list
 from lms.djangoapps.courseware.tests.factories import StaffFactory, StudentModuleFactory, UserFactory
 from lms.djangoapps.courseware.tests.helpers import LoginEnrollmentTestCase
@@ -29,9 +29,9 @@ from lms.djangoapps.grades.config.waffle import WRITABLE_GRADEBOOK, waffle_flags
 from lms.djangoapps.instructor.toggles import DATA_DOWNLOAD_V2
 from lms.djangoapps.instructor.views.gradebook_api import calculate_page_info
 from openedx.core.djangoapps.site_configuration.models import SiteConfiguration
-from student.models import CourseEnrollment
-from student.roles import CourseFinanceAdminRole
-from student.tests.factories import AdminFactory, CourseAccessRoleFactory, CourseEnrollmentFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseFinanceAdminRole
+from common.djangoapps.student.tests.factories import AdminFactory, CourseAccessRoleFactory, CourseEnrollmentFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, check_mongo_calls
diff --git a/lms/djangoapps/instructor/views/api.py b/lms/djangoapps/instructor/views/api.py
index 1dd932e10c4b37868f50de2cdc2ac09d5540eda3..0c2b227af7a48be3c340930ca1e739ed07044844 100644
--- a/lms/djangoapps/instructor/views/api.py
+++ b/lms/djangoapps/instructor/views/api.py
@@ -48,7 +48,7 @@ from lms.djangoapps.instructor_analytics import csvs as instructor_analytics_csv
 from lms.djangoapps.instructor_analytics import distributions as instructor_analytics_distributions
 from lms.djangoapps.bulk_email.api import is_bulk_email_feature_enabled
 from lms.djangoapps.bulk_email.models import CourseEmail
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates import api as certs_api
 from lms.djangoapps.certificates.models import (
     CertificateInvalidation,
@@ -94,8 +94,8 @@ from openedx.core.djangoapps.user_api.preferences.api import get_user_preference
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
 from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin
-from student import auth
-from student.models import (
+from common.djangoapps.student import auth
+from common.djangoapps.student.models import (
     ALLOWEDTOENROLL_TO_ENROLLED,
     ALLOWEDTOENROLL_TO_UNENROLLED,
     DEFAULT_TRANSITION_STATE,
@@ -115,15 +115,15 @@ from student.models import (
     is_email_retired,
     unique_id_for_user
 )
-from student.roles import CourseFinanceAdminRole, CourseSalesAdminRole
-from util.file import (
+from common.djangoapps.student.roles import CourseFinanceAdminRole, CourseSalesAdminRole
+from common.djangoapps.util.file import (
     FileValidationException,
     UniversalNewlineIterator,
     course_and_time_based_filename_generator,
     store_uploaded_file
 )
-from util.json_request import JsonResponse, JsonResponseBadRequest
-from util.views import require_global_staff
+from common.djangoapps.util.json_request import JsonResponse, JsonResponseBadRequest
+from common.djangoapps.util.views import require_global_staff
 from xmodule.modulestore.django import modulestore
 
 from .. import permissions
diff --git a/lms/djangoapps/instructor/views/gradebook_api.py b/lms/djangoapps/instructor/views/gradebook_api.py
index ca8a4f0293cb5c6f8d24c5e0240a959e0f0f9173..9a20ecdcbe17b24dcc7c162df485e722617e2c92 100644
--- a/lms/djangoapps/instructor/views/gradebook_api.py
+++ b/lms/djangoapps/instructor/views/gradebook_api.py
@@ -13,7 +13,7 @@ from django.views.decorators.cache import cache_control
 from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.courseware.courses import get_course_with_access
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.grades.api import CourseGradeFactory
 from lms.djangoapps.instructor.views.api import require_course_permission
 from xmodule.modulestore.django import modulestore
diff --git a/lms/djangoapps/instructor/views/instructor_dashboard.py b/lms/djangoapps/instructor/views/instructor_dashboard.py
index 5ad8e053151c98cec3aa361ead404751770d4e97..5e3ad50821a1271703780bd0484b15df1e227989 100644
--- a/lms/djangoapps/instructor/views/instructor_dashboard.py
+++ b/lms/djangoapps/instructor/views/instructor_dashboard.py
@@ -30,8 +30,8 @@ from xblock.field_data import DictFieldData
 from xblock.fields import ScopeIds
 
 from lms.djangoapps.bulk_email.api import is_bulk_email_feature_enabled
-from course_modes.models import CourseMode, CourseModesArchive
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.course_modes.models import CourseMode, CourseModesArchive
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.certificates import api as certs_api
 from lms.djangoapps.certificates.models import (
     CertificateGenerationConfiguration,
@@ -53,12 +53,12 @@ from openedx.core.djangoapps.verified_track_content.models import VerifiedTrackC
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.core.lib.url_utils import quote_slashes
 from openedx.core.lib.xblock_utils import wrap_xblock
-from student.models import CourseEnrollment
-from student.roles import (
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import (
     CourseFinanceAdminRole, CourseInstructorRole,
     CourseSalesAdminRole, CourseStaffRole
 )
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.html_module import HtmlBlock
 from xmodule.modulestore.django import modulestore
 from xmodule.tabs import CourseTab
diff --git a/lms/djangoapps/instructor/views/instructor_task_helpers.py b/lms/djangoapps/instructor/views/instructor_task_helpers.py
index 177e310d742af545165672f41fec6dd28bb9758f..e7eb12d234e4e3e39d658552b7728a3b28aaa139 100644
--- a/lms/djangoapps/instructor/views/instructor_task_helpers.py
+++ b/lms/djangoapps/instructor/views/instructor_task_helpers.py
@@ -13,7 +13,7 @@ from django.utils.translation import ungettext
 
 from lms.djangoapps.bulk_email.models import CourseEmail
 from lms.djangoapps.instructor_task.views import get_task_completion_info
-from util.date_utils import get_default_time_display
+from common.djangoapps.util.date_utils import get_default_time_display
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/instructor/views/tools.py b/lms/djangoapps/instructor/views/tools.py
index 7cbc0987f59c5e34284896f41687d0f26a742a23..562cfa03d371c88468c733e073093c2ef4d2bee2 100644
--- a/lms/djangoapps/instructor/views/tools.py
+++ b/lms/djangoapps/instructor/views/tools.py
@@ -18,7 +18,7 @@ from six import string_types, text_type
 from six.moves import zip
 
 from openedx.core.djangoapps.schedules.models import Schedule
-from student.models import get_user_by_username_or_email, CourseEnrollment
+from common.djangoapps.student.models import get_user_by_username_or_email, CourseEnrollment
 
 
 class DashboardError(Exception):
diff --git a/lms/djangoapps/instructor_analytics/basic.py b/lms/djangoapps/instructor_analytics/basic.py
index 6d9c9a1725da9ced8fc22a8b585e2e4ce81db423..e600d7220891d6182f5a4709f8245cd6dc499879 100644
--- a/lms/djangoapps/instructor_analytics/basic.py
+++ b/lms/djangoapps/instructor_analytics/basic.py
@@ -27,7 +27,7 @@ from lms.djangoapps.grades.api import context as grades_context
 from lms.djangoapps.verify_student.services import IDVerificationService
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangolib.markup import HTML, Text
-from student.models import CourseEnrollment, CourseEnrollmentAllowed
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAllowed
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/instructor_analytics/distributions.py b/lms/djangoapps/instructor_analytics/distributions.py
index f2a847a14dfe0fabdd9dda6fdd86af43866813b6..5d7c633e06d9cb39caabe87a5c65aa7180ced773 100644
--- a/lms/djangoapps/instructor_analytics/distributions.py
+++ b/lms/djangoapps/instructor_analytics/distributions.py
@@ -24,7 +24,7 @@ The distribution in a course for gender might look like:
 
 from django.db.models import Count
 
-from student.models import CourseEnrollment, UserProfile
+from common.djangoapps.student.models import CourseEnrollment, UserProfile
 
 # choices with a restricted domain, e.g. level_of_education
 _EASY_CHOICE_FEATURES = ('gender', 'level_of_education')
diff --git a/lms/djangoapps/instructor_analytics/tests/test_basic.py b/lms/djangoapps/instructor_analytics/tests/test_basic.py
index b4023cc8cca8d2bf1f9cee301b6f3ca65a161706..363ff20d0efbe63b0165f6e1c48f208f373de5dc 100644
--- a/lms/djangoapps/instructor_analytics/tests/test_basic.py
+++ b/lms/djangoapps/instructor_analytics/tests/test_basic.py
@@ -18,8 +18,8 @@ from opaque_keys.edx.locator import UsageKey
 from six import text_type
 from six.moves import range, zip
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.tests.factories import InstructorFactory
 from lms.djangoapps.instructor_analytics.basic import (
     AVAILABLE_FEATURES,
@@ -35,9 +35,9 @@ from lms.djangoapps.instructor_analytics.basic import (
     list_problem_responses,
 )
 from openedx.core.djangoapps.course_groups.tests.helpers import CohortFactory
-from student.models import CourseEnrollment, CourseEnrollmentAllowed
-from student.roles import CourseSalesAdminRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAllowed
+from common.djangoapps.student.roles import CourseSalesAdminRole
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
@@ -194,7 +194,7 @@ class TestAnalyticsBasic(ModuleStoreTestCase):
             self.assertIn(userreport['verification_status'], ["N/A"])
         # make sure that the user report respects whatever value
         # is returned by verification and enrollment code
-        with patch("student.models.CourseEnrollment.enrollment_mode_for_user") as enrollment_patch:
+        with patch("common.djangoapps.student.models.CourseEnrollment.enrollment_mode_for_user") as enrollment_patch:
             with patch(
                 "lms.djangoapps.verify_student.services.IDVerificationService.verification_status_for_user"
             ) as verify_patch:
diff --git a/lms/djangoapps/instructor_analytics/tests/test_distributions.py b/lms/djangoapps/instructor_analytics/tests/test_distributions.py
index beb55083a4bdf4f19b3fa6e65b40ba3d976ec7e8..dc96edc541da865f9c9b7964bcb4536904b8428c 100644
--- a/lms/djangoapps/instructor_analytics/tests/test_distributions.py
+++ b/lms/djangoapps/instructor_analytics/tests/test_distributions.py
@@ -7,8 +7,8 @@ from opaque_keys.edx.locator import CourseLocator
 from six.moves import range
 
 from lms.djangoapps.instructor_analytics.distributions import AVAILABLE_PROFILE_FEATURES, profile_distribution
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestAnalyticsDistributions(TestCase):
diff --git a/lms/djangoapps/instructor_task/api.py b/lms/djangoapps/instructor_task/api.py
index 2533d5c745ed47eb1134fcc366795a6d2d670f80..d5ca3b7b264bc816ccb02ccfe42649a195f97b8a 100644
--- a/lms/djangoapps/instructor_task/api.py
+++ b/lms/djangoapps/instructor_task/api.py
@@ -43,7 +43,7 @@ from lms.djangoapps.instructor_task.tasks import (
     reset_problem_attempts,
     send_bulk_course_email
 )
-from util import milestones_helpers
+from common.djangoapps.util import milestones_helpers
 from xmodule.modulestore.django import modulestore
 
 
diff --git a/lms/djangoapps/instructor_task/api_helper.py b/lms/djangoapps/instructor_task/api_helper.py
index 0b46c5ad7faa6ceffbbdab5bf218f113f5582872..16c7dd00c987a165297460923ced3926b130832d 100644
--- a/lms/djangoapps/instructor_task/api_helper.py
+++ b/lms/djangoapps/instructor_task/api_helper.py
@@ -20,7 +20,7 @@ from six import text_type
 from lms.djangoapps.courseware.courses import get_problems_in_section
 from lms.djangoapps.courseware.module_render import get_xqueue_callback_url_prefix
 from lms.djangoapps.instructor_task.models import PROGRESS, InstructorTask
-from util.db import outer_atomic
+from common.djangoapps.util.db import outer_atomic
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/lms/djangoapps/instructor_task/subtasks.py b/lms/djangoapps/instructor_task/subtasks.py
index 0d1024dd061f6c990b86f15e2f9636ff0a2f4f0b..26ab42fc747ba0a943ad109579c5a910454e25fd 100644
--- a/lms/djangoapps/instructor_task/subtasks.py
+++ b/lms/djangoapps/instructor_task/subtasks.py
@@ -18,7 +18,7 @@ from django.db import DatabaseError, transaction
 from django.utils.encoding import python_2_unicode_compatible
 from six.moves import range, zip
 
-from util.db import outer_atomic
+from common.djangoapps.util.db import outer_atomic
 
 from .exceptions import DuplicateTaskException
 from .models import PROGRESS, QUEUING, InstructorTask
diff --git a/lms/djangoapps/instructor_task/tasks_helper/certs.py b/lms/djangoapps/instructor_task/tasks_helper/certs.py
index 047beacf6a3e064cbc0d8f4396b6d853ba2db4de..04250be8f90c0ee041280c6ac5333d79d6a1de8e 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/certs.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/certs.py
@@ -10,7 +10,7 @@ from django.db.models import Q
 
 from lms.djangoapps.certificates.api import generate_user_certificates
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.django import modulestore
 
 from .runner import TaskProgress
diff --git a/lms/djangoapps/instructor_task/tasks_helper/enrollments.py b/lms/djangoapps/instructor_task/tasks_helper/enrollments.py
index c22db99a8f24ac6b116ff3337d6243afb7263f2d..3b2b8c9588a682e21443299427e8e4e06cd2ab1b 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/enrollments.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/enrollments.py
@@ -12,13 +12,13 @@ from django.utils.translation import ugettext as _
 from pytz import UTC
 from six import StringIO
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from lms.djangoapps.courseware.courses import get_course_by_id
 from lms.djangoapps.instructor_analytics.basic import enrolled_students_features, list_may_enroll
 from lms.djangoapps.instructor_analytics.csvs import format_dictlist
 from lms.djangoapps.instructor_task.models import ReportStore
-from student.models import CourseAccessRole, CourseEnrollment
-from util.file import course_filename_prefix_generator
+from common.djangoapps.student.models import CourseAccessRole, CourseEnrollment
+from common.djangoapps.util.file import course_filename_prefix_generator
 
 from .runner import TaskProgress
 from .utils import tracker_emit, upload_csv_to_report_store
diff --git a/lms/djangoapps/instructor_task/tasks_helper/grades.py b/lms/djangoapps/instructor_task/tasks_helper/grades.py
index dadb72844f3b28b97ade019cf634440afd62d55a..911b64a702c6e789a302b7222076470a8d43bb70 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/grades.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/grades.py
@@ -19,7 +19,7 @@ from pytz import UTC
 from six import text_type
 from six.moves import zip, zip_longest
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateWhitelist, GeneratedCertificate, certificate_info_for_user
 from lms.djangoapps.courseware.courses import get_course_by_id
 from lms.djangoapps.courseware.user_state_client import DjangoXBlockUserStateClient
@@ -41,8 +41,8 @@ from openedx.core.djangoapps.content.block_structure.api import get_course_in_ca
 from openedx.core.djangoapps.course_groups.cohorts import bulk_cache_cohorts, get_cohort, is_course_cohorted
 from openedx.core.djangoapps.user_api.course_tag.api import BulkCourseTags
 from openedx.core.lib.cache_utils import get_cache
-from student.models import CourseEnrollment
-from student.roles import BulkRoleCache
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import BulkRoleCache
 from xmodule.modulestore.django import modulestore
 from xmodule.partitions.partitions_service import PartitionService
 from xmodule.split_test_module import get_split_user_partitions
diff --git a/lms/djangoapps/instructor_task/tasks_helper/misc.py b/lms/djangoapps/instructor_task/tasks_helper/misc.py
index b0b4729c22865eefec2d50a3a8b9eea5f8263b45..b8e0fa5592d5035f6f1a4b4850be128071b0fd43 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/misc.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/misc.py
@@ -29,7 +29,7 @@ from lms.djangoapps.instructor_analytics.csvs import format_dictlist
 from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort
 from openedx.core.djangoapps.course_groups.models import CourseUserGroup
 from lms.djangoapps.survey.models import SurveyAnswer
-from util.file import UniversalNewlineIterator
+from common.djangoapps.util.file import UniversalNewlineIterator
 
 from .runner import TaskProgress
 from .utils import (
diff --git a/lms/djangoapps/instructor_task/tasks_helper/module_state.py b/lms/djangoapps/instructor_task/tasks_helper/module_state.py
index 5e8d3d9473e01048f8312c5064c9cde696c0e2d9..65a6998f96af1470233ca6ec8a57aa2b7ad45166 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/module_state.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/module_state.py
@@ -19,10 +19,10 @@ from lms.djangoapps.courseware.model_data import DjangoKeyValueStore, FieldDataC
 from lms.djangoapps.courseware.models import StudentModule
 from lms.djangoapps.courseware.module_render import get_module_for_descriptor_internal
 from lms.djangoapps.grades.api import events as grades_events
-from student.models import get_user_by_username_or_email
-from track.event_transaction_utils import create_new_event_transaction_id, set_event_transaction_type
-from track.views import task_track
-from util.db import outer_atomic
+from common.djangoapps.student.models import get_user_by_username_or_email
+from common.djangoapps.track.event_transaction_utils import create_new_event_transaction_id, set_event_transaction_type
+from common.djangoapps.track.views import task_track
+from common.djangoapps.util.db import outer_atomic
 from xmodule.modulestore.django import modulestore
 
 from ..exceptions import UpdateProblemModuleStateError
diff --git a/lms/djangoapps/instructor_task/tasks_helper/runner.py b/lms/djangoapps/instructor_task/tasks_helper/runner.py
index 1724e44a7ddaefed102a28310f1eb0fa65279ae4..d1bd5c62eb07d8b44a2a60dbdbd4a47a19f5ae43 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/runner.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/runner.py
@@ -11,7 +11,7 @@ from celery import current_task
 from django.db import reset_queries
 
 from lms.djangoapps.instructor_task.models import PROGRESS, InstructorTask
-from util.db import outer_atomic
+from common.djangoapps.util.db import outer_atomic
 
 TASK_LOG = logging.getLogger('edx.celery.task')
 
diff --git a/lms/djangoapps/instructor_task/tasks_helper/utils.py b/lms/djangoapps/instructor_task/tasks_helper/utils.py
index 8a9afdb1eed462f2c501f66b79423d3a242a2e2e..07de2e8e91676153d0fe004213d494abcfa4f325 100644
--- a/lms/djangoapps/instructor_task/tasks_helper/utils.py
+++ b/lms/djangoapps/instructor_task/tasks_helper/utils.py
@@ -6,7 +6,7 @@ Utility methods for instructor tasks
 from eventtracking import tracker
 
 from lms.djangoapps.instructor_task.models import ReportStore
-from util.file import course_filename_prefix_generator
+from common.djangoapps.util.file import course_filename_prefix_generator
 
 REPORT_REQUESTED_EVENT_NAME = u'edx.instructor.report.requested'
 
diff --git a/lms/djangoapps/instructor_task/tests/factories.py b/lms/djangoapps/instructor_task/tests/factories.py
index f68ec11d168dba3eb7bb81cf2e4d36db7e4ae4cf..47dbefdf59a7c79b4c48f3ddbc85319d9c713b06 100644
--- a/lms/djangoapps/instructor_task/tests/factories.py
+++ b/lms/djangoapps/instructor_task/tests/factories.py
@@ -11,7 +11,7 @@ from factory.django import DjangoModelFactory
 from opaque_keys.edx.locator import CourseLocator
 
 from lms.djangoapps.instructor_task.models import InstructorTask
-from student.tests.factories import UserFactory as StudentUserFactory
+from common.djangoapps.student.tests.factories import UserFactory as StudentUserFactory
 
 
 class InstructorTaskFactory(DjangoModelFactory):
diff --git a/lms/djangoapps/instructor_task/tests/test_base.py b/lms/djangoapps/instructor_task/tests/test_base.py
index 9e5776c9d21c8bfd281ecb9ab535b94004dfbe1d..be41f14fea95a32c5647d55f3446dd39e58101f7 100644
--- a/lms/djangoapps/instructor_task/tests/test_base.py
+++ b/lms/djangoapps/instructor_task/tests/test_base.py
@@ -30,7 +30,7 @@ from lms.djangoapps.instructor_task.tests.factories import InstructorTaskFactory
 from lms.djangoapps.instructor_task.views import instructor_task_status
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.core.lib.url_utils import quote_slashes
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/instructor_task/tests/test_subtasks.py b/lms/djangoapps/instructor_task/tests/test_subtasks.py
index e78f7cabe08f76280233798f5f0ed97cac2703b2..fc6fd4ef242e30754c4336d4090512babcc05095 100644
--- a/lms/djangoapps/instructor_task/tests/test_subtasks.py
+++ b/lms/djangoapps/instructor_task/tests/test_subtasks.py
@@ -11,7 +11,7 @@ from six.moves import range
 from lms.djangoapps.instructor_task.subtasks import queue_subtasks_for_query
 from lms.djangoapps.instructor_task.tests.factories import InstructorTaskFactory
 from lms.djangoapps.instructor_task.tests.test_base import InstructorTaskCourseTestCase
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class TestSubtasks(InstructorTaskCourseTestCase):
diff --git a/lms/djangoapps/instructor_task/tests/test_tasks.py b/lms/djangoapps/instructor_task/tests/test_tasks.py
index 2f9a90630b1a6b31923b72764a8f6630e3bf3aba..5fd342708a6075e9c381ec0892679295792e11c9 100644
--- a/lms/djangoapps/instructor_task/tests/test_tasks.py
+++ b/lms/djangoapps/instructor_task/tests/test_tasks.py
@@ -17,7 +17,7 @@ from mock import MagicMock, Mock, patch
 from opaque_keys.edx.keys import i4xEncoder
 from six.moves import range
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.models import StudentModule
 from lms.djangoapps.courseware.tests.factories import StudentModuleFactory
 from lms.djangoapps.instructor_task.exceptions import UpdateProblemModuleStateError
diff --git a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
index 4ebb770940bc82f7b307df9b0b4db5670f8ca66c..e2d2d5a47fd661ed7bfd373922185c30a5935cc6 100644
--- a/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
+++ b/lms/djangoapps/instructor_task/tests/test_tasks_helper.py
@@ -33,8 +33,8 @@ from waffle.testutils import override_switch
 
 import openedx.core.djangoapps.user_api.course_tag.api as course_tag_api
 from capa.tests.response_xml_factory import MultipleChoiceResponseXMLFactory
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.models import StudentModule
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
 from lms.djangoapps.certificates.tests.factories import CertificateWhitelistFactory, GeneratedCertificateFactory
@@ -75,8 +75,8 @@ from openedx.core.djangoapps.credit.tests.factories import CreditCourseFactory
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
 from openedx.core.djangoapps.util.testing import ContentGroupTestCase, TestConditionalContent
 from openedx.core.lib.teams_config import TeamsConfig
-from student.models import ALLOWEDTOENROLL_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAllowed, ManualEnrollmentAudit
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import ALLOWEDTOENROLL_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAllowed, ManualEnrollmentAudit
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from lms.djangoapps.survey.models import SurveyAnswer, SurveyForm
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
diff --git a/lms/djangoapps/learner_dashboard/tests/test_programs.py b/lms/djangoapps/learner_dashboard/tests/test_programs.py
index 2d27052c01c96f12b567b07d30c57d5d11bfc63c..8af51b17493ed0f253b569ef3116fe2324fd2480 100644
--- a/lms/djangoapps/learner_dashboard/tests/test_programs.py
+++ b/lms/djangoapps/learner_dashboard/tests/test_programs.py
@@ -27,7 +27,7 @@ from openedx.core.djangoapps.catalog.tests.factories import (
 from openedx.core.djangoapps.catalog.tests.mixins import CatalogIntegrationMixin
 from openedx.core.djangoapps.programs.tests.mixins import ProgramsApiConfigMixin
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory as ModuleStoreCourseFactory
 
diff --git a/lms/djangoapps/learner_dashboard/views.py b/lms/djangoapps/learner_dashboard/views.py
index e77f970c08d596b28d2db330d497cdca3cded8c4..db6c6724e8b4411150321dea60722658e9528ba0 100644
--- a/lms/djangoapps/learner_dashboard/views.py
+++ b/lms/djangoapps/learner_dashboard/views.py
@@ -4,7 +4,7 @@
 from django.contrib.auth.decorators import login_required
 from django.views.decorators.http import require_GET
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.learner_dashboard.programs import ProgramDetailsFragmentView, ProgramsFragmentView
 from openedx.core.djangoapps.programs.models import ProgramsApiConfig
 
diff --git a/lms/djangoapps/lms_xblock/test/test_runtime.py b/lms/djangoapps/lms_xblock/test/test_runtime.py
index f08b191939b519dc9a54879f80446fd9b7fc2622..a24078cb5697abbebece2fce18c7f5b267226595 100644
--- a/lms/djangoapps/lms_xblock/test/test_runtime.py
+++ b/lms/djangoapps/lms_xblock/test/test_runtime.py
@@ -16,7 +16,7 @@ from xblock.fields import ScopeIds
 from lms.djangoapps.badges.tests.factories import BadgeClassFactory
 from lms.djangoapps.badges.tests.test_models import get_image
 from lms.djangoapps.lms_xblock.runtime import LmsModuleSystem
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import ModuleI18nService
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/lti_provider/management/commands/tests/test_resend_lti_scores.py b/lms/djangoapps/lti_provider/management/commands/tests/test_resend_lti_scores.py
index 70514373d97dd5ba52106e857936a90d670ad60a..18bbfbfbbc4ee3a1db8293e3443205f69ff65687 100644
--- a/lms/djangoapps/lti_provider/management/commands/tests/test_resend_lti_scores.py
+++ b/lms/djangoapps/lti_provider/management/commands/tests/test_resend_lti_scores.py
@@ -10,7 +10,7 @@ from opaque_keys.edx.keys import CourseKey, UsageKey
 
 from lms.djangoapps.lti_provider.management.commands import resend_lti_scores
 from lms.djangoapps.lti_provider.models import GradedAssignment, LtiConsumer, OutcomeService
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.utils import TEST_DATA_DIR
 from xmodule.modulestore.xml_importer import import_course_from_xml
diff --git a/lms/djangoapps/lti_provider/tests/test_outcomes.py b/lms/djangoapps/lti_provider/tests/test_outcomes.py
index c31ffe36c2fe03c206cbbd95139541559a2a2aa3..cc0f4cac55a085e4504023f3b2ba7925abeac110 100644
--- a/lms/djangoapps/lti_provider/tests/test_outcomes.py
+++ b/lms/djangoapps/lti_provider/tests/test_outcomes.py
@@ -10,7 +10,7 @@ from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
 
 import lms.djangoapps.lti_provider.outcomes as outcomes
 from lms.djangoapps.lti_provider.models import GradedAssignment, LtiConsumer, OutcomeService
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, check_mongo_calls
 
diff --git a/lms/djangoapps/lti_provider/tests/test_tasks.py b/lms/djangoapps/lti_provider/tests/test_tasks.py
index 8c9824825726843114bead17c4d230b804258347..6fc387d2fadccfe989b0de21a9619c1167ab4bbb 100644
--- a/lms/djangoapps/lti_provider/tests/test_tasks.py
+++ b/lms/djangoapps/lti_provider/tests/test_tasks.py
@@ -11,7 +11,7 @@ from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
 
 import lms.djangoapps.lti_provider.tasks as tasks
 from lms.djangoapps.lti_provider.models import GradedAssignment, LtiConsumer, OutcomeService
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class BaseOutcomeTest(TestCase):
diff --git a/lms/djangoapps/lti_provider/tests/test_users.py b/lms/djangoapps/lti_provider/tests/test_users.py
index 90401f2b286f1bc597f88d1f29df5fea4d0ca9c4..0b083434a588b121e7ea64c2b3ba20c507b34e02 100644
--- a/lms/djangoapps/lti_provider/tests/test_users.py
+++ b/lms/djangoapps/lti_provider/tests/test_users.py
@@ -14,7 +14,7 @@ from six.moves import range
 
 from .. import users
 from ..models import LtiConsumer, LtiUser
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class UserManagementHelperTest(TestCase):
diff --git a/lms/djangoapps/lti_provider/tests/test_views.py b/lms/djangoapps/lti_provider/tests/test_views.py
index 942d913b04b1e12059d005302735ddf116d53239..5192bfaf6f4aac1ba10a28ea548a2981ddddcbf3 100644
--- a/lms/djangoapps/lti_provider/tests/test_views.py
+++ b/lms/djangoapps/lti_provider/tests/test_views.py
@@ -12,7 +12,7 @@ from opaque_keys.edx.locator import BlockUsageLocator, CourseLocator
 
 from lms.djangoapps.courseware.testutils import RenderXBlockTestMixin
 from lms.djangoapps.lti_provider import models, views
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 LTI_DEFAULT_PARAMS = {
diff --git a/lms/djangoapps/lti_provider/users.py b/lms/djangoapps/lti_provider/users.py
index 73979f0e28530330008f0e1869b8b2aed4d20f61..3ff26f99a6c52f9395c53d3287294d4cc027bae5 100644
--- a/lms/djangoapps/lti_provider/users.py
+++ b/lms/djangoapps/lti_provider/users.py
@@ -16,7 +16,7 @@ from django.db import IntegrityError, transaction
 from six.moves import range
 
 from lms.djangoapps.lti_provider.models import LtiUser
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 
 
 def authenticate_lti_user(request, lti_user_id, lti_consumer):
diff --git a/lms/djangoapps/lti_provider/views.py b/lms/djangoapps/lti_provider/views.py
index f24bcfe503d9ba0c34f0a7496d8d0c8431e75bf3..cc10a368b7ae0525ef854e699b9b448220595b14 100644
--- a/lms/djangoapps/lti_provider/views.py
+++ b/lms/djangoapps/lti_provider/views.py
@@ -17,7 +17,7 @@ from lms.djangoapps.lti_provider.outcomes import store_outcome_parameters
 from lms.djangoapps.lti_provider.signature_validator import SignatureValidator
 from lms.djangoapps.lti_provider.users import authenticate_lti_user
 from openedx.core.lib.url_utils import unquote_slashes
-from util.views import add_p3p_header
+from common.djangoapps.util.views import add_p3p_header
 
 log = logging.getLogger("edx.lti_provider")
 
diff --git a/lms/djangoapps/mailing/management/commands/mailchimp_sync_course.py b/lms/djangoapps/mailing/management/commands/mailchimp_sync_course.py
index 02d73c1c2884cc1b7e558ea072a6d1a66ec7af19..3157ad62c9262e779e965d2e0d34544eaf6d3499 100644
--- a/lms/djangoapps/mailing/management/commands/mailchimp_sync_course.py
+++ b/lms/djangoapps/mailing/management/commands/mailchimp_sync_course.py
@@ -16,7 +16,7 @@ from django.core.management.base import BaseCommand
 from mailsnake import MailSnake
 from opaque_keys.edx.keys import CourseKey
 
-from student.models import UserProfile, unique_id_for_user
+from common.djangoapps.student.models import UserProfile, unique_id_for_user
 
 BATCH_SIZE = 15000
 # If you try to subscribe with too many users at once
diff --git a/lms/djangoapps/mobile_api/course_info/views.py b/lms/djangoapps/mobile_api/course_info/views.py
index 9f1fb4364c430ecccbf15721888a34441481775b..835099a75d790d44bf88541594596faf5c156e20 100644
--- a/lms/djangoapps/mobile_api/course_info/views.py
+++ b/lms/djangoapps/mobile_api/course_info/views.py
@@ -8,7 +8,7 @@ from rest_framework.response import Response
 
 from lms.djangoapps.courseware.courses import get_course_info_section_module
 from openedx.core.lib.xblock_utils import get_course_update_items
-from static_replace import make_static_urls_absolute
+from common.djangoapps.static_replace import make_static_urls_absolute
 
 from ..decorators import mobile_course_access, mobile_view
 
diff --git a/lms/djangoapps/mobile_api/tests/test_milestones.py b/lms/djangoapps/mobile_api/tests/test_milestones.py
index 8e305672e340e905cb370f99c23669e20f747cbd..afd582cfd96b4ddc0d49971ea38f7a64bcdfcc0a 100644
--- a/lms/djangoapps/mobile_api/tests/test_milestones.py
+++ b/lms/djangoapps/mobile_api/tests/test_milestones.py
@@ -11,7 +11,7 @@ from mock import patch
 from lms.djangoapps.courseware.access_response import MilestoneAccessError
 from lms.djangoapps.courseware.tests.test_entrance_exam import add_entrance_exam_milestone, answer_entrance_exam_problem
 from openedx.core.djangolib.testing.utils import get_mock_request
-from util.milestones_helpers import add_prerequisite_course, fulfill_course_milestone
+from common.djangoapps.util.milestones_helpers import add_prerequisite_course, fulfill_course_milestone
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
 
diff --git a/lms/djangoapps/mobile_api/testutils.py b/lms/djangoapps/mobile_api/testutils.py
index 0e8734a47602264dedacd4164e088b72087decd5..f344e5b3a2951118e08a1526bdff784deea2c988 100644
--- a/lms/djangoapps/mobile_api/testutils.py
+++ b/lms/djangoapps/mobile_api/testutils.py
@@ -29,8 +29,8 @@ from lms.djangoapps.courseware.tests.factories import UserFactory
 from lms.djangoapps.mobile_api.models import IgnoreMobileAvailableFlagConfig
 from lms.djangoapps.mobile_api.tests.test_milestones import MobileAPIMilestonesMixin
 from lms.djangoapps.mobile_api.utils import API_V1
-from student import auth
-from student.models import CourseEnrollment
+from common.djangoapps.student import auth
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/mobile_api/users/serializers.py b/lms/djangoapps/mobile_api/users/serializers.py
index 94a152b6da5fa71ebd02fdfc38d899d2f7c0abf3..d8e0f8226caed4cc0d79abcb93641485c279422c 100644
--- a/lms/djangoapps/mobile_api/users/serializers.py
+++ b/lms/djangoapps/mobile_api/users/serializers.py
@@ -10,8 +10,8 @@ from rest_framework.reverse import reverse
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.certificates.api import certificate_downloadable_status
 from openedx.features.course_duration_limits.access import get_user_course_expiration_date
-from student.models import CourseEnrollment, User
-from util.course import get_encoded_course_sharing_utm_params, get_link_for_about_page
+from common.djangoapps.student.models import CourseEnrollment, User
+from common.djangoapps.util.course import get_encoded_course_sharing_utm_params, get_link_for_about_page
 
 
 class CourseOverviewField(serializers.RelatedField):
diff --git a/lms/djangoapps/mobile_api/users/tests.py b/lms/djangoapps/mobile_api/users/tests.py
index 03af0f2545f6ed67f7df58af130e0bf6d73a5d80..5430aa1ef5916909af3b5682e68f88c0063c72d0 100644
--- a/lms/djangoapps/mobile_api/users/tests.py
+++ b/lms/djangoapps/mobile_api/users/tests.py
@@ -19,7 +19,7 @@ from mock import patch
 from six.moves import range
 from six.moves.urllib.parse import parse_qs
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.access_response import MilestoneAccessError, StartDateError, VisibilityError
 from lms.djangoapps.certificates.api import generate_user_certificates
 from lms.djangoapps.certificates.models import CertificateStatuses
@@ -36,10 +36,10 @@ from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.core.lib.courses import course_image_url
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
 from openedx.features.course_experience.tests.views.helpers import add_course_mode
-from student.models import CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory
-from util.milestones_helpers import set_prerequisite_courses
-from util.testing import UrlResetMixin
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.util.milestones_helpers import set_prerequisite_courses
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.course_module import DEFAULT_START_DATE
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/mobile_api/users/views.py b/lms/djangoapps/mobile_api/users/views.py
index 4ff60cab46036f8b10b52b1bba2aa1f38dbc63ef..96bea4ec66d0e8de2b9a0c1b3984be38bcad89c0 100644
--- a/lms/djangoapps/mobile_api/users/views.py
+++ b/lms/djangoapps/mobile_api/users/views.py
@@ -26,7 +26,7 @@ from lms.djangoapps.courseware.views.index import save_positions_recursively_up
 from lms.djangoapps.courseware.access_utils import ACCESS_GRANTED
 from lms.djangoapps.mobile_api.utils import API_V05, API_V1
 from openedx.features.course_duration_limits.access import check_course_expired
-from student.models import CourseEnrollment, User
+from common.djangoapps.student.models import CourseEnrollment, User
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
diff --git a/lms/djangoapps/program_enrollments/api/grades.py b/lms/djangoapps/program_enrollments/api/grades.py
index fb3292d42b2fb7f94e6c3659c667e4bd9f0b352d..00b931bf792620c7e3c2c295b3a239015b7d70ae 100644
--- a/lms/djangoapps/program_enrollments/api/grades.py
+++ b/lms/djangoapps/program_enrollments/api/grades.py
@@ -11,7 +11,7 @@ import logging
 from six import text_type
 
 from lms.djangoapps.grades.api import CourseGradeFactory, clear_prefetched_course_grades, prefetch_course_grades
-from util.query import read_replica_or_default
+from common.djangoapps.util.query import read_replica_or_default
 
 from .reading import fetch_program_course_enrollments
 
diff --git a/lms/djangoapps/program_enrollments/api/linking.py b/lms/djangoapps/program_enrollments/api/linking.py
index cc17988c633908b9615c3fc4d992e9a8cfc6716e..fd3fdd6febaffe3dacfa5617094eaf1d6f168205 100644
--- a/lms/djangoapps/program_enrollments/api/linking.py
+++ b/lms/djangoapps/program_enrollments/api/linking.py
@@ -12,9 +12,9 @@ import logging
 from django.contrib.auth import get_user_model
 from django.db import IntegrityError, transaction
 
-from course_modes.models import CourseMode
-from student.api import get_access_role_by_role_name
-from student.models import CourseEnrollmentException
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.api import get_access_role_by_role_name
+from common.djangoapps.student.models import CourseEnrollmentException
 
 from .reading import fetch_program_enrollments
 from .writing import enroll_in_masters_track
diff --git a/lms/djangoapps/program_enrollments/api/reading.py b/lms/djangoapps/program_enrollments/api/reading.py
index c443c037308cc9a111d5dc99224e963744a8c2c3..43c61e222f92f92ffff6aa47e13a5140ec54e839 100644
--- a/lms/djangoapps/program_enrollments/api/reading.py
+++ b/lms/djangoapps/program_enrollments/api/reading.py
@@ -10,8 +10,8 @@ from organizations.models import Organization
 from social_django.models import UserSocialAuth
 
 from openedx.core.djangoapps.catalog.utils import get_programs
-from student.roles import CourseStaffRole
-from third_party_auth.models import SAMLProviderConfig
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.third_party_auth.models import SAMLProviderConfig
 
 from ..constants import ProgramCourseEnrollmentRoles
 from ..exceptions import (
diff --git a/lms/djangoapps/program_enrollments/api/tests/test_linking.py b/lms/djangoapps/program_enrollments/api/tests/test_linking.py
index c71d692e02ac78a3f5411a583c194ff0ebeb371e..543139c8c826d8f9cd5b1d0c986aad3c6823e4d1 100644
--- a/lms/djangoapps/program_enrollments/api/tests/test_linking.py
+++ b/lms/djangoapps/program_enrollments/api/tests/test_linking.py
@@ -17,9 +17,9 @@ from lms.djangoapps.program_enrollments.tests.factories import (
     ProgramEnrollmentFactory
 )
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.api import get_course_access_role
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseAccessRoleFactory, UserFactory
+from common.djangoapps.student.api import get_course_access_role
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseAccessRoleFactory, UserFactory
 
 from ..linking import (
     NO_LMS_USER_TEMPLATE,
diff --git a/lms/djangoapps/program_enrollments/api/tests/test_reading.py b/lms/djangoapps/program_enrollments/api/tests/test_reading.py
index a5dcf74fc45ebc6eb1de478251dbcf95db8ddf27..606f3b15688317c79a1bef608db6d92dbded7621 100644
--- a/lms/djangoapps/program_enrollments/api/tests/test_reading.py
+++ b/lms/djangoapps/program_enrollments/api/tests/test_reading.py
@@ -13,7 +13,7 @@ from opaque_keys.edx.keys import CourseKey
 from organizations.tests.factories import OrganizationFactory
 from social_django.models import UserSocialAuth
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.program_enrollments.constants import ProgramCourseEnrollmentStatuses as PCEStatuses
 from lms.djangoapps.program_enrollments.constants import ProgramEnrollmentStatuses as PEStatuses
 from lms.djangoapps.program_enrollments.exceptions import (
@@ -33,9 +33,9 @@ from openedx.core.djangoapps.catalog.tests.factories import OrganizationFactory
 from openedx.core.djangoapps.catalog.tests.factories import ProgramFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from third_party_auth.tests.factories import SAMLProviderConfigFactory
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.third_party_auth.tests.factories import SAMLProviderConfigFactory
 
 from ..reading import (
     fetch_program_course_enrollments,
diff --git a/lms/djangoapps/program_enrollments/api/tests/test_writing.py b/lms/djangoapps/program_enrollments/api/tests/test_writing.py
index c71bd259cfcbcd0e7dcebd6447f13d8bee61ccc2..80841ae97846cc058096f19dd91052f546dad859 100644
--- a/lms/djangoapps/program_enrollments/api/tests/test_writing.py
+++ b/lms/djangoapps/program_enrollments/api/tests/test_writing.py
@@ -16,7 +16,7 @@ from django.core.cache import cache
 from opaque_keys.edx.keys import CourseKey
 from organizations.tests.factories import OrganizationFactory
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.program_enrollments.constants import ProgramCourseEnrollmentRoles
 from lms.djangoapps.program_enrollments.constants import ProgramCourseOperationStatuses as CourseStatuses
 from lms.djangoapps.program_enrollments.constants import ProgramEnrollmentStatuses as PEStatuses
@@ -32,9 +32,9 @@ from openedx.core.djangoapps.catalog.tests.factories import OrganizationFactory
 from openedx.core.djangoapps.catalog.tests.factories import ProgramFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from third_party_auth.tests.factories import SAMLProviderConfigFactory
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.third_party_auth.tests.factories import SAMLProviderConfigFactory
 
 from ..writing import write_program_course_enrollments, write_program_enrollments
 
diff --git a/lms/djangoapps/program_enrollments/api/writing.py b/lms/djangoapps/program_enrollments/api/writing.py
index e138a69e24ea3e8f838ee0be56790fba36579480..a0f4c17b761aaeb8e22569f725c6eba8e5ce8384 100644
--- a/lms/djangoapps/program_enrollments/api/writing.py
+++ b/lms/djangoapps/program_enrollments/api/writing.py
@@ -10,10 +10,10 @@ import logging
 
 from simple_history.utils import bulk_create_with_history
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
-from student.models import CourseEnrollment, NonExistentCourseError
-from student.roles import CourseStaffRole
+from common.djangoapps.student.models import CourseEnrollment, NonExistentCourseError
+from common.djangoapps.student.roles import CourseStaffRole
 
 from ..constants import ProgramCourseEnrollmentRoles, ProgramCourseEnrollmentStatuses
 from ..constants import ProgramCourseOperationStatuses as ProgramCourseOpStatuses
diff --git a/lms/djangoapps/program_enrollments/constants.py b/lms/djangoapps/program_enrollments/constants.py
index 5857f576dba2e3efb0341690f092487e9c75f7be..e3595faf58ca4b8d2f45c9e81db378f9b77e9523 100644
--- a/lms/djangoapps/program_enrollments/constants.py
+++ b/lms/djangoapps/program_enrollments/constants.py
@@ -2,7 +2,7 @@
 Constants used throughout the program_enrollments app and exposed to other
 in-process apps through api.py.
 """
-from student.roles import CourseStaffRole
+from common.djangoapps.student.roles import CourseStaffRole
 
 
 class ProgramEnrollmentStatuses(object):
diff --git a/lms/djangoapps/program_enrollments/management/commands/reset_enrollment_data.py b/lms/djangoapps/program_enrollments/management/commands/reset_enrollment_data.py
index fa7174787146a71b535c3cf6cedf426ff55d571f..0bd26226d7816f0897c01b692d36e3a0d874b7f4 100644
--- a/lms/djangoapps/program_enrollments/management/commands/reset_enrollment_data.py
+++ b/lms/djangoapps/program_enrollments/management/commands/reset_enrollment_data.py
@@ -14,7 +14,7 @@ from django.db import transaction
 from six.moves import input
 
 from lms.djangoapps.program_enrollments.models import ProgramEnrollment
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 log = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/program_enrollments/management/commands/tests/test_migrate_saml_uids.py b/lms/djangoapps/program_enrollments/management/commands/tests/test_migrate_saml_uids.py
index b426d9d79eb7fae1ed658745c4fc6486da889f6f..f7164df247951218575fddd3366abaf423e8b605 100644
--- a/lms/djangoapps/program_enrollments/management/commands/tests/test_migrate_saml_uids.py
+++ b/lms/djangoapps/program_enrollments/management/commands/tests/test_migrate_saml_uids.py
@@ -11,7 +11,7 @@ from social_django.models import UserSocialAuth
 
 from lms.djangoapps.program_enrollments.management.commands import migrate_saml_uids
 from lms.djangoapps.program_enrollments.management.commands.tests.utils import UserSocialAuthFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 _COMMAND_PATH = 'lms.djangoapps.program_enrollments.management.commands.migrate_saml_uids'
 
diff --git a/lms/djangoapps/program_enrollments/management/commands/tests/test_reset_enrollment_data.py b/lms/djangoapps/program_enrollments/management/commands/tests/test_reset_enrollment_data.py
index 00d7e30a7e160d37b0791901c32f9333e004bffe..7ba683a6b4d7518c0f9332a577d23d358c3d8c26 100644
--- a/lms/djangoapps/program_enrollments/management/commands/tests/test_reset_enrollment_data.py
+++ b/lms/djangoapps/program_enrollments/management/commands/tests/test_reset_enrollment_data.py
@@ -15,8 +15,8 @@ from six import StringIO
 from lms.djangoapps.program_enrollments.management.commands import reset_enrollment_data
 from lms.djangoapps.program_enrollments.models import ProgramCourseEnrollment, ProgramEnrollment
 from lms.djangoapps.program_enrollments.tests.factories import ProgramCourseEnrollmentFactory, ProgramEnrollmentFactory
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestResetEnrollmentData(TestCase):
diff --git a/lms/djangoapps/program_enrollments/management/commands/tests/utils.py b/lms/djangoapps/program_enrollments/management/commands/tests/utils.py
index 8ea752f1846946e6ce4e5b8f8847c2a7473d6323..1de02c032e9554d80c99dc7bcd75f31f788533c3 100644
--- a/lms/djangoapps/program_enrollments/management/commands/tests/utils.py
+++ b/lms/djangoapps/program_enrollments/management/commands/tests/utils.py
@@ -6,7 +6,7 @@ from factory import LazyAttributeSequence, SubFactory
 from factory.django import DjangoModelFactory
 from social_django.models import UserSocialAuth
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class UserSocialAuthFactory(DjangoModelFactory):
diff --git a/lms/djangoapps/program_enrollments/models.py b/lms/djangoapps/program_enrollments/models.py
index dadb1bfae4841680ff795fc83bfe908550ea398d..c990c08431e5f3497743fc62180ea59ccff0159c 100644
--- a/lms/djangoapps/program_enrollments/models.py
+++ b/lms/djangoapps/program_enrollments/models.py
@@ -13,7 +13,7 @@ from opaque_keys.edx.django.models import CourseKeyField
 from simple_history.models import HistoricalRecords
 from user_util import user_util
 
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 from .constants import ProgramCourseEnrollmentRoles, ProgramCourseEnrollmentStatuses, ProgramEnrollmentStatuses
 
diff --git a/lms/djangoapps/program_enrollments/rest_api/v1/tests/test_views.py b/lms/djangoapps/program_enrollments/rest_api/v1/tests/test_views.py
index 2081b7a84530af9678009f9e127ebc27062d17eb..0c02ff3ea83a2b9a272279cc0cff3b7151fe40bb 100644
--- a/lms/djangoapps/program_enrollments/rest_api/v1/tests/test_views.py
+++ b/lms/djangoapps/program_enrollments/rest_api/v1/tests/test_views.py
@@ -25,7 +25,7 @@ from six.moves import range, zip
 from social_django.models import UserSocialAuth
 
 from lms.djangoapps.bulk_email.models import BulkEmailFlag, Optout
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateStatuses
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory, InstructorFactory
@@ -50,10 +50,10 @@ from openedx.core.djangoapps.catalog.tests.factories import (
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationMixin
-from student.models import CourseEnrollment
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from third_party_auth.tests.factories import SAMLProviderConfigFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.third_party_auth.tests.factories import SAMLProviderConfigFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory as ModulestoreCourseFactory
 from xmodule.modulestore.tests.factories import ItemFactory
diff --git a/lms/djangoapps/program_enrollments/rest_api/v1/utils.py b/lms/djangoapps/program_enrollments/rest_api/v1/utils.py
index 828e1b1a313cfa6ff6447f86d579e2b14394d0ab..f5c7f5cdae00cd29e9657379725f7763404a3cc1 100644
--- a/lms/djangoapps/program_enrollments/rest_api/v1/utils.py
+++ b/lms/djangoapps/program_enrollments/rest_api/v1/utils.py
@@ -12,7 +12,7 @@ from pytz import UTC
 from rest_framework import status
 from rest_framework.pagination import CursorPagination
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.bulk_email.api import get_emails_enabled
 from lms.djangoapps.certificates.api import get_certificates_for_user_by_course_keys
 from lms.djangoapps.course_api.api import get_course_run_url, get_due_dates
@@ -20,8 +20,8 @@ from lms.djangoapps.program_enrollments.api import fetch_program_enrollments
 from lms.djangoapps.program_enrollments.constants import ProgramEnrollmentStatuses
 from openedx.core.djangoapps.catalog.utils import course_run_keys_for_program, get_programs, is_course_run_in_program
 from openedx.core.lib.api.view_utils import verify_course_exists
-from student.helpers import get_resume_urls_for_enrollments
-from student.models import CourseEnrollment
+from common.djangoapps.student.helpers import get_resume_urls_for_enrollments
+from common.djangoapps.student.models import CourseEnrollment
 
 from .constants import CourseRunProgressStatuses
 
diff --git a/lms/djangoapps/program_enrollments/rest_api/v1/views.py b/lms/djangoapps/program_enrollments/rest_api/v1/views.py
index 05a25affec28a702d07d68a72332a032624ac4c0..7eb80b1d7cffeaee3da83bf98620788e0e33a8b1 100644
--- a/lms/djangoapps/program_enrollments/rest_api/v1/views.py
+++ b/lms/djangoapps/program_enrollments/rest_api/v1/views.py
@@ -43,8 +43,8 @@ from openedx.core.djangoapps.catalog.utils import (
 )
 from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
 from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin, PaginatedAPIView
-from student.roles import CourseInstructorRole, CourseStaffRole, UserBasedRole
-from util.query import read_replica_or_default
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole, UserBasedRole
+from common.djangoapps.util.query import read_replica_or_default
 
 from .constants import ENABLE_ENROLLMENT_RESET_FLAG, MAX_ENROLLMENT_RECORDS
 from .serializers import (
diff --git a/lms/djangoapps/program_enrollments/signals.py b/lms/djangoapps/program_enrollments/signals.py
index cd64c8278c5d99a845db34ac6290de42185b9de5..45ed4e6f079bba3190e9345195fc0d66d9a062d1 100644
--- a/lms/djangoapps/program_enrollments/signals.py
+++ b/lms/djangoapps/program_enrollments/signals.py
@@ -11,7 +11,7 @@ from social_django.models import UserSocialAuth
 
 from openedx.core.djangoapps.catalog.utils import get_programs
 from openedx.core.djangoapps.user_api.accounts.signals import USER_RETIRE_LMS_MISC
-from third_party_auth.models import SAMLProviderConfig
+from common.djangoapps.third_party_auth.models import SAMLProviderConfig
 
 from .api import fetch_program_enrollments_by_student, link_program_enrollment_to_lms_user
 from .models import ProgramEnrollment
diff --git a/lms/djangoapps/program_enrollments/tests/factories.py b/lms/djangoapps/program_enrollments/tests/factories.py
index 1fef90518feaf06a00044bf134d0c0ce2c95be77..2089df1737d4d3d2bec4f97f90d8a0c3486cc02d 100644
--- a/lms/djangoapps/program_enrollments/tests/factories.py
+++ b/lms/djangoapps/program_enrollments/tests/factories.py
@@ -10,7 +10,7 @@ from factory.django import DjangoModelFactory
 from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.program_enrollments import models
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 
 class ProgramEnrollmentFactory(DjangoModelFactory):
diff --git a/lms/djangoapps/program_enrollments/tests/test_models.py b/lms/djangoapps/program_enrollments/tests/test_models.py
index 972de646f68990a1f26457b1688e1a5a1135cd09..e3dff71ee6c5c8f093a7c93be17c1a2087bb4254 100644
--- a/lms/djangoapps/program_enrollments/tests/test_models.py
+++ b/lms/djangoapps/program_enrollments/tests/test_models.py
@@ -11,9 +11,9 @@ from django.test import TestCase
 from edx_django_utils.cache import RequestCache
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 from ..constants import ProgramCourseEnrollmentRoles
 from ..models import ProgramEnrollment
diff --git a/lms/djangoapps/program_enrollments/tests/test_signals.py b/lms/djangoapps/program_enrollments/tests/test_signals.py
index 7f07687f0d824a1adb0564ef7d39659c18343545..20686ee2197361c37debab724e0b515c61fc06e0 100644
--- a/lms/djangoapps/program_enrollments/tests/test_signals.py
+++ b/lms/djangoapps/program_enrollments/tests/test_signals.py
@@ -12,7 +12,7 @@ from organizations.tests.factories import OrganizationFactory
 from social_django.models import UserSocialAuth
 from testfixtures import LogCapture
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.program_enrollments.signals import _listen_for_lms_retire, logger
 from lms.djangoapps.program_enrollments.tests.factories import ProgramCourseEnrollmentFactory, ProgramEnrollmentFactory
 from openedx.core.djangoapps.catalog.cache import PROGRAM_CACHE_KEY_TPL
@@ -22,10 +22,10 @@ from openedx.core.djangoapps.content.course_overviews.models import CourseOvervi
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.user_api.accounts.tests.retirement_helpers import fake_completed_retirement
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.models import CourseEnrollmentException
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from third_party_auth.models import SAMLProviderConfig
-from third_party_auth.tests.factories import SAMLProviderConfigFactory
+from common.djangoapps.student.models import CourseEnrollmentException
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.third_party_auth.models import SAMLProviderConfig
+from common.djangoapps.third_party_auth.tests.factories import SAMLProviderConfigFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 
@@ -370,7 +370,7 @@ class SocialAuthEnrollmentCompletionSignalTest(CacheIsolationTestCase):
         program_enrollment = self._create_waiting_program_enrollment()
         self._create_waiting_course_enrollments(program_enrollment)
 
-        with mock.patch('student.models.CourseEnrollment.enroll') as enrollMock:
+        with mock.patch('common.djangoapps.student.models.CourseEnrollment.enroll') as enrollMock:
             enrollMock.side_effect = CourseEnrollmentException('something has gone wrong')
             with pytest.raises(CourseEnrollmentException):
                 UserSocialAuth.objects.create(
diff --git a/lms/djangoapps/program_enrollments/tests/test_tasks.py b/lms/djangoapps/program_enrollments/tests/test_tasks.py
index 644c6a57477849ee9d747d44ae314c42a01d5b98..3f849e297e17b47a4f74c0afbec625b9baf8358b 100644
--- a/lms/djangoapps/program_enrollments/tests/test_tasks.py
+++ b/lms/djangoapps/program_enrollments/tests/test_tasks.py
@@ -12,12 +12,12 @@ from freezegun import freeze_time
 from opaque_keys.edx.keys import CourseKey
 from testfixtures import LogCapture
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.program_enrollments.models import ProgramCourseEnrollment, ProgramEnrollment
 from lms.djangoapps.program_enrollments.tasks import expire_waiting_enrollments, log
 from lms.djangoapps.program_enrollments.tests.factories import ProgramCourseEnrollmentFactory, ProgramEnrollmentFactory
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 
 class ExpireWaitingEnrollmentsTest(TestCase):
diff --git a/lms/djangoapps/static_template_view/views.py b/lms/djangoapps/static_template_view/views.py
index d9ff099b5c39898935d6eb8ffee16341096e4cc0..76d317d1e9f358c821ff7f27216d3b62c7f0d28f 100644
--- a/lms/djangoapps/static_template_view/views.py
+++ b/lms/djangoapps/static_template_view/views.py
@@ -16,10 +16,10 @@ from django.utils.safestring import mark_safe
 from django.views.decorators.csrf import ensure_csrf_cookie
 from mako.exceptions import TopLevelLookupException
 
-from edxmako.shortcuts import render_to_response, render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_response, render_to_string
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from util.cache import cache_if_anonymous
-from util.views import fix_crum_request
+from common.djangoapps.util.cache import cache_if_anonymous
+from common.djangoapps.util.views import fix_crum_request
 
 valid_templates = []
 
diff --git a/lms/djangoapps/staticbook/tests.py b/lms/djangoapps/staticbook/tests.py
index a7ba2ce764b94eea59c67233ddc8869045608b76..91ed05e3b2f8b6d79101ad063ff9e5c78d1dfda6 100644
--- a/lms/djangoapps/staticbook/tests.py
+++ b/lms/djangoapps/staticbook/tests.py
@@ -10,7 +10,7 @@ import requests
 from django.urls import NoReverseMatch, reverse
 from six import text_type
 
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/staticbook/views.py b/lms/djangoapps/staticbook/views.py
index 22ccf609cce557252244d5a168e4bfd3c2af4824..8d0d9a40cdfa183ddcc9820919c63a1a4d2e05ad 100644
--- a/lms/djangoapps/staticbook/views.py
+++ b/lms/djangoapps/staticbook/views.py
@@ -10,8 +10,8 @@ from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.courseware.courses import get_course_with_access
-from edxmako.shortcuts import render_to_response
-from static_replace import replace_static_urls
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.static_replace import replace_static_urls
 
 
 @login_required
diff --git a/lms/djangoapps/support/serializers.py b/lms/djangoapps/support/serializers.py
index 6247c9e5383fc52c1f7d5daf7786c106d536cbf8..840df93a3607cbdf016642967e931c50cf7b155c 100644
--- a/lms/djangoapps/support/serializers.py
+++ b/lms/djangoapps/support/serializers.py
@@ -7,7 +7,7 @@ from django.urls import reverse
 
 from rest_framework import serializers
 
-from student.models import CourseEnrollment, ManualEnrollmentAudit
+from common.djangoapps.student.models import CourseEnrollment, ManualEnrollmentAudit
 from lms.djangoapps.program_enrollments.models import (
     ProgramEnrollment,
     ProgramCourseEnrollment,
diff --git a/lms/djangoapps/support/tests/test_views.py b/lms/djangoapps/support/tests/test_views.py
index c0b00543fd15c2f09cf9366a39967019e21c999f..20812ddd137d0f91915e41405e6eddaea5d8166f 100644
--- a/lms/djangoapps/support/tests/test_views.py
+++ b/lms/djangoapps/support/tests/test_views.py
@@ -22,17 +22,17 @@ from pytz import UTC
 from social_django.models import UserSocialAuth
 
 from common.test.utils import disable_signal
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.program_enrollments.tests.factories import ProgramCourseEnrollmentFactory, ProgramEnrollmentFactory
 from lms.djangoapps.support.serializers import ProgramEnrollmentSerializer
 from lms.djangoapps.verify_student.models import VerificationDeadline
 from lms.djangoapps.verify_student.services import IDVerificationService
 from lms.djangoapps.verify_student.tests.factories import SSOVerificationFactory
-from student.models import ENROLLED_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAttribute, ManualEnrollmentAudit
-from student.roles import GlobalStaff, SupportStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from third_party_auth.tests.factories import SAMLProviderConfigFactory
+from common.djangoapps.student.models import ENROLLED_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAttribute, ManualEnrollmentAudit
+from common.djangoapps.student.roles import GlobalStaff, SupportStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.third_party_auth.tests.factories import SAMLProviderConfigFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/support/views/certificate.py b/lms/djangoapps/support/views/certificate.py
index 8a7b20946b78ca9e78aba089f41396992e2c026d..6019551b5ee2bf160f9744d5d4ce1254a2b9324d 100644
--- a/lms/djangoapps/support/views/certificate.py
+++ b/lms/djangoapps/support/views/certificate.py
@@ -7,7 +7,7 @@ from django.utils.decorators import method_decorator
 from django.views.generic import View
 from six.moves.urllib.parse import quote_plus, unquote
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.support.decorators import require_support_permission
 
 
diff --git a/lms/djangoapps/support/views/contact_us.py b/lms/djangoapps/support/views/contact_us.py
index 7a63d3f3b827b83fe60810bfcb0bc6d1942ff4b3..8401546df85e7f9bf93f461dba9d302f70a6b51c 100644
--- a/lms/djangoapps/support/views/contact_us.py
+++ b/lms/djangoapps/support/views/contact_us.py
@@ -7,10 +7,10 @@ from django.conf import settings
 from django.http import Http404
 from django.views.generic import View
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.features.enterprise_support import api as enterprise_api
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class ContactUsView(View):
diff --git a/lms/djangoapps/support/views/course_entitlements.py b/lms/djangoapps/support/views/course_entitlements.py
index fef11fdc77c18af1c09e7c7094637579ede7d9ea..50063d1dbf6a16e48615dc01948306461a0f3936 100644
--- a/lms/djangoapps/support/views/course_entitlements.py
+++ b/lms/djangoapps/support/views/course_entitlements.py
@@ -6,8 +6,8 @@ Support tool for changing and granting course entitlements
 from django.utils.decorators import method_decorator
 from django.views.generic import View
 
-from edxmako.shortcuts import render_to_response
-from entitlements.models import CourseEntitlementSupportDetail
+from common.djangoapps.edxmako.shortcuts import render_to_response
+from common.djangoapps.entitlements.models import CourseEntitlementSupportDetail
 from lms.djangoapps.commerce.utils import EcommerceService
 from lms.djangoapps.support.decorators import require_support_permission
 
diff --git a/lms/djangoapps/support/views/enrollments.py b/lms/djangoapps/support/views/enrollments.py
index 7240cf265845abd7a86d0dd181efa73ce4d74fd3..b505af2655cbb2275a3523fbe8d4f80f01d51d1d 100644
--- a/lms/djangoapps/support/views/enrollments.py
+++ b/lms/djangoapps/support/views/enrollments.py
@@ -16,8 +16,8 @@ from opaque_keys.edx.keys import CourseKey
 from rest_framework.generics import GenericAPIView
 from six import text_type
 
-from course_modes.models import CourseMode
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.support.decorators import require_support_permission
 from lms.djangoapps.support.serializers import ManualEnrollmentSerializer
 from lms.djangoapps.verify_student.models import VerificationDeadline
@@ -25,8 +25,8 @@ from openedx.core.djangoapps.credit.email_utils import get_credit_provider_attri
 from openedx.core.djangoapps.enrollments.api import get_enrollments, update_enrollment
 from openedx.core.djangoapps.enrollments.errors import CourseModeNotFoundError
 from openedx.core.djangoapps.enrollments.serializers import ModeSerializer
-from student.models import ENROLLED_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAttribute, ManualEnrollmentAudit
-from util.json_request import JsonResponse
+from common.djangoapps.student.models import ENROLLED_TO_ENROLLED, CourseEnrollment, CourseEnrollmentAttribute, ManualEnrollmentAudit
+from common.djangoapps.util.json_request import JsonResponse
 
 
 class EnrollmentSupportView(View):
diff --git a/lms/djangoapps/support/views/feature_based_enrollments.py b/lms/djangoapps/support/views/feature_based_enrollments.py
index d6511a82e9bb0bf371d2991c154af8f03ca1dc79..a5b56ff3395494014ef18a7515e2c7a94573e2f3 100644
--- a/lms/djangoapps/support/views/feature_based_enrollments.py
+++ b/lms/djangoapps/support/views/feature_based_enrollments.py
@@ -9,7 +9,7 @@ from django.views.generic import View
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.support.decorators import require_support_permission
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
diff --git a/lms/djangoapps/support/views/index.py b/lms/djangoapps/support/views/index.py
index ef81f1d58cee46451d85bd8019f0ddd736b18692..3f949746d09293d3966b428bec79f45b89baca63 100644
--- a/lms/djangoapps/support/views/index.py
+++ b/lms/djangoapps/support/views/index.py
@@ -6,7 +6,7 @@ Index view for the support app.
 from django.urls import reverse_lazy
 from django.utils.translation import ugettext_lazy as _
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.support.decorators import require_support_permission
 
 SUPPORT_INDEX_URLS = [
diff --git a/lms/djangoapps/support/views/manage_user.py b/lms/djangoapps/support/views/manage_user.py
index ecf618e62eddfbc25e9d021c8e36c7dfcc0be4b6..df332fc33124c2540d4be2c30ab5a39fb7b1b892 100644
--- a/lms/djangoapps/support/views/manage_user.py
+++ b/lms/djangoapps/support/views/manage_user.py
@@ -11,12 +11,12 @@ from django.utils.translation import ugettext as _
 from django.views.generic import View
 from rest_framework.generics import GenericAPIView
 
-from student.models import UserPasswordToggleHistory
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.student.models import UserPasswordToggleHistory
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.support.decorators import require_support_permission
 from openedx.core.djangoapps.user_api.accounts.serializers import AccountUserSerializer
 from openedx.core.djangoapps.user_authn.utils import generate_password
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 
 
 class ManageUserSupportView(View):
diff --git a/lms/djangoapps/support/views/program_enrollments.py b/lms/djangoapps/support/views/program_enrollments.py
index 13424eedf436706dd824fec4d9c6801cac885002..80d2c8335946a84412b53f329dd8fe30b7a68ee6 100644
--- a/lms/djangoapps/support/views/program_enrollments.py
+++ b/lms/djangoapps/support/views/program_enrollments.py
@@ -12,7 +12,7 @@ from django.utils.decorators import method_decorator
 from django.views.generic import View
 from social_django.models import UserSocialAuth
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.program_enrollments.api import (
     fetch_program_enrollments_by_student,
     get_users_by_external_keys_and_org_key,
@@ -29,7 +29,7 @@ from lms.djangoapps.support.serializers import (
     serialize_user_info
 )
 from lms.djangoapps.verify_student.services import IDVerificationService
-from third_party_auth.models import SAMLProviderConfig
+from common.djangoapps.third_party_auth.models import SAMLProviderConfig
 
 TEMPLATE_PATH = 'support/link_program_enrollments.html'
 DATETIME_FORMAT = '%Y-%m-%dT%H:%M:%S'
diff --git a/lms/djangoapps/support/views/sso_records.py b/lms/djangoapps/support/views/sso_records.py
index 6c6313af48762642a4f9da31a4ebc04ea6183c7a..32e620be2c59af607d01575be86ccceffce43971 100644
--- a/lms/djangoapps/support/views/sso_records.py
+++ b/lms/djangoapps/support/views/sso_records.py
@@ -6,7 +6,7 @@ from social_django.models import UserSocialAuth
 
 from lms.djangoapps.support.decorators import require_support_permission
 from lms.djangoapps.support.serializers import serialize_sso_records
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 
 
 class SsoView(GenericAPIView):
diff --git a/lms/djangoapps/survey/models.py b/lms/djangoapps/survey/models.py
index 9dfa57a15bc60e5f520723ad1591d4e99d382982..4fb87ebac53a8ce6e2ff1de30f61b48eeec883ec 100644
--- a/lms/djangoapps/survey/models.py
+++ b/lms/djangoapps/survey/models.py
@@ -14,7 +14,7 @@ from model_utils.models import TimeStampedModel
 from opaque_keys.edx.django.models import CourseKeyField
 
 from openedx.core.djangolib.markup import HTML
-from student.models import User
+from common.djangoapps.student.models import User
 from lms.djangoapps.survey.exceptions import SurveyFormNameAlreadyExists, SurveyFormNotFound
 
 log = logging.getLogger("edx.survey")
diff --git a/lms/djangoapps/survey/tests/factories.py b/lms/djangoapps/survey/tests/factories.py
index 0966a40ec5deaaffd509ac4b6e587cb93b738d0b..ff73e3b1e60d949ae1f3bcb08d5ed1aec688597a 100644
--- a/lms/djangoapps/survey/tests/factories.py
+++ b/lms/djangoapps/survey/tests/factories.py
@@ -1,6 +1,6 @@
 import factory
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from lms.djangoapps.survey.models import SurveyAnswer, SurveyForm
 
 
diff --git a/lms/djangoapps/survey/tests/test_signals.py b/lms/djangoapps/survey/tests/test_signals.py
index 3e3ac1bb332eeed5975c8b6860cc292943a31d45..5d0021d4685a5c794794071e4c6c522e9c563631 100644
--- a/lms/djangoapps/survey/tests/test_signals.py
+++ b/lms/djangoapps/survey/tests/test_signals.py
@@ -5,7 +5,7 @@ Test signal handlers for the survey app
 
 from lms.djangoapps.survey.signals import _listen_for_lms_retire
 from openedx.core.djangoapps.user_api.accounts.tests.retirement_helpers import fake_completed_retirement
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from lms.djangoapps.survey.models import SurveyAnswer
 from lms.djangoapps.survey.tests.factories import SurveyAnswerFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/lms/djangoapps/survey/tests/test_views.py b/lms/djangoapps/survey/tests/test_views.py
index 9918e25e3c00b1fb0757d4b5bbb45d2bb2cfc0ce..dd928d92ee97387ce05513ae174d9899dde677dc 100644
--- a/lms/djangoapps/survey/tests/test_views.py
+++ b/lms/djangoapps/survey/tests/test_views.py
@@ -10,7 +10,7 @@ import six
 from django.test.client import Client
 from django.urls import reverse
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from lms.djangoapps.survey.models import SurveyAnswer, SurveyForm
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/survey/views.py b/lms/djangoapps/survey/views.py
index 68c37312bca19e6f1c976acc3e58a7fce8ad329f..779a05ed78a1ce9db121f91ad1840b85b0b0cfa2 100644
--- a/lms/djangoapps/survey/views.py
+++ b/lms/djangoapps/survey/views.py
@@ -14,7 +14,7 @@ from django.utils.html import escape
 from django.views.decorators.http import require_POST
 from opaque_keys.edx.keys import CourseKey
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from lms.djangoapps.survey.models import SurveyForm
 
diff --git a/lms/djangoapps/teams/api.py b/lms/djangoapps/teams/api.py
index 80d263e068ed6c9cd4e4411471319e1cfe237b45..143f3548a61d1c744a0ae6c264cdf0bd3e19445c 100644
--- a/lms/djangoapps/teams/api.py
+++ b/lms/djangoapps/teams/api.py
@@ -10,13 +10,13 @@ from django.db.models import Count, Q
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.courses import has_access
 from lms.djangoapps.discussion.django_comment_client.utils import has_discussion_privileges
 from lms.djangoapps.teams.models import CourseTeam, CourseTeamMembership
 from openedx.core.lib.teams_config import TeamsetType
-from student.models import CourseEnrollment, anonymous_id_for_user
-from student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.models import CourseEnrollment, anonymous_id_for_user
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
 from xmodule.modulestore.django import modulestore
 
 logger = logging.getLogger(__name__)
diff --git a/lms/djangoapps/teams/csv.py b/lms/djangoapps/teams/csv.py
index c23f7ddb2e45ccae45034f29ee01077ba1341d55..f3690f0bbb3f753eef967e7e9748b59cc249636e 100644
--- a/lms/djangoapps/teams/csv.py
+++ b/lms/djangoapps/teams/csv.py
@@ -16,7 +16,7 @@ from lms.djangoapps.teams.api import (
 )
 from lms.djangoapps.teams.models import CourseTeam, CourseTeamMembership
 from lms.djangoapps.program_enrollments.models import ProgramCourseEnrollment, ProgramEnrollment
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from .utils import emit_team_event
 
 
diff --git a/lms/djangoapps/teams/migrations/0001_initial.py b/lms/djangoapps/teams/migrations/0001_initial.py
index 1b206d0bd0c7dc02ab70dec442f9905282fb5de0..1fdc9a60cf87a6ef980056a5a3ac3c0a8ec683c0 100644
--- a/lms/djangoapps/teams/migrations/0001_initial.py
+++ b/lms/djangoapps/teams/migrations/0001_initial.py
@@ -6,7 +6,7 @@ from django.conf import settings
 from django.db import migrations, models
 from opaque_keys.edx.django.models import CourseKeyField
 
-import student.models
+from common.djangoapps.student import models as student_models
 
 
 class Migration(migrations.Migration):
@@ -28,7 +28,7 @@ class Migration(migrations.Migration):
                 ('date_created', models.DateTimeField(auto_now_add=True)),
                 ('description', models.CharField(max_length=300)),
                 ('country', django_countries.fields.CountryField(blank=True, max_length=2)),
-                ('language', student.models.LanguageField(blank=True, help_text='Optional language the team uses as ISO 639-1 code.', max_length=16, choices=[['aa', 'Afar'], ['ab', 'Abkhazian'], ['af', 'Afrikaans'], ['ak', 'Akan'], ['sq', 'Albanian'], ['am', 'Amharic'], ['ar', 'Arabic'], ['an', 'Aragonese'], ['hy', 'Armenian'], ['as', 'Assamese'], ['av', 'Avaric'], ['ae', 'Avestan'], ['ay', 'Aymara'], ['az', 'Azerbaijani'], ['ba', 'Bashkir'], ['bm', 'Bambara'], ['eu', 'Basque'], ['be', 'Belarusian'], ['bn', 'Bengali'], ['bh', 'Bihari languages'], ['bi', 'Bislama'], ['bs', 'Bosnian'], ['br', 'Breton'], ['bg', 'Bulgarian'], ['my', 'Burmese'], ['ca', 'Catalan'], ['ch', 'Chamorro'], ['ce', 'Chechen'], ['zh', 'Chinese'], ['zh_HANS', 'Simplified Chinese'], ['zh_HANT', 'Traditional Chinese'], ['cu', 'Church Slavic'], ['cv', 'Chuvash'], ['kw', 'Cornish'], ['co', 'Corsican'], ['cr', 'Cree'], ['cs', 'Czech'], ['da', 'Danish'], ['dv', 'Divehi'], ['nl', 'Dutch'], ['dz', 'Dzongkha'], ['en', 'English'], ['eo', 'Esperanto'], ['et', 'Estonian'], ['ee', 'Ewe'], ['fo', 'Faroese'], ['fj', 'Fijian'], ['fi', 'Finnish'], ['fr', 'French'], ['fy', 'Western Frisian'], ['ff', 'Fulah'], ['ka', 'Georgian'], ['de', 'German'], ['gd', 'Gaelic'], ['ga', 'Irish'], ['gl', 'Galician'], ['gv', 'Manx'], ['el', 'Greek'], ['gn', 'Guarani'], ['gu', 'Gujarati'], ['ht', 'Haitian'], ['ha', 'Hausa'], ['he', 'Hebrew'], ['hz', 'Herero'], ['hi', 'Hindi'], ['ho', 'Hiri Motu'], ['hr', 'Croatian'], ['hu', 'Hungarian'], ['ig', 'Igbo'], ['is', 'Icelandic'], ['io', 'Ido'], ['ii', 'Sichuan Yi'], ['iu', 'Inuktitut'], ['ie', 'Interlingue'], ['ia', 'Interlingua'], ['id', 'Indonesian'], ['ik', 'Inupiaq'], ['it', 'Italian'], ['jv', 'Javanese'], ['ja', 'Japanese'], ['kl', 'Kalaallisut'], ['kn', 'Kannada'], ['ks', 'Kashmiri'], ['kr', 'Kanuri'], ['kk', 'Kazakh'], ['km', 'Central Khmer'], ['ki', 'Kikuyu'], ['rw', 'Kinyarwanda'], ['ky', 'Kirghiz'], ['kv', 'Komi'], ['kg', 'Kongo'], ['ko', 'Korean'], ['kj', 'Kuanyama'], ['ku', 'Kurdish'], ['lo', 'Lao'], ['la', 'Latin'], ['lv', 'Latvian'], ['li', 'Limburgan'], ['ln', 'Lingala'], ['lt', 'Lithuanian'], ['lb', 'Luxembourgish'], ['lu', 'Luba-Katanga'], ['lg', 'Ganda'], ['mk', 'Macedonian'], ['mh', 'Marshallese'], ['ml', 'Malayalam'], ['mi', 'Maori'], ['mr', 'Marathi'], ['ms', 'Malay'], ['mg', 'Malagasy'], ['mt', 'Maltese'], ['mn', 'Mongolian'], ['na', 'Nauru'], ['nv', 'Navajo'], ['nr', 'Ndebele, South'], ['nd', 'Ndebele, North'], ['ng', 'Ndonga'], ['ne', 'Nepali'], ['nn', 'Norwegian Nynorsk'], ['nb', 'Bokm\xe5l, Norwegian'], ['no', 'Norwegian'], ['ny', 'Chichewa'], ['oc', 'Occitan'], ['oj', 'Ojibwa'], ['or', 'Oriya'], ['om', 'Oromo'], ['os', 'Ossetian'], ['pa', 'Panjabi'], ['fa', 'Persian'], ['pi', 'Pali'], ['pl', 'Polish'], ['pt', 'Portuguese'], ['ps', 'Pushto'], ['qu', 'Quechua'], ['rm', 'Romansh'], ['ro', 'Romanian'], ['rn', 'Rundi'], ['ru', 'Russian'], ['sg', 'Sango'], ['sa', 'Sanskrit'], ['si', 'Sinhala'], ['sk', 'Slovak'], ['sl', 'Slovenian'], ['se', 'Northern Sami'], ['sm', 'Samoan'], ['sn', 'Shona'], ['sd', 'Sindhi'], ['so', 'Somali'], ['st', 'Sotho, Southern'], ['es', 'Spanish'], ['sc', 'Sardinian'], ['sr', 'Serbian'], ['ss', 'Swati'], ['su', 'Sundanese'], ['sw', 'Swahili'], ['sv', 'Swedish'], ['ty', 'Tahitian'], ['ta', 'Tamil'], ['tt', 'Tatar'], ['te', 'Telugu'], ['tg', 'Tajik'], ['tl', 'Tagalog'], ['th', 'Thai'], ['bo', 'Tibetan'], ['ti', 'Tigrinya'], ['to', 'Tonga (Tonga Islands)'], ['tn', 'Tswana'], ['ts', 'Tsonga'], ['tk', 'Turkmen'], ['tr', 'Turkish'], ['tw', 'Twi'], ['ug', 'Uighur'], ['uk', 'Ukrainian'], ['ur', 'Urdu'], ['uz', 'Uzbek'], ['ve', 'Venda'], ['vi', 'Vietnamese'], ['vo', 'Volap\xfck'], ['cy', 'Welsh'], ['wa', 'Walloon'], ['wo', 'Wolof'], ['xh', 'Xhosa'], ['yi', 'Yiddish'], ['yo', 'Yoruba'], ['za', 'Zhuang'], ['zu', 'Zulu']])),
+                ('language', student_models.LanguageField(blank=True, help_text='Optional language the team uses as ISO 639-1 code.', max_length=16, choices=[['aa', 'Afar'], ['ab', 'Abkhazian'], ['af', 'Afrikaans'], ['ak', 'Akan'], ['sq', 'Albanian'], ['am', 'Amharic'], ['ar', 'Arabic'], ['an', 'Aragonese'], ['hy', 'Armenian'], ['as', 'Assamese'], ['av', 'Avaric'], ['ae', 'Avestan'], ['ay', 'Aymara'], ['az', 'Azerbaijani'], ['ba', 'Bashkir'], ['bm', 'Bambara'], ['eu', 'Basque'], ['be', 'Belarusian'], ['bn', 'Bengali'], ['bh', 'Bihari languages'], ['bi', 'Bislama'], ['bs', 'Bosnian'], ['br', 'Breton'], ['bg', 'Bulgarian'], ['my', 'Burmese'], ['ca', 'Catalan'], ['ch', 'Chamorro'], ['ce', 'Chechen'], ['zh', 'Chinese'], ['zh_HANS', 'Simplified Chinese'], ['zh_HANT', 'Traditional Chinese'], ['cu', 'Church Slavic'], ['cv', 'Chuvash'], ['kw', 'Cornish'], ['co', 'Corsican'], ['cr', 'Cree'], ['cs', 'Czech'], ['da', 'Danish'], ['dv', 'Divehi'], ['nl', 'Dutch'], ['dz', 'Dzongkha'], ['en', 'English'], ['eo', 'Esperanto'], ['et', 'Estonian'], ['ee', 'Ewe'], ['fo', 'Faroese'], ['fj', 'Fijian'], ['fi', 'Finnish'], ['fr', 'French'], ['fy', 'Western Frisian'], ['ff', 'Fulah'], ['ka', 'Georgian'], ['de', 'German'], ['gd', 'Gaelic'], ['ga', 'Irish'], ['gl', 'Galician'], ['gv', 'Manx'], ['el', 'Greek'], ['gn', 'Guarani'], ['gu', 'Gujarati'], ['ht', 'Haitian'], ['ha', 'Hausa'], ['he', 'Hebrew'], ['hz', 'Herero'], ['hi', 'Hindi'], ['ho', 'Hiri Motu'], ['hr', 'Croatian'], ['hu', 'Hungarian'], ['ig', 'Igbo'], ['is', 'Icelandic'], ['io', 'Ido'], ['ii', 'Sichuan Yi'], ['iu', 'Inuktitut'], ['ie', 'Interlingue'], ['ia', 'Interlingua'], ['id', 'Indonesian'], ['ik', 'Inupiaq'], ['it', 'Italian'], ['jv', 'Javanese'], ['ja', 'Japanese'], ['kl', 'Kalaallisut'], ['kn', 'Kannada'], ['ks', 'Kashmiri'], ['kr', 'Kanuri'], ['kk', 'Kazakh'], ['km', 'Central Khmer'], ['ki', 'Kikuyu'], ['rw', 'Kinyarwanda'], ['ky', 'Kirghiz'], ['kv', 'Komi'], ['kg', 'Kongo'], ['ko', 'Korean'], ['kj', 'Kuanyama'], ['ku', 'Kurdish'], ['lo', 'Lao'], ['la', 'Latin'], ['lv', 'Latvian'], ['li', 'Limburgan'], ['ln', 'Lingala'], ['lt', 'Lithuanian'], ['lb', 'Luxembourgish'], ['lu', 'Luba-Katanga'], ['lg', 'Ganda'], ['mk', 'Macedonian'], ['mh', 'Marshallese'], ['ml', 'Malayalam'], ['mi', 'Maori'], ['mr', 'Marathi'], ['ms', 'Malay'], ['mg', 'Malagasy'], ['mt', 'Maltese'], ['mn', 'Mongolian'], ['na', 'Nauru'], ['nv', 'Navajo'], ['nr', 'Ndebele, South'], ['nd', 'Ndebele, North'], ['ng', 'Ndonga'], ['ne', 'Nepali'], ['nn', 'Norwegian Nynorsk'], ['nb', 'Bokm\xe5l, Norwegian'], ['no', 'Norwegian'], ['ny', 'Chichewa'], ['oc', 'Occitan'], ['oj', 'Ojibwa'], ['or', 'Oriya'], ['om', 'Oromo'], ['os', 'Ossetian'], ['pa', 'Panjabi'], ['fa', 'Persian'], ['pi', 'Pali'], ['pl', 'Polish'], ['pt', 'Portuguese'], ['ps', 'Pushto'], ['qu', 'Quechua'], ['rm', 'Romansh'], ['ro', 'Romanian'], ['rn', 'Rundi'], ['ru', 'Russian'], ['sg', 'Sango'], ['sa', 'Sanskrit'], ['si', 'Sinhala'], ['sk', 'Slovak'], ['sl', 'Slovenian'], ['se', 'Northern Sami'], ['sm', 'Samoan'], ['sn', 'Shona'], ['sd', 'Sindhi'], ['so', 'Somali'], ['st', 'Sotho, Southern'], ['es', 'Spanish'], ['sc', 'Sardinian'], ['sr', 'Serbian'], ['ss', 'Swati'], ['su', 'Sundanese'], ['sw', 'Swahili'], ['sv', 'Swedish'], ['ty', 'Tahitian'], ['ta', 'Tamil'], ['tt', 'Tatar'], ['te', 'Telugu'], ['tg', 'Tajik'], ['tl', 'Tagalog'], ['th', 'Thai'], ['bo', 'Tibetan'], ['ti', 'Tigrinya'], ['to', 'Tonga (Tonga Islands)'], ['tn', 'Tswana'], ['ts', 'Tsonga'], ['tk', 'Turkmen'], ['tr', 'Turkish'], ['tw', 'Twi'], ['ug', 'Uighur'], ['uk', 'Ukrainian'], ['ur', 'Urdu'], ['uz', 'Uzbek'], ['ve', 'Venda'], ['vi', 'Vietnamese'], ['vo', 'Volap\xfck'], ['cy', 'Welsh'], ['wa', 'Walloon'], ['wo', 'Wolof'], ['xh', 'Xhosa'], ['yi', 'Yiddish'], ['yo', 'Yoruba'], ['za', 'Zhuang'], ['zu', 'Zulu']])),
                 ('last_activity_at', models.DateTimeField(db_index=True)),
                 ('team_size', models.IntegerField(default=0, db_index=True)),
             ],
diff --git a/lms/djangoapps/teams/migrations/0004_alter_defaults.py b/lms/djangoapps/teams/migrations/0004_alter_defaults.py
index 078deb5c32d88174ea3a21a6a98522f56eb3ab72..28a878812c9d0e98cf7fde393d9d97b58b6fcd31 100644
--- a/lms/djangoapps/teams/migrations/0004_alter_defaults.py
+++ b/lms/djangoapps/teams/migrations/0004_alter_defaults.py
@@ -3,10 +3,10 @@
 
 
 import django_countries.fields
-import student.models
 from django.db import migrations, models
 
 import lms.djangoapps.teams.models
+from common.djangoapps.student import models as student_models
 
 
 class Migration(migrations.Migration):
@@ -23,7 +23,7 @@ class Migration(migrations.Migration):
         migrations.AlterField(
             model_name='courseteam',
             name='language',
-            field=student.models.LanguageField(blank=True, choices=[['aa', 'Afar'], ['ab', 'Abkhazian'], ['af', 'Afrikaans'], ['ak', 'Akan'], ['sq', 'Albanian'], ['am', 'Amharic'], ['ar', 'Arabic'], ['an', 'Aragonese'], ['hy', 'Armenian'], ['as', 'Assamese'], ['av', 'Avaric'], ['ae', 'Avestan'], ['ay', 'Aymara'], ['az', 'Azerbaijani'], ['ba', 'Bashkir'], ['bm', 'Bambara'], ['eu', 'Basque'], ['be', 'Belarusian'], ['bn', 'Bengali'], ['bh', 'Bihari languages'], ['bi', 'Bislama'], ['bs', 'Bosnian'], ['br', 'Breton'], ['bg', 'Bulgarian'], ['my', 'Burmese'], ['ca', 'Catalan'], ['ch', 'Chamorro'], ['ce', 'Chechen'], ['zh', 'Chinese'], ['zh_HANS', 'Simplified Chinese'], ['zh_HANT', 'Traditional Chinese'], ['cu', 'Church Slavic'], ['cv', 'Chuvash'], ['kw', 'Cornish'], ['co', 'Corsican'], ['cr', 'Cree'], ['cs', 'Czech'], ['da', 'Danish'], ['dv', 'Divehi'], ['nl', 'Dutch'], ['dz', 'Dzongkha'], ['en', 'English'], ['eo', 'Esperanto'], ['et', 'Estonian'], ['ee', 'Ewe'], ['fo', 'Faroese'], ['fj', 'Fijian'], ['fi', 'Finnish'], ['fr', 'French'], ['fy', 'Western Frisian'], ['ff', 'Fulah'], ['ka', 'Georgian'], ['de', 'German'], ['gd', 'Gaelic'], ['ga', 'Irish'], ['gl', 'Galician'], ['gv', 'Manx'], ['el', 'Greek'], ['gn', 'Guarani'], ['gu', 'Gujarati'], ['ht', 'Haitian'], ['ha', 'Hausa'], ['he', 'Hebrew'], ['hz', 'Herero'], ['hi', 'Hindi'], ['ho', 'Hiri Motu'], ['hr', 'Croatian'], ['hu', 'Hungarian'], ['ig', 'Igbo'], ['is', 'Icelandic'], ['io', 'Ido'], ['ii', 'Sichuan Yi'], ['iu', 'Inuktitut'], ['ie', 'Interlingue'], ['ia', 'Interlingua'], ['id', 'Indonesian'], ['ik', 'Inupiaq'], ['it', 'Italian'], ['jv', 'Javanese'], ['ja', 'Japanese'], ['kl', 'Kalaallisut'], ['kn', 'Kannada'], ['ks', 'Kashmiri'], ['kr', 'Kanuri'], ['kk', 'Kazakh'], ['km', 'Central Khmer'], ['ki', 'Kikuyu'], ['rw', 'Kinyarwanda'], ['ky', 'Kirghiz'], ['kv', 'Komi'], ['kg', 'Kongo'], ['ko', 'Korean'], ['kj', 'Kuanyama'], ['ku', 'Kurdish'], ['lo', 'Lao'], ['la', 'Latin'], ['lv', 'Latvian'], ['li', 'Limburgan'], ['ln', 'Lingala'], ['lt', 'Lithuanian'], ['lb', 'Luxembourgish'], ['lu', 'Luba-Katanga'], ['lg', 'Ganda'], ['mk', 'Macedonian'], ['mh', 'Marshallese'], ['ml', 'Malayalam'], ['mi', 'Maori'], ['mr', 'Marathi'], ['ms', 'Malay'], ['mg', 'Malagasy'], ['mt', 'Maltese'], ['mn', 'Mongolian'], ['na', 'Nauru'], ['nv', 'Navajo'], ['nr', 'Ndebele, South'], ['nd', 'Ndebele, North'], ['ng', 'Ndonga'], ['ne', 'Nepali'], ['nn', 'Norwegian Nynorsk'], ['nb', 'Bokmål, Norwegian'], ['no', 'Norwegian'], ['ny', 'Chichewa'], ['oc', 'Occitan'], ['oj', 'Ojibwa'], ['or', 'Oriya'], ['om', 'Oromo'], ['os', 'Ossetian'], ['pa', 'Panjabi'], ['fa', 'Persian'], ['pi', 'Pali'], ['pl', 'Polish'], ['pt', 'Portuguese'], ['ps', 'Pushto'], ['qu', 'Quechua'], ['rm', 'Romansh'], ['ro', 'Romanian'], ['rn', 'Rundi'], ['ru', 'Russian'], ['sg', 'Sango'], ['sa', 'Sanskrit'], ['si', 'Sinhala'], ['sk', 'Slovak'], ['sl', 'Slovenian'], ['se', 'Northern Sami'], ['sm', 'Samoan'], ['sn', 'Shona'], ['sd', 'Sindhi'], ['so', 'Somali'], ['st', 'Sotho, Southern'], ['es', 'Spanish'], ['sc', 'Sardinian'], ['sr', 'Serbian'], ['ss', 'Swati'], ['su', 'Sundanese'], ['sw', 'Swahili'], ['sv', 'Swedish'], ['ty', 'Tahitian'], ['ta', 'Tamil'], ['tt', 'Tatar'], ['te', 'Telugu'], ['tg', 'Tajik'], ['tl', 'Tagalog'], ['th', 'Thai'], ['bo', 'Tibetan'], ['ti', 'Tigrinya'], ['to', 'Tonga (Tonga Islands)'], ['tn', 'Tswana'], ['ts', 'Tsonga'], ['tk', 'Turkmen'], ['tr', 'Turkish'], ['tw', 'Twi'], ['ug', 'Uighur'], ['uk', 'Ukrainian'], ['ur', 'Urdu'], ['uz', 'Uzbek'], ['ve', 'Venda'], ['vi', 'Vietnamese'], ['vo', 'Volapük'], ['cy', 'Welsh'], ['wa', 'Walloon'], ['wo', 'Wolof'], ['xh', 'Xhosa'], ['yi', 'Yiddish'], ['yo', 'Yoruba'], ['za', 'Zhuang'], ['zu', 'Zulu']], default='', help_text='Optional language the team uses as ISO 639-1 code.', max_length=16),
+            field=student_models.LanguageField(blank=True, choices=[['aa', 'Afar'], ['ab', 'Abkhazian'], ['af', 'Afrikaans'], ['ak', 'Akan'], ['sq', 'Albanian'], ['am', 'Amharic'], ['ar', 'Arabic'], ['an', 'Aragonese'], ['hy', 'Armenian'], ['as', 'Assamese'], ['av', 'Avaric'], ['ae', 'Avestan'], ['ay', 'Aymara'], ['az', 'Azerbaijani'], ['ba', 'Bashkir'], ['bm', 'Bambara'], ['eu', 'Basque'], ['be', 'Belarusian'], ['bn', 'Bengali'], ['bh', 'Bihari languages'], ['bi', 'Bislama'], ['bs', 'Bosnian'], ['br', 'Breton'], ['bg', 'Bulgarian'], ['my', 'Burmese'], ['ca', 'Catalan'], ['ch', 'Chamorro'], ['ce', 'Chechen'], ['zh', 'Chinese'], ['zh_HANS', 'Simplified Chinese'], ['zh_HANT', 'Traditional Chinese'], ['cu', 'Church Slavic'], ['cv', 'Chuvash'], ['kw', 'Cornish'], ['co', 'Corsican'], ['cr', 'Cree'], ['cs', 'Czech'], ['da', 'Danish'], ['dv', 'Divehi'], ['nl', 'Dutch'], ['dz', 'Dzongkha'], ['en', 'English'], ['eo', 'Esperanto'], ['et', 'Estonian'], ['ee', 'Ewe'], ['fo', 'Faroese'], ['fj', 'Fijian'], ['fi', 'Finnish'], ['fr', 'French'], ['fy', 'Western Frisian'], ['ff', 'Fulah'], ['ka', 'Georgian'], ['de', 'German'], ['gd', 'Gaelic'], ['ga', 'Irish'], ['gl', 'Galician'], ['gv', 'Manx'], ['el', 'Greek'], ['gn', 'Guarani'], ['gu', 'Gujarati'], ['ht', 'Haitian'], ['ha', 'Hausa'], ['he', 'Hebrew'], ['hz', 'Herero'], ['hi', 'Hindi'], ['ho', 'Hiri Motu'], ['hr', 'Croatian'], ['hu', 'Hungarian'], ['ig', 'Igbo'], ['is', 'Icelandic'], ['io', 'Ido'], ['ii', 'Sichuan Yi'], ['iu', 'Inuktitut'], ['ie', 'Interlingue'], ['ia', 'Interlingua'], ['id', 'Indonesian'], ['ik', 'Inupiaq'], ['it', 'Italian'], ['jv', 'Javanese'], ['ja', 'Japanese'], ['kl', 'Kalaallisut'], ['kn', 'Kannada'], ['ks', 'Kashmiri'], ['kr', 'Kanuri'], ['kk', 'Kazakh'], ['km', 'Central Khmer'], ['ki', 'Kikuyu'], ['rw', 'Kinyarwanda'], ['ky', 'Kirghiz'], ['kv', 'Komi'], ['kg', 'Kongo'], ['ko', 'Korean'], ['kj', 'Kuanyama'], ['ku', 'Kurdish'], ['lo', 'Lao'], ['la', 'Latin'], ['lv', 'Latvian'], ['li', 'Limburgan'], ['ln', 'Lingala'], ['lt', 'Lithuanian'], ['lb', 'Luxembourgish'], ['lu', 'Luba-Katanga'], ['lg', 'Ganda'], ['mk', 'Macedonian'], ['mh', 'Marshallese'], ['ml', 'Malayalam'], ['mi', 'Maori'], ['mr', 'Marathi'], ['ms', 'Malay'], ['mg', 'Malagasy'], ['mt', 'Maltese'], ['mn', 'Mongolian'], ['na', 'Nauru'], ['nv', 'Navajo'], ['nr', 'Ndebele, South'], ['nd', 'Ndebele, North'], ['ng', 'Ndonga'], ['ne', 'Nepali'], ['nn', 'Norwegian Nynorsk'], ['nb', 'Bokmål, Norwegian'], ['no', 'Norwegian'], ['ny', 'Chichewa'], ['oc', 'Occitan'], ['oj', 'Ojibwa'], ['or', 'Oriya'], ['om', 'Oromo'], ['os', 'Ossetian'], ['pa', 'Panjabi'], ['fa', 'Persian'], ['pi', 'Pali'], ['pl', 'Polish'], ['pt', 'Portuguese'], ['ps', 'Pushto'], ['qu', 'Quechua'], ['rm', 'Romansh'], ['ro', 'Romanian'], ['rn', 'Rundi'], ['ru', 'Russian'], ['sg', 'Sango'], ['sa', 'Sanskrit'], ['si', 'Sinhala'], ['sk', 'Slovak'], ['sl', 'Slovenian'], ['se', 'Northern Sami'], ['sm', 'Samoan'], ['sn', 'Shona'], ['sd', 'Sindhi'], ['so', 'Somali'], ['st', 'Sotho, Southern'], ['es', 'Spanish'], ['sc', 'Sardinian'], ['sr', 'Serbian'], ['ss', 'Swati'], ['su', 'Sundanese'], ['sw', 'Swahili'], ['sv', 'Swedish'], ['ty', 'Tahitian'], ['ta', 'Tamil'], ['tt', 'Tatar'], ['te', 'Telugu'], ['tg', 'Tajik'], ['tl', 'Tagalog'], ['th', 'Thai'], ['bo', 'Tibetan'], ['ti', 'Tigrinya'], ['to', 'Tonga (Tonga Islands)'], ['tn', 'Tswana'], ['ts', 'Tsonga'], ['tk', 'Turkmen'], ['tr', 'Turkish'], ['tw', 'Twi'], ['ug', 'Uighur'], ['uk', 'Ukrainian'], ['ur', 'Urdu'], ['uz', 'Uzbek'], ['ve', 'Venda'], ['vi', 'Vietnamese'], ['vo', 'Volapük'], ['cy', 'Welsh'], ['wa', 'Walloon'], ['wo', 'Wolof'], ['xh', 'Xhosa'], ['yi', 'Yiddish'], ['yo', 'Yoruba'], ['za', 'Zhuang'], ['zu', 'Zulu']], default='', help_text='Optional language the team uses as ISO 639-1 code.', max_length=16),
         ),
         migrations.AlterField(
             model_name='courseteam',
diff --git a/lms/djangoapps/teams/models.py b/lms/djangoapps/teams/models.py
index 2c8bb5251e9e40667855ee377138ac59f42004a3..7f362e5806a5eca206b45cbee78b168e3b754a3b 100644
--- a/lms/djangoapps/teams/models.py
+++ b/lms/djangoapps/teams/models.py
@@ -33,7 +33,7 @@ from openedx.core.djangoapps.django_comment_common.signals import (
     thread_unfollowed,
     thread_voted
 )
-from student.models import CourseEnrollment, LanguageField
+from common.djangoapps.student.models import CourseEnrollment, LanguageField
 
 from .errors import (
     AlreadyOnTeamInTeamset,
diff --git a/lms/djangoapps/teams/tests/test_api.py b/lms/djangoapps/teams/tests/test_api.py
index cb0839b0d0922873e48a7e95d9d5a78f1ce7094b..2d82796237c6c5d20bc6f4985c307659b4b121f7 100644
--- a/lms/djangoapps/teams/tests/test_api.py
+++ b/lms/djangoapps/teams/tests/test_api.py
@@ -9,14 +9,14 @@ import ddt
 import mock
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.teams import api as teams_api
 from lms.djangoapps.teams.models import CourseTeam
 from lms.djangoapps.teams.tests.factories import CourseTeamFactory
 from openedx.core.lib.teams_config import TeamsConfig, TeamsetType
-from student.models import CourseEnrollment, AnonymousUserId
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment, AnonymousUserId
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/teams/tests/test_csv.py b/lms/djangoapps/teams/tests/test_csv.py
index 4fc18db8de679d877267ec2204ba00fdc45c0e1b..337b32d406f2ebb53d42ba46247e1605fa7a23ea 100644
--- a/lms/djangoapps/teams/tests/test_csv.py
+++ b/lms/djangoapps/teams/tests/test_csv.py
@@ -9,8 +9,8 @@ from lms.djangoapps.teams import csv
 from lms.djangoapps.teams.models import CourseTeam, CourseTeamMembership
 from lms.djangoapps.teams.tests.factories import CourseTeamFactory
 from openedx.core.lib.teams_config import TeamsConfig
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import EventTestMixin
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import EventTestMixin
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/teams/tests/test_models.py b/lms/djangoapps/teams/tests/test_models.py
index a0b99fa33f8cfbc0981a9b74a898b295325b7d79..50fa17b8a44ed0b373c6ae11a48ae6ef7396c509 100644
--- a/lms/djangoapps/teams/tests/test_models.py
+++ b/lms/djangoapps/teams/tests/test_models.py
@@ -14,7 +14,7 @@ import six
 from mock import Mock, patch
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.teams import TEAM_DISCUSSION_CONTEXT
 from lms.djangoapps.teams.errors import AddToIncompatibleTeamError
 from lms.djangoapps.teams.models import CourseTeam, CourseTeamMembership
@@ -31,8 +31,8 @@ from openedx.core.djangoapps.django_comment_common.signals import (
     thread_voted
 )
 from openedx.core.lib.teams_config import TeamsConfig
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import EventTestMixin
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import EventTestMixin
 
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/lms/djangoapps/teams/tests/test_serializers.py b/lms/djangoapps/teams/tests/test_serializers.py
index e3de6e73fcba0f46c58972acdf00c1a543c42d0c..809da1c7853dc6d0fbb543be41167587f1d90e2b 100644
--- a/lms/djangoapps/teams/tests/test_serializers.py
+++ b/lms/djangoapps/teams/tests/test_serializers.py
@@ -11,7 +11,7 @@ from django.test.client import RequestFactory
 from lms.djangoapps.teams.serializers import BulkTeamCountTopicSerializer, MembershipSerializer, TopicSerializer
 from lms.djangoapps.teams.tests.factories import CourseTeamFactory, CourseTeamMembershipFactory
 from openedx.core.lib.teams_config import TeamsConfig
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/teams/tests/test_services.py b/lms/djangoapps/teams/tests/test_services.py
index 6b31a9ca8c93789356cc339dc2fa068b28ff05d0..5172ab84a5740f6a96cfd22a64cfbce598c3b927 100644
--- a/lms/djangoapps/teams/tests/test_services.py
+++ b/lms/djangoapps/teams/tests/test_services.py
@@ -6,7 +6,7 @@ Tests for any Teams app services
 
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from openedx.core.djangoapps.catalog.tests.factories import CourseRunFactory
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 from lms.djangoapps.teams.services import TeamsService
 from lms.djangoapps.teams.tests.factories import CourseTeamFactory
diff --git a/lms/djangoapps/teams/tests/test_views.py b/lms/djangoapps/teams/tests/test_views.py
index 073b6b5cbff96a2ea5d7f8a45ab0d98dad909c0e..2728e32faf03ca2fc52f357573a1e381b909e47e 100644
--- a/lms/djangoapps/teams/tests/test_views.py
+++ b/lms/djangoapps/teams/tests/test_views.py
@@ -24,15 +24,15 @@ from search.search_engine_base import SearchEngine
 from six.moves import range
 
 from common.test.utils import skip_signal
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.tests.factories import StaffFactory
 from openedx.core.djangoapps.django_comment_common.models import FORUM_ROLE_COMMUNITY_TA, Role
 from openedx.core.djangoapps.django_comment_common.utils import seed_permissions_roles
 from openedx.core.lib.teams_config import TeamsConfig
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from lms.djangoapps.program_enrollments.tests.factories import ProgramEnrollmentFactory
-from student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
-from util.testing import EventTestMixin
+from common.djangoapps.student.tests.factories import AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import EventTestMixin
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/djangoapps/teams/utils.py b/lms/djangoapps/teams/utils.py
index 3014f79a439dcff4d7a814e66647d85598d12d19..13e242e36cb8e73f6c3d4eab5cad09f75fce6588 100644
--- a/lms/djangoapps/teams/utils.py
+++ b/lms/djangoapps/teams/utils.py
@@ -5,7 +5,7 @@ Utility methods related to teams.
 
 from eventtracking import tracker
 
-from track import contexts
+from common.djangoapps.track import contexts
 
 
 def emit_team_event(event_name, course_key, event_data):
diff --git a/lms/djangoapps/teams/views.py b/lms/djangoapps/teams/views.py
index de81a441707f50e10b0db08694d237a49e0382c9..eb35d0d107be202d2fa15bebdd062130b727bde2 100644
--- a/lms/djangoapps/teams/views.py
+++ b/lms/djangoapps/teams/views.py
@@ -41,8 +41,8 @@ from openedx.core.lib.api.view_utils import (
     add_serializer_errors,
     build_api_error
 )
-from student.models import CourseAccessRole, CourseEnrollment
-from util.model_utils import truncate_fields
+from common.djangoapps.student.models import CourseAccessRole, CourseEnrollment
+from common.djangoapps.util.model_utils import truncate_fields
 from xmodule.modulestore.django import modulestore
 
 from . import is_feature_enabled
diff --git a/lms/djangoapps/verify_student/management/commands/backfill_sso_verifications_for_old_account_links.py b/lms/djangoapps/verify_student/management/commands/backfill_sso_verifications_for_old_account_links.py
index 71492302cef53b09cc0ddc045368584ea9cd38ac..4126bacc6cf94b3466f516f97452054f2fa66045 100644
--- a/lms/djangoapps/verify_student/management/commands/backfill_sso_verifications_for_old_account_links.py
+++ b/lms/djangoapps/verify_student/management/commands/backfill_sso_verifications_for_old_account_links.py
@@ -17,7 +17,7 @@ from social_django.models import UserSocialAuth
 
 from common.djangoapps.third_party_auth.api.utils import filter_user_social_auth_queryset_by_provider
 from lms.djangoapps.verify_student.models import SSOVerification
-from third_party_auth.provider import Registry
+from common.djangoapps.third_party_auth.provider import Registry
 
 
 class Command(BaseCommand):
diff --git a/lms/djangoapps/verify_student/management/commands/populate_expiry_date.py b/lms/djangoapps/verify_student/management/commands/populate_expiry_date.py
index 4f9ed841083e6a4c451d1609369af89318e6ea4e..0ed1c116c1a8dd5d4da274ead812666948a4854a 100644
--- a/lms/djangoapps/verify_student/management/commands/populate_expiry_date.py
+++ b/lms/djangoapps/verify_student/management/commands/populate_expiry_date.py
@@ -12,7 +12,7 @@ from django.core.management.base import BaseCommand
 from django.db.models import F
 
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
-from util.query import use_read_replica_if_available
+from common.djangoapps.util.query import use_read_replica_if_available
 
 logger = logging.getLogger(__name__)
 
diff --git a/lms/djangoapps/verify_student/management/commands/send_verification_expiry_email.py b/lms/djangoapps/verify_student/management/commands/send_verification_expiry_email.py
index 0f53be6faba3410d798b86ced7a495575bc70875..259eeb01217bdc3f06987cc6fa77f52fca16c5e3 100644
--- a/lms/djangoapps/verify_student/management/commands/send_verification_expiry_email.py
+++ b/lms/djangoapps/verify_student/management/commands/send_verification_expiry_email.py
@@ -7,7 +7,7 @@ import logging
 import time
 from datetime import timedelta
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from django.conf import settings
 from django.contrib.auth.models import User
 from django.contrib.sites.models import Site
@@ -17,8 +17,8 @@ from django.urls import reverse
 from django.utils.timezone import now
 from edx_ace import ace
 from edx_ace.recipient import Recipient
-from student.models import CourseEnrollment
-from util.query import use_read_replica_if_available
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.query import use_read_replica_if_available
 
 from lms.djangoapps.verify_student.message_types import VerificationExpiry
 from lms.djangoapps.verify_student.models import ManualVerification, SoftwareSecurePhotoVerification, SSOVerification
diff --git a/lms/djangoapps/verify_student/management/commands/tests/test_backfill_sso_verifications_for_old_account_links.py b/lms/djangoapps/verify_student/management/commands/tests/test_backfill_sso_verifications_for_old_account_links.py
index 666b9e6e1ceae73037c959320582c2c3ac4db639..b0181efaa3006d2e7c950bb7bf5a00bad86a587c 100644
--- a/lms/djangoapps/verify_student/management/commands/tests/test_backfill_sso_verifications_for_old_account_links.py
+++ b/lms/djangoapps/verify_student/management/commands/tests/test_backfill_sso_verifications_for_old_account_links.py
@@ -10,7 +10,7 @@ from django.core.management.base import CommandError
 from lms.djangoapps.program_enrollments.management.commands.tests.utils import UserSocialAuthFactory
 from lms.djangoapps.verify_student.models import SSOVerification
 from lms.djangoapps.verify_student.tests.factories import SSOVerificationFactory
-from third_party_auth.tests.testutil import TestCase
+from common.djangoapps.third_party_auth.tests.testutil import TestCase
 
 
 class TestBackfillSSOVerificationsCommand(TestCase):
diff --git a/lms/djangoapps/verify_student/management/commands/tests/test_manual_verify_student.py b/lms/djangoapps/verify_student/management/commands/tests/test_manual_verify_student.py
index c85704026eaa26ab96f733b3f517ae387c665ffb..cd2ac26bdfb031a2e3bccf80a5231d79c0479133 100644
--- a/lms/djangoapps/verify_student/management/commands/tests/test_manual_verify_student.py
+++ b/lms/djangoapps/verify_student/management/commands/tests/test_manual_verify_student.py
@@ -15,7 +15,7 @@ from testfixtures import LogCapture
 
 from lms.djangoapps.verify_student.models import ManualVerification
 from lms.djangoapps.verify_student.utils import earliest_allowed_verification_date
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 LOGGER_NAME = 'lms.djangoapps.verify_student.management.commands.manual_verifications'
 
diff --git a/lms/djangoapps/verify_student/management/commands/tests/test_populate_expiry_date.py b/lms/djangoapps/verify_student/management/commands/tests/test_populate_expiry_date.py
index 8a3ec881f91b767d0e1ff44343ae2e0b76c55b6b..35445b5cbcaae5559ff7a175147296df3f2cb7fb 100644
--- a/lms/djangoapps/verify_student/management/commands/tests/test_populate_expiry_date.py
+++ b/lms/djangoapps/verify_student/management/commands/tests/test_populate_expiry_date.py
@@ -14,7 +14,7 @@ from testfixtures import LogCapture
 from common.test.utils import MockS3BotoMixin
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
 from lms.djangoapps.verify_student.tests.test_models import FAKE_SETTINGS, mock_software_secure_post
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 LOGGER_NAME = 'lms.djangoapps.verify_student.management.commands.populate_expiry_date'
 
diff --git a/lms/djangoapps/verify_student/management/commands/tests/test_send_verification_expiry_email.py b/lms/djangoapps/verify_student/management/commands/tests/test_send_verification_expiry_email.py
index 7b2e950eedd694cb9d4deea2a2acd4cc061a1636..964fe38c05ec11524837a26a372bee7b3fd032e2 100644
--- a/lms/djangoapps/verify_student/management/commands/tests/test_send_verification_expiry_email.py
+++ b/lms/djangoapps/verify_student/management/commands/tests/test_send_verification_expiry_email.py
@@ -13,7 +13,7 @@ from django.test import TestCase
 from django.test.utils import override_settings
 from django.utils.timezone import now
 from mock import patch
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from testfixtures import LogCapture
 
 from common.test.utils import MockS3BotoMixin
diff --git a/lms/djangoapps/verify_student/management/commands/tests/test_verify_student.py b/lms/djangoapps/verify_student/management/commands/tests/test_verify_student.py
index 5cfa3667e6d29b1486503f3bc06831f61ea7c5aa..c88dc6758c1d72af946c7866e112b1b8de77bb88 100644
--- a/lms/djangoapps/verify_student/management/commands/tests/test_verify_student.py
+++ b/lms/djangoapps/verify_student/management/commands/tests/test_verify_student.py
@@ -17,7 +17,7 @@ from lms.djangoapps.verify_student.tests.test_models import (
     mock_software_secure_post,
     mock_software_secure_post_error
 )
-from student.tests.factories import UserFactory  # pylint: disable=import-error, useless-suppression
+from common.djangoapps.student.tests.factories import UserFactory  # pylint: disable=import-error, useless-suppression
 
 LOGGER_NAME = 'retry_photo_verification'
 
diff --git a/lms/djangoapps/verify_student/migrations/0006_ssoverification.py b/lms/djangoapps/verify_student/migrations/0006_ssoverification.py
index 9264bc512f44531f1119c8db3aa5f6ff940458c0..4f53cb90797fcf980f976428e0166f9056cdf511 100644
--- a/lms/djangoapps/verify_student/migrations/0006_ssoverification.py
+++ b/lms/djangoapps/verify_student/migrations/0006_ssoverification.py
@@ -26,7 +26,19 @@ class Migration(migrations.Migration):
                 ('name', models.CharField(blank=True, max_length=255)),
                 ('created_at', models.DateTimeField(auto_now_add=True, db_index=True)),
                 ('updated_at', models.DateTimeField(auto_now=True, db_index=True)),
-                ('identity_provider_type', models.CharField(choices=[(u'third_party_auth.models.OAuth2ProviderConfig', u'OAuth2 Provider'), (u'third_party_auth.models.SAMLProviderConfig', u'SAML Provider'), (u'third_party_auth.models.LTIProviderConfig', u'LTI Provider')], default=u'third_party_auth.models.SAMLProviderConfig', help_text=u'Specifies which type of Identity Provider this verification originated from.', max_length=100)),
+                (
+                    'identity_provider_type',
+                    models.CharField(
+                        choices=[
+                            (u'common.djangoapps.third_party_auth.models.OAuth2ProviderConfig', u'OAuth2 Provider'),
+                            (u'common.djangoapps.third_party_auth.models.SAMLProviderConfig', u'SAML Provider'),
+                            (u'common.djangoapps.third_party_auth.models.LTIProviderConfig', u'LTI Provider'),
+                        ],
+                        default=u'common.djangoapps.third_party_auth.models.SAMLProviderConfig',
+                        help_text=u'Specifies which type of Identity Provider this verification originated from.',
+                        max_length=100,
+                    ),
+                ),
                 ('identity_provider_slug', models.SlugField(default=u'default', help_text=u'The slug uniquely identifying the Identity Provider this verification originated from.', max_length=30)),
                 ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
             ],
diff --git a/lms/djangoapps/verify_student/models.py b/lms/djangoapps/verify_student/models.py
index 98ac86e438123582c716ab0aafab55c3142668aa..e7a9eb95de5d545eab54ebb64650009757294ee6 100644
--- a/lms/djangoapps/verify_student/models.py
+++ b/lms/djangoapps/verify_student/models.py
@@ -190,9 +190,9 @@ class SSOVerification(IDVerificationAttempt):
     .. no_pii:
     """
 
-    OAUTH2 = u'third_party_auth.models.OAuth2ProviderConfig'
-    SAML = u'third_party_auth.models.SAMLProviderConfig'
-    LTI = u'third_party_auth.models.LTIProviderConfig'
+    OAUTH2 = u'common.djangoapps.third_party_auth.models.OAuth2ProviderConfig'
+    SAML = u'common.djangoapps.third_party_auth.models.SAMLProviderConfig'
+    LTI = u'common.djangoapps.third_party_auth.models.LTIProviderConfig'
     IDENTITY_PROVIDER_TYPE_CHOICES = (
         (OAUTH2, u'OAuth2 Provider'),
         (SAML, u'SAML Provider'),
diff --git a/lms/djangoapps/verify_student/services.py b/lms/djangoapps/verify_student/services.py
index e565644b099180e10837260305999c332dceb2e0..a57df2321ab86e3406ca869cd473d0a5eee04615 100644
--- a/lms/djangoapps/verify_student/services.py
+++ b/lms/djangoapps/verify_student/services.py
@@ -10,10 +10,10 @@ from django.urls import reverse
 from django.utils import timezone
 from django.utils.translation import ugettext as _
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.verify_student.utils import is_verification_expiring_soon
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from student.models import User
+from common.djangoapps.student.models import User
 
 from .models import ManualVerification, SoftwareSecurePhotoVerification, SSOVerification
 from .toggles import redirect_to_idv_microfrontend
diff --git a/lms/djangoapps/verify_student/tasks.py b/lms/djangoapps/verify_student/tasks.py
index 081e241f22aa11abb30ee6c9d8296c3a4b0b6085..9ced28e260bc0ec3d0ab89ed124e90c5eb3c840c 100644
--- a/lms/djangoapps/verify_student/tasks.py
+++ b/lms/djangoapps/verify_student/tasks.py
@@ -12,7 +12,7 @@ from celery.states import FAILURE
 from django.conf import settings
 from django.core.mail import EmailMessage
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 
 ACE_ROUTING_KEY = getattr(settings, 'ACE_ROUTING_KEY', None)
diff --git a/lms/djangoapps/verify_student/tests/__init__.py b/lms/djangoapps/verify_student/tests/__init__.py
index e889ad708b5d15873fe7cc71a14e525cef39ae87..e6ec9d043a66948e544ca6e48cf24b8f31001131 100644
--- a/lms/djangoapps/verify_student/tests/__init__.py
+++ b/lms/djangoapps/verify_student/tests/__init__.py
@@ -8,7 +8,7 @@ from django.test import TestCase
 from django.utils.timezone import now
 
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestVerificationBase(TestCase):
diff --git a/lms/djangoapps/verify_student/tests/fake_software_secure.py b/lms/djangoapps/verify_student/tests/fake_software_secure.py
index 063162b1fd853a84e6abac1decfc64a7b1cd4075..9303b7e9c95124c4b58fc9b5983ef8b67cb9c74b 100644
--- a/lms/djangoapps/verify_student/tests/fake_software_secure.py
+++ b/lms/djangoapps/verify_student/tests/fake_software_secure.py
@@ -9,7 +9,7 @@ from django.urls import reverse
 from django.utils.decorators import method_decorator
 from django.views.generic.base import View
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
 
 
diff --git a/lms/djangoapps/verify_student/tests/test_fake_software_secure.py b/lms/djangoapps/verify_student/tests/test_fake_software_secure.py
index ced14284828cb2640ba7b57d4c0216efb6720256..ae4ffec876f2b146d4053682f4a0e3669cbc0dfb 100644
--- a/lms/djangoapps/verify_student/tests/test_fake_software_secure.py
+++ b/lms/djangoapps/verify_student/tests/test_fake_software_secure.py
@@ -7,8 +7,8 @@ from django.test import TestCase
 from mock import patch
 
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 
 
 class SoftwareSecureFakeViewTest(UrlResetMixin, TestCase):
diff --git a/lms/djangoapps/verify_student/tests/test_integration.py b/lms/djangoapps/verify_student/tests/test_integration.py
index be12b7fffc38ac955214064c35eb9230d2b035d6..1191d51ea71cd619467ecc2ea3ff5935a7843798 100644
--- a/lms/djangoapps/verify_student/tests/test_integration.py
+++ b/lms/djangoapps/verify_student/tests/test_integration.py
@@ -5,10 +5,10 @@ Integration tests of the payment flow, including course mode selection.
 import six
 from django.urls import reverse
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.commerce.tests.mocks import mock_payment_processors
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/verify_student/tests/test_models.py b/lms/djangoapps/verify_student/tests/test_models.py
index c3af0917d72f9ac52c8f5195fb0b05ad30fef0de..654b9b1926f30ab7f061791574912d5a54901e11 100644
--- a/lms/djangoapps/verify_student/tests/test_models.py
+++ b/lms/djangoapps/verify_student/tests/test_models.py
@@ -21,7 +21,7 @@ from lms.djangoapps.verify_student.models import (
     SSOVerification,
     VerificationException
 )
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from lms.djangoapps.verify_student.tests import TestVerificationBase
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
diff --git a/lms/djangoapps/verify_student/tests/test_services.py b/lms/djangoapps/verify_student/tests/test_services.py
index e4a1f485ed89eac4b4ca4e823b2233fb57020e6b..39c703bf9253ce292cb2a9dde3001f2487718db6 100644
--- a/lms/djangoapps/verify_student/tests/test_services.py
+++ b/lms/djangoapps/verify_student/tests/test_services.py
@@ -14,7 +14,7 @@ from pytz import utc
 
 from lms.djangoapps.verify_student.models import ManualVerification, SoftwareSecurePhotoVerification, SSOVerification
 from lms.djangoapps.verify_student.services import IDVerificationService
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/verify_student/tests/test_signals.py b/lms/djangoapps/verify_student/tests/test_signals.py
index d107ba67fe64d55e7ee3ffa22605ff87c7f53988..2d9bc09f14427c654d9d3c6fc25caf93d7b6ca75 100644
--- a/lms/djangoapps/verify_student/tests/test_signals.py
+++ b/lms/djangoapps/verify_student/tests/test_signals.py
@@ -11,7 +11,7 @@ from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
 from lms.djangoapps.verify_student.signals import _listen_for_course_publish, _listen_for_lms_retire
 from lms.djangoapps.verify_student.tests.factories import SoftwareSecurePhotoVerificationFactory
 from openedx.core.djangoapps.user_api.accounts.tests.retirement_helpers import fake_completed_retirement
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/lms/djangoapps/verify_student/tests/test_utils.py b/lms/djangoapps/verify_student/tests/test_utils.py
index a340968019a53c549ab6abe209fc41443cb0e9c7..9adb9bf0523bda21064a1564374098980623e018 100644
--- a/lms/djangoapps/verify_student/tests/test_utils.py
+++ b/lms/djangoapps/verify_student/tests/test_utils.py
@@ -20,7 +20,7 @@ from lms.djangoapps.verify_student.utils import (
     submit_request_to_ss,
     verification_for_datetime
 )
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 FAKE_SETTINGS = {
     "DAYS_GOOD_FOR": 10,
diff --git a/lms/djangoapps/verify_student/tests/test_views.py b/lms/djangoapps/verify_student/tests/test_views.py
index a4ca870a71a15c84722cc7b19ad00153c49f04a4..814036201969cda7007fae65977399f4bf2d872e 100644
--- a/lms/djangoapps/verify_student/tests/test_views.py
+++ b/lms/djangoapps/verify_student/tests/test_views.py
@@ -25,8 +25,8 @@ from six.moves import zip
 from waffle.testutils import override_switch
 
 from common.test.utils import MockS3BotoMixin, XssTestMixin
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.commerce.models import CommerceConfiguration
 from lms.djangoapps.commerce.tests import TEST_API_URL, TEST_PAYMENT_DATA, TEST_PUBLIC_URL_ROOT
 from lms.djangoapps.commerce.tests.mocks import mock_payment_processors
@@ -36,9 +36,9 @@ from lms.djangoapps.verify_student.views import PayAndVerifyView, checkout_with_
 from openedx.core.djangoapps.embargo.test_utils import restrict_course
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme
 from openedx.core.djangoapps.user_api.accounts.api import get_account_settings
-from student.models import CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from lms.djangoapps.verify_student.tests import TestVerificationBase
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
diff --git a/lms/djangoapps/verify_student/views.py b/lms/djangoapps/verify_student/views.py
index c84f3134bbff7ab07db5446f83b6f161348e8954..7e3aded42a67337510073dd88451f9be038a52b9 100644
--- a/lms/djangoapps/verify_student/views.py
+++ b/lms/djangoapps/verify_student/views.py
@@ -29,8 +29,8 @@ from opaque_keys.edx.keys import CourseKey
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
-from course_modes.models import CourseMode
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.commerce.utils import EcommerceService, is_account_activation_requirement_disabled
 from lms.djangoapps.verify_student.emails import send_verification_approved_email, send_verification_confirmation_email
 from lms.djangoapps.verify_student.image import InvalidImageData, decode_image_data
@@ -45,10 +45,10 @@ from openedx.core.djangoapps.user_api.accounts import NAME_MIN_LENGTH
 from openedx.core.djangoapps.user_api.accounts.api import update_account_settings
 from openedx.core.djangoapps.user_api.errors import AccountValidationError, UserNotFound
 from openedx.core.lib.log_utils import audit_log
-from student.models import CourseEnrollment
-from track import segment
-from util.db import outer_atomic
-from util.json_request import JsonResponse
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.track import segment
+from common.djangoapps.util.db import outer_atomic
+from common.djangoapps.util.json_request import JsonResponse
 from xmodule.modulestore.django import modulestore
 
 from .services import IDVerificationService
diff --git a/lms/envs/bok_choy.py b/lms/envs/bok_choy.py
index cab4720a5fbee13f8190ce20a57989424974ab0d..6c2f16e963af94f5fa6d9e868a788eca60d14ab8 100644
--- a/lms/envs/bok_choy.py
+++ b/lms/envs/bok_choy.py
@@ -90,7 +90,7 @@ GRADES_DOWNLOAD = {
 
 LOG_OVERRIDES = [
     ('track.middleware', logging.CRITICAL),
-    ('edxmako.shortcuts', logging.ERROR),
+    ('common.djangoapps.edxmako.shortcuts', logging.ERROR),
     ('edx.discussion', logging.CRITICAL),
 ]
 for log_name, log_level in LOG_OVERRIDES:
diff --git a/lms/envs/bok_choy.yml b/lms/envs/bok_choy.yml
index 9cbb67e65a10d1c639665fd75aed57b0600a7f70..ba2ca578d57a474eadb3abf424314070b03516d1 100644
--- a/lms/envs/bok_choy.yml
+++ b/lms/envs/bok_choy.yml
@@ -20,27 +20,27 @@ BLOCK_STRUCTURES_SETTINGS:
 CACHES:
   celery:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_celery
     LOCATION: ['localhost:11211']
   default:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_default
     LOCATION: ['localhost:11211']
   general:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_general
     LOCATION: ['localhost:11211']
   mongo_metadata_inheritance:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_mongo_metadata_inheritance
     LOCATION: ['localhost:11211']
   staticfiles:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_static_files
     LOCATION: ['localhost:11211']
 
@@ -201,7 +201,7 @@ MODULESTORE:
           fs_root: '** OVERRIDDEN **'
           host: [localhost]
           port: 27017
-          render_template: edxmako.shortcuts.render_to_string
+          render_template: common.djangoapps.edxmako.shortcuts.render_to_string
       - ENGINE: xmodule.modulestore.xml.XMLModuleStore
         NAME: xml
         OPTIONS: {data_dir: '** OVERRIDDEN **', default_class: xmodule.hidden_module.HiddenDescriptor}
@@ -229,8 +229,8 @@ SUPPORT_SITE_LINK: https://support.example.com
 SYSLOG_SERVER: ''
 TECH_SUPPORT_EMAIL: technical@example.com
 THIRD_PARTY_AUTH_BACKENDS: [social_core.backends.google.GoogleOAuth2, social_core.backends.linkedin.LinkedinOAuth2,
-  social_core.backends.facebook.FacebookOAuth2, third_party_auth.dummy.DummyBackend,
-  third_party_auth.saml.SAMLAuthBackend]
+  social_core.backends.facebook.FacebookOAuth2, common.djangoapps.third_party_auth.dummy.DummyBackend,
+  common.djangoapps.third_party_auth.saml.SAMLAuthBackend]
 THIRD_PARTY_AUTH:
   Google:
     SOCIAL_AUTH_GOOGLE_OAUTH2_KEY": "test"
@@ -241,7 +241,7 @@ THIRD_PARTY_AUTH:
 TIME_ZONE: America/New_York
 TRACKING_BACKENDS:
   mongo:
-    ENGINE: track.backends.mongodb.MongoBackend
+    ENGINE: common.djangoapps.track.backends.mongodb.MongoBackend
     OPTIONS: {collection: events, database: test}
 WIKI_ENABLED: true
 WAFFLE_OVERRIDE: True
diff --git a/lms/envs/bok_choy_docker.yml b/lms/envs/bok_choy_docker.yml
index dd48b3e02674229797f277f50ec85192af97f1c7..21ccda2df5d332b2a291a6afdfbeadfbff2376b1 100644
--- a/lms/envs/bok_choy_docker.yml
+++ b/lms/envs/bok_choy_docker.yml
@@ -9,27 +9,27 @@ BULK_EMAIL_DEFAULT_FROM_EMAIL: no-reply@example.com
 CACHES:
   celery:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_celery
     LOCATION: ['edx.devstack.memcached:11211']
   default:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_default
     LOCATION: ['edx.devstack.memcached:11211']
   general:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: sandbox_general
     LOCATION: ['edx.devstack.memcached:11211']
   mongo_metadata_inheritance:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_mongo_metadata_inheritance
     LOCATION: ['edx.devstack.memcached:11211']
   staticfiles:
     BACKEND: django.core.cache.backends.memcached.MemcachedCache
-    KEY_FUNCTION: util.memcache.safe_key
+    KEY_FUNCTION: common.djangoapps.util.memcache.safe_key
     KEY_PREFIX: integration_static_files
     LOCATION: ['edx.devstack.memcached:11211']
 CELERY_BROKER_HOSTNAME: localhost
@@ -122,7 +122,7 @@ MODULESTORE:
           fs_root: '** OVERRIDDEN **'
           host: [edx.devstack.mongo]
           port: 27017
-          render_template: edxmako.shortcuts.render_to_string
+          render_template: common.djangoapps.edxmako.shortcuts.render_to_string
       - ENGINE: xmodule.modulestore.xml.XMLModuleStore
         NAME: xml
         OPTIONS: {data_dir: '** OVERRIDDEN **', default_class: xmodule.hidden_module.HiddenDescriptor}
@@ -143,12 +143,12 @@ SUPPORT_SITE_LINK: https://support.example.com
 SYSLOG_SERVER: ''
 TECH_SUPPORT_EMAIL: technical@example.com
 THIRD_PARTY_AUTH_BACKENDS: [social_core.backends.google.GoogleOAuth2, social_core.backends.linkedin.LinkedinOAuth2,
-  social_core.backends.facebook.FacebookOAuth2, third_party_auth.dummy.DummyBackend,
-  third_party_auth.saml.SAMLAuthBackend]
+  social_core.backends.facebook.FacebookOAuth2, common.djangoapps.third_party_auth.dummy.DummyBackend,
+  common.djangoapps.third_party_auth.saml.SAMLAuthBackend]
 TIME_ZONE: America/New_York
 TRACKING_BACKENDS:
   mongo:
-    ENGINE: track.backends.mongodb.MongoBackend
+    ENGINE: common.djangoapps.track.backends.mongodb.MongoBackend
     OPTIONS:
       collection: events
       database: test
diff --git a/lms/envs/common.py b/lms/envs/common.py
index 186a98d759d196bc6ce14a185816631cfd92991d..5572bd1ddffa6ab87fdb128020807ff74e721ab4 100644
--- a/lms/envs/common.py
+++ b/lms/envs/common.py
@@ -755,12 +755,10 @@ NODE_MODULES_ROOT = REPO_ROOT / "node_modules"
 
 DATA_DIR = COURSES_ROOT
 
-# TODO: Is this next line necessary?
-sys.path.append(REPO_ROOT)
-# TODO: The next two path modifications will be removed in an upcoming Open edX release.
+# TODO: This path modification exists as temporary support for deprecated import patterns.
+# It will be removed in an upcoming Open edX release.
 # See docs/decisions/0007-sys-path-modification-removal.rst
 sys.path.append(REPO_ROOT / 'import_shims' / 'lms')
-sys.path.append(COMMON_ROOT / 'djangoapps')
 
 # For Node.js
 
@@ -789,53 +787,53 @@ DATABASE_ROUTERS = [
 CACHES = {
     'blockstore': {
         'KEY_PREFIX': 'blockstore',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': '86400',  # This data should be long-lived for performance, BundleCache handles invalidation
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'course_structure_cache': {
         'KEY_PREFIX': 'course_structure',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': '7200',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'celery': {
         'KEY_PREFIX': 'celery',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': '7200',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'mongo_metadata_inheritance': {
         'KEY_PREFIX': 'mongo_metadata_inheritance',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'TIMEOUT': 300,
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'staticfiles': {
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'staticfiles_general',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'default': {
         'VERSION': '1',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'default',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'configuration': {
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'configuration',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
     },
     'general': {
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': ['localhost:11211'],
         'KEY_PREFIX': 'general',
         'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
@@ -931,7 +929,7 @@ CONTEXT_PROCESSORS = [
     'sekizai.context_processors.sekizai',
 
     # Hack to get required link URLs to password reset templates
-    'edxmako.shortcuts.marketing_link_context_processor',
+    'common.djangoapps.edxmako.shortcuts.marketing_link_context_processor',
 
     # Timezone processor (sends language and time_zone preference)
     'lms.djangoapps.courseware.context_processor.user_timezone_locale_prefs',
@@ -965,8 +963,8 @@ TEMPLATES = [
                 # We have to use mako-aware template loaders to be able to include
                 # mako templates inside django templates (such as main_django.html).
                 'openedx.core.djangoapps.theming.template_loaders.ThemeTemplateLoader',
-                'edxmako.makoloader.MakoFilesystemLoader',
-                'edxmako.makoloader.MakoAppDirectoriesLoader',
+                'common.djangoapps.edxmako.makoloader.MakoFilesystemLoader',
+                'common.djangoapps.edxmako.makoloader.MakoAppDirectoriesLoader',
             ],
             'context_processors': CONTEXT_PROCESSORS,
             # Change 'debug' in your environment settings files - not here.
@@ -975,7 +973,7 @@ TEMPLATES = [
     },
     {
         'NAME': 'mako',
-        'BACKEND': 'edxmako.backend.Mako',
+        'BACKEND': 'common.djangoapps.edxmako.backend.Mako',
         # Don't look for template source files inside installed applications.
         'APP_DIRS': False,
         # Instead, look for template source files in these dirs.
@@ -1106,7 +1104,7 @@ DEBUG_TRACK_LOG = False
 
 TRACKING_BACKENDS = {
     'logger': {
-        'ENGINE': 'track.backends.logger.LoggerBackend',
+        'ENGINE': 'common.djangoapps.track.backends.logger.LoggerBackend',
         'OPTIONS': {
             'name': 'tracking'
         }
@@ -1132,8 +1130,8 @@ EVENT_TRACKING_BACKENDS = {
                 }
             },
             'processors': [
-                {'ENGINE': 'track.shim.LegacyFieldMappingProcessor'},
-                {'ENGINE': 'track.shim.PrefixedEventProcessor'}
+                {'ENGINE': 'common.djangoapps.track.shim.LegacyFieldMappingProcessor'},
+                {'ENGINE': 'common.djangoapps.track.shim.PrefixedEventProcessor'}
             ]
         }
     },
@@ -1151,7 +1149,7 @@ EVENT_TRACKING_BACKENDS = {
                     }
                 },
                 {
-                    'ENGINE': 'track.shim.GoogleAnalyticsProcessor'
+                    'ENGINE': 'common.djangoapps.track.shim.GoogleAnalyticsProcessor'
                 }
             ]
         }
@@ -1261,7 +1259,7 @@ MODULESTORE = {
                     'OPTIONS': {
                         'default_class': 'xmodule.hidden_module.HiddenDescriptor',
                         'fs_root': DATA_DIR,
-                        'render_template': 'edxmako.shortcuts.render_to_string',
+                        'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string',
                     }
                 },
                 {
@@ -1271,7 +1269,7 @@ MODULESTORE = {
                     'OPTIONS': {
                         'default_class': 'xmodule.hidden_module.HiddenDescriptor',
                         'fs_root': DATA_DIR,
-                        'render_template': 'edxmako.shortcuts.render_to_string',
+                        'render_template': 'common.djangoapps.edxmako.shortcuts.render_to_string',
                     }
                 }
             ]
@@ -1715,7 +1713,7 @@ MIDDLEWARE = [
     #'django.contrib.auth.middleware.AuthenticationMiddleware',
     'openedx.core.djangoapps.cache_toolbox.middleware.CacheBackedAuthenticationMiddleware',
 
-    'student.middleware.UserStandingMiddleware',
+    'common.djangoapps.student.middleware.UserStandingMiddleware',
     'openedx.core.djangoapps.contentserver.middleware.StaticContentServer',
 
     # Adds user tags to tracking events
@@ -1723,7 +1721,7 @@ MIDDLEWARE = [
     'openedx.core.djangoapps.user_api.middleware.UserTagsEventContextMiddleware',
 
     'django.contrib.messages.middleware.MessageMiddleware',
-    'track.middleware.TrackMiddleware',
+    'common.djangoapps.track.middleware.TrackMiddleware',
 
     # CORS and CSRF
     'corsheaders.middleware.CorsMiddleware',
@@ -2480,12 +2478,12 @@ INSTALLED_APPS = [
     'openedx.core.djangoapps.service_status',
 
     # Display status message to students
-    'status',
+    'common.djangoapps.status',
 
     # For asset pipelining
-    'edxmako.apps.EdxMakoConfig',
+    'common.djangoapps.edxmako.apps.EdxMakoConfig',
     'pipeline',
-    'static_replace',
+    'common.djangoapps.static_replace',
     'webpack_loader',
 
     # For user interface plugins
@@ -2507,13 +2505,13 @@ INSTALLED_APPS = [
     # Our courseware
     'lms.djangoapps.courseware',
     'lms.djangoapps.coursewarehistoryextended',
-    'student.apps.StudentConfig',
+    'common.djangoapps.student.apps.StudentConfig',
 
     'lms.djangoapps.static_template_view',
     'lms.djangoapps.staticbook',
-    'track',
+    'common.djangoapps.track',
     'eventtracking.django.apps.EventTrackingConfig',
-    'util',
+    'common.djangoapps.util',
     'lms.djangoapps.certificates.apps.CertificatesConfig',
     'lms.djangoapps.dashboard',
     'lms.djangoapps.instructor_task',
@@ -2531,7 +2529,7 @@ INSTALLED_APPS = [
     'oauth2_provider',
     'openedx.core.djangoapps.oauth_dispatch.apps.OAuthDispatchAppConfig',
 
-    'third_party_auth',
+    'common.djangoapps.third_party_auth',
 
     # System Wide Roles
     'openedx.core.djangoapps.system_wide_roles',
@@ -2575,13 +2573,13 @@ INSTALLED_APPS = [
     'lms.djangoapps.shoppingcart',
 
     # Different Course Modes
-    'course_modes.apps.CourseModesConfig',
+    'common.djangoapps.course_modes.apps.CourseModesConfig',
 
     # Enrollment API
     'openedx.core.djangoapps.enrollments',
 
     # Entitlement API
-    'entitlements.apps.EntitlementsConfig',
+    'common.djangoapps.entitlements.apps.EntitlementsConfig',
 
     # Bulk Enrollment API
     'lms.djangoapps.bulk_enroll',
@@ -2599,7 +2597,7 @@ INSTALLED_APPS = [
     'openedx.core.djangoapps.embargo',
 
     # Course action state
-    'course_action_state',
+    'common.djangoapps.course_action_state',
 
     # Additional problem types
     'edx_jsme',    # Molecular Structure
@@ -2640,7 +2638,7 @@ INSTALLED_APPS = [
     # Course teams
     'lms.djangoapps.teams',
 
-    'xblock_django',
+    'common.djangoapps.xblock_django',
 
     # programs support
     'openedx.core.djangoapps.programs.apps.ProgramsConfig',
@@ -2695,7 +2693,7 @@ INSTALLED_APPS = [
     'openedx.core.djangoapps.crawlers',
 
     # Unusual migrations
-    'database_fixups',
+    'common.djangoapps.database_fixups',
 
     'openedx.core.djangoapps.waffle_utils',
 
@@ -3079,13 +3077,13 @@ AUTH_PASSWORD_VALIDATORS = [
         "NAME": "django.contrib.auth.password_validation.UserAttributeSimilarityValidator",
     },
     {
-        "NAME": "util.password_policy_validators.MinimumLengthValidator",
+        "NAME": "common.djangoapps.util.password_policy_validators.MinimumLengthValidator",
         "OPTIONS": {
             "min_length": 2
         }
     },
     {
-        "NAME": "util.password_policy_validators.MaximumLengthValidator",
+        "NAME": "common.djangoapps.util.password_policy_validators.MaximumLengthValidator",
         "OPTIONS": {
             "max_length": 75
         }
diff --git a/lms/envs/devstack.py b/lms/envs/devstack.py
index 769228ef17cbb4365527c8a6234f5005c01c76ec..8dc01e8024caa2b93daf01ff6a7b2e959516325e 100644
--- a/lms/envs/devstack.py
+++ b/lms/envs/devstack.py
@@ -46,8 +46,8 @@ IDA_LOGOUT_URI_LIST = [
 ################################ LOGGERS ######################################
 
 LOG_OVERRIDES = [
-    ('track.contexts', logging.CRITICAL),
-    ('track.middleware', logging.CRITICAL),
+    ('common.djangoapps.track.contexts', logging.CRITICAL),
+    ('common.djangoapps.track.middleware', logging.CRITICAL),
     ('lms.djangoapps.discussion.django_comment_client.utils', logging.CRITICAL),
 ]
 for log_name, log_level in LOG_OVERRIDES:
@@ -222,8 +222,10 @@ FEATURES['ENABLE_COURSEWARE_MICROFRONTEND'] = True
 
 ########################## Third Party Auth #######################
 
-if FEATURES.get('ENABLE_THIRD_PARTY_AUTH') and 'third_party_auth.dummy.DummyBackend' not in AUTHENTICATION_BACKENDS:
-    AUTHENTICATION_BACKENDS = ['third_party_auth.dummy.DummyBackend'] + list(AUTHENTICATION_BACKENDS)
+if FEATURES.get('ENABLE_THIRD_PARTY_AUTH') and (
+        'common.djangoapps.third_party_auth.dummy.DummyBackend' not in AUTHENTICATION_BACKENDS
+):
+    AUTHENTICATION_BACKENDS = ['common.djangoapps.third_party_auth.dummy.DummyBackend'] + list(AUTHENTICATION_BACKENDS)
 
 ############## ECOMMERCE API CONFIGURATION SETTINGS ###############
 ECOMMERCE_PUBLIC_URL_ROOT = 'http://localhost:18130'
diff --git a/lms/envs/devstack_decentralized.py b/lms/envs/devstack_decentralized.py
index f08323b7523bc846a529ad9ad9d5398f225b87c8..44b0c53280ffc48079c3cfd4e0d616a102d2ab26 100644
--- a/lms/envs/devstack_decentralized.py
+++ b/lms/envs/devstack_decentralized.py
@@ -45,8 +45,8 @@ IDA_LOGOUT_URI_LIST = [
 ################################ LOGGERS ######################################
 
 LOG_OVERRIDES = [
-    ('track.contexts', logging.CRITICAL),
-    ('track.middleware', logging.CRITICAL),
+    ('common.djangoapps.track.contexts', logging.CRITICAL),
+    ('common.djangoapps.track.middleware', logging.CRITICAL),
     ('lms.djangoapps.discussion.django_comment_client.utils', logging.CRITICAL),
 ]
 for log_name, log_level in LOG_OVERRIDES:
@@ -188,8 +188,10 @@ FEATURES['ENABLE_COURSEWARE_MICROFRONTEND'] = True
 
 ########################## Third Party Auth #######################
 
-if FEATURES.get('ENABLE_THIRD_PARTY_AUTH') and 'third_party_auth.dummy.DummyBackend' not in AUTHENTICATION_BACKENDS:
-    AUTHENTICATION_BACKENDS = ['third_party_auth.dummy.DummyBackend'] + list(AUTHENTICATION_BACKENDS)
+if FEATURES.get('ENABLE_THIRD_PARTY_AUTH') and (
+        'common.djangoapps.third_party_auth.dummy.DummyBackend' not in AUTHENTICATION_BACKENDS
+):
+    AUTHENTICATION_BACKENDS = ['common.djangoapps.third_party_auth.dummy.DummyBackend'] + list(AUTHENTICATION_BACKENDS)
 
 ############## ECOMMERCE API CONFIGURATION SETTINGS ###############
 ECOMMERCE_PUBLIC_URL_ROOT = 'http://localhost:18130'
diff --git a/lms/envs/docs/README.rst b/lms/envs/docs/README.rst
index 2a1d0f23266ee542beb78a16b4400455b917b063..3cacfbc6ef2b14c72a4e884e9ba59efda6346242 100644
--- a/lms/envs/docs/README.rst
+++ b/lms/envs/docs/README.rst
@@ -87,7 +87,7 @@ when nested within each other::
         },
         {
             'NAME': 'mako',
-            'BACKEND': 'edxmako.backend.Mako',
+            'BACKEND': 'common.djangoapps.edxmako.backend.Mako',
             'APP_DIRS': False,
             'DIRS': _make_mako_template_dirs,
         },
diff --git a/lms/envs/production.py b/lms/envs/production.py
index f6641039322712b75794a16e76e76181e3f3a2dd..c5d7fb1cd40025aa7da1401c56853b404c513b77 100644
--- a/lms/envs/production.py
+++ b/lms/envs/production.py
@@ -629,10 +629,10 @@ if FEATURES.get('ENABLE_THIRD_PARTY_AUTH'):
         'social_core.backends.linkedin.LinkedinOAuth2',
         'social_core.backends.facebook.FacebookOAuth2',
         'social_core.backends.azuread.AzureADOAuth2',
-        'third_party_auth.appleid.AppleIdAuth',  # vendored 'social_core.backends.apple.AppleIdAuth'
-        'third_party_auth.identityserver3.IdentityServer3',
-        'third_party_auth.saml.SAMLAuthBackend',
-        'third_party_auth.lti.LTIAuthBackend',
+        'common.djangoapps.third_party_auth.appleid.AppleIdAuth',  # vendored 'social_core.backends.apple.AppleIdAuth'
+        'common.djangoapps.third_party_auth.identityserver3.IdentityServer3',
+        'common.djangoapps.third_party_auth.saml.SAMLAuthBackend',
+        'common.djangoapps.third_party_auth.lti.LTIAuthBackend',
     ])
 
     AUTHENTICATION_BACKENDS = list(tmp_backends) + list(AUTHENTICATION_BACKENDS)
@@ -658,7 +658,7 @@ if FEATURES.get('ENABLE_THIRD_PARTY_AUTH'):
 
     if ENV_TOKENS.get('THIRD_PARTY_AUTH_SAML_FETCH_PERIOD_HOURS', 24) is not None:
         CELERYBEAT_SCHEDULE['refresh-saml-metadata'] = {
-            'task': 'third_party_auth.fetch_saml_metadata',
+            'task': 'common.djangoapps.third_party_auth.fetch_saml_metadata',
             'schedule': datetime.timedelta(hours=ENV_TOKENS.get('THIRD_PARTY_AUTH_SAML_FETCH_PERIOD_HOURS', 24)),
         }
 
diff --git a/lms/envs/static.py b/lms/envs/static.py
index 7982d9646075ea94af77ad5effe3815db396dd12..ab0bea3b48782a78360c5945274752a20695d624 100644
--- a/lms/envs/static.py
+++ b/lms/envs/static.py
@@ -42,7 +42,7 @@ CACHES = {
     'default': {
         'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
         'LOCATION': 'edx_loc_mem_cache',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
     },
 
     # The general cache is what you get if you use our util.cache. It's used for
@@ -54,7 +54,7 @@ CACHES = {
         'BACKEND': 'django.core.cache.backends.dummy.DummyCache',
         'KEY_PREFIX': 'general',
         'VERSION': 4,
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
     }
 }
 
diff --git a/lms/envs/test.py b/lms/envs/test.py
index c65cfcc921bca5d6d96ab0d745776cde61f96a08..a59b5a81003a88dacebec1f0c61eeb48271cf540 100644
--- a/lms/envs/test.py
+++ b/lms/envs/test.py
@@ -34,7 +34,7 @@ from xmodule.modulestore.modulestore_settings import update_module_store_setting
 
 from .common import *
 
-from util.testing import patch_sessions, patch_testcase  # pylint: disable=wrong-import-order
+from common.djangoapps.util.testing import patch_sessions, patch_testcase  # pylint: disable=wrong-import-order
 
 # This patch disables the commit_on_success decorator during tests
 # in TestCase subclasses.
@@ -220,7 +220,7 @@ CACHES = {
     # Blockstore caching tests require a cache that actually works:
     'blockstore': {
         'KEY_PREFIX': 'blockstore',
-        'KEY_FUNCTION': 'util.memcache.safe_key',
+        'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
         'LOCATION': 'edx_loc_mem_cache',
         'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
     },
@@ -253,10 +253,10 @@ AUTHENTICATION_BACKENDS = [
     'social_core.backends.facebook.FacebookOAuth2',
     'social_core.backends.azuread.AzureADOAuth2',
     'social_core.backends.twitter.TwitterOAuth',
-    'third_party_auth.identityserver3.IdentityServer3',
-    'third_party_auth.dummy.DummyBackend',
-    'third_party_auth.saml.SAMLAuthBackend',
-    'third_party_auth.lti.LTIAuthBackend',
+    'common.djangoapps.third_party_auth.identityserver3.IdentityServer3',
+    'common.djangoapps.third_party_auth.dummy.DummyBackend',
+    'common.djangoapps.third_party_auth.saml.SAMLAuthBackend',
+    'common.djangoapps.third_party_auth.lti.LTIAuthBackend',
 ] + AUTHENTICATION_BACKENDS
 
 THIRD_PARTY_AUTH_CUSTOM_AUTH_FORMS = {
diff --git a/lms/lib/courseware_search/lms_filter_generator.py b/lms/lib/courseware_search/lms_filter_generator.py
index 852dde71b436d10eef1ed1d82832ad3fd41353f8..e3cec0f559094e4fffb3c49ddf839fe697f7ffb4 100644
--- a/lms/lib/courseware_search/lms_filter_generator.py
+++ b/lms/lib/courseware_search/lms_filter_generator.py
@@ -10,7 +10,7 @@ from search.filter_generator import SearchFilterGenerator
 from openedx.core.djangoapps.course_groups.partition_scheme import CohortPartitionScheme
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 INCLUDE_SCHEMES = [CohortPartitionScheme, RandomUserPartitionScheme, ]
 SCHEME_SUPPORTS_ASSIGNMENT = [RandomUserPartitionScheme, ]
diff --git a/lms/lib/courseware_search/test/test_lms_filter_generator.py b/lms/lib/courseware_search/test/test_lms_filter_generator.py
index 210d4192c30f8702d27b042f81247b10de5827fd..ea16908892f069c7483d98871955c4751e213f94 100644
--- a/lms/lib/courseware_search/test/test_lms_filter_generator.py
+++ b/lms/lib/courseware_search/test/test_lms_filter_generator.py
@@ -7,8 +7,8 @@ import six
 from mock import Mock, patch
 
 from lms.lib.courseware_search.lms_filter_generator import LmsSearchFilterGenerator
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/lms/static/js/instructor_dashboard/instructor_dashboard.js b/lms/static/js/instructor_dashboard/instructor_dashboard.js
index 8c1d564769a014f1c5318856739cc44c71472fb6..12bca4778841dd66f7b9f8da8c1e451505d28df5 100644
--- a/lms/static/js/instructor_dashboard/instructor_dashboard.js
+++ b/lms/static/js/instructor_dashboard/instructor_dashboard.js
@@ -6,7 +6,7 @@ The instructor dashboard is broken into sections.
 Only one section is visible at a time,
   and is responsible for its own functionality.
 
-NOTE: plantTimeout (which is just setTimeout from util.js)
+NOTE: plantTimeout (which is just setTimeout from common.djangoapps.util.js)
       is used frequently in the instructor dashboard to isolate
       failures. If one piece of code under a plantTimeout fails
       then it will not crash the rest of the dashboard.
diff --git a/lms/templates/courseware/course_about.html b/lms/templates/courseware/course_about.html
index 8c1ebd83b7d44d2eed89e5313ab0e9d9ae9c7133..c09acc06d848f67ed91098a3e29fa31616cf9015 100644
--- a/lms/templates/courseware/course_about.html
+++ b/lms/templates/courseware/course_about.html
@@ -7,7 +7,7 @@ from django.urls import reverse
 from lms.djangoapps.courseware.courses import get_course_about_section
 from django.conf import settings
 from six import text_type
-from edxmako.shortcuts import marketing_link
+from common.djangoapps.edxmako.shortcuts import marketing_link
 from openedx.core.djangolib.js_utils import js_escaped_string
 from openedx.core.djangolib.markup import clean_dangerous_html, HTML, Text
 from openedx.core.lib.courses import course_image_url
diff --git a/lms/templates/courseware/gradebook.html b/lms/templates/courseware/gradebook.html
index dbae15c386bd63ed5245fbb2afb2f0eb65a57ab9..52074318732ab8db53230a3655f5ae92fc8a0fdc 100644
--- a/lms/templates/courseware/gradebook.html
+++ b/lms/templates/courseware/gradebook.html
@@ -79,7 +79,7 @@ from six import text_type
               <%
                 tooltip_str = section['detail']
                 # We are making header labels from the first student record. So for tool tip (title),
-                # I am processing this string ```section['detail']``` from student record and removing
+                # I am processing this string ```section['detail']``` from common.djangoapps.student record and removing
                 # all student related data i.e marks, percentage etc to get only the title of homework.
                 if "=" in section['detail']:
                     tooltip_str = section['detail'][0: section['detail'].rfind('=')]
diff --git a/lms/templates/courseware/progress.html b/lms/templates/courseware/progress.html
index 18ba42a71be1ffd1be005ec9ab8b2ff79104f51a..1ccf50a965f5c834ea92cd7bbc78fe9f0c0c09ce 100644
--- a/lms/templates/courseware/progress.html
+++ b/lms/templates/courseware/progress.html
@@ -3,7 +3,7 @@
 <%namespace name='static' file='/static_content.html'/>
 <%def name="online_help_token()"><% return "progress" %></%def>
 <%!
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateStatuses
 from lms.djangoapps.grades.api import constants as grades_constants
 from django.utils.translation import ugettext as _
diff --git a/lms/templates/dashboard.html b/lms/templates/dashboard.html
index 2721a6bd27bd968028b220c9cf558b138f3ca93b..063dea1bcf65b78ed0caec35b5325c9ee3f1b461 100644
--- a/lms/templates/dashboard.html
+++ b/lms/templates/dashboard.html
@@ -9,16 +9,16 @@ from datetime import datetime, timedelta
 from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django.template import RequestContext
-from entitlements.models import CourseEntitlement
-from third_party_auth import pipeline
-from util.date_utils import strftime_localized
+from common.djangoapps.entitlements.models import CourseEntitlement
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.util.date_utils import strftime_localized
 from opaque_keys.edx.keys import CourseKey
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
 from openedx.core.djangolib.markup import HTML, Text
 
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 %>
 
 <%
diff --git a/lms/templates/dashboard/_dashboard_certificate_information.html b/lms/templates/dashboard/_dashboard_certificate_information.html
index 62f4b81bb8689b7aeb9c21b2ceee883ade1cadce..230122bcd11d1a0b858bc2a63b2e3d7f3a7d1509 100644
--- a/lms/templates/dashboard/_dashboard_certificate_information.html
+++ b/lms/templates/dashboard/_dashboard_certificate_information.html
@@ -3,8 +3,8 @@
 <%!
 from django.utils.translation import ugettext as _
 from openedx.core.djangolib.markup import HTML, Text
-from course_modes.models import CourseMode
-from util.course import should_display_grade
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.util.course import should_display_grade
 %>
 <%namespace name='static' file='../static_content.html'/>
 
diff --git a/lms/templates/dashboard/_dashboard_course_listing.html b/lms/templates/dashboard/_dashboard_course_listing.html
index 254bf81f394eba0e78c09ccf201e87d53d2a6ebe..621f92584b25b3ae34b08294d505d41bc2a00255 100644
--- a/lms/templates/dashboard/_dashboard_course_listing.html
+++ b/lms/templates/dashboard/_dashboard_course_listing.html
@@ -9,13 +9,13 @@ from django.utils.http import urlencode, urlquote_plus
 from django.utils.translation import ugettext as _
 from django.utils.translation import ungettext
 from django.urls import reverse
-from course_modes.models import CourseMode
-from course_modes.helpers import enrollment_mode_display
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.helpers import enrollment_mode_display
 from lms.djangoapps.verify_student.services import IDVerificationService
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.features.course_experience import course_home_url_name
-from student.helpers import (
+from common.djangoapps.student.helpers import (
   VERIFY_STATUS_NEED_TO_VERIFY,
   VERIFY_STATUS_SUBMITTED,
   VERIFY_STATUS_RESUBMITTED,
@@ -24,7 +24,7 @@ from student.helpers import (
   VERIFY_STATUS_NEED_TO_REVERIFY,
   DISABLE_UNENROLL_CERT_STATES,
 )
-from util.course import get_link_for_about_page, get_encoded_course_sharing_utm_params
+from common.djangoapps.util.course import get_link_for_about_page, get_encoded_course_sharing_utm_params
 from lms.djangoapps.experiments.utils import UPSELL_TRACKING_FLAG
 %>
 
diff --git a/lms/templates/dates_banner.html b/lms/templates/dates_banner.html
index 143fe657e18511e342f7dd010fcec5330f3f8bbb..8e95f78df7a01539425519f4de39241485dc2b0b 100644
--- a/lms/templates/dates_banner.html
+++ b/lms/templates/dates_banner.html
@@ -5,7 +5,7 @@
 from django.utils.translation import ugettext as _
 
 from lms.djangoapps.courseware.date_summary import CourseAssignmentDate
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 %>
 
 <%
diff --git a/lms/templates/financial-assistance/financial-assistance.html b/lms/templates/financial-assistance/financial-assistance.html
index 23ae661f7c6e6ef453fecf3b8ea72b2f61832b3d..4321b6e453ecca404b9036db7d37f5d7a79fe836 100644
--- a/lms/templates/financial-assistance/financial-assistance.html
+++ b/lms/templates/financial-assistance/financial-assistance.html
@@ -4,7 +4,7 @@
 from django.urls import reverse
 from django.utils.translation import ugettext as _
 
-from edxmako.shortcuts import marketing_link
+from common.djangoapps.edxmako.shortcuts import marketing_link
 %>
 
 <div class="financial-assistance-wrapper">
diff --git a/lms/templates/main.html b/lms/templates/main.html
index 93b02c71841f62b50e27e2b2824c2241c7a8356f..14b02024c31690424c00c81e1ef296e0f2ed419f 100644
--- a/lms/templates/main.html
+++ b/lms/templates/main.html
@@ -24,7 +24,7 @@ from lms.djangoapps.courseware.access import has_access
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
 from openedx.core.release import RELEASE_LINE
-from pipeline_mako import render_require_js_path_overrides
+from common.djangoapps.pipeline_mako import render_require_js_path_overrides
 
 %>
 <!DOCTYPE html>
diff --git a/lms/templates/page_banner.html b/lms/templates/page_banner.html
index 2b8139e8345618a16b9db8a1122e60110ec44eae..1ecebd5ab0d2a0a91d97032d6df4167c7917fe71 100644
--- a/lms/templates/page_banner.html
+++ b/lms/templates/page_banner.html
@@ -9,7 +9,7 @@ from django.utils.translation import ugettext as _
 from openedx.core.djangolib.markup import HTML
 from openedx.core.djangoapps.util.user_messages import PageLevelMessages, UserMessage, UserMessageType
 # app that handles site status messages
-from status.status import get_site_status_msg
+from common.djangoapps.status.status import get_site_status_msg
 %>
 
 <%
diff --git a/lms/templates/signup_modal.html b/lms/templates/signup_modal.html
index f8ae07a982223e7ffa58ef436791675077874f2b..9f2705a9b8ad6a8798ba1ff8296cb40ee3391b8f 100644
--- a/lms/templates/signup_modal.html
+++ b/lms/templates/signup_modal.html
@@ -6,7 +6,7 @@ from openedx.core.djangolib.js_utils import js_escaped_string
 from django.conf import settings
 from django.urls import reverse
 from django_countries import countries
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 from datetime import date
 import calendar
 %>
diff --git a/lms/templates/sysadmin_dashboard_gitlogs.html b/lms/templates/sysadmin_dashboard_gitlogs.html
index 64d48f6b328eb9936b7a45d018bca38eb1fc2691..0a57eb59ab65a30755f6289aa80f63c964657172 100644
--- a/lms/templates/sysadmin_dashboard_gitlogs.html
+++ b/lms/templates/sysadmin_dashboard_gitlogs.html
@@ -5,7 +5,7 @@
     from django.urls import reverse
     from django.utils.translation import ugettext as _
     from django.utils.timezone import utc as UTC
-    from util.date_utils import get_time_display, DEFAULT_DATE_TIME_FORMAT
+    from common.djangoapps.util.date_utils import get_time_display, DEFAULT_DATE_TIME_FORMAT
     from django.conf import settings
 %>
 <%namespace name='static' file='/static_content.html'/>
diff --git a/lms/tests.py b/lms/tests.py
index 3ab766ebe57dd5ad54b06dab374ba8aeb2605d39..b90707bafda4b7e0c7281acb90ca322190c5b9a8 100644
--- a/lms/tests.py
+++ b/lms/tests.py
@@ -7,8 +7,6 @@ import mimetypes
 from django.conf import settings
 from django.test import TestCase
 
-from edxmako import LOOKUP, add_lookup
-
 log = logging.getLogger(__name__)
 
 
diff --git a/lms/urls.py b/lms/urls.py
index e79933cd07100f6c57b331a7da9e384ca11ec21c..085e604ad7fc00386b296ca2f96b2b368b3bf685 100644
--- a/lms/urls.py
+++ b/lms/urls.py
@@ -51,8 +51,8 @@ from openedx.core.djangoapps.site_configuration import helpers as configuration_
 from openedx.core.djangoapps.user_authn.views.login import redirect_to_lms_login
 from openedx.core.djangoapps.verified_track_content import views as verified_track_content_views
 from openedx.features.enterprise_support.api import enterprise_enabled
-from student import views as student_views
-from util import views as util_views
+from common.djangoapps.student import views as student_views
+from common.djangoapps.util import views as util_views
 
 RESET_COURSE_DEADLINES_NAME = 'reset_course_deadlines'
 RENDER_XBLOCK_NAME = 'render_xblock'
@@ -95,13 +95,13 @@ notification_prefs_urls = [
 urlpatterns = [
     url(r'^$', branding_views.index, name='root'),  # Main marketing page, or redirect to courseware
 
-    url(r'', include('student.urls')),
+    url(r'', include('common.djangoapps.student.urls')),
     # TODO: Move lms specific student views out of common code
     url(r'^dashboard/?$', student_views.student_dashboard, name='dashboard'),
     url(r'^change_enrollment$', student_views.change_enrollment, name='change_enrollment'),
 
     # Event tracking endpoints
-    url(r'', include('track.urls')),
+    url(r'', include('common.djangoapps.track.urls')),
 
     # Static template view endpoints like blog, faq, etc.
     url(r'', include('lms.djangoapps.static_template_view.urls')),
@@ -114,8 +114,13 @@ urlpatterns = [
     url(r'^api/enrollment/v1/', include('openedx.core.djangoapps.enrollments.urls')),
 
     # Entitlement API RESTful endpoints
-    url(r'^api/entitlements/', include(('entitlements.rest_api.urls', 'common.djangoapps.entitlements'),
-                                       namespace='entitlements_api')),
+    url(
+        r'^api/entitlements/',
+        include(
+            ('common.djangoapps.entitlements.rest_api.urls', 'common.djangoapps.entitlements'),
+            namespace='entitlements_api',
+        ),
+    ),
 
     # Demographics API RESTful endpoints
     url(r'^api/demographics/', include('openedx.core.djangoapps.demographics.rest_api.urls')),
@@ -158,9 +163,17 @@ urlpatterns = [
     url(r'^lang_pref/session_language', lang_pref_views.update_session_language, name='session_language'),
 
     # Multiple course modes and identity verification
-    url(r'^course_modes/', include('course_modes.urls')),
-    url(r'^api/course_modes/', include(('course_modes.rest_api.urls', 'common.djangoapps.course_mods'),
-                                       namespace='course_modes_api')),
+    url(
+        r'^course_modes/',
+        include('common.djangoapps.course_modes.urls'),
+    ),
+    url(
+        r'^api/course_modes/',
+        include(
+            ('common.djangoapps.course_modes.rest_api.urls', 'common.djangoapps.course_mods'),
+            namespace='course_modes_api',
+        )
+    ),
 
     url(r'^verify_student/', include('lms.djangoapps.verify_student.urls')),
 
@@ -836,8 +849,8 @@ urlpatterns += [
 # Third-party auth.
 if settings.FEATURES.get('ENABLE_THIRD_PARTY_AUTH'):
     urlpatterns += [
-        url(r'', include('third_party_auth.urls')),
-        url(r'^api/third_party_auth/', include('third_party_auth.api.urls')),
+        url(r'', include('common.djangoapps.third_party_auth.urls')),
+        url(r'^api/third_party_auth/', include('common.djangoapps.third_party_auth.api.urls')),
     ]
 
 # Enterprise
diff --git a/openedx/core/djangoapps/ace_common/template_context.py b/openedx/core/djangoapps/ace_common/template_context.py
index 2bff54cf3aa066e50b93893b472a70072ee936a2..b569798a954faf478e1424e806fea72c40abd2f1 100644
--- a/openedx/core/djangoapps/ace_common/template_context.py
+++ b/openedx/core/djangoapps/ace_common/template_context.py
@@ -6,7 +6,7 @@ Context dictionary for templates that use the ace_common base template.
 from django.conf import settings
 from django.urls import NoReverseMatch, reverse
 
-from edxmako.shortcuts import marketing_link
+from common.djangoapps.edxmako.shortcuts import marketing_link
 from openedx.core.djangoapps.theming.helpers import get_config_value_from_site_or_settings
 
 
diff --git a/openedx/core/djangoapps/ace_common/tests/mixins.py b/openedx/core/djangoapps/ace_common/tests/mixins.py
index bc6dfe32415a93611546110c300a0bd962996350..e2d392a488b7f66b13b3b969325e4aa3d09e3c09 100644
--- a/openedx/core/djangoapps/ace_common/tests/mixins.py
+++ b/openedx/core/djangoapps/ace_common/tests/mixins.py
@@ -9,7 +9,7 @@ from mock import patch
 from six.moves.urllib.parse import parse_qs, urlparse  # pylint: disable=import-error
 
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class QueryStringAssertionMixin(object):
diff --git a/openedx/core/djangoapps/api_admin/api/v1/tests/test_views.py b/openedx/core/djangoapps/api_admin/api/v1/tests/test_views.py
index f326021c90fd2db18cdb36aef29aafaef67b822e..aab2126e120eac23385f6f91b0438253a2644b48 100644
--- a/openedx/core/djangoapps/api_admin/api/v1/tests/test_views.py
+++ b/openedx/core/djangoapps/api_admin/api/v1/tests/test_views.py
@@ -11,7 +11,7 @@ from django.test import TestCase
 
 from openedx.core.djangoapps.api_admin.tests import factories
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @skip_unless_lms
diff --git a/openedx/core/djangoapps/api_admin/management/commands/tests/test_create_api_access_request.py b/openedx/core/djangoapps/api_admin/management/commands/tests/test_create_api_access_request.py
index 8d9c6e61447fab5366b37ff3da22e787401b8fc1..3111f983560cb4f6117b636c8c5a141313bd6059 100644
--- a/openedx/core/djangoapps/api_admin/management/commands/tests/test_create_api_access_request.py
+++ b/openedx/core/djangoapps/api_admin/management/commands/tests/test_create_api_access_request.py
@@ -10,7 +10,7 @@ from mock import patch
 
 from openedx.core.djangoapps.api_admin.management.commands import create_api_access_request
 from openedx.core.djangoapps.api_admin.models import ApiAccessConfig, ApiAccessRequest
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Tests only valid in lms')
diff --git a/openedx/core/djangoapps/api_admin/models.py b/openedx/core/djangoapps/api_admin/models.py
index 60e7808dfb6e256864c38ccef495246bf52e8d3a..e304569c8447d2b05fad364991448cf06c42b067 100644
--- a/openedx/core/djangoapps/api_admin/models.py
+++ b/openedx/core/djangoapps/api_admin/models.py
@@ -20,7 +20,7 @@ from django.utils.encoding import python_2_unicode_compatible
 from model_utils.models import TimeStampedModel
 from six.moves.urllib.parse import urlunsplit  # pylint: disable=import-error
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 
 log = logging.getLogger(__name__)
diff --git a/openedx/core/djangoapps/api_admin/tests/factories.py b/openedx/core/djangoapps/api_admin/tests/factories.py
index 337bbfbb321dcb0a7e17d8a7fd3a8959018fb3d5..591d871251741003a5bc02781177e85b240a2728 100644
--- a/openedx/core/djangoapps/api_admin/tests/factories.py
+++ b/openedx/core/djangoapps/api_admin/tests/factories.py
@@ -8,7 +8,7 @@ from oauth2_provider.models import get_application_model
 
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangoapps.api_admin.models import ApiAccessRequest, Catalog
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 Application = get_application_model()  # pylint: disable=invalid-name
 
diff --git a/openedx/core/djangoapps/api_admin/tests/test_models.py b/openedx/core/djangoapps/api_admin/tests/test_models.py
index 6e3edc4bf5b5371803eb4464fa7aac21d4c309e6..e0c9b631f0689b24d02186b0124d6e359f823489 100644
--- a/openedx/core/djangoapps/api_admin/tests/test_models.py
+++ b/openedx/core/djangoapps/api_admin/tests/test_models.py
@@ -14,7 +14,7 @@ from openedx.core.djangoapps.api_admin.models import log as model_log
 from openedx.core.djangoapps.api_admin.tests.factories import ApiAccessRequestFactory
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/core/djangoapps/api_admin/tests/test_views.py b/openedx/core/djangoapps/api_admin/tests/test_views.py
index f612f31716f9dc8843a0662f31f83a8fd49f7446..2f824d2a743a32a1b9d470ee4272d374c1b219f3 100644
--- a/openedx/core/djangoapps/api_admin/tests/test_views.py
+++ b/openedx/core/djangoapps/api_admin/tests/test_views.py
@@ -19,7 +19,7 @@ from openedx.core.djangoapps.api_admin.tests.factories import (
 )
 from openedx.core.djangoapps.api_admin.tests.utils import VALID_DATA
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 Application = get_application_model()  # pylint: disable=invalid-name
 
diff --git a/openedx/core/djangoapps/api_admin/views.py b/openedx/core/djangoapps/api_admin/views.py
index c5ce3cbe078e9961f4fdf99f1549f13f97de82e0..3e2dbbfdf356a04e03d941119f843d8b9c04b8f1 100644
--- a/openedx/core/djangoapps/api_admin/views.py
+++ b/openedx/core/djangoapps/api_admin/views.py
@@ -16,7 +16,7 @@ from oauth2_provider.models import get_application_model
 from oauth2_provider.views import ApplicationRegistration
 from slumber.exceptions import HttpNotFoundError
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.api_admin.decorators import require_api_access
 from openedx.core.djangoapps.api_admin.forms import ApiAccessRequestForm, CatalogForm
 from openedx.core.djangoapps.api_admin.models import ApiAccessRequest, Catalog
diff --git a/openedx/core/djangoapps/auth_exchange/forms.py b/openedx/core/djangoapps/auth_exchange/forms.py
index fdc9166bd62157dd0e1775b21216ad8f2eab67bc..b25860e6d6ec5f442ac8b3bd27685ab349d8d832 100644
--- a/openedx/core/djangoapps/auth_exchange/forms.py
+++ b/openedx/core/djangoapps/auth_exchange/forms.py
@@ -13,7 +13,7 @@ from requests import HTTPError
 from social_core.backends import oauth as social_oauth
 from social_core.exceptions import AuthException
 
-from third_party_auth import pipeline
+from common.djangoapps.third_party_auth import pipeline
 
 
 class OAuthValidationError(Exception):
diff --git a/openedx/core/djangoapps/auth_exchange/tests/test_forms.py b/openedx/core/djangoapps/auth_exchange/tests/test_forms.py
index db135b68bb263a0d194441c2ac26a1be325a157e..b0dd06563d607b0945b844c5698b2dd134cc15b1 100644
--- a/openedx/core/djangoapps/auth_exchange/tests/test_forms.py
+++ b/openedx/core/djangoapps/auth_exchange/tests/test_forms.py
@@ -13,7 +13,7 @@ from django.test import TestCase
 from django.test.client import RequestFactory
 from social_django.models import Partial
 
-from third_party_auth.tests.utils import ThirdPartyOAuthTestMixinFacebook, ThirdPartyOAuthTestMixinGoogle
+from common.djangoapps.third_party_auth.tests.utils import ThirdPartyOAuthTestMixinFacebook, ThirdPartyOAuthTestMixinGoogle
 
 from ..forms import AccessTokenExchangeForm
 from .mixins import DOTAdapterMixin
diff --git a/openedx/core/djangoapps/auth_exchange/tests/test_views.py b/openedx/core/djangoapps/auth_exchange/tests/test_views.py
index 6a3f44ad52c5d41d04ee182b71c232aeffdd7271..393762797da5156d5e266831966b13e8c5f0c4fa 100644
--- a/openedx/core/djangoapps/auth_exchange/tests/test_views.py
+++ b/openedx/core/djangoapps/auth_exchange/tests/test_views.py
@@ -21,8 +21,8 @@ from rest_framework.test import APIClient
 from social_django.models import Partial
 
 from openedx.core.djangoapps.oauth_dispatch.tests import factories as dot_factories
-from student.tests.factories import UserFactory
-from third_party_auth.tests.utils import ThirdPartyOAuthTestMixinFacebook, ThirdPartyOAuthTestMixinGoogle
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.tests.utils import ThirdPartyOAuthTestMixinFacebook, ThirdPartyOAuthTestMixinGoogle
 
 from .mixins import DOTAdapterMixin
 from .utils import TPA_FEATURE_ENABLED, TPA_FEATURES_KEY, AccessTokenExchangeTestMixin
diff --git a/openedx/core/djangoapps/auth_exchange/tests/utils.py b/openedx/core/djangoapps/auth_exchange/tests/utils.py
index e906a91722d285a898349b3b1d1cf270b8cb2849..0cfc3606541d22ecdf51fa1e02325ce21fa0d361 100644
--- a/openedx/core/djangoapps/auth_exchange/tests/utils.py
+++ b/openedx/core/djangoapps/auth_exchange/tests/utils.py
@@ -6,7 +6,7 @@ Test utilities for OAuth access token exchange
 from django.conf import settings
 from social_django.models import Partial, UserSocialAuth
 
-from third_party_auth.tests.utils import ThirdPartyOAuthTestMixin
+from common.djangoapps.third_party_auth.tests.utils import ThirdPartyOAuthTestMixin
 
 TPA_FEATURES_KEY = 'ENABLE_THIRD_PARTY_AUTH'
 TPA_FEATURE_ENABLED = TPA_FEATURES_KEY in settings.FEATURES
diff --git a/openedx/core/djangoapps/bookmarks/tests/factories.py b/openedx/core/djangoapps/bookmarks/tests/factories.py
index 7fe7f300e7c29b81123bfa699d6a2f198e5241c6..5fd497da0370775bca8a99543507479b1b265983 100644
--- a/openedx/core/djangoapps/bookmarks/tests/factories.py
+++ b/openedx/core/djangoapps/bookmarks/tests/factories.py
@@ -9,7 +9,7 @@ import factory
 from factory.django import DjangoModelFactory
 from opaque_keys.edx.locator import CourseLocator
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..models import Bookmark, XBlockCache
 
diff --git a/openedx/core/djangoapps/bookmarks/tests/test_models.py b/openedx/core/djangoapps/bookmarks/tests/test_models.py
index fd00c1bf918fae5ff382a4b90c9c1273e1ed3182..e60e11014b4b61a11eb0c9277c302538af70cbf0 100644
--- a/openedx/core/djangoapps/bookmarks/tests/test_models.py
+++ b/openedx/core/djangoapps/bookmarks/tests/test_models.py
@@ -16,7 +16,7 @@ from six import text_type
 from six.moves import range
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py b/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py
index 6eb5015e3ef761fa8870083281a6a32d774b02c0..ee4de81e8279d895d4a74b479ec1f3da931744d6 100644
--- a/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py
+++ b/openedx/core/djangoapps/cache_toolbox/tests/test_middleware.py
@@ -8,7 +8,7 @@ from django.test import TestCase
 from mock import patch
 
 from openedx.core.djangolib.testing.utils import skip_unless_cms, skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class CachedAuthMiddlewareTestCase(TestCase):
diff --git a/openedx/core/djangoapps/catalog/management/commands/tests/test_cache_programs.py b/openedx/core/djangoapps/catalog/management/commands/tests/test_cache_programs.py
index e7ceef8e533ffbc8ca774bdfe0b3e126aae0cde5..93e1d3339b5b7db0fdb1b0b2c1811612739126f7 100644
--- a/openedx/core/djangoapps/catalog/management/commands/tests/test_cache_programs.py
+++ b/openedx/core/djangoapps/catalog/management/commands/tests/test_cache_programs.py
@@ -23,7 +23,7 @@ from openedx.core.djangoapps.catalog.tests.factories import OrganizationFactory,
 from openedx.core.djangoapps.catalog.tests.mixins import CatalogIntegrationMixin
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @skip_unless_lms
diff --git a/openedx/core/djangoapps/catalog/tests/test_utils.py b/openedx/core/djangoapps/catalog/tests/test_utils.py
index f0216de2da5615c021295511e8e387792cd806b9..c2f2c10d889bd01e1f771a71e9da599772594cc5 100644
--- a/openedx/core/djangoapps/catalog/tests/test_utils.py
+++ b/openedx/core/djangoapps/catalog/tests/test_utils.py
@@ -14,9 +14,9 @@ from django.test.client import RequestFactory
 from django.utils.timezone import now
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.helpers import CourseMode
-from course_modes.tests.factories import CourseModeFactory
-from entitlements.tests.factories import CourseEntitlementFactory
+from common.djangoapps.course_modes.helpers import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 from openedx.core.constants import COURSE_UNPUBLISHED
 from openedx.core.djangoapps.catalog.cache import (
     CATALOG_COURSE_PROGRAMS_CACHE_KEY_TPL,
@@ -59,7 +59,7 @@ from openedx.core.djangoapps.catalog.utils import (
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from openedx.core.djangoapps.site_configuration.tests.test_util import with_site_configuration_context
 
 UTILS_MODULE = 'openedx.core.djangoapps.catalog.utils'
diff --git a/openedx/core/djangoapps/catalog/utils.py b/openedx/core/djangoapps/catalog/utils.py
index 2d4b8f8f39bb5cd428373e380b5b2be97685bb37..cfeeb008dbd5e0072661e6dae751cd61b2d3e695 100644
--- a/openedx/core/djangoapps/catalog/utils.py
+++ b/openedx/core/djangoapps/catalog/utils.py
@@ -14,7 +14,7 @@ from opaque_keys.edx.keys import CourseKey
 from pytz import UTC
 from six import text_type
 
-from entitlements.utils import is_course_run_entitlement_fulfillable
+from common.djangoapps.entitlements.utils import is_course_run_entitlement_fulfillable
 from openedx.core.constants import COURSE_PUBLISHED
 from openedx.core.djangoapps.catalog.cache import (
     COURSE_PROGRAMS_CACHE_KEY_TPL,
@@ -30,7 +30,7 @@ from openedx.core.djangoapps.catalog.cache import (
 from openedx.core.djangoapps.catalog.models import CatalogIntegration
 from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
 from openedx.core.lib.edx_api_utils import get_edx_api_data
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 logger = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/ccxcon/api.py b/openedx/core/djangoapps/ccxcon/api.py
index a215de6e1c5445c3f212e7316660f831d4d5ba83..514cf122ac2b5689ae02212b7513d4e4429a8782 100644
--- a/openedx/core/djangoapps/ccxcon/api.py
+++ b/openedx/core/djangoapps/ccxcon/api.py
@@ -16,8 +16,8 @@ from rest_framework.status import HTTP_200_OK, HTTP_201_CREATED
 
 from lms.djangoapps.courseware.courses import get_course_by_id
 from openedx.core.djangoapps.models.course_details import CourseDetails
-from student.models import anonymous_id_for_user
-from student.roles import CourseInstructorRole
+from common.djangoapps.student.models import anonymous_id_for_user
+from common.djangoapps.student.roles import CourseInstructorRole
 
 from .models import CCXCon
 
diff --git a/openedx/core/djangoapps/ccxcon/tests/test_api.py b/openedx/core/djangoapps/ccxcon/tests/test_api.py
index 50437b368e47c72f488b7dcd9cbe57eede1430fe..08f2b0062e98432f3570ca50bc9f13d8aa32d718 100644
--- a/openedx/core/djangoapps/ccxcon/tests/test_api.py
+++ b/openedx/core/djangoapps/ccxcon/tests/test_api.py
@@ -12,7 +12,7 @@ from opaque_keys.edx.keys import CourseKey
 from six.moves import range
 
 from openedx.core.djangoapps.ccxcon import api as ccxconapi
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.tests.factories import AdminFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/openedx/core/djangoapps/certificates/api.py b/openedx/core/djangoapps/certificates/api.py
index 0ae6dec631387a559a117e1fc83bd5a1de5c0bba..cbaefaf87561c8b018386382ddd3f2e5aa0e0245 100644
--- a/openedx/core/djangoapps/certificates/api.py
+++ b/openedx/core/djangoapps/certificates/api.py
@@ -11,7 +11,7 @@ from pytz import UTC
 
 from lms.djangoapps.certificates.models import CertificateStatuses, CertificateWhitelist
 from openedx.core.djangoapps.certificates.config import waffle
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/certificates/tests/test_api.py b/openedx/core/djangoapps/certificates/tests/test_api.py
index ba47c71d3ef5a5c8382b0221a8f68a5219dfb5de..4e705a3928dffd44c129e38c50a161bb736e05d5 100644
--- a/openedx/core/djangoapps/certificates/tests/test_api.py
+++ b/openedx/core/djangoapps/certificates/tests/test_api.py
@@ -7,15 +7,15 @@ from datetime import datetime, timedelta
 import ddt
 import pytz
 import waffle
-from course_modes.models import CourseMode
 from django.test import TestCase
 from edx_toggles.toggles import WaffleSwitch
 from edx_toggles.toggles.testutils import override_waffle_switch
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
 
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.certificates import api
 from openedx.core.djangoapps.certificates.config import waffle as certs_waffle
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 
 # TODO: Copied from lms.djangoapps.certificates.models,
diff --git a/openedx/core/djangoapps/config_model_utils/utils.py b/openedx/core/djangoapps/config_model_utils/utils.py
index cc41ed263cab6a22ee9d5ffb37d4d7e6ce6a816f..c0369b0fad041a79e5ac0b35dd67f44642ccc213 100644
--- a/openedx/core/djangoapps/config_model_utils/utils.py
+++ b/openedx/core/djangoapps/config_model_utils/utils.py
@@ -1,7 +1,7 @@
 """utils for feature-based enrollments"""
 
 
-from student.models import FBEEnrollmentExclusion
+from common.djangoapps.student.models import FBEEnrollmentExclusion
 
 
 def is_in_holdback(enrollment):
diff --git a/openedx/core/djangoapps/content/course_overviews/models.py b/openedx/core/djangoapps/content/course_overviews/models.py
index 3073e3845f583898088b880ba3d20f80b8972773..5c0f4323b4de00b4d42141c0a3d68babd8da076a 100644
--- a/openedx/core/djangoapps/content/course_overviews/models.py
+++ b/openedx/core/djangoapps/content/course_overviews/models.py
@@ -29,7 +29,7 @@ from openedx.core.djangoapps.catalog.models import CatalogIntegration
 from openedx.core.djangoapps.lang_pref.api import get_closest_released_language
 from openedx.core.djangoapps.models.course_details import CourseDetails
 from openedx.core.lib.cache_utils import request_cached, RequestCache
-from static_replace.models import AssetBaseUrlConfig
+from common.djangoapps.static_replace.models import AssetBaseUrlConfig
 from xmodule import block_metadata_utils, course_metadata_utils
 from xmodule.course_module import DEFAULT_START_DATE, CourseDescriptor
 from xmodule.error_module import ErrorDescriptor
diff --git a/openedx/core/djangoapps/content/course_overviews/tests/test_course_overviews.py b/openedx/core/djangoapps/content/course_overviews/tests/test_course_overviews.py
index 05bb64cb2243ab876af15f0fb6e46061c2f3f27e..5b140cc65b7b40d9d621edcc5484f95a75cf13e0 100644
--- a/openedx/core/djangoapps/content/course_overviews/tests/test_course_overviews.py
+++ b/openedx/core/djangoapps/content/course_overviews/tests/test_course_overviews.py
@@ -26,7 +26,7 @@ from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
 from openedx.core.djangoapps.models.course_details import CourseDetails
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.core.lib.courses import course_image_url
-from static_replace.models import AssetBaseUrlConfig
+from common.djangoapps.static_replace.models import AssetBaseUrlConfig
 from xmodule.assetstore.assetmgr import AssetManager
 from xmodule.contentstore.content import StaticContent
 from xmodule.contentstore.django import contentstore
diff --git a/openedx/core/djangoapps/content/learning_sequences/api/processors/enrollment.py b/openedx/core/djangoapps/content/learning_sequences/api/processors/enrollment.py
index e89ad72dd6d3f20262508967e24e57ea435e8db4..8a5793832a400a15cd7e00929907b3243631a9d8 100644
--- a/openedx/core/djangoapps/content/learning_sequences/api/processors/enrollment.py
+++ b/openedx/core/djangoapps/content/learning_sequences/api/processors/enrollment.py
@@ -2,7 +2,7 @@
 Simple OutlineProcessor that removes items based on Enrollment and course visibility setting.
 """
 from openedx.features.course_experience import COURSE_ENABLE_UNENROLLED_ACCESS_FLAG
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 from .base import OutlineProcessor
 from ...data import CourseVisibility
diff --git a/openedx/core/djangoapps/content/learning_sequences/api/processors/schedule.py b/openedx/core/djangoapps/content/learning_sequences/api/processors/schedule.py
index 306b2423d6c0a22951912d65105c58bab709c264..5d2a437383349fb91896e958bb4266036ddb078b 100644
--- a/openedx/core/djangoapps/content/learning_sequences/api/processors/schedule.py
+++ b/openedx/core/djangoapps/content/learning_sequences/api/processors/schedule.py
@@ -5,8 +5,8 @@ from datetime import datetime, timedelta
 from django.contrib.auth import get_user_model
 from edx_when.api import get_dates_for_course
 from opaque_keys.edx.keys import CourseKey, UsageKey
-from student.auth import user_has_role
-from student.roles import CourseBetaTesterRole
+from common.djangoapps.student.auth import user_has_role
+from common.djangoapps.student.roles import CourseBetaTesterRole
 
 from ...data import ScheduleData, ScheduleItemData, UserCourseOutlineData
 from .base import OutlineProcessor
diff --git a/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py b/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py
index 90e961ce64d021c19d19a0c6b654fb0989ea4796..c21799477c6e406aa194356f1ba4feec83e6a534 100644
--- a/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py
+++ b/openedx/core/djangoapps/content/learning_sequences/api/tests/test_outlines.py
@@ -14,9 +14,9 @@ from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.courseware.tests.factories import BetaTesterFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.features.course_experience import COURSE_ENABLE_UNENROLLED_ACCESS_FLAG
-from student.auth import user_has_role
-from student.models import CourseEnrollment
-from student.roles import CourseBetaTesterRole
+from common.djangoapps.student.auth import user_has_role
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseBetaTesterRole
 
 from ...data import CourseLearningSequenceData, CourseOutlineData, CourseSectionData, CourseVisibility, VisibilityData
 from ..outlines import (
diff --git a/openedx/core/djangoapps/content/learning_sequences/tests/test_views.py b/openedx/core/djangoapps/content/learning_sequences/tests/test_views.py
index 7bfb5dc1f23efdfa5b63973447ac224aa2f787ae..cbcfe971995a205ac511f14fda6394e47d162f8e 100644
--- a/openedx/core/djangoapps/content/learning_sequences/tests/test_views.py
+++ b/openedx/core/djangoapps/content/learning_sequences/tests/test_views.py
@@ -20,7 +20,7 @@ from opaque_keys.edx.keys import CourseKey, UsageKey
 from rest_framework.test import APITestCase, APIClient
 
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..api import replace_course_outline
 from ..data import CourseOutlineData, CourseVisibility
diff --git a/openedx/core/djangoapps/content_libraries/tests/base.py b/openedx/core/djangoapps/content_libraries/tests/base.py
index 4200d151167f1c49de329ee4e6840748f84d6845..18875e941611545d479d1030ec7f145f1275d0e5 100644
--- a/openedx/core/djangoapps/content_libraries/tests/base.py
+++ b/openedx/core/djangoapps/content_libraries/tests/base.py
@@ -14,7 +14,7 @@ from organizations.models import Organization
 from rest_framework.test import APITestCase, APIClient
 from search.search_engine_base import SearchEngine
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from openedx.core.djangoapps.content_libraries.libraries_index import MAX_SIZE
 from openedx.core.djangoapps.content_libraries.constants import COMPLEX, ALL_RIGHTS_RESERVED
 from openedx.core.djangolib.testing.utils import skip_unless_cms
diff --git a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py
index 5dd6165a0f15f901c097eb1250686ba7e6c677fc..f01d531b090aa449e8e875649f34ca08a23c2df0 100644
--- a/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py
+++ b/openedx/core/djangoapps/content_libraries/tests/test_content_libraries.py
@@ -13,7 +13,7 @@ from organizations.models import Organization
 
 from openedx.core.djangoapps.content_libraries.tests.base import ContentLibrariesRestApiTest, elasticsearch_test
 from openedx.core.djangoapps.content_libraries.constants import VIDEO, COMPLEX, PROBLEM, CC_4_BY, ALL_RIGHTS_RESERVED
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/core/djangoapps/content_libraries/tests/test_runtime.py b/openedx/core/djangoapps/content_libraries/tests/test_runtime.py
index 69e18fd26e6d10ce79c96b15ec353132775175bc..498db69019740d3b86de3bc3cc4ae38acc52c4f3 100644
--- a/openedx/core/djangoapps/content_libraries/tests/test_runtime.py
+++ b/openedx/core/djangoapps/content_libraries/tests/test_runtime.py
@@ -24,7 +24,7 @@ from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
 from openedx.core.djangoapps.xblock import api as xblock_api
 from openedx.core.djangolib.testing.utils import skip_unless_lms, skip_unless_cms
 from openedx.core.lib import blockstore_api
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.unit_block import UnitBlock
 
 
diff --git a/openedx/core/djangoapps/contentserver/middleware.py b/openedx/core/djangoapps/contentserver/middleware.py
index ff810fff5b920c2eb790f99ccc4790c6c37c4418..21ab1d68d08e2d4d3998200fa4a10559c53218e5 100644
--- a/openedx/core/djangoapps/contentserver/middleware.py
+++ b/openedx/core/djangoapps/contentserver/middleware.py
@@ -21,7 +21,7 @@ from opaque_keys.edx.locator import AssetLocator
 from six import text_type
 
 from openedx.core.djangoapps.header_control import force_header_for_response
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.assetstore.assetmgr import AssetManager
 from xmodule.contentstore.content import XASSET_LOCATION_TAG, StaticContent
 from xmodule.exceptions import NotFoundError
diff --git a/openedx/core/djangoapps/contentserver/test/test_contentserver.py b/openedx/core/djangoapps/contentserver/test/test_contentserver.py
index 5d8a7a1eda46fadd5af32d5a850b077a74a79b68..80987ec2271a8edae3f424b9b83ce9ec4f37d625 100644
--- a/openedx/core/djangoapps/contentserver/test/test_contentserver.py
+++ b/openedx/core/djangoapps/contentserver/test/test_contentserver.py
@@ -27,8 +27,8 @@ from xmodule.assetstore.assetmgr import AssetManager
 from opaque_keys import InvalidKeyError
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory, AdminFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory, AdminFactory
 
 from ..middleware import parse_range_header, HTTP_DATE_FORMAT, StaticContentServer
 
diff --git a/openedx/core/djangoapps/cors_csrf/views.py b/openedx/core/djangoapps/cors_csrf/views.py
index b6a26900d6e5d8381d0df4bdea1639ef307aeee7..d0e5f050194296a99caeb99621247582be46d58f 100644
--- a/openedx/core/djangoapps/cors_csrf/views.py
+++ b/openedx/core/djangoapps/cors_csrf/views.py
@@ -8,7 +8,7 @@ from django.conf import settings
 from django.http import HttpResponseNotFound
 from django.views.decorators.cache import cache_page
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 
 from .models import XDomainProxyConfiguration
 
diff --git a/openedx/core/djangoapps/course_groups/cohorts.py b/openedx/core/djangoapps/course_groups/cohorts.py
index 20aa79f01d29da651c5e34760302f110882c2b9b..458a19fe231155b62a5d2ddbbe5a337a0de0aa5b 100644
--- a/openedx/core/djangoapps/course_groups/cohorts.py
+++ b/openedx/core/djangoapps/course_groups/cohorts.py
@@ -21,7 +21,7 @@ from eventtracking import tracker
 
 from lms.djangoapps.courseware import courses
 from openedx.core.lib.cache_utils import request_cached
-from student.models import get_user_by_username_or_email
+from common.djangoapps.student.models import get_user_by_username_or_email
 
 from .models import (
     CohortMembership,
diff --git a/openedx/core/djangoapps/course_groups/tests/test_api_views.py b/openedx/core/djangoapps/course_groups/tests/test_api_views.py
index 16599da37832c6e49ca08720492211756a990782..fe17c954bb371187954f77dba946f9cc9a2921fb 100644
--- a/openedx/core/djangoapps/course_groups/tests/test_api_views.py
+++ b/openedx/core/djangoapps/course_groups/tests/test_api_views.py
@@ -13,7 +13,7 @@ from django.urls import reverse
 
 from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFactory, AccessTokenFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
 
diff --git a/openedx/core/djangoapps/course_groups/tests/test_cohorts.py b/openedx/core/djangoapps/course_groups/tests/test_cohorts.py
index 09f41b2e8b72e1d5272a3c465dfc40f0caf5c834..efefac6f0f744fe171edaccaaf3e744014fefd98 100644
--- a/openedx/core/djangoapps/course_groups/tests/test_cohorts.py
+++ b/openedx/core/djangoapps/course_groups/tests/test_cohorts.py
@@ -15,8 +15,8 @@ from opaque_keys.edx.locator import CourseLocator
 from six import text_type
 from six.moves import range
 
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_MIXED_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
diff --git a/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py b/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py
index 39c616a96481a7a93e87c7d50b17d6dcccf38b0b..d0d2d1b1536364552f5eb7da0b30b16a8e74ec9a 100644
--- a/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py
+++ b/openedx/core/djangoapps/course_groups/tests/test_partition_scheme.py
@@ -11,7 +11,7 @@ from six.moves import range
 from lms.djangoapps.courseware.tests.test_masquerade import StaffMasqueradeTestCase
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_MIXED_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
diff --git a/openedx/core/djangoapps/course_groups/tests/test_views.py b/openedx/core/djangoapps/course_groups/tests/test_views.py
index 040a6ff4343011733dd1f86703690a4ac16c0cce..1596f6cb4510a778ce4a24eb9a05587118525218 100644
--- a/openedx/core/djangoapps/course_groups/tests/test_views.py
+++ b/openedx/core/djangoapps/course_groups/tests/test_views.py
@@ -18,8 +18,8 @@ from opaque_keys.edx.locator import CourseLocator
 from openedx.core.djangoapps.django_comment_common.models import CourseDiscussionSettings
 from openedx.core.djangoapps.django_comment_common.utils import get_course_discussion_settings
 from lms.djangoapps.courseware.tests.factories import InstructorFactory, StaffFactory
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/course_groups/views.py b/openedx/core/djangoapps/course_groups/views.py
index 554f0a36d3443539c0aca81580245965d5298f6d..cb9545b23b8bcf6c94c0c2024635f88b97af5be7 100644
--- a/openedx/core/djangoapps/course_groups/views.py
+++ b/openedx/core/djangoapps/course_groups/views.py
@@ -26,12 +26,12 @@ from rest_framework.response import Response
 from rest_framework.serializers import Serializer
 
 from lms.djangoapps.courseware.courses import get_course, get_course_with_access
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.course_groups.models import CohortMembership
 from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
 from openedx.core.lib.api.view_utils import DeveloperErrorViewMixin
-from student.auth import has_course_author_access
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.student.auth import has_course_author_access
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 
 from . import api, cohorts
 from .models import CourseUserGroup, CourseUserGroupPartitionGroup
diff --git a/openedx/core/djangoapps/courseware_api/tests/test_views.py b/openedx/core/djangoapps/courseware_api/tests/test_views.py
index e84b66a76834c5b4ebff550647d4b43991744806..fa1a6e437d0e7fa9006938813e524988522614d9 100644
--- a/openedx/core/djangoapps/courseware_api/tests/test_views.py
+++ b/openedx/core/djangoapps/courseware_api/tests/test_views.py
@@ -19,8 +19,8 @@ from lms.djangoapps.certificates.tests.factories import (
 from lms.djangoapps.courseware.access_utils import ACCESS_DENIED, ACCESS_GRANTED
 from lms.djangoapps.courseware.tabs import ExternalLinkCourseTab
 from lms.djangoapps.courseware.tests.helpers import MasqueradeMixin
-from student.models import CourseEnrollment, CourseEnrollmentCelebration
-from student.tests.factories import CourseEnrollmentCelebrationFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentCelebration
+from common.djangoapps.student.tests.factories import CourseEnrollmentCelebrationFactory, UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ItemFactory, ToyCourseFactory
diff --git a/openedx/core/djangoapps/courseware_api/views.py b/openedx/core/djangoapps/courseware_api/views.py
index adc479db6361cf179b2b0a77832d16b9bf2790f4..a6c3e4e3f70be5b84f4cc37caa7b4c140d4ca253 100644
--- a/openedx/core/djangoapps/courseware_api/views.py
+++ b/openedx/core/djangoapps/courseware_api/views.py
@@ -19,7 +19,7 @@ from rest_framework.permissions import IsAuthenticated
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.edxnotes.helpers import is_feature_enabled
 from lms.djangoapps.certificates.api import get_certificate_url
 from lms.djangoapps.certificates.models import GeneratedCertificate
@@ -45,7 +45,9 @@ from openedx.features.course_duration_limits.access import (
     get_user_course_expiration_date, generate_course_expired_message
 )
 from openedx.features.discounts.utils import generate_offer_html
-from student.models import CourseEnrollment, CourseEnrollmentCelebration, LinkedInAddToProfileConfiguration
+from common.djangoapps.student.models import (
+    CourseEnrollment, CourseEnrollmentCelebration, LinkedInAddToProfileConfiguration
+)
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.search import path_to_location
 
diff --git a/openedx/core/djangoapps/credentials/management/commands/tests/test_notify_credentials.py b/openedx/core/djangoapps/credentials/management/commands/tests/test_notify_credentials.py
index 4cf4549d9093c6c14806dda86f9f4132eb0f7f23..57ebd3244e252d0d53f7e9776373cc69c7c63636 100644
--- a/openedx/core/djangoapps/credentials/management/commands/tests/test_notify_credentials.py
+++ b/openedx/core/djangoapps/credentials/management/commands/tests/test_notify_credentials.py
@@ -18,7 +18,7 @@ from lms.djangoapps.grades.models import PersistentCourseGrade
 from openedx.core.djangoapps.credentials.models import NotifyCredentialsConfig
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..notify_credentials import Command
 
diff --git a/openedx/core/djangoapps/credentials/signals.py b/openedx/core/djangoapps/credentials/signals.py
index be2b61129c09b123b41df9a8d4b80e76c198ea2b..04f1b9705e15dba49ee0f5d9ce2429a2b930a602 100644
--- a/openedx/core/djangoapps/credentials/signals.py
+++ b/openedx/core/djangoapps/credentials/signals.py
@@ -7,7 +7,7 @@ from logging import getLogger
 
 from django.contrib.sites.models import Site
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
 from lms.djangoapps.grades.api import CourseGradeFactory
 from openedx.core.djangoapps.catalog.utils import get_programs
diff --git a/openedx/core/djangoapps/credentials/tests/test_signals.py b/openedx/core/djangoapps/credentials/tests/test_signals.py
index 311be58cc06d11e9aa7f304a50395f4af54c0aee..de34014efe57e2946889fedd7c14a01fdfe2d5a2 100644
--- a/openedx/core/djangoapps/credentials/tests/test_signals.py
+++ b/openedx/core/djangoapps/credentials/tests/test_signals.py
@@ -14,7 +14,7 @@ from openedx.core.djangoapps.catalog.tests.factories import CourseFactory, Cours
 from openedx.core.djangoapps.credentials.signals import is_course_run_in_a_program, send_grade_if_interesting
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory, SiteFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory as XModuleCourseFactory
 
diff --git a/openedx/core/djangoapps/credentials/tests/test_tasks.py b/openedx/core/djangoapps/credentials/tests/test_tasks.py
index ef927306ef6d1b89fa8b579727faa6ea96eada62..d4a750ab4c54cac1bbe6bc84547a8f23b960c5c2 100644
--- a/openedx/core/djangoapps/credentials/tests/test_tasks.py
+++ b/openedx/core/djangoapps/credentials/tests/test_tasks.py
@@ -8,7 +8,7 @@ from django.conf import settings
 from django.test import TestCase, override_settings
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from openedx.core.djangoapps.credentials.tasks.v1 import tasks
 
diff --git a/openedx/core/djangoapps/credentials/tests/test_utils.py b/openedx/core/djangoapps/credentials/tests/test_utils.py
index 3586f571fc3b8ab5092c1336df39518e646f55d1..da9cd6ea863fa9b86939ceed4397a6af73fb27b2 100644
--- a/openedx/core/djangoapps/credentials/tests/test_utils.py
+++ b/openedx/core/djangoapps/credentials/tests/test_utils.py
@@ -11,7 +11,7 @@ from openedx.core.djangoapps.credentials.tests.mixins import CredentialsApiConfi
 from openedx.core.djangoapps.credentials.utils import get_credentials
 from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 UTILS_MODULE = 'openedx.core.djangoapps.credentials.utils'
 
diff --git a/openedx/core/djangoapps/credit/api/eligibility.py b/openedx/core/djangoapps/credit/api/eligibility.py
index 4806f81f3a3fd16e90bf3a5c81c0bd8c9fbfb172..c77866b1481e4b41a0c3c24ae931919d35282c30 100644
--- a/openedx/core/djangoapps/credit/api/eligibility.py
+++ b/openedx/core/djangoapps/credit/api/eligibility.py
@@ -9,7 +9,7 @@ import logging
 import six
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.credit.email_utils import send_credit_notifications
 from openedx.core.djangoapps.credit.exceptions import InvalidCreditCourse, InvalidCreditRequirements
 from openedx.core.djangoapps.credit.models import (
@@ -19,7 +19,7 @@ from openedx.core.djangoapps.credit.models import (
     CreditRequirement,
     CreditRequirementStatus
 )
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 # TODO: Cleanup this mess! ECOM-2908
 
diff --git a/openedx/core/djangoapps/credit/api/provider.py b/openedx/core/djangoapps/credit/api/provider.py
index e19fcfa3d346fb27150f20d0cfb5de07fa727ba3..2e11ebf00c2ffbf5045b6667850b18b4c047c7d6 100644
--- a/openedx/core/djangoapps/credit/api/provider.py
+++ b/openedx/core/djangoapps/credit/api/provider.py
@@ -26,9 +26,9 @@ from openedx.core.djangoapps.credit.models import (
     CreditRequirementStatus
 )
 from openedx.core.djangoapps.credit.signature import get_shared_secret_key, signature
-from student.models import CourseEnrollment, User
-from util.date_utils import to_timestamp
-from util.json_request import JsonResponse
+from common.djangoapps.student.models import CourseEnrollment, User
+from common.djangoapps.util.date_utils import to_timestamp
+from common.djangoapps.util.json_request import JsonResponse
 
 # TODO: Cleanup this mess! ECOM-2908
 
diff --git a/openedx/core/djangoapps/credit/email_utils.py b/openedx/core/djangoapps/credit/email_utils.py
index 9433021ee8f9c814370a188de59431f8c0a6768a..967c9725f2d2112cf89afd9f59b43544eb70fdd8 100644
--- a/openedx/core/djangoapps/credit/email_utils.py
+++ b/openedx/core/djangoapps/credit/email_utils.py
@@ -20,8 +20,8 @@ from django.urls import reverse
 from django.utils.translation import ugettext as _
 from eventtracking import tracker
 
-from edxmako.shortcuts import render_to_string
-from edxmako.template import Template
+from common.djangoapps.edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.template import Template
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
 from openedx.core.djangoapps.credit.models import CreditConfig, CreditProvider
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
diff --git a/openedx/core/djangoapps/credit/serializers.py b/openedx/core/djangoapps/credit/serializers.py
index 2ff76a31b07c5833b904d44215af8bb8ec151a59..6277ff3f6f9ed7a33505022f0a3342c42b1a29dc 100644
--- a/openedx/core/djangoapps/credit/serializers.py
+++ b/openedx/core/djangoapps/credit/serializers.py
@@ -13,7 +13,7 @@ from rest_framework.exceptions import PermissionDenied
 from openedx.core.djangoapps.credit.models import CreditCourse, CreditEligibility, CreditProvider, CreditRequest
 from openedx.core.djangoapps.credit.signature import get_shared_secret_key, signature
 from openedx.core.lib.api.serializers import CourseKeyField
-from util.date_utils import from_timestamp
+from common.djangoapps.util.date_utils import from_timestamp
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/credit/services.py b/openedx/core/djangoapps/credit/services.py
index d273bdfb1d3629a8f2f60ec47c13c9b6e2c8941f..6499dd29ecd193b2b621f003f6942049cb5f9cc3 100644
--- a/openedx/core/djangoapps/credit/services.py
+++ b/openedx/core/djangoapps/credit/services.py
@@ -10,7 +10,7 @@ from django.contrib.auth.models import User
 from django.core.exceptions import ObjectDoesNotExist
 from opaque_keys.edx.keys import CourseKey
 
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.django import modulestore
 
 log = logging.getLogger(__name__)
diff --git a/openedx/core/djangoapps/credit/tests/factories.py b/openedx/core/djangoapps/credit/tests/factories.py
index 1aebc7ff63e35ace209b18788496c2ce499ac404..8332b30f2c0402628a868ea6cea1a45d8905afd7 100644
--- a/openedx/core/djangoapps/credit/tests/factories.py
+++ b/openedx/core/djangoapps/credit/tests/factories.py
@@ -18,7 +18,7 @@ from openedx.core.djangoapps.credit.models import (
     CreditRequirement,
     CreditRequirementStatus
 )
-from util.date_utils import to_timestamp
+from common.djangoapps.util.date_utils import to_timestamp
 
 
 class CreditCourseFactory(factory.DjangoModelFactory):
diff --git a/openedx/core/djangoapps/credit/tests/test_api.py b/openedx/core/djangoapps/credit/tests/test_api.py
index 69bc5f71a14f5fd3ef2ec031a1d297b70de887b7..2eafd477e3d2ae09545db94fabb9363532871bd9 100644
--- a/openedx/core/djangoapps/credit/tests/test_api.py
+++ b/openedx/core/djangoapps/credit/tests/test_api.py
@@ -17,7 +17,7 @@ from django.db import connection
 from django.test.utils import override_settings
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.commerce.tests import TEST_API_URL
 from openedx.core.djangoapps.credit import api
 from openedx.core.djangoapps.credit.email_utils import get_credit_provider_attribute_values, make_providers_strings
@@ -39,9 +39,9 @@ from openedx.core.djangoapps.credit.models import (
     CreditRequirementStatus
 )
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
-from util.date_utils import from_timestamp
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.date_utils import from_timestamp
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/credit/tests/test_models.py b/openedx/core/djangoapps/credit/tests/test_models.py
index a48ffa1682148dc9e49bf6e209a14547b7934011..cb233954f11ffee92a735a1eca7088e590bbf995 100644
--- a/openedx/core/djangoapps/credit/tests/test_models.py
+++ b/openedx/core/djangoapps/credit/tests/test_models.py
@@ -20,7 +20,7 @@ from openedx.core.djangoapps.user_api.accounts.tests.retirement_helpers import (
     setup_retirement_states
 )
 from openedx.core.djangoapps.user_api.models import UserRetirementStatus
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 def add_credit_course(course_key):
diff --git a/openedx/core/djangoapps/credit/tests/test_serializers.py b/openedx/core/djangoapps/credit/tests/test_serializers.py
index 9c9403798324d73cfd985a7f63ca44dd150f8d3a..a5da6cf3dda94cbacdc528e540a1998f548f9606 100644
--- a/openedx/core/djangoapps/credit/tests/test_serializers.py
+++ b/openedx/core/djangoapps/credit/tests/test_serializers.py
@@ -8,7 +8,7 @@ from rest_framework.exceptions import PermissionDenied
 
 from openedx.core.djangoapps.credit import serializers, signature
 from openedx.core.djangoapps.credit.tests.factories import CreditEligibilityFactory, CreditProviderFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class CreditProviderSerializerTests(TestCase):
diff --git a/openedx/core/djangoapps/credit/tests/test_services.py b/openedx/core/djangoapps/credit/tests/test_services.py
index 202389f8d64fa5c4da9d1a5ca2eaff64c57ad3ba..50f183f086b69fa3e3f10ee297d37d8acd6133f0 100644
--- a/openedx/core/djangoapps/credit/tests/test_services.py
+++ b/openedx/core/djangoapps/credit/tests/test_services.py
@@ -6,11 +6,11 @@ Tests for the Credit xBlock service
 import ddt
 import six
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.credit.api.eligibility import set_credit_requirements
 from openedx.core.djangoapps.credit.models import CreditCourse
 from openedx.core.djangoapps.credit.services import CreditService
-from student.models import CourseEnrollment, UserProfile
+from common.djangoapps.student.models import CourseEnrollment, UserProfile
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/credit/tests/test_signals.py b/openedx/core/djangoapps/credit/tests/test_signals.py
index 275174bc4b1aaa5f3389371182933f4ad56d8f89..e7fdf6c28b72e32e85f2c7f6fb012718d8a05c21 100644
--- a/openedx/core/djangoapps/credit/tests/test_signals.py
+++ b/openedx/core/djangoapps/credit/tests/test_signals.py
@@ -10,13 +10,13 @@ import pytz
 from django.test.client import RequestFactory
 from mock import MagicMock
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.credit.api import get_credit_requirement_status, set_credit_requirements
 from openedx.core.djangoapps.credit.models import CreditCourse, CreditProvider
 from openedx.core.djangoapps.credit.signals import listen_for_grade_calculation
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/credit/tests/test_views.py b/openedx/core/djangoapps/credit/tests/test_views.py
index dffbad0b4750c23262b76a335610e44e303c552e..e4989ff2355ef7699a6e4594656f8d8b1721d82f 100644
--- a/openedx/core/djangoapps/credit/tests/test_views.py
+++ b/openedx/core/djangoapps/credit/tests/test_views.py
@@ -33,8 +33,8 @@ from openedx.core.djangoapps.credit.tests.factories import (
 from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
 from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFactory, AccessTokenFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import AdminFactory, UserFactory
-from util.date_utils import to_timestamp
+from common.djangoapps.student.tests.factories import AdminFactory, UserFactory
+from common.djangoapps.util.date_utils import to_timestamp
 
 JSON = 'application/json'
 
diff --git a/openedx/core/djangoapps/dark_lang/tests.py b/openedx/core/djangoapps/dark_lang/tests.py
index 4552dbd53e8b149994dc3f1bd8204e6383810f3b..76d61d2f494fac2233262c0975d1cf885e4c6515 100644
--- a/openedx/core/djangoapps/dark_lang/tests.py
+++ b/openedx/core/djangoapps/dark_lang/tests.py
@@ -14,7 +14,7 @@ from mock import Mock
 from openedx.core.djangoapps.dark_lang.middleware import DarkLangMiddleware
 from openedx.core.djangoapps.dark_lang.models import DarkLangConfig
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 UNSET = object()
 
diff --git a/openedx/core/djangoapps/debug/views.py b/openedx/core/djangoapps/debug/views.py
index 8f09c7216116a04d1224837f504406d10a52f362..37531ce46bc4f3b61878577a95028e7f1fef3c46 100644
--- a/openedx/core/djangoapps/debug/views.py
+++ b/openedx/core/djangoapps/debug/views.py
@@ -10,7 +10,7 @@ from django.http import HttpResponseNotFound
 from django.template import TemplateDoesNotExist
 from django.utils.translation import ugettext as _
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.util.user_messages import PageLevelMessages
 
 
diff --git a/openedx/core/djangoapps/demographics/tests/test_status.py b/openedx/core/djangoapps/demographics/tests/test_status.py
index a8df58793ce6833d63fbdccb0adb58a830f63aa4..e80b24e7877fb705efa556f833b31d2c1c271d8f 100644
--- a/openedx/core/djangoapps/demographics/tests/test_status.py
+++ b/openedx/core/djangoapps/demographics/tests/test_status.py
@@ -7,10 +7,10 @@ from django.conf import settings
 from pytest import mark
 from unittest import TestCase
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from opaque_keys.edx.keys import CourseKey
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase, TEST_DATA_SPLIT_MODULESTORE
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/openedx/core/djangoapps/django_comment_common/models.py b/openedx/core/djangoapps/django_comment_common/models.py
index efd2709ead5b32cc96e2b91a3fabe03e0c3de19e..55d8ab091ea7d5ade54ba60916447a59b7e7e961 100644
--- a/openedx/core/djangoapps/django_comment_common/models.py
+++ b/openedx/core/djangoapps/django_comment_common/models.py
@@ -17,8 +17,8 @@ from opaque_keys.edx.django.models import CourseKeyField
 from six import text_type
 
 from openedx.core.djangoapps.xmodule_django.models import NoneToEmptyManager
-from student.models import CourseEnrollment
-from student.roles import GlobalStaff
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import GlobalStaff
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
diff --git a/openedx/core/djangoapps/django_comment_common/tests.py b/openedx/core/djangoapps/django_comment_common/tests.py
index f00338e8e4b8cef08d4e871b682512889194ba43..d8f2594a09a56d5c4def96f1afb6240fc5bf26e6 100644
--- a/openedx/core/djangoapps/django_comment_common/tests.py
+++ b/openedx/core/djangoapps/django_comment_common/tests.py
@@ -13,7 +13,7 @@ from openedx.core.djangoapps.django_comment_common.utils import (
     get_course_discussion_settings,
     set_course_discussion_settings
 )
-from student.models import CourseEnrollment, User
+from common.djangoapps.student.models import CourseEnrollment, User
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/openedx/core/djangoapps/embargo/api.py b/openedx/core/djangoapps/embargo/api.py
index 7369163b1a40c6b19aae9eb2c4fdde98a29cc6a7..7c9a73ad00004c1a378c33bf13760dac4dea7a17 100644
--- a/openedx/core/djangoapps/embargo/api.py
+++ b/openedx/core/djangoapps/embargo/api.py
@@ -15,7 +15,7 @@ from rest_framework import status
 from rest_framework.response import Response
 
 import geoip2.database
-from student.auth import has_course_author_access
+from common.djangoapps.student.auth import has_course_author_access
 
 from .models import CountryAccessRule, RestrictedCourse
 
diff --git a/openedx/core/djangoapps/embargo/tests/test_api.py b/openedx/core/djangoapps/embargo/tests/test_api.py
index d996754d71d643cb1eaac6eada2b5c0abaa39b7a..10dd306f6e66c34f18956edcdb05f2cc3b9bbc8e 100644
--- a/openedx/core/djangoapps/embargo/tests/test_api.py
+++ b/openedx/core/djangoapps/embargo/tests/test_api.py
@@ -17,18 +17,18 @@ from django.core.cache import cache
 from django.db import connection
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.modulestore.tests.django_utils import (
     ModuleStoreTestCase, mixed_store_config
 )
-from student.roles import (
+from common.djangoapps.student.roles import (
     GlobalStaff, CourseRole, OrgRole,
     CourseStaffRole, CourseInstructorRole,
     OrgStaffRole, OrgInstructorRole
 )
 
-from util.testing import UrlResetMixin
+from common.djangoapps.util.testing import UrlResetMixin
 from ..models import (
     RestrictedCourse, Country, CountryAccessRule,
 )
diff --git a/openedx/core/djangoapps/embargo/tests/test_middleware.py b/openedx/core/djangoapps/embargo/tests/test_middleware.py
index b15578e33e3e9b02fa06ea641dafc3cde6b35735..b08600f9cd0ed3121f79543c9adb3bd5a5b92129 100644
--- a/openedx/core/djangoapps/embargo/tests/test_middleware.py
+++ b/openedx/core/djangoapps/embargo/tests/test_middleware.py
@@ -12,8 +12,8 @@ from django.urls import reverse
 from mock import patch
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/embargo/tests/test_views.py b/openedx/core/djangoapps/embargo/tests/test_views.py
index ac4e982cfaeb5a8d9106a401f3d7414cc132dfe8..874b3272058ef66c9b594b8ee342c58fbebbbd35 100644
--- a/openedx/core/djangoapps/embargo/tests/test_views.py
+++ b/openedx/core/djangoapps/embargo/tests/test_views.py
@@ -14,8 +14,8 @@ from .. import messages
 from lms.djangoapps.course_api.tests.mixins import CourseApiFactoryMixin
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
diff --git a/openedx/core/djangoapps/embargo/views.py b/openedx/core/djangoapps/embargo/views.py
index fe9bdb4faf8654c67b8c2f6fc094d62425fc75f0..5fa8635e51a706250b96e6ffe0b2fb491d9516f3 100644
--- a/openedx/core/djangoapps/embargo/views.py
+++ b/openedx/core/djangoapps/embargo/views.py
@@ -11,7 +11,7 @@ from rest_framework.exceptions import ValidationError
 from rest_framework.response import Response
 from rest_framework.views import APIView
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 
 from . import messages
 from .api import check_course_access
diff --git a/openedx/core/djangoapps/enrollments/api.py b/openedx/core/djangoapps/enrollments/api.py
index ee46fc31fc12729f79289be653d53d1f032d0889..a71aeed556a891477c88119ed42a6436d96bdf9f 100644
--- a/openedx/core/djangoapps/enrollments/api.py
+++ b/openedx/core/djangoapps/enrollments/api.py
@@ -12,7 +12,7 @@ from django.conf import settings
 from django.core.cache import cache
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.enrollments import errors
 
 log = logging.getLogger(__name__)
diff --git a/openedx/core/djangoapps/enrollments/data.py b/openedx/core/djangoapps/enrollments/data.py
index 448f50a52da87bc880210173719b3b3e2c3426c0..aaa4bfcba66f60a80fb7505122a61ae8aa0ce205 100644
--- a/openedx/core/djangoapps/enrollments/data.py
+++ b/openedx/core/djangoapps/enrollments/data.py
@@ -21,7 +21,7 @@ from openedx.core.djangoapps.enrollments.errors import (
 )
 from openedx.core.djangoapps.enrollments.serializers import CourseEnrollmentSerializer, CourseSerializer
 from openedx.core.lib.exceptions import CourseNotFoundError
-from student.models import (
+from common.djangoapps.student.models import (
     AlreadyEnrolledError,
     CourseEnrollment,
     CourseEnrollmentAttribute,
@@ -29,7 +29,7 @@ from student.models import (
     EnrollmentClosedError,
     NonExistentCourseError
 )
-from student.roles import RoleCache
+from common.djangoapps.student.roles import RoleCache
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/enrollments/management/tests/test_enroll_user_in_course.py b/openedx/core/djangoapps/enrollments/management/tests/test_enroll_user_in_course.py
index 566f5fe1ed9cf2fb350161c95256a5b91ab2ed35..b23915b66344a1632d868d2ddeb0d3670ac9b3b7 100644
--- a/openedx/core/djangoapps/enrollments/management/tests/test_enroll_user_in_course.py
+++ b/openedx/core/djangoapps/enrollments/management/tests/test_enroll_user_in_course.py
@@ -10,7 +10,7 @@ from django.core.management import call_command
 from django.core.management.base import CommandError
 
 from openedx.core.djangoapps.enrollments.api import get_enrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/openedx/core/djangoapps/enrollments/serializers.py b/openedx/core/djangoapps/enrollments/serializers.py
index 8a1c7750ab5eb7a956ec57610e8d49a35b6a0f40..17739a61d1264289e4dfb95c7d2d1980ea146526 100644
--- a/openedx/core/djangoapps/enrollments/serializers.py
+++ b/openedx/core/djangoapps/enrollments/serializers.py
@@ -7,8 +7,8 @@ import logging
 
 from rest_framework import serializers
 
-from course_modes.models import CourseMode
-from student.models import CourseEnrollment
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.models import CourseEnrollment
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/enrollments/tests/test_api.py b/openedx/core/djangoapps/enrollments/tests/test_api.py
index 040791e750fc775e2266ad1146fc2a28dcdb0e7a..6e2ec5710b6a271403187c96b1568473f2fea2ab 100644
--- a/openedx/core/djangoapps/enrollments/tests/test_api.py
+++ b/openedx/core/djangoapps/enrollments/tests/test_api.py
@@ -11,7 +11,7 @@ from django.conf import settings
 from django.test.utils import override_settings
 from mock import Mock, patch
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.enrollments import api
 from openedx.core.djangoapps.enrollments.errors import (
     CourseModeNotFoundError, EnrollmentApiLoadError, EnrollmentNotFoundError,
diff --git a/openedx/core/djangoapps/enrollments/tests/test_data.py b/openedx/core/djangoapps/enrollments/tests/test_data.py
index a74047a71b343d085b22704790baf98ea57ddac5..0cdc6f331bcc1d9ad7e6f8d2c55198c26b1581c0 100644
--- a/openedx/core/djangoapps/enrollments/tests/test_data.py
+++ b/openedx/core/djangoapps/enrollments/tests/test_data.py
@@ -15,8 +15,8 @@ from mock import patch
 from pytz import UTC
 from six.moves import range
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.enrollments import data
 from openedx.core.djangoapps.enrollments.errors import (
     CourseEnrollmentClosedError,
@@ -26,8 +26,8 @@ from openedx.core.djangoapps.enrollments.errors import (
 )
 from openedx.core.djangoapps.enrollments.serializers import CourseEnrollmentSerializer
 from openedx.core.lib.exceptions import CourseNotFoundError
-from student.models import AlreadyEnrolledError, CourseEnrollment, CourseFullError, EnrollmentClosedError
-from student.tests.factories import CourseAccessRoleFactory, UserFactory, CourseEnrollmentFactory
+from common.djangoapps.student.models import AlreadyEnrolledError, CourseEnrollment, CourseFullError, EnrollmentClosedError
+from common.djangoapps.student.tests.factories import CourseAccessRoleFactory, UserFactory, CourseEnrollmentFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/enrollments/tests/test_views.py b/openedx/core/djangoapps/enrollments/tests/test_views.py
index e9a6bfa49fb6a402083ffffe3a046b365b9d851a..38c2eedabf2239664b1fb0edef9b2c9f92657e5a 100644
--- a/openedx/core/djangoapps/enrollments/tests/test_views.py
+++ b/openedx/core/djangoapps/enrollments/tests/test_views.py
@@ -27,8 +27,8 @@ from rest_framework.test import APITestCase
 from six import text_type
 from six.moves import range
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.course_groups import cohorts
 from openedx.core.djangoapps.embargo.models import Country, CountryAccessRule, RestrictedCourse
@@ -41,11 +41,11 @@ from openedx.core.djangoapps.user_api.models import RetirementState, UserOrgTag,
 from openedx.core.lib.django_test_client_utils import get_absolute_url
 from openedx.features.enterprise_support.tests import FAKE_ENTERPRISE_CUSTOMER
 from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseServiceMockMixin
-from student.models import CourseEnrollment
-from student.roles import CourseStaffRole
-from student.tests.factories import AdminFactory, SuperuserFactory, UserFactory
-from util.models import RateLimitConfiguration
-from util.testing import UrlResetMixin
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import AdminFactory, SuperuserFactory, UserFactory
+from common.djangoapps.util.models import RateLimitConfiguration
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, check_mongo_calls_range
 
diff --git a/openedx/core/djangoapps/enrollments/views.py b/openedx/core/djangoapps/enrollments/views.py
index ea5dc5c46d8d1e742ee741cfe0214bddd478bde3..efd8b12e96cf889890352bd7e860aa680ee146e4 100644
--- a/openedx/core/djangoapps/enrollments/views.py
+++ b/openedx/core/djangoapps/enrollments/views.py
@@ -9,7 +9,7 @@ import logging
 
 from six import text_type
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from django.core.exceptions import ObjectDoesNotExist, ValidationError
 from django.utils.decorators import method_decorator
 from edx_rest_framework_extensions.auth.jwt.authentication import JwtAuthentication
@@ -46,10 +46,10 @@ from rest_framework.generics import ListAPIView
 from rest_framework.response import Response
 from rest_framework.throttling import UserRateThrottle
 from rest_framework.views import APIView
-from student.auth import user_has_role
-from student.models import CourseEnrollment, User
-from student.roles import CourseStaffRole, GlobalStaff
-from util.disable_rate_limit import can_disable_rate_limit
+from common.djangoapps.student.auth import user_has_role
+from common.djangoapps.student.models import CourseEnrollment, User
+from common.djangoapps.student.roles import CourseStaffRole, GlobalStaff
+from common.djangoapps.util.disable_rate_limit import can_disable_rate_limit
 
 log = logging.getLogger(__name__)
 REQUIRED_ATTRIBUTES = {
diff --git a/openedx/core/djangoapps/external_user_ids/tests/test_admin_generate_id.py b/openedx/core/djangoapps/external_user_ids/tests/test_admin_generate_id.py
index f0d8878e8dfa7bbc5e39a14b3e2a76e36b55e001..e9758b6abb3ab538b04106b85d2c6b238dd092af 100644
--- a/openedx/core/djangoapps/external_user_ids/tests/test_admin_generate_id.py
+++ b/openedx/core/djangoapps/external_user_ids/tests/test_admin_generate_id.py
@@ -4,7 +4,7 @@
 import mock
 from django.contrib.admin.sites import AdminSite
 from django.test import TestCase
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from openedx.core.djangoapps.external_user_ids.models import (
     ExternalId,
diff --git a/openedx/core/djangoapps/external_user_ids/tests/test_signals.py b/openedx/core/djangoapps/external_user_ids/tests/test_signals.py
index 33ab1a9bc1df17fdf408d62ede7992713d107aa6..34aa8758caaf06ed1ef00dcffddde705391687fe 100644
--- a/openedx/core/djangoapps/external_user_ids/tests/test_signals.py
+++ b/openedx/core/djangoapps/external_user_ids/tests/test_signals.py
@@ -6,20 +6,20 @@ from opaque_keys.edx.keys import CourseKey
 from django.core.cache import cache
 from edx_django_utils.cache import RequestCache
 
-from entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.models import CourseEntitlement
 from openedx.core.djangoapps.catalog.tests.factories import (
     CourseFactory,
     ProgramFactory,
 )
-from student.tests.factories import TEST_PASSWORD, UserFactory, CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, UserFactory, CourseEnrollmentFactory
 from openedx.core.djangoapps.catalog.cache import (
     CATALOG_COURSE_PROGRAMS_CACHE_KEY_TPL,
     COURSE_PROGRAMS_CACHE_KEY_TPL,
     PROGRAM_CACHE_KEY_TPL,
 )
 from openedx.core.djangoapps.external_user_ids.models import ExternalId, ExternalIdType
-from student.models import CourseEnrollment
-from course_modes.models import CourseMode
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.course_modes.models import CourseMode
 
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
diff --git a/openedx/core/djangoapps/geoinfo/tests/test_middleware.py b/openedx/core/djangoapps/geoinfo/tests/test_middleware.py
index dabb861ee85c2b56357f2ecf0cf222b1c87d31c2..c328ce06291f1986d67a7b4d9cff71ac03592b9c 100644
--- a/openedx/core/djangoapps/geoinfo/tests/test_middleware.py
+++ b/openedx/core/djangoapps/geoinfo/tests/test_middleware.py
@@ -11,7 +11,7 @@ from django.test.client import RequestFactory
 from mock import MagicMock, PropertyMock, patch
 
 from openedx.core.djangoapps.geoinfo.middleware import CountryMiddleware
-from student.tests.factories import AnonymousUserFactory, UserFactory
+from common.djangoapps.student.tests.factories import AnonymousUserFactory, UserFactory
 
 
 class CountryMiddlewareTests(TestCase):
diff --git a/openedx/core/djangoapps/heartbeat/views.py b/openedx/core/djangoapps/heartbeat/views.py
index bdba4cf0bcc9531a768508586380bae20985ab3b..6697db4d3076d9e3fe2402bb66b75cdedb123847 100644
--- a/openedx/core/djangoapps/heartbeat/views.py
+++ b/openedx/core/djangoapps/heartbeat/views.py
@@ -6,7 +6,7 @@ Views for verifying the health (heartbeat) of the app.
 import logging
 import six
 
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 
 from .runchecks import runchecks
 
diff --git a/openedx/core/djangoapps/lang_pref/tests/test_middleware.py b/openedx/core/djangoapps/lang_pref/tests/test_middleware.py
index 0c699836dbf2f1b134ec5e38c9b0208e7af5f38a..f71946a514920a518641346875657f13c4574632 100644
--- a/openedx/core/djangoapps/lang_pref/tests/test_middleware.py
+++ b/openedx/core/djangoapps/lang_pref/tests/test_middleware.py
@@ -23,7 +23,7 @@ from openedx.core.djangoapps.user_api.preferences.api import (
     set_user_preference
 )
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.tests.factories import AnonymousUserFactory, UserFactory
+from common.djangoapps.student.tests.factories import AnonymousUserFactory, UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/core/djangoapps/lang_pref/tests/test_views.py b/openedx/core/djangoapps/lang_pref/tests/test_views.py
index 682e0d77dd43684cfcec3964598f5ba425e7cfee..0984c7422ec64d7938b6ea5a45d8f9f962343294 100644
--- a/openedx/core/djangoapps/lang_pref/tests/test_views.py
+++ b/openedx/core/djangoapps/lang_pref/tests/test_views.py
@@ -10,7 +10,7 @@ from django.test import TestCase
 from django.test.client import RequestFactory
 from django.urls import reverse
 from django.utils.translation import LANGUAGE_SESSION_KEY, get_language
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestLangPrefView(TestCase):
diff --git a/openedx/core/djangoapps/oauth_dispatch/jwt.py b/openedx/core/djangoapps/oauth_dispatch/jwt.py
index 6a1be45f0bbb67677a0631a8a68efe100e5c3c04..57ef0f897704f601d47f711138aa01f790d9e526 100644
--- a/openedx/core/djangoapps/oauth_dispatch/jwt.py
+++ b/openedx/core/djangoapps/oauth_dispatch/jwt.py
@@ -10,7 +10,7 @@ from edx_rbac.utils import create_role_auth_claim_for_user
 from jwkest import jwk
 from jwkest.jws import JWS
 
-from student.models import UserProfile, anonymous_id_for_user
+from common.djangoapps.student.models import UserProfile, anonymous_id_for_user
 
 
 def create_jwt_for_user(user, secret=None, aud=None, additional_claims=None, scopes=None):
diff --git a/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_clear_expired_tokens.py b/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_clear_expired_tokens.py
index af34319718e48698e9751b531e460f724e9d1a89..9a3eacb56eed0ec45e30a65fdf96cd2041ecb11c 100644
--- a/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_clear_expired_tokens.py
+++ b/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_clear_expired_tokens.py
@@ -18,7 +18,7 @@ from oauth2_provider.models import AccessToken, RefreshToken
 from testfixtures import LogCapture
 
 from openedx.core.djangoapps.oauth_dispatch.tests import factories
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 LOGGER_NAME = 'openedx.core.djangoapps.oauth_dispatch.management.commands.edx_clear_expired_tokens'
 
diff --git a/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_create_dot_application.py b/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_create_dot_application.py
index 98d7cbe563b329e0657c9a6fadb613e88d402511..437c71107f736cf717a05aa43ad09be9a88b311e 100644
--- a/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_create_dot_application.py
+++ b/openedx/core/djangoapps/oauth_dispatch/management/commands/tests/test_create_dot_application.py
@@ -9,7 +9,7 @@ from django.test import TestCase
 from oauth2_provider.models import get_application_model
 
 from openedx.core.djangoapps.oauth_dispatch.models import ApplicationAccess
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..create_dot_application import Command
 
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/factories.py b/openedx/core/djangoapps/oauth_dispatch/tests/factories.py
index fe1405cefdc33836c939465aa334ec0cb73acb2c..a0ca20aa0a1f9b5530c4cca9ed2fdfe75782eaf3 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/factories.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/factories.py
@@ -10,7 +10,7 @@ from factory.fuzzy import FuzzyText
 from oauth2_provider.models import AccessToken, Application, RefreshToken
 
 from openedx.core.djangoapps.oauth_dispatch.models import ApplicationAccess
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class ApplicationFactory(DjangoModelFactory):
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/mixins.py b/openedx/core/djangoapps/oauth_dispatch/tests/mixins.py
index b80c613f3a47719fee9d4a7d91d7a2fc01c1d82e..64167c9b269de332890d66ceb75b09d81c08389c 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/mixins.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/mixins.py
@@ -9,7 +9,7 @@ from jwkest.jwk import KEYS
 from jwkest.jws import JWS
 from jwt.exceptions import ExpiredSignatureError
 
-from student.models import UserProfile, anonymous_id_for_user
+from common.djangoapps.student.models import UserProfile, anonymous_id_for_user
 
 
 class AccessTokenMixin(object):
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_api.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_api.py
index 4e183b971fbc4b3c39a5ec241ca397de9588bfdd..4a08ef29e890d1a145b842426b8a55c6e079173e 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_api.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_api.py
@@ -8,7 +8,7 @@ from django.http import HttpRequest
 from django.test import TestCase
 from oauth2_provider.models import AccessToken
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 OAUTH_PROVIDER_ENABLED = settings.FEATURES.get('ENABLE_OAUTH2_PROVIDER')
 if OAUTH_PROVIDER_ENABLED:
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py
index 771d7b94c0801e9079259b2b4b676b46a6395445..82db02e289235a7a796f5e56cc0b1d2da572462a 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_client_credentials.py
@@ -9,7 +9,7 @@ from django.test import TestCase
 from django.urls import reverse
 from oauth2_provider.models import Application
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..adapters import DOTAdapter
 from . import mixins
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_adapter.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_adapter.py
index d3db2e0d47084d9a3b14ea4815d78780afde6e9d..1e01febf3fa233452f456f5d6c27e28755918127 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_adapter.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_adapter.py
@@ -13,7 +13,7 @@ from django.test import TestCase
 from django.utils.timezone import now
 from oauth2_provider import models
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 # oauth_dispatch is not in CMS' INSTALLED_APPS so these imports will error during test collection
 if settings.FEATURES.get("ENABLE_OAUTH2_PROVIDER"):
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_overrides.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_overrides.py
index 7176710fbf613f7ad5080c5a301f9574da167ff2..5a6504ae36656f6fdf714b9139cb8f1606ca07e6 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_overrides.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_dot_overrides.py
@@ -13,7 +13,7 @@ from django.contrib.auth.models import User
 from django.test import RequestFactory, TestCase
 from django.utils import timezone
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 # oauth_dispatch is not in CMS' INSTALLED_APPS so these imports will error during test collection
 if settings.ROOT_URLCONF == 'lms.urls':
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_factories.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_factories.py
index af26a93f4e36549ce85581c130e8741d6d6ca02f..00dae55c8f44d48002059db247966a47742eec94 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_factories.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_factories.py
@@ -8,7 +8,7 @@ from django.test import TestCase
 from oauth2_provider.models import AccessToken, Application, RefreshToken
 
 from openedx.core.djangoapps.oauth_dispatch.tests import factories
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @unittest.skipUnless(settings.FEATURES.get("ENABLE_OAUTH2_PROVIDER"), "OAuth2 not enabled")
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_jwt.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_jwt.py
index 3a0d0ef886df7e1d60619520a2d0887afca36c9f..ffb0f873b0740005a5644d6967d26bbded4c9cf1 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_jwt.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_jwt.py
@@ -13,7 +13,7 @@ from openedx.core.djangoapps.oauth_dispatch import jwt as jwt_api
 from openedx.core.djangoapps.oauth_dispatch.adapters import DOTAdapter
 from openedx.core.djangoapps.oauth_dispatch.models import RestrictedApplication
 from openedx.core.djangoapps.oauth_dispatch.tests.mixins import AccessTokenMixin
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py b/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py
index 13184ae2cd9d6e549ee743e617b37556af25eb75..c3b5aa264a1615e2cc25f39f70dee4958d7885f6 100644
--- a/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py
+++ b/openedx/core/djangoapps/oauth_dispatch/tests/test_views.py
@@ -16,8 +16,8 @@ from jwkest import jwk
 from mock import call, patch
 from oauth2_provider import models as dot_models
 
-from student.tests.factories import UserFactory
-from third_party_auth.tests.utils import ThirdPartyOAuthTestMixin, ThirdPartyOAuthTestMixinGoogle
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.tests.utils import ThirdPartyOAuthTestMixin, ThirdPartyOAuthTestMixinGoogle
 
 from . import mixins
 
diff --git a/openedx/core/djangoapps/olx_rest_api/adapters.py b/openedx/core/djangoapps/olx_rest_api/adapters.py
index 97af88ecda85b61befec3d369464c1231bf0f33c..f5cf4aa823cd8ac0ffc72c467331cb45098637bf 100644
--- a/openedx/core/djangoapps/olx_rest_api/adapters.py
+++ b/openedx/core/djangoapps/olx_rest_api/adapters.py
@@ -10,7 +10,7 @@ from opaque_keys.edx.keys import AssetKey, CourseKey
 from fs.memoryfs import MemoryFS
 from fs.wrapfs import WrapFS
 
-from static_replace import replace_static_urls
+from common.djangoapps.static_replace import replace_static_urls
 from xmodule.contentstore.content import StaticContent
 from xmodule.assetstore.assetmgr import AssetManager
 from xmodule.modulestore.django import modulestore as store
diff --git a/openedx/core/djangoapps/olx_rest_api/test_views.py b/openedx/core/djangoapps/olx_rest_api/test_views.py
index 4e01e5752f705ee8c59391f0d7b584fce866df13..13233fd89523b0ca2949772f8c176ca0affa2ed6 100644
--- a/openedx/core/djangoapps/olx_rest_api/test_views.py
+++ b/openedx/core/djangoapps/olx_rest_api/test_views.py
@@ -5,8 +5,8 @@ import re
 from xml.dom import minidom
 
 from openedx.core.djangolib.testing.utils import skip_unless_cms
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import ToyCourseFactory
diff --git a/openedx/core/djangoapps/olx_rest_api/views.py b/openedx/core/djangoapps/olx_rest_api/views.py
index 48fe29cc4e9e658883760e62aa2cd24e8ff6795d..3e2351f47d0aa28cb0aa77a626009c3b2d025737 100644
--- a/openedx/core/djangoapps/olx_rest_api/views.py
+++ b/openedx/core/djangoapps/olx_rest_api/views.py
@@ -9,7 +9,7 @@ from rest_framework.decorators import api_view
 from rest_framework.exceptions import NotFound, PermissionDenied, ValidationError
 from rest_framework.response import Response
 
-from student.auth import has_studio_read_access
+from common.djangoapps.student.auth import has_studio_read_access
 from openedx.core.lib.api.view_utils import view_auth_classes
 
 from . import adapters
diff --git a/openedx/core/djangoapps/password_policy/compliance.py b/openedx/core/djangoapps/password_policy/compliance.py
index b6283b9b286d1b0cce2d09884e9d43076508b99b..583067efa8c2b2ec8bbef41fbcd902ca389f2be2 100644
--- a/openedx/core/djangoapps/password_policy/compliance.py
+++ b/openedx/core/djangoapps/password_policy/compliance.py
@@ -9,8 +9,8 @@ from django.conf import settings
 from django.utils.translation import ugettext as _
 
 from openedx.core.djangolib.markup import HTML
-from util.date_utils import DEFAULT_SHORT_DATE_FORMAT, strftime_localized
-from util.password_policy_validators import validate_password
+from common.djangoapps.util.date_utils import DEFAULT_SHORT_DATE_FORMAT, strftime_localized
+from common.djangoapps.util.password_policy_validators import validate_password
 
 
 class NonCompliantPasswordException(Exception):
diff --git a/openedx/core/djangoapps/password_policy/tests/test_compliance.py b/openedx/core/djangoapps/password_policy/tests/test_compliance.py
index 1f26a5efdb394827e78f72585a83dbabe5ae1e82..ca1e4472743580171cb17cdb739c2c994147ddf1 100644
--- a/openedx/core/djangoapps/password_policy/tests/test_compliance.py
+++ b/openedx/core/djangoapps/password_policy/tests/test_compliance.py
@@ -15,9 +15,9 @@ from openedx.core.djangoapps.password_policy.compliance import (NonCompliantPass
                                                                 _get_compliance_deadline_for_user,
                                                                 enforce_compliance_on_login,
                                                                 should_enforce_compliance_on_login)
-from student.tests.factories import (CourseAccessRoleFactory,
-                                     UserFactory)
-from util.password_policy_validators import ValidationError
+from common.djangoapps.student.tests.factories import (CourseAccessRoleFactory,
+                                                       UserFactory)
+from common.djangoapps.util.password_policy_validators import ValidationError
 
 
 date1 = parse_date('2018-01-01 00:00:00+00:00')
diff --git a/openedx/core/djangoapps/password_policy/tests/test_forms.py b/openedx/core/djangoapps/password_policy/tests/test_forms.py
index 1ee0691cabc90264c7d0b39ff03149aed3b046d9..0bfb3a840d433eb6d9f3624a1bbc45ad8612be71 100644
--- a/openedx/core/djangoapps/password_policy/tests/test_forms.py
+++ b/openedx/core/djangoapps/password_policy/tests/test_forms.py
@@ -12,7 +12,7 @@ from openedx.core.djangoapps.password_policy.compliance import (
     NonCompliantPasswordException, NonCompliantPasswordWarning
 )
 from openedx.core.djangoapps.password_policy.forms import PasswordPolicyAwareAdminAuthForm
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class PasswordPolicyAwareAdminAuthFormTests(TestCase):
diff --git a/openedx/core/djangoapps/plugin_api/views.py b/openedx/core/djangoapps/plugin_api/views.py
index 965e0a1d3e168ea764b914342499d7bebb37c68a..c2e07c6fcb97543c69c6472648ac8bc215204082 100644
--- a/openedx/core/djangoapps/plugin_api/views.py
+++ b/openedx/core/djangoapps/plugin_api/views.py
@@ -11,7 +11,7 @@ from django.http import HttpResponse
 from django.shortcuts import render
 from web_fragments.views import FragmentView
 
-from edxmako.shortcuts import is_any_marketing_link_set, is_marketing_link_set, marketing_link
+from common.djangoapps.edxmako.shortcuts import is_any_marketing_link_set, is_marketing_link_set, marketing_link
 
 log = logging.getLogger('plugin_api')
 
diff --git a/openedx/core/djangoapps/profile_images/tests/test_views.py b/openedx/core/djangoapps/profile_images/tests/test_views.py
index 99a4a67db7d8d40931c457f0828bfea6ecd5e574..04d3a58e9b78d418fba20449a3908fc47b4846fe 100644
--- a/openedx/core/djangoapps/profile_images/tests/test_views.py
+++ b/openedx/core/djangoapps/profile_images/tests/test_views.py
@@ -15,8 +15,8 @@ from mock import patch
 from PIL import Image
 from rest_framework.test import APITestCase, APIClient
 
-from student.tests.factories import UserFactory
-from student.tests.tests import UserSettingsEventTestMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.student.tests.tests import UserSettingsEventTestMixin
 from openedx.core.djangoapps.user_api.accounts.image_helpers import (
     set_has_profile_image,
     get_profile_image_names,
@@ -440,7 +440,7 @@ class ProfileImageViewDeleteTestCase(ProfileImageEndpointMixin, APITestCase):
         )
         self.check_remove_event_emitted()
 
-    @patch('student.models.UserProfile.save')
+    @patch('common.djangoapps.student.models.UserProfile.save')
     def test_remove_failure(self, user_profile_save, mock_log):
         """
         Test that when remove validation fails, the proper HTTP response and
diff --git a/openedx/core/djangoapps/programs/management/commands/backpopulate_program_credentials.py b/openedx/core/djangoapps/programs/management/commands/backpopulate_program_credentials.py
index e375fcff9aecff82176a940c69cf31bf5664cd33..8169dd4c5395d55023ecbe73ba54d7918e1ab377 100644
--- a/openedx/core/djangoapps/programs/management/commands/backpopulate_program_credentials.py
+++ b/openedx/core/djangoapps/programs/management/commands/backpopulate_program_credentials.py
@@ -9,7 +9,7 @@ from django.core.management.base import BaseCommand, CommandError
 from django.db.models import Q
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import CertificateStatuses, GeneratedCertificate
 from openedx.core.djangoapps.catalog.utils import get_programs
 from openedx.core.djangoapps.programs.tasks import award_program_certificates
diff --git a/openedx/core/djangoapps/programs/tasks.py b/openedx/core/djangoapps/programs/tasks.py
index 913c5d41a89bba6beaecc3c6a94a7d140fd95cd2..fb3c68ba2b3a7751902d94e4289f054d07447532 100644
--- a/openedx/core/djangoapps/programs/tasks.py
+++ b/openedx/core/djangoapps/programs/tasks.py
@@ -12,7 +12,7 @@ from django.contrib.sites.models import Site
 from edx_rest_api_client import exceptions
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.models import GeneratedCertificate
 from openedx.core.djangoapps.certificates.api import available_date_for_certificate
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
diff --git a/openedx/core/djangoapps/programs/tests/test_backpopulate_program_credentials.py b/openedx/core/djangoapps/programs/tests/test_backpopulate_program_credentials.py
index 69173cf9f09b3212472e6b57ed036e131477e1c0..f12bd0a2e7d0774aa7b045d395bce0e80194fba2 100644
--- a/openedx/core/djangoapps/programs/tests/test_backpopulate_program_credentials.py
+++ b/openedx/core/djangoapps/programs/tests/test_backpopulate_program_credentials.py
@@ -8,7 +8,7 @@ from django.test import TestCase
 from opaque_keys.edx.keys import CourseKey
 from six.moves import range
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.api import MODES
 from lms.djangoapps.certificates.models import CertificateStatuses
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
@@ -22,7 +22,7 @@ from openedx.core.djangoapps.catalog.tests.mixins import CatalogIntegrationMixin
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.credentials.tests.mixins import CredentialsApiConfigMixin
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 COMMAND_MODULE = 'openedx.core.djangoapps.programs.management.commands.backpopulate_program_credentials'
 
diff --git a/openedx/core/djangoapps/programs/tests/test_signals.py b/openedx/core/djangoapps/programs/tests/test_signals.py
index 4b4bca8c06ffaf7116231da6e34cec57e6d5fd87..e33c6c20cda30a94617487ab16e0c38cb46e4c92 100644
--- a/openedx/core/djangoapps/programs/tests/test_signals.py
+++ b/openedx/core/djangoapps/programs/tests/test_signals.py
@@ -20,7 +20,7 @@ from openedx.core.djangoapps.signals.signals import (
 )
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 TEST_USERNAME = 'test-user'
 TEST_COURSE_KEY = CourseKey.from_string('course-v1:edX+test_course+1')
diff --git a/openedx/core/djangoapps/programs/tests/test_tasks.py b/openedx/core/djangoapps/programs/tests/test_tasks.py
index 5576dada7593eebe54265e65a808cabe7ce724e9..70965a08b4625a46470f1deb1ccd8468da68b09d 100644
--- a/openedx/core/djangoapps/programs/tests/test_tasks.py
+++ b/openedx/core/djangoapps/programs/tests/test_tasks.py
@@ -27,7 +27,7 @@ from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFa
 from openedx.core.djangoapps.programs import tasks
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory, SiteFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/programs/tests/test_utils.py b/openedx/core/djangoapps/programs/tests/test_utils.py
index 0a2b0fc2d6fc2432a6ea33b6c5c9e0aaa2669ec1..bc759464213739449a2c4b3efc196d7514b8c510 100644
--- a/openedx/core/djangoapps/programs/tests/test_utils.py
+++ b/openedx/core/djangoapps/programs/tests/test_utils.py
@@ -20,9 +20,9 @@ from pytz import utc
 from testfixtures import LogCapture
 from waffle.testutils import override_switch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
-from entitlements.tests.factories import CourseEntitlementFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 from lms.djangoapps.certificates.api import MODES
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from lms.djangoapps.commerce.tests.test_utils import update_commerce_config
@@ -49,8 +49,8 @@ from openedx.core.djangoapps.programs.utils import (
 )
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import AnonymousUserFactory, CourseEnrollmentFactory, UserFactory
-from util.date_utils import strftime_localized
+from common.djangoapps.student.tests.factories import AnonymousUserFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.date_utils import strftime_localized
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.tests.django_utils import (
     ModuleStoreTestCase, SharedModuleStoreTestCase, TEST_DATA_SPLIT_MODULESTORE
diff --git a/openedx/core/djangoapps/programs/utils.py b/openedx/core/djangoapps/programs/utils.py
index 0926927da3279f5d6efa17e7e115da5aee04a4b7..1f3aabbd6e008dbc8e1e893628496e41535ace7a 100644
--- a/openedx/core/djangoapps/programs/utils.py
+++ b/openedx/core/djangoapps/programs/utils.py
@@ -22,10 +22,10 @@ from pytz import utc
 from requests.exceptions import ConnectionError, Timeout
 from six.moves.urllib.parse import urljoin, urlparse, urlunparse  # pylint: disable=import-error
 
-from course_modes.api import get_paid_modes_for_course
-from course_modes.models import CourseMode
-from entitlements.api import get_active_entitlement_list_for_user
-from entitlements.models import CourseEntitlement
+from common.djangoapps.course_modes.api import get_paid_modes_for_course
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.entitlements.api import get_active_entitlement_list_for_user
+from common.djangoapps.entitlements.models import CourseEntitlement
 from lms.djangoapps.certificates import api as certificate_api
 from lms.djangoapps.certificates.models import GeneratedCertificate
 from lms.djangoapps.commerce.utils import EcommerceService
@@ -42,8 +42,8 @@ from openedx.core.djangoapps.enrollments.api import get_enrollments
 from openedx.core.djangoapps.enrollments.permissions import ENROLL_IN_COURSE
 from openedx.core.djangoapps.programs import ALWAYS_CALCULATE_PROGRAM_PRICE_AS_ANONYMOUS_USER
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from student.models import CourseEnrollment
-from util.date_utils import strftime_localized
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.date_utils import strftime_localized
 from xmodule.modulestore.django import modulestore
 
 # The datetime module's strftime() methods require a year >= 1900.
diff --git a/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py b/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py
index 1dce15546d03763b2742b8621092e78af870b5c5..8b1d24983867b45f1aed9a2448c5f862d64c1e86 100644
--- a/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py
+++ b/openedx/core/djangoapps/safe_sessions/tests/test_middleware.py
@@ -15,7 +15,7 @@ from django.test.utils import override_settings
 from mock import patch
 
 from openedx.core.djangolib.testing.utils import get_mock_request
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..middleware import SafeCookieData, SafeSessionMiddleware
 from .test_utils import TestSafeSessionsLogMixin
diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py b/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py
index 4474d5feb693a71c0e8d9a97b465aea000c4aaf1..cc2b6ff48140bc57ea0623ddac0c26d5a9099194 100644
--- a/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py
+++ b/openedx/core/djangoapps/schedules/management/commands/tests/send_email_base.py
@@ -22,8 +22,8 @@ from mock import Mock, patch
 from opaque_keys.edx.keys import CourseKey
 from six.moves import range
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration
 from lms.djangoapps.commerce.models import CommerceConfiguration
 from openedx.core.djangoapps.schedules import resolvers, tasks
@@ -33,8 +33,8 @@ from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfi
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
 from openedx.core.djangolib.testing.utils import FilteredQueryCountMixin
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 
 SITE_QUERY = 1  # django_site
 SITE_CONFIG_QUERY = 1  # site_configuration_siteconfiguration
diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_course_update.py b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_course_update.py
index a7ce38f88d82b037de1f35f8f3340f195116a4ab..52dd962ee05787a7af09c5d8961612d097ecc0c7 100644
--- a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_course_update.py
+++ b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_course_update.py
@@ -23,7 +23,7 @@ from openedx.core.djangoapps.schedules.management.commands.tests.send_email_base
 from openedx.core.djangoapps.schedules.management.commands.tests.upsell_base import ScheduleUpsellTestMixin
 from openedx.core.djangoapps.schedules.models import ScheduleExperience
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py
index f49293f6a53c138b503f1ea3a713c596d9416d1d..e3a04451726b6ec74d6d6312ada785d6782364aa 100644
--- a/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py
+++ b/openedx/core/djangoapps/schedules/management/commands/tests/test_send_upgrade_reminder.py
@@ -15,7 +15,7 @@ from mock import patch
 from opaque_keys.edx.locator import CourseLocator
 from six.moves import range
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.schedules import resolvers, tasks
 from openedx.core.djangoapps.schedules.management.commands import send_upgrade_reminder as reminder
 from openedx.core.djangoapps.schedules.management.commands.tests.send_email_base import (
@@ -24,7 +24,7 @@ from openedx.core.djangoapps.schedules.management.commands.tests.send_email_base
 )
 from openedx.core.djangoapps.schedules.models import ScheduleExperience
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 LOG = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/schedules/signals.py b/openedx/core/djangoapps/schedules/signals.py
index dae80821842ceae02c01f489d59e30ca9d20088f..09ef4cc9fd970e99279d7815419e014f248e28cb 100644
--- a/openedx/core/djangoapps/schedules/signals.py
+++ b/openedx/core/djangoapps/schedules/signals.py
@@ -11,7 +11,7 @@ from django.db.models.signals import post_save
 from django.dispatch import receiver
 from edx_ace.utils import date
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.models import (
     CourseDynamicUpgradeDeadlineConfiguration,
     DynamicUpgradeDeadlineConfiguration,
@@ -22,9 +22,9 @@ from openedx.core.djangoapps.schedules.content_highlights import course_has_high
 from openedx.core.djangoapps.schedules.models import ScheduleExperience
 from openedx.core.djangoapps.schedules.utils import reset_self_paced_schedule
 from openedx.core.djangoapps.theming.helpers import get_current_site
-from student.models import CourseEnrollment
-from student.signals import ENROLLMENT_TRACK_UPDATED
-from track import segment
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.signals import ENROLLMENT_TRACK_UPDATED
+from common.djangoapps.track import segment
 
 from .config import CREATE_SCHEDULE_WAFFLE_FLAG
 from .models import Schedule, ScheduleConfig
diff --git a/openedx/core/djangoapps/schedules/tasks.py b/openedx/core/djangoapps/schedules/tasks.py
index fb30694b537b90ea79c955d09f34a34c637f1521..4aa119cc3d5cd1c0c63d9d30ee3ed8c7a3dc9eb7 100644
--- a/openedx/core/djangoapps/schedules/tasks.py
+++ b/openedx/core/djangoapps/schedules/tasks.py
@@ -24,7 +24,7 @@ from openedx.core.djangoapps.content.course_overviews.models import CourseOvervi
 from openedx.core.djangoapps.schedules import message_types, resolvers
 from openedx.core.djangoapps.schedules.models import Schedule, ScheduleConfig
 from openedx.core.lib.celery.task_utils import emulate_http_request
-from track import segment
+from common.djangoapps.track import segment
 
 LOG = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/schedules/tests/factories.py b/openedx/core/djangoapps/schedules/tests/factories.py
index f7d13ab8a3a8e4399ff587207d49e2dac8a781a3..d7f060a567820c6c0f0a23738b6c09317f81a0ac 100644
--- a/openedx/core/djangoapps/schedules/tests/factories.py
+++ b/openedx/core/djangoapps/schedules/tests/factories.py
@@ -8,7 +8,7 @@ import pytz
 
 from openedx.core.djangoapps.schedules import models
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 
 
 class ScheduleExperienceFactory(factory.DjangoModelFactory):
diff --git a/openedx/core/djangoapps/schedules/tests/test_content_highlights.py b/openedx/core/djangoapps/schedules/tests/test_content_highlights.py
index 1538342ded2286b272087edc255f9b8a941f3c7f..c9b361cd0793a2eb29681d4fb182ba3da48eae14 100644
--- a/openedx/core/djangoapps/schedules/tests/test_content_highlights.py
+++ b/openedx/core/djangoapps/schedules/tests/test_content_highlights.py
@@ -12,8 +12,8 @@ from openedx.core.djangoapps.schedules.content_highlights import (
 )
 from openedx.core.djangoapps.schedules.exceptions import CourseUpdateDoesNotExist
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/openedx/core/djangoapps/schedules/tests/test_resolvers.py b/openedx/core/djangoapps/schedules/tests/test_resolvers.py
index 94ae1bcc3f6de0a206cbd31ad3a8d5ab1b8973db..520aca2770ea378f3a99de111a5852ff1b09b67d 100644
--- a/openedx/core/djangoapps/schedules/tests/test_resolvers.py
+++ b/openedx/core/djangoapps/schedules/tests/test_resolvers.py
@@ -24,7 +24,7 @@ from openedx.core.djangoapps.schedules.resolvers import (
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleConfigFactory
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory, SiteFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationMixin, skip_unless_lms
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/openedx/core/djangoapps/schedules/tests/test_signals.py b/openedx/core/djangoapps/schedules/tests/test_signals.py
index 77cfe2d16df70c80c777c146cd0872c8c352a40d..3ff9c3b3a167da6d5d40378540ca08b613deee65 100644
--- a/openedx/core/djangoapps/schedules/tests/test_signals.py
+++ b/openedx/core/djangoapps/schedules/tests/test_signals.py
@@ -12,15 +12,15 @@ from mock import patch
 from pytz import utc
 from testfixtures import LogCapture
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration
 from openedx.core.djangoapps.schedules.models import ScheduleExperience
 from openedx.core.djangoapps.schedules.signals import CREATE_SCHEDULE_WAFFLE_FLAG, log
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/openedx/core/djangoapps/schedules/tests/test_utils.py b/openedx/core/djangoapps/schedules/tests/test_utils.py
index 3d2711c0a3400bd50d3ab6496e22490edb572f33..f3c96d6535ef88c02cd2b295e02c7b30ffe4ca06 100644
--- a/openedx/core/djangoapps/schedules/tests/test_utils.py
+++ b/openedx/core/djangoapps/schedules/tests/test_utils.py
@@ -5,7 +5,7 @@ Tests for schedules utils
 import datetime
 
 import ddt
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from mock import patch
 from pytz import utc
 
@@ -13,7 +13,7 @@ from openedx.core.djangoapps.schedules.models import Schedule
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleConfigFactory
 from openedx.core.djangoapps.schedules.utils import reset_self_paced_schedule
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/schedules/utils.py b/openedx/core/djangoapps/schedules/utils.py
index 282e91b84c5168a68b9959dfca6b35eae985bbd1..26e8f1824551c6ada3479dd232edb15c7b5fe1ef 100644
--- a/openedx/core/djangoapps/schedules/utils.py
+++ b/openedx/core/djangoapps/schedules/utils.py
@@ -9,7 +9,6 @@ from django.db.models.functions import Greatest
 from django.db import transaction
 
 from openedx.core.djangoapps.schedules.models import Schedule
-from student.models import CourseEnrollment
 
 LOG = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/site_configuration/tests/test_middleware.py b/openedx/core/djangoapps/site_configuration/tests/test_middleware.py
index 124ba1f4a0a865f41e309d33360bb3934df07a96..ff8ca7c34b17661e52d2681646ce4af1a0e42cbf 100644
--- a/openedx/core/djangoapps/site_configuration/tests/test_middleware.py
+++ b/openedx/core/djangoapps/site_configuration/tests/test_middleware.py
@@ -8,7 +8,7 @@ from django.test import TestCase
 from django.test.client import Client
 from django.test.utils import override_settings
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory, SiteFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
 
diff --git a/openedx/core/djangoapps/system_wide_roles/tests/test_models.py b/openedx/core/djangoapps/system_wide_roles/tests/test_models.py
index 1c4168dbe8baac1970d92573ca22d8e513a9e517..1349605023b7d3c10b5f9de5ca58e1e979030c58 100644
--- a/openedx/core/djangoapps/system_wide_roles/tests/test_models.py
+++ b/openedx/core/djangoapps/system_wide_roles/tests/test_models.py
@@ -4,7 +4,7 @@ Tests for system wide roles' django models.
 
 
 from django.test import TestCase
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from openedx.core.djangoapps.system_wide_roles.models import SystemWideRole, SystemWideRoleAssignment
 
diff --git a/openedx/core/djangoapps/theming/management/commands/create_sites_and_configurations.py b/openedx/core/djangoapps/theming/management/commands/create_sites_and_configurations.py
index e83a2b38b8f0261f090557256d5c7ca49792ca72..edbc54297f606f2194af2d4b0e59766a6af15908 100644
--- a/openedx/core/djangoapps/theming/management/commands/create_sites_and_configurations.py
+++ b/openedx/core/djangoapps/theming/management/commands/create_sites_and_configurations.py
@@ -18,7 +18,7 @@ from lms.djangoapps.commerce.models import CommerceConfiguration
 from openedx.core.djangoapps.oauth_dispatch.models import ApplicationAccess
 from openedx.core.djangoapps.site_configuration.models import SiteConfiguration
 from openedx.core.djangoapps.theming.models import SiteTheme
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 
 LOG = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/theming/management/commands/tests/test_create_sites_and_configurations.py b/openedx/core/djangoapps/theming/management/commands/tests/test_create_sites_and_configurations.py
index 52f3e47384ba9463c08933fbe076dec1d4d04cf0..aec1e4451eb41e504d42d5ce5fe080de98c44ac8 100644
--- a/openedx/core/djangoapps/theming/management/commands/tests/test_create_sites_and_configurations.py
+++ b/openedx/core/djangoapps/theming/management/commands/tests/test_create_sites_and_configurations.py
@@ -12,7 +12,7 @@ from django.test import TestCase
 from oauth2_provider.models import Application
 from openedx.core.djangoapps.oauth_dispatch.models import ApplicationAccess
 from openedx.core.djangoapps.theming.models import SiteTheme
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 
 SITES = ["site_a", "site_b"]
 MANAGEMENT_COMMAND_PATH = "openedx.core.djangoapps.theming.management.commands.create_sites_and_configurations."
diff --git a/openedx/core/djangoapps/theming/template_loaders.py b/openedx/core/djangoapps/theming/template_loaders.py
index 87991682fab111384a1bc02b2e5bbce68c5fca49..803b2d27d5d5de3427e80f2293b3fa961ca14983 100644
--- a/openedx/core/djangoapps/theming/template_loaders.py
+++ b/openedx/core/djangoapps/theming/template_loaders.py
@@ -5,7 +5,7 @@ Theming aware template loaders.
 
 from django.template.loaders.filesystem import Loader as FilesystemLoader
 
-from edxmako.makoloader import MakoLoader
+from common.djangoapps.edxmako.makoloader import MakoLoader
 from openedx.core.djangoapps.theming.helpers import get_all_theme_template_dirs, get_current_request, get_current_theme
 
 
diff --git a/openedx/core/djangoapps/theming/tests/test_middleware.py b/openedx/core/djangoapps/theming/tests/test_middleware.py
index 1084ca942cd9321992d384945965eeb5977dfa02..97eff107b172dfc8c4416f47a5408db889a70043 100644
--- a/openedx/core/djangoapps/theming/tests/test_middleware.py
+++ b/openedx/core/djangoapps/theming/tests/test_middleware.py
@@ -8,7 +8,7 @@ from django.contrib.sites.models import Site
 from django.test import RequestFactory, TestCase, override_settings
 
 from openedx.core.djangoapps.theming.middleware import CurrentSiteThemeMiddleware
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..views import set_user_preview_site_theme
 
diff --git a/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py b/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py
index 117fa438e9a11e9a4103a47ea8d10d49c0ae545d..eb5a8839c2ca4a473193610a7669c0762a74f9fb 100644
--- a/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py
+++ b/openedx/core/djangoapps/theming/tests/test_theme_style_overrides.py
@@ -10,7 +10,7 @@ from django.urls import reverse
 
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme
 from openedx.core.djangolib.testing.utils import skip_unless_cms, skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @skip_unless_lms
diff --git a/openedx/core/djangoapps/theming/tests/test_util.py b/openedx/core/djangoapps/theming/tests/test_util.py
index 8c61eab1606cd8532bd2eae626c5fe871a1165f1..001827ecb40116721fa0e3bea9f90ec9a52cdff7 100644
--- a/openedx/core/djangoapps/theming/tests/test_util.py
+++ b/openedx/core/djangoapps/theming/tests/test_util.py
@@ -13,7 +13,7 @@ from django.conf import settings
 from django.contrib.sites.models import Site
 from mock import patch
 
-import edxmako
+from common.djangoapps import edxmako
 from openedx.core.djangoapps.theming.models import SiteTheme
 
 
diff --git a/openedx/core/djangoapps/theming/tests/test_views.py b/openedx/core/djangoapps/theming/tests/test_views.py
index 48f885c4050e4c524203737660fb63b0419953a4..89af8f2c1b9dec6403e88759fbc94b384d818912 100644
--- a/openedx/core/djangoapps/theming/tests/test_views.py
+++ b/openedx/core/djangoapps/theming/tests/test_views.py
@@ -10,7 +10,7 @@ from django.test import TestCase
 
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
 from openedx.core.djangoapps.theming.middleware import CurrentSiteThemeMiddleware
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 THEMING_ADMIN_URL = '/theming/admin'
 TEST_THEME_NAME = 'test-theme'
diff --git a/openedx/core/djangoapps/theming/views.py b/openedx/core/djangoapps/theming/views.py
index f9cd0af0bfd432b18d33890fc02f476b8e810e48..af7c4e6dda5ea0593533bc3b88c753c828821fb1 100644
--- a/openedx/core/djangoapps/theming/views.py
+++ b/openedx/core/djangoapps/theming/views.py
@@ -19,7 +19,7 @@ from openedx.core.djangoapps.user_api.preferences.api import (
     set_user_preference
 )
 from openedx.core.djangoapps.util.user_messages import PageLevelMessages
-from student.roles import GlobalStaff
+from common.djangoapps.student.roles import GlobalStaff
 
 from .helpers import theme_exists
 from .models import SiteTheme
diff --git a/openedx/core/djangoapps/user_api/accounts/api.py b/openedx/core/djangoapps/user_api/accounts/api.py
index 62d341c8a67daa8d45b01c525dfbf6ddb5160437..276f16e4f25f2cc6f8860d2d1bdc4572e3a6e57d 100644
--- a/openedx/core/djangoapps/user_api/accounts/api.py
+++ b/openedx/core/djangoapps/user_api/accounts/api.py
@@ -15,16 +15,16 @@ from django.utils.translation import override as override_language
 from django.utils.translation import ugettext as _
 from pytz import UTC
 from six import text_type  # pylint: disable=ungrouped-imports
-from student import views as student_views
-from student.models import (
+from common.djangoapps.student import views as student_views
+from common.djangoapps.student.models import (
     AccountRecovery,
     User,
     UserProfile,
     email_exists_or_retired,
     username_exists_or_retired
 )
-from util.model_utils import emit_setting_changed_event
-from util.password_policy_validators import validate_password
+from common.djangoapps.util.model_utils import emit_setting_changed_event
+from common.djangoapps.util.password_policy_validators import validate_password
 
 from openedx.core.djangoapps.user_api import accounts, errors, helpers
 from openedx.core.djangoapps.user_api.errors import (
diff --git a/openedx/core/djangoapps/user_api/accounts/image_helpers.py b/openedx/core/djangoapps/user_api/accounts/image_helpers.py
index 40128af60aae6712f319646ab17180089ca8277b..a21fa88fd887aea1a97e539e459f261654e7f7b0 100644
--- a/openedx/core/djangoapps/user_api/accounts/image_helpers.py
+++ b/openedx/core/djangoapps/user_api/accounts/image_helpers.py
@@ -11,7 +11,7 @@ from django.core.exceptions import ObjectDoesNotExist
 from django.core.files.storage import get_storage_class
 
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 
 from ..errors import UserNotFound
 
diff --git a/openedx/core/djangoapps/user_api/accounts/serializers.py b/openedx/core/djangoapps/user_api/accounts/serializers.py
index bdf7cd8aeb1e190928560043639d31ae69235992..390e16bf8bfaf560e27b3a0acd96c9d140f13c30 100644
--- a/openedx/core/djangoapps/user_api/accounts/serializers.py
+++ b/openedx/core/djangoapps/user_api/accounts/serializers.py
@@ -14,14 +14,14 @@ from django.urls import reverse
 from rest_framework import serializers
 from six import text_type
 
-from student.models import UserPasswordToggleHistory
+from common.djangoapps.student.models import UserPasswordToggleHistory
 from lms.djangoapps.badges.utils import badges_enabled
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_api import errors
 from openedx.core.djangoapps.user_api.accounts.utils import is_secondary_email_feature_enabled
 from openedx.core.djangoapps.user_api.models import RetirementState, UserPreference, UserRetirementStatus
 from openedx.core.djangoapps.user_api.serializers import ReadOnlyFieldsSerializerMixin
-from student.models import LanguageProficiency, SocialLink, UserProfile
+from common.djangoapps.student.models import LanguageProficiency, SocialLink, UserProfile
 
 from . import (
     ACCOUNT_VISIBILITY_PREF_KEY,
diff --git a/openedx/core/djangoapps/user_api/accounts/settings_views.py b/openedx/core/djangoapps/user_api/accounts/settings_views.py
index f40a0da71f434f10cad5718d8a5df369073c41f2..fa1b30d9cfd23c60fda53031016aff0206195a12 100644
--- a/openedx/core/djangoapps/user_api/accounts/settings_views.py
+++ b/openedx/core/djangoapps/user_api/accounts/settings_views.py
@@ -14,8 +14,8 @@ from django.utils.translation import ugettext as _
 from django.views.decorators.http import require_http_methods
 from django_countries import countries
 
-import third_party_auth
-from edxmako.shortcuts import render_to_response
+from common.djangoapps import third_party_auth
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from lms.djangoapps.commerce.models import CommerceConfiguration
 from lms.djangoapps.commerce.utils import EcommerceService
 from openedx.core.djangoapps.commerce.utils import ecommerce_api_client
@@ -32,9 +32,9 @@ from openedx.core.lib.edx_api_utils import get_edx_api_data
 from openedx.core.lib.time_zone_utils import TIME_ZONE_CHOICES
 from openedx.features.enterprise_support.api import enterprise_customer_for_request
 from openedx.features.enterprise_support.utils import update_account_settings_context_for_enterprise
-from student.models import UserProfile
-from third_party_auth import pipeline
-from util.date_utils import strftime_localized
+from common.djangoapps.student.models import UserProfile
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.util.date_utils import strftime_localized
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/retirement_helpers.py b/openedx/core/djangoapps/user_api/accounts/tests/retirement_helpers.py
index 7d20969953e82f0712fe7474549f8cd4e8aa5dc5..9dab0717b10d0c0e55eb56aa75119f8ad6ea6f71 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/retirement_helpers.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/retirement_helpers.py
@@ -12,8 +12,8 @@ from social_django.models import UserSocialAuth
 
 from openedx.core.djangoapps.enrollments import api
 from openedx.core.djangoapps.user_api.models import RetirementState, UserRetirementStatus
-from student.models import get_retired_email_by_email, get_retired_username_by_username
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import get_retired_email_by_email, get_retired_username_by_username
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..views import AccountRetirementView
 
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_api.py b/openedx/core/djangoapps/user_api/accounts/tests/test_api.py
index f0eac87b1cf81d9ad02b13b20034f735873d3ec8..bc3f1789d52059b7857137daac23bb68dd7be84a 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_api.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_api.py
@@ -19,15 +19,15 @@ from django.urls import reverse
 from mock import Mock, patch
 from six import iteritems
 from social_django.models import UserSocialAuth
-from student.models import (
+from common.djangoapps.student.models import (
     AccountRecovery,
     PendingEmailChange,
     PendingSecondaryEmailChange,
     UserProfile
 )
-from student.tests.factories import UserFactory
-from student.tests.tests import UserSettingsEventTestMixin
-from student.views.management import activate_secondary_email
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.student.tests.tests import UserSettingsEventTestMixin
+from common.djangoapps.student.views.management import activate_secondary_email
 
 from openedx.core.djangoapps.ace_common.tests.mixins import EmailTemplateTagMixin
 from openedx.core.djangoapps.user_api.accounts import PRIVATE_VISIBILITY
@@ -80,7 +80,7 @@ class CreateAccountMixin(object):
 
 @skip_unless_lms
 @ddt.ddt
-@patch('student.views.management.render_to_response', Mock(side_effect=mock_render_to_response, autospec=True))
+@patch('common.djangoapps.student.views.management.render_to_response', Mock(side_effect=mock_render_to_response, autospec=True))
 class TestAccountApi(UserSettingsEventTestMixin, EmailTemplateTagMixin, CreateAccountMixin, RetirementTestCase):
     """
     These tests specifically cover the parts of the API methods that are not covered by test_views.py.
@@ -366,7 +366,7 @@ class TestAccountApi(UserSettingsEventTestMixin, EmailTemplateTagMixin, CreateAc
         self.assertIn("Full Name cannot contain the following characters: < >", field_errors["name"]["user_message"])
 
     @patch('django.core.mail.EmailMultiAlternatives.send')
-    @patch('student.views.management.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))
+    @patch('common.djangoapps.student.views.management.render_to_string', Mock(side_effect=mock_render_to_string, autospec=True))
     def test_update_sending_email_fails(self, send_mail):
         """Test what happens if all validation checks pass, but sending the email for email change fails."""
         send_mail.side_effect = [Exception, None]
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_image_helpers.py b/openedx/core/djangoapps/user_api/accounts/tests/test_image_helpers.py
index fb9b6715b0afa655d40a575432c9c700f7e6e03d..5d42a89547e38bb6405a7e5bf0ffdcd7f7f04fec 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_image_helpers.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_image_helpers.py
@@ -11,7 +11,7 @@ from mock import patch
 from pytz import UTC
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from six import text_type
 
 from ..image_helpers import get_profile_image_urls_for_user
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_models.py b/openedx/core/djangoapps/user_api/accounts/tests/test_models.py
index b64abff7d5b87e27b996ad4a834c278c6d8c4487..c216a0ac55aed945dc25425eba535aad4081853f 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_models.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_models.py
@@ -11,8 +11,8 @@ from openedx.core.djangoapps.user_api.models import (
     UserRetirementRequest,
     UserRetirementStatus
 )
-from student.models import get_retired_email_by_email, get_retired_username_by_username
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import get_retired_email_by_email, get_retired_username_by_username
+from common.djangoapps.student.tests.factories import UserFactory
 
 from .retirement_helpers import setup_retirement_states  # pylint: disable=unused-import
 
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_permissions.py b/openedx/core/djangoapps/user_api/accounts/tests/test_permissions.py
index 16cc0e8a60be4581606ad00529711ba076541078..44d6cf2bf7356c5798d91a1edc7818dc4217058b 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_permissions.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_permissions.py
@@ -6,7 +6,7 @@ Tests for User deactivation API permissions
 from django.test import RequestFactory, TestCase
 
 from openedx.core.djangoapps.user_api.accounts.permissions import CanDeactivateUser, CanRetireUser
-from student.tests.factories import ContentTypeFactory, PermissionFactory, SuperuserFactory, UserFactory
+from common.djangoapps.student.tests.factories import ContentTypeFactory, PermissionFactory, SuperuserFactory, UserFactory
 
 
 class CanDeactivateUserTest(TestCase):
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py b/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py
index ab44772a3bb832522ea9bd8f653d5b74fd0bbf99..88e557fd5ebca64da9fa7553bc06873d486665f5 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_retirement_views.py
@@ -35,8 +35,8 @@ from social_django.models import UserSocialAuth
 from wiki.models import Article, ArticleRevision
 from wiki.models.pluginbase import RevisionPlugin, RevisionPluginRevision
 
-from entitlements.models import CourseEntitlementSupportDetail
-from entitlements.tests.factories import CourseEntitlementFactory
+from common.djangoapps.entitlements.models import CourseEntitlementSupportDetail
+from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 from openedx.core.djangoapps.api_admin.models import ApiAccessRequest
 from openedx.core.djangoapps.course_groups.models import CourseUserGroup, UnregisteredLearnerCohortAssignments
 from openedx.core.djangoapps.credit.models import (
@@ -56,7 +56,7 @@ from openedx.core.djangoapps.user_api.models import (
     UserRetirementPartnerReportingStatus,
     UserRetirementStatus
 )
-from student.models import (
+from common.djangoapps.student.models import (
     AccountRecovery,
     CourseEnrollment,
     CourseEnrollmentAllowed,
@@ -69,7 +69,7 @@ from student.models import (
     get_retired_email_by_email,
     get_retired_username_by_username
 )
-from student.tests.factories import (
+from common.djangoapps.student.tests.factories import (
     AccountRecoveryFactory,
     ContentTypeFactory,
     CourseEnrollmentAllowedFactory,
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_serializers.py b/openedx/core/djangoapps/user_api/accounts/tests/test_serializers.py
index bdd09135824d3a5c6977a59f016728c005330434..72b69b99ed60e81aad6cf67a7ed3286f553986c8 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_serializers.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_serializers.py
@@ -10,8 +10,8 @@ from django.test.client import RequestFactory
 from testfixtures import LogCapture
 
 from openedx.core.djangoapps.user_api.accounts.serializers import UserReadOnlySerializer
-from student.models import UserProfile
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import UserProfile
+from common.djangoapps.student.tests.factories import UserFactory
 
 LOGGER_NAME = "openedx.core.djangoapps.user_api.accounts.serializers"
 
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py b/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py
index f1778123cf62591c13fcde91a5f683425cfa03fb..840028988c6f193ec02589a97cf961243207b278 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_settings_views.py
@@ -26,8 +26,8 @@ from openedx.core.djangoapps.user_api.accounts.toggles import REDIRECT_TO_ACCOUN
 from openedx.core.djangoapps.user_api.tests.factories import UserPreferenceFactory
 from openedx.core.djangolib.testing.utils import skip_unless_lms
 from openedx.features.enterprise_support.utils import get_enterprise_readonly_account_fields
-from student.tests.factories import UserFactory
-from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.tests.testutil import ThirdPartyAuthTestMixin
 
 
 @skip_unless_lms
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py b/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py
index 79432fd45a3c2709517a8e10e24a8009f75a51a5..b1e7d73a612a136d16081f66d02be0af5114f40e 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_utils.py
@@ -9,8 +9,8 @@ from django.test.utils import override_settings
 
 from openedx.core.djangoapps.user_api.accounts.utils import retrieve_last_sitewide_block_completed
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/test_views.py b/openedx/core/djangoapps/user_api/accounts/tests/test_views.py
index 0d6849d07db1e31bc96eed70126ad77f89e19e89..f789f1eea75601a89454f55cceeab7ad3114935e 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/test_views.py
@@ -25,8 +25,8 @@ from openedx.core.djangoapps.user_api.accounts import ACCOUNT_VISIBILITY_PREF_KE
 from openedx.core.djangoapps.user_api.models import UserPreference
 from openedx.core.djangoapps.user_api.preferences.api import set_user_preference
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
-from student.models import PendingEmailChange, UserProfile
-from student.tests.factories import TEST_PASSWORD, UserFactory
+from common.djangoapps.student.models import PendingEmailChange, UserProfile
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, UserFactory
 
 from .. import ALL_USERS_VISIBILITY, CUSTOM_VISIBILITY, PRIVATE_VISIBILITY
 
@@ -792,7 +792,7 @@ class TestAccountsAPI(CacheIsolationTestCase, UserAPITestCase):
         )
         self.assertEqual("Valid e-mail address required.", field_errors["email"]["user_message"])
 
-    @mock.patch('student.views.management.do_email_change_request')
+    @mock.patch('common.djangoapps.student.views.management.do_email_change_request')
     def test_patch_duplicate_email(self, do_email_change_request):
         """
         Test that same success response will be sent to user even if the given email already used.
@@ -950,7 +950,7 @@ class TestAccountAPITransactions(TransactionTestCase):
         self.user = UserFactory.create(password=TEST_PASSWORD)
         self.url = reverse("accounts_api", kwargs={'username': self.user.username})
 
-    @mock.patch('student.views.do_email_change_request')
+    @mock.patch('common.djangoapps.student.views.do_email_change_request')
     def test_update_account_settings_rollback(self, mock_email_change):
         """
         Verify that updating account settings is transactional when a failure happens.
diff --git a/openedx/core/djangoapps/user_api/accounts/tests/testutils.py b/openedx/core/djangoapps/user_api/accounts/tests/testutils.py
index dad9eb76e1c47749579a69d89c3fabecb7f504c8..ad04da509fcc0fe78051ffdbb2ba79e446683326 100644
--- a/openedx/core/djangoapps/user_api/accounts/tests/testutils.py
+++ b/openedx/core/djangoapps/user_api/accounts/tests/testutils.py
@@ -5,7 +5,7 @@ Utility functions, constants, etc. for testing.
 
 
 from openedx.core.djangoapps.user_api.accounts import EMAIL_MAX_LENGTH, USERNAME_MAX_LENGTH, USERNAME_MIN_LENGTH
-from util.password_policy_validators import DEFAULT_MAX_PASSWORD_LENGTH
+from common.djangoapps.util.password_policy_validators import DEFAULT_MAX_PASSWORD_LENGTH
 
 INVALID_NAMES = [
     None,
diff --git a/openedx/core/djangoapps/user_api/accounts/views.py b/openedx/core/djangoapps/user_api/accounts/views.py
index 0719ebe21780e2cd2d6c82876b2ffe91c045a914..27ea1bdc1f6ebfb85009e67519852827079bc79a 100644
--- a/openedx/core/djangoapps/user_api/accounts/views.py
+++ b/openedx/core/djangoapps/user_api/accounts/views.py
@@ -39,7 +39,7 @@ from social_django.models import UserSocialAuth
 from wiki.models import ArticleRevision
 from wiki.models.pluginbase import RevisionPluginRevision
 
-from entitlements.models import CourseEntitlement
+from common.djangoapps.entitlements.models import CourseEntitlement
 from openedx.core.djangoapps.ace_common.template_context import get_base_template_context
 from openedx.core.djangoapps.api_admin.models import ApiAccessRequest
 from openedx.core.djangoapps.course_groups.models import UnregisteredLearnerCohortAssignments
@@ -52,7 +52,7 @@ from openedx.core.djangoapps.user_authn.exceptions import AuthFailedError
 from openedx.core.djangolib.oauth2_retirement_utils import retire_dot_oauth2_models
 from openedx.core.lib.api.authentication import BearerAuthenticationAllowInactiveUser
 from openedx.core.lib.api.parsers import MergePatchParser
-from student.models import (
+from common.djangoapps.student.models import (
     AccountRecovery,
     CourseEnrollment,
     CourseEnrollmentAllowed,
diff --git a/openedx/core/djangoapps/user_api/course_tag/tests/test_api.py b/openedx/core/djangoapps/user_api/course_tag/tests/test_api.py
index cd115cd8fe531abd6ef1df5113c8bd71b1b77491..37496fa6206ae750f138a3261ec7b1f6f6d58fe0 100644
--- a/openedx/core/djangoapps/user_api/course_tag/tests/test_api.py
+++ b/openedx/core/djangoapps/user_api/course_tag/tests/test_api.py
@@ -7,7 +7,7 @@ from django.test import TestCase
 from opaque_keys.edx.locator import CourseLocator
 
 from openedx.core.djangoapps.user_api.course_tag import api as course_tag_api
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestCourseTagAPI(TestCase):
diff --git a/openedx/core/djangoapps/user_api/management/commands/create_user_gdpr_testing.py b/openedx/core/djangoapps/user_api/management/commands/create_user_gdpr_testing.py
index a038b1f245d4745d9ec44acc5d1275ccec603216..b7529633b9174163f401881d7027d02e4aa58c7d 100644
--- a/openedx/core/djangoapps/user_api/management/commands/create_user_gdpr_testing.py
+++ b/openedx/core/djangoapps/user_api/management/commands/create_user_gdpr_testing.py
@@ -22,12 +22,12 @@ from integrated_channels.sap_success_factors.models import SapSuccessFactorsLear
 from opaque_keys.edx.keys import CourseKey
 from pytz import UTC
 
-from entitlements.models import CourseEntitlement, CourseEntitlementSupportDetail
+from common.djangoapps.entitlements.models import CourseEntitlement, CourseEntitlementSupportDetail
 from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification
 from openedx.core.djangoapps.course_groups.models import CourseUserGroup, UnregisteredLearnerCohortAssignments
 from openedx.core.djangoapps.profile_images.images import create_profile_images
 from openedx.core.djangoapps.profile_images.tests.helpers import make_image_file
-from student.models import CourseEnrollment, CourseEnrollmentAllowed, PendingEmailChange, UserProfile
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAllowed, PendingEmailChange, UserProfile
 
 from ...models import UserOrgTag
 
diff --git a/openedx/core/djangoapps/user_api/management/commands/retire_user.py b/openedx/core/djangoapps/user_api/management/commands/retire_user.py
index 7851cf1af6fe31683dbb0a72c396e9eaf94c1366..7fc084e0744116098cf345728ac7bb34d774829e 100644
--- a/openedx/core/djangoapps/user_api/management/commands/retire_user.py
+++ b/openedx/core/djangoapps/user_api/management/commands/retire_user.py
@@ -6,7 +6,7 @@ from django.core.management.base import BaseCommand, CommandError
 from django.db import transaction
 from social_django.models import UserSocialAuth
 
-from student.models import AccountRecovery, Registration, get_retired_email_by_email
+from common.djangoapps.student.models import AccountRecovery, Registration, get_retired_email_by_email
 from openedx.core.djangolib.oauth2_retirement_utils import retire_dot_oauth2_models
 
 from ...models import UserRetirementStatus
diff --git a/openedx/core/djangoapps/user_api/management/commands/sync_hubspot_contacts.py b/openedx/core/djangoapps/user_api/management/commands/sync_hubspot_contacts.py
index 7dcb7bd47b63873c106edb536f9115e37bf434ca..6cf88028939ac9e4d9c226091b7aec4b4990e0fd 100644
--- a/openedx/core/djangoapps/user_api/management/commands/sync_hubspot_contacts.py
+++ b/openedx/core/djangoapps/user_api/management/commands/sync_hubspot_contacts.py
@@ -18,8 +18,8 @@ from edx_rest_api_client.client import EdxRestApiClient
 from slumber.exceptions import HttpClientError, HttpServerError
 
 from openedx.core.djangoapps.site_configuration.models import SiteConfiguration
-from student.models import UserAttribute
-from util.query import use_read_replica_if_available
+from common.djangoapps.student.models import UserAttribute
+from common.djangoapps.util.query import use_read_replica_if_available
 
 HUBSPOT_API_BASE_URL = 'https://api.hubapi.com'
 
diff --git a/openedx/core/djangoapps/user_api/management/tests/test_cancel_retirement.py b/openedx/core/djangoapps/user_api/management/tests/test_cancel_retirement.py
index b55da7368e0fb4844cda3d40262152a297d73c90..61fe608b0051b42321943f67a997937a6e26a3f5 100644
--- a/openedx/core/djangoapps/user_api/management/tests/test_cancel_retirement.py
+++ b/openedx/core/djangoapps/user_api/management/tests/test_cancel_retirement.py
@@ -13,7 +13,7 @@ from openedx.core.djangoapps.user_api.accounts.tests.retirement_helpers import (
     setup_retirement_states
 )
 from openedx.core.djangoapps.user_api.models import RetirementState, UserRetirementRequest, UserRetirementStatus
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 pytestmark = pytest.mark.django_db
 
diff --git a/openedx/core/djangoapps/user_api/management/tests/test_email_opt_in_list.py b/openedx/core/djangoapps/user_api/management/tests/test_email_opt_in_list.py
index 98597af5760b4621f8da0ab39f285dd74e05dc2e..6fae0b2f901218a826d60f3951135071fe7de436 100644
--- a/openedx/core/djangoapps/user_api/management/tests/test_email_opt_in_list.py
+++ b/openedx/core/djangoapps/user_api/management/tests/test_email_opt_in_list.py
@@ -20,8 +20,8 @@ from openedx.core.djangoapps.user_api.management.commands import email_opt_in_li
 from openedx.core.djangoapps.user_api.models import UserOrgTag
 from openedx.core.djangoapps.user_api.preferences.api import update_email_opt_in
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/user_api/management/tests/test_populate_retirement_states.py b/openedx/core/djangoapps/user_api/management/tests/test_populate_retirement_states.py
index 94d3eba39a6316eb61570f1669b2b16f080a6e95..0944ec823421285a479afbb19b98d193cb4fb883 100644
--- a/openedx/core/djangoapps/user_api/management/tests/test_populate_retirement_states.py
+++ b/openedx/core/djangoapps/user_api/management/tests/test_populate_retirement_states.py
@@ -10,7 +10,7 @@ from django.core.management import CommandError, call_command
 
 from openedx.core.djangoapps.user_api.management.commands.populate_retirement_states import START_STATE
 from openedx.core.djangoapps.user_api.models import RetirementState, UserRetirementStatus
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 pytestmark = pytest.mark.django_db
 
diff --git a/openedx/core/djangoapps/user_api/management/tests/test_retire_user.py b/openedx/core/djangoapps/user_api/management/tests/test_retire_user.py
index 46e5dcfc39ea4bd63620075a155538ad1242fa66..4c0a37108a40990e9655e463d17b10e460ba86e9 100644
--- a/openedx/core/djangoapps/user_api/management/tests/test_retire_user.py
+++ b/openedx/core/djangoapps/user_api/management/tests/test_retire_user.py
@@ -12,7 +12,7 @@ from openedx.core.djangoapps.user_api.accounts.tests.retirement_helpers import (
     setup_retirement_states
 )
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 pytestmark = pytest.mark.django_db
diff --git a/openedx/core/djangoapps/user_api/management/tests/test_sync_hubspot_contacts.py b/openedx/core/djangoapps/user_api/management/tests/test_sync_hubspot_contacts.py
index 2a966f48c94a17728d367dd77bf58a93e989ca5e..01359e6630b997904cd474a2f3d37d3f5ce36b51 100644
--- a/openedx/core/djangoapps/user_api/management/tests/test_sync_hubspot_contacts.py
+++ b/openedx/core/djangoapps/user_api/management/tests/test_sync_hubspot_contacts.py
@@ -16,8 +16,8 @@ from six.moves import range
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory
 from openedx.core.djangoapps.user_api.management.commands.sync_hubspot_contacts import Command as sync_command
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import UserAttribute, UserProfile
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import UserAttribute, UserProfile
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @skip_unless_lms
diff --git a/openedx/core/djangoapps/user_api/middleware.py b/openedx/core/djangoapps/user_api/middleware.py
index 927ee7dc7db2be96a0ef434135194b1b64d90ea8..95bb3d568db6c3086394d6860c016ab50cb906d2 100644
--- a/openedx/core/djangoapps/user_api/middleware.py
+++ b/openedx/core/djangoapps/user_api/middleware.py
@@ -9,7 +9,7 @@ from eventtracking import tracker
 from opaque_keys import InvalidKeyError
 from opaque_keys.edx.keys import CourseKey
 
-from track.contexts import COURSE_REGEX
+from common.djangoapps.track.contexts import COURSE_REGEX
 
 from .models import UserCourseTag
 
diff --git a/openedx/core/djangoapps/user_api/models.py b/openedx/core/djangoapps/user_api/models.py
index 673a6e7db0280387f55222084d3a331edc2412ef..ca2e28f7c80c3ae1f940318f6b959b3216ef2772 100644
--- a/openedx/core/djangoapps/user_api/models.py
+++ b/openedx/core/djangoapps/user_api/models.py
@@ -22,14 +22,14 @@ from opaque_keys.edx.django.models import CourseKeyField
 from openedx.core.djangolib.model_mixins import DeletableByUserValue
 from openedx.core.lib.cache_utils import request_cached
 # pylint: disable=unused-import
-from student.models import (
+from common.djangoapps.student.models import (
     PendingEmailChange,
     Registration,
     UserProfile,
     get_retired_email_by_email,
     get_retired_username_by_username
 )
-from util.model_utils import emit_setting_changed_event, get_changed_fields_dict
+from common.djangoapps.util.model_utils import emit_setting_changed_event, get_changed_fields_dict
 
 
 class RetirementStateError(Exception):
diff --git a/openedx/core/djangoapps/user_api/preferences/api.py b/openedx/core/djangoapps/user_api/preferences/api.py
index 3b3915a0f463fd2290857c74ddfa24d2ffe05e0c..c52b198b31bc9c3edf9ef8d8ab3e59e18c9d73bb 100644
--- a/openedx/core/djangoapps/user_api/preferences/api.py
+++ b/openedx/core/djangoapps/user_api/preferences/api.py
@@ -15,8 +15,8 @@ from django_countries import countries
 from pytz import common_timezones, common_timezones_set, country_timezones
 
 from openedx.core.lib.time_zone_utils import get_display_time_zone
-from student.models import User, UserProfile
-from track import segment
+from common.djangoapps.student.models import User, UserProfile
+from common.djangoapps.track import segment
 
 from ..errors import (
     CountryCodeError,
diff --git a/openedx/core/djangoapps/user_api/preferences/tests/test_api.py b/openedx/core/djangoapps/user_api/preferences/tests/test_api.py
index 2ed1de98b5d72a437afa3b4b4bd4c3b0083207dd..942d5eb4868742202a640b4cbc59a5b34172451b 100644
--- a/openedx/core/djangoapps/user_api/preferences/tests/test_api.py
+++ b/openedx/core/djangoapps/user_api/preferences/tests/test_api.py
@@ -16,8 +16,8 @@ from pytz import common_timezones, utc
 
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
 from openedx.core.lib.time_zone_utils import get_display_time_zone
-from student.models import UserProfile
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import UserProfile
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/user_api/preferences/tests/test_views.py b/openedx/core/djangoapps/user_api/preferences/tests/test_views.py
index 33b6ceb750026f81a701384ed5a435d5db8f0f75..19bd64665b92c78332740f3758038fd998029b32 100644
--- a/openedx/core/djangoapps/user_api/preferences/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/preferences/tests/test_views.py
@@ -14,7 +14,7 @@ from mock import patch
 from rest_framework.test import APIClient
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import TEST_PASSWORD, UserFactory
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, UserFactory
 
 from ...accounts.tests.test_views import UserAPITestCase
 from ..api import set_user_preference
diff --git a/openedx/core/djangoapps/user_api/tests/factories.py b/openedx/core/djangoapps/user_api/tests/factories.py
index b1413bd2151b3e9ef9a8a8231c20a6a26f9b2c2c..ff8a18fa137fbb107ec0924a972cb3921152ed4f 100644
--- a/openedx/core/djangoapps/user_api/tests/factories.py
+++ b/openedx/core/djangoapps/user_api/tests/factories.py
@@ -5,7 +5,7 @@ from factory import SubFactory
 from factory.django import DjangoModelFactory
 from opaque_keys.edx.locator import CourseLocator
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..models import UserCourseTag, UserOrgTag, UserPreference
 
diff --git a/openedx/core/djangoapps/user_api/tests/test_middleware.py b/openedx/core/djangoapps/user_api/tests/test_middleware.py
index 55c578e260f371efe8e8cda3e7f1447245c1dd7b..70fe3bb069669ccdb60319e1d280821c3f17b7a8 100644
--- a/openedx/core/djangoapps/user_api/tests/test_middleware.py
+++ b/openedx/core/djangoapps/user_api/tests/test_middleware.py
@@ -6,7 +6,7 @@ from django.test import TestCase
 from django.test.client import RequestFactory
 from mock import Mock, patch
 
-from student.tests.factories import AnonymousUserFactory, UserFactory
+from common.djangoapps.student.tests.factories import AnonymousUserFactory, UserFactory
 
 from ..middleware import UserTagsEventContextMiddleware
 from ..tests.factories import UserCourseTagFactory
diff --git a/openedx/core/djangoapps/user_api/tests/test_models.py b/openedx/core/djangoapps/user_api/tests/test_models.py
index 361ce05700ec3984a8c631510625b316c2d5051e..4206647d6d28a7d4b8ac843ea19f574d92387820 100644
--- a/openedx/core/djangoapps/user_api/tests/test_models.py
+++ b/openedx/core/djangoapps/user_api/tests/test_models.py
@@ -6,8 +6,8 @@ Test UserPreferenceModel and UserPreference events
 from django.db import IntegrityError
 from django.test import TestCase
 
-from student.tests.factories import UserFactory
-from student.tests.tests import UserSettingsEventTestMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.student.tests.tests import UserSettingsEventTestMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py b/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py
index 8098f92a5369022f533d4f380a459ac0306476d7..1b4583168751ae4dc8991ed7cb42d6771c5272ba 100644
--- a/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py
+++ b/openedx/core/djangoapps/user_api/tests/test_partition_schemes.py
@@ -11,7 +11,7 @@ from mock import patch
 from six.moves import range
 
 from openedx.core.djangoapps.user_api.partition_schemes import RandomUserPartitionScheme, UserPartitionError
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.partitions.partitions import Group, UserPartition
 from xmodule.partitions.tests.test_partitions import PartitionTestCase
 
diff --git a/openedx/core/djangoapps/user_api/tests/test_views.py b/openedx/core/djangoapps/user_api/tests/test_views.py
index 7e95cf803ba3baf4655237098f7f57927d8e46c8..b1eee633f40f79907c7c1c67833d0185febec165 100644
--- a/openedx/core/djangoapps/user_api/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/tests/test_views.py
@@ -27,14 +27,14 @@ from openedx.core.djangoapps.site_configuration.tests.test_util import with_site
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
 from openedx.core.lib.api.test_utils import TEST_API_KEY, ApiTestCase
 from openedx.core.lib.time_zone_utils import get_display_time_zone
-from student.tests.factories import UserFactory
-from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
-from third_party_auth.tests.utils import (
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
+from common.djangoapps.third_party_auth.tests.utils import (
     ThirdPartyOAuthTestMixin,
     ThirdPartyOAuthTestMixinFacebook,
     ThirdPartyOAuthTestMixinGoogle
 )
-from util.password_policy_validators import (
+from common.djangoapps.util.password_policy_validators import (
     create_validator_config,
     password_validators_instruction_texts,
     password_validators_restrictions
diff --git a/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py b/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py
index 309d588a1daa548859e20c7b161a2597dd8fea0c..93678ddea4fbfda92fc48d89e396aaf737998022 100644
--- a/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py
+++ b/openedx/core/djangoapps/user_api/verification_api/tests/test_views.py
@@ -12,7 +12,7 @@ from django.urls import reverse
 
 from lms.djangoapps.verify_student.models import ManualVerification, SoftwareSecurePhotoVerification, SSOVerification
 from lms.djangoapps.verify_student.tests.factories import SSOVerificationFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 FROZEN_TIME = '2015-01-01'
 VERIFY_STUDENT = {'DAYS_GOOD_FOR': 365}
diff --git a/openedx/core/djangoapps/user_api/views.py b/openedx/core/djangoapps/user_api/views.py
index 37400f42f99dd5cacefae6d22eac7d279c69edba..d00cd769177fb4205d699a22063bec51c3eb610b 100644
--- a/openedx/core/djangoapps/user_api/views.py
+++ b/openedx/core/djangoapps/user_api/views.py
@@ -30,8 +30,8 @@ from openedx.core.djangoapps.user_api.serializers import (
     UserSerializer
 )
 from openedx.core.lib.api.permissions import ApiKeyHeaderPermission
-from student.helpers import AccountValidationError
-from util.json_request import JsonResponse
+from common.djangoapps.student.helpers import AccountValidationError
+from common.djangoapps.util.json_request import JsonResponse
 
 
 class UserViewSet(viewsets.ReadOnlyModelViewSet):
diff --git a/openedx/core/djangoapps/user_authn/api/tests/test_views.py b/openedx/core/djangoapps/user_authn/api/tests/test_views.py
index 3634c1f0639b88527ab911389fba77248e002160..12d18e3e63dd25d6dddb956190b5a1fd910639ec 100644
--- a/openedx/core/djangoapps/user_authn/api/tests/test_views.py
+++ b/openedx/core/djangoapps/user_authn/api/tests/test_views.py
@@ -9,8 +9,8 @@ from rest_framework.test import APITestCase
 from six.moves.urllib.parse import urlencode
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from third_party_auth import pipeline
-from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
 
 
 @skip_unless_lms
diff --git a/openedx/core/djangoapps/user_authn/cookies.py b/openedx/core/djangoapps/user_authn/cookies.py
index 159084b7ee04f7cc938d27ce3e6fab14b74d0646..8afb21904229c414b13ffcd4c390b24bb3039a4d 100644
--- a/openedx/core/djangoapps/user_authn/cookies.py
+++ b/openedx/core/djangoapps/user_authn/cookies.py
@@ -22,7 +22,6 @@ from openedx.core.djangoapps.oauth_dispatch.api import create_dot_access_token
 from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_from_token
 from openedx.core.djangoapps.user_api.accounts.utils import retrieve_last_sitewide_block_completed
 from openedx.core.djangoapps.user_authn.exceptions import AuthFailedError
-from student.models import CourseEnrollment
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/user_authn/tests/test_cookies.py b/openedx/core/djangoapps/user_authn/tests/test_cookies.py
index ed34799ed3675c991b0fb6c0ef944c0c44b6daf4..95f11d1241e8d1f6e9dea79ed0008a56399a521d 100644
--- a/openedx/core/djangoapps/user_authn/tests/test_cookies.py
+++ b/openedx/core/djangoapps/user_authn/tests/test_cookies.py
@@ -14,8 +14,7 @@ from openedx.core.djangoapps.user_api.accounts.utils import retrieve_last_sitewi
 from openedx.core.djangoapps.user_authn import cookies as cookies_api
 from openedx.core.djangoapps.user_authn.tests.utils import setup_login_oauth_client
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseEnrollment
-from student.tests.factories import AnonymousUserFactory, UserFactory
+from common.djangoapps.student.tests.factories import AnonymousUserFactory, UserFactory
 
 
 class CookieTests(TestCase):
diff --git a/openedx/core/djangoapps/user_authn/tests/utils.py b/openedx/core/djangoapps/user_authn/tests/utils.py
index d2f767e920a2cace9bd75b7634a14c021647482e..74aae437d9bfc649833b5a41b8f84c6747f907b0 100644
--- a/openedx/core/djangoapps/user_authn/tests/utils.py
+++ b/openedx/core/djangoapps/user_authn/tests/utils.py
@@ -13,7 +13,7 @@ from rest_framework import status
 
 from openedx.core.djangoapps.oauth_dispatch.adapters.dot import DOTAdapter
 from openedx.core.djangoapps.oauth_dispatch.jwt import _create_jwt
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class AuthType(Enum):
diff --git a/openedx/core/djangoapps/user_authn/utils.py b/openedx/core/djangoapps/user_authn/utils.py
index cfc2f5846d523a44a165d5b5338cbd63afa01274..5a0e83062d91eae870f9aea50c4c7c268ceab14d 100644
--- a/openedx/core/djangoapps/user_authn/utils.py
+++ b/openedx/core/djangoapps/user_authn/utils.py
@@ -13,9 +13,9 @@ from django.utils.translation import ugettext as _
 from oauth2_provider.models import Application
 from six.moves.urllib.parse import urlparse  # pylint: disable=import-error
 
-import third_party_auth
+from common.djangoapps import third_party_auth
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
-from third_party_auth import pipeline
+from common.djangoapps.third_party_auth import pipeline
 
 
 def third_party_auth_context(request, redirect_to, tpa_hint=None):
diff --git a/openedx/core/djangoapps/user_authn/views/auto_auth.py b/openedx/core/djangoapps/user_authn/views/auto_auth.py
index 6e4a9a8bc35291e1023836b6801bcceb6f0a270e..11c7d258a291b0df997c7edb4de04315acb9b694 100644
--- a/openedx/core/djangoapps/user_authn/views/auto_auth.py
+++ b/openedx/core/djangoapps/user_authn/views/auto_auth.py
@@ -21,13 +21,13 @@ from openedx.core.djangoapps.django_comment_common.models import assign_role
 from openedx.core.djangoapps.user_authn.utils import generate_password
 from openedx.core.djangoapps.user_authn.views.registration_form import AccountCreationForm
 from openedx.features.course_experience import course_home_url_name
-from student.helpers import (
+from common.djangoapps.student.helpers import (
     AccountValidationError,
     authenticate_new_user,
     create_or_set_user_attribute_created_on_site,
     do_create_account
 )
-from student.models import (
+from common.djangoapps.student.models import (
     CourseAccessRole,
     CourseEnrollment,
     Registration,
@@ -35,7 +35,7 @@ from student.models import (
     anonymous_id_for_user,
     create_comments_service_user
 )
-from util.json_request import JsonResponse
+from common.djangoapps.util.json_request import JsonResponse
 
 
 def auto_auth(request):  # pylint: disable=too-many-statements
diff --git a/openedx/core/djangoapps/user_authn/views/login.py b/openedx/core/djangoapps/user_authn/views/login.py
index 3c8ad2421924b324eff21db7cc808404d03b34de..255265f7635e6e24bb599a86ea63bcf23e102831 100644
--- a/openedx/core/djangoapps/user_authn/views/login.py
+++ b/openedx/core/djangoapps/user_authn/views/login.py
@@ -28,7 +28,7 @@ from ratelimit.decorators import ratelimit
 from ratelimitbackend.exceptions import RateLimitException
 from rest_framework.views import APIView
 
-from edxmako.shortcuts import render_to_response
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.password_policy import compliance as password_policy_compliance
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_authn.views.login_form import get_login_session_form
@@ -40,14 +40,14 @@ from openedx.core.djangoapps.user_authn.views.password_reset import send_passwor
 from openedx.core.djangoapps.user_authn.config.waffle import ENABLE_LOGIN_USING_THIRDPARTY_AUTH_ONLY
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.core.lib.api.view_utils import require_post_params
-from student.helpers import get_next_url_for_login_page
-from student.models import LoginFailures, AllowedAuthUser, UserProfile
-from student.views import compose_and_send_activation_email
-from third_party_auth import pipeline, provider
-import third_party_auth
-from track import segment
-from util.json_request import JsonResponse
-from util.password_policy_validators import normalize_password
+from common.djangoapps.student.helpers import get_next_url_for_login_page
+from common.djangoapps.student.models import LoginFailures, AllowedAuthUser, UserProfile
+from common.djangoapps.student.views import compose_and_send_activation_email
+from common.djangoapps.third_party_auth import pipeline, provider
+from common.djangoapps import third_party_auth
+from common.djangoapps.track import segment
+from common.djangoapps.util.json_request import JsonResponse
+from common.djangoapps.util.password_policy_validators import normalize_password
 
 log = logging.getLogger("edx.student")
 AUDIT_LOG = logging.getLogger("audit")
diff --git a/openedx/core/djangoapps/user_authn/views/login_form.py b/openedx/core/djangoapps/user_authn/views/login_form.py
index 25a9002e213237fecc518a6463821e5e8a619478..b9dd29b175292cd3ecb2d7f3667c785eacb432b7 100644
--- a/openedx/core/djangoapps/user_authn/views/login_form.py
+++ b/openedx/core/djangoapps/user_authn/views/login_form.py
@@ -14,8 +14,8 @@ from django.views.decorators.csrf import ensure_csrf_cookie
 from django.views.decorators.http import require_http_methods
 from ratelimit.decorators import ratelimit
 
-import third_party_auth
-from edxmako.shortcuts import render_to_response
+from common.djangoapps import third_party_auth
+from common.djangoapps.edxmako.shortcuts import render_to_response
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_api import accounts
 from openedx.core.djangoapps.user_api.accounts.utils import (
@@ -36,10 +36,10 @@ from openedx.features.enterprise_support.utils import (
     handle_enterprise_cookies_for_logistration,
     update_logistration_context_for_enterprise
 )
-from student.helpers import get_next_url_for_login_page
-from third_party_auth import pipeline
-from third_party_auth.decorators import xframe_allow_whitelisted
-from util.password_policy_validators import DEFAULT_MAX_PASSWORD_LENGTH
+from common.djangoapps.student.helpers import get_next_url_for_login_page
+from common.djangoapps.third_party_auth import pipeline
+from common.djangoapps.third_party_auth.decorators import xframe_allow_whitelisted
+from common.djangoapps.util.password_policy_validators import DEFAULT_MAX_PASSWORD_LENGTH
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/user_authn/views/logout.py b/openedx/core/djangoapps/user_authn/views/logout.py
index 47f0b89e176d852cbefa061d91e2119c2f580edf..06363fa7fcac8fddcdfb6f6c1f871e942994731f 100644
--- a/openedx/core/djangoapps/user_authn/views/logout.py
+++ b/openedx/core/djangoapps/user_authn/views/logout.py
@@ -13,7 +13,7 @@ from six.moves.urllib.parse import parse_qs, urlsplit, urlunsplit  # pylint: dis
 
 from openedx.core.djangoapps.user_authn.cookies import delete_logged_in_cookies
 from openedx.core.djangoapps.user_authn.utils import is_safe_login_or_logout_redirect
-from third_party_auth import pipeline as tpa_pipeline
+from common.djangoapps.third_party_auth import pipeline as tpa_pipeline
 
 
 class LogoutView(TemplateView):
diff --git a/openedx/core/djangoapps/user_authn/views/password_reset.py b/openedx/core/djangoapps/user_authn/views/password_reset.py
index 76990c3b8d03ce8bb5085020bec060eae167503b..cf6f8548ed1259ea685354449fd69c18e9d08ff4 100644
--- a/openedx/core/djangoapps/user_authn/views/password_reset.py
+++ b/openedx/core/djangoapps/user_authn/views/password_reset.py
@@ -27,7 +27,7 @@ from eventtracking import tracker
 from ratelimit.decorators import ratelimit
 from rest_framework.views import APIView
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from openedx.core.djangoapps.ace_common.template_context import get_base_template_context
 from openedx.core.djangoapps.lang_pref import LANGUAGE_KEY
 from openedx.core.djangoapps.oauth_dispatch.api import destroy_oauth_tokens
@@ -41,10 +41,10 @@ from openedx.core.djangoapps.user_api.models import UserRetirementRequest
 from openedx.core.djangoapps.user_api.preferences.api import get_user_preference
 from openedx.core.djangoapps.user_authn.message_types import PasswordReset, PasswordResetSuccess
 from openedx.core.djangolib.markup import HTML
-from student.forms import send_account_recovery_email_for_user
-from student.models import AccountRecovery
-from util.json_request import JsonResponse
-from util.password_policy_validators import normalize_password, validate_password
+from common.djangoapps.student.forms import send_account_recovery_email_for_user
+from common.djangoapps.student.models import AccountRecovery
+from common.djangoapps.util.json_request import JsonResponse
+from common.djangoapps.util.password_policy_validators import normalize_password, validate_password
 
 POST_EMAIL_KEY = 'post:email'
 REAL_IP_KEY = 'openedx.core.djangoapps.util.ratelimit.real_ip'
diff --git a/openedx/core/djangoapps/user_authn/views/register.py b/openedx/core/djangoapps/user_authn/views/register.py
index 18674b186d65fc233e4c78011977bfe8f363183d..db72b4854214339642c5dd1d3178843f2dd93674 100644
--- a/openedx/core/djangoapps/user_authn/views/register.py
+++ b/openedx/core/djangoapps/user_authn/views/register.py
@@ -31,7 +31,7 @@ from six import text_type
 from social_core.exceptions import AuthAlreadyAssociated, AuthException
 from social_django import utils as social_utils
 
-import third_party_auth
+from common.djangoapps import third_party_auth
 # Note that this lives in LMS, so this dependency should be refactored.
 # TODO Have the discussions code subscribe to the REGISTER_USER signal instead.
 from common.djangoapps.student.helpers import get_next_url_for_login_page
@@ -57,25 +57,25 @@ from openedx.core.djangoapps.user_authn.views.registration_form import (
     RegistrationFormFactory,
     get_registration_extension_form
 )
-from student.helpers import (
+from common.djangoapps.student.helpers import (
     AccountValidationError,
     authenticate_new_user,
     create_or_set_user_attribute_created_on_site,
     do_create_account
 )
-from student.models import (
+from common.djangoapps.student.models import (
     RegistrationCookieConfiguration,
     UserAttribute,
     create_comments_service_user,
     email_exists_or_retired,
     username_exists_or_retired
 )
-from student.views import compose_and_send_activation_email
-from third_party_auth import pipeline, provider
-from third_party_auth.saml import SAP_SUCCESSFACTORS_SAML_KEY
-from track import segment
-from util.db import outer_atomic
-from util.json_request import JsonResponse
+from common.djangoapps.student.views import compose_and_send_activation_email
+from common.djangoapps.third_party_auth import pipeline, provider
+from common.djangoapps.third_party_auth.saml import SAP_SUCCESSFACTORS_SAML_KEY
+from common.djangoapps.track import segment
+from common.djangoapps.util.db import outer_atomic
+from common.djangoapps.util.json_request import JsonResponse
 
 log = logging.getLogger("edx.student")
 AUDIT_LOG = logging.getLogger("audit")
diff --git a/openedx/core/djangoapps/user_authn/views/registration_form.py b/openedx/core/djangoapps/user_authn/views/registration_form.py
index fbc7ce5344875a49d2195ade99e8977a746a0f71..01e2e302a32607809b2d3f266eb23a865da94a4d 100644
--- a/openedx/core/djangoapps/user_authn/views/registration_form.py
+++ b/openedx/core/djangoapps/user_authn/views/registration_form.py
@@ -18,20 +18,20 @@ from django.urls import reverse
 from django.utils.translation import ugettext as _
 from django_countries import countries
 
-import third_party_auth
-from edxmako.shortcuts import marketing_link
+from common.djangoapps import third_party_auth
+from common.djangoapps.edxmako.shortcuts import marketing_link
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_api import accounts
 from openedx.core.djangoapps.user_api.helpers import FormDescription
 from openedx.core.djangoapps.user_authn.utils import is_registration_api_v1 as is_api_v1
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.features.enterprise_support.api import enterprise_customer_for_request
-from student.models import (
+from common.djangoapps.student.models import (
     CourseEnrollmentAllowed,
     UserProfile,
     email_exists_or_retired,
 )
-from util.password_policy_validators import (
+from common.djangoapps.util.password_policy_validators import (
     password_validators_instruction_texts,
     password_validators_restrictions,
     validate_password,
diff --git a/openedx/core/djangoapps/user_authn/views/tests/test_auto_auth.py b/openedx/core/djangoapps/user_authn/views/tests/test_auto_auth.py
index d7020e55dce78eb126ee83570cb5e02882924786..84304665aed8fc0bf7a6dfef43b3adf995d7b94d 100644
--- a/openedx/core/djangoapps/user_authn/views/tests/test_auto_auth.py
+++ b/openedx/core/djangoapps/user_authn/views/tests/test_auto_auth.py
@@ -19,8 +19,8 @@ from openedx.core.djangoapps.django_comment_common.models import (
     Role
 )
 from openedx.core.djangoapps.django_comment_common.utils import seed_permissions_roles
-from student.models import CourseAccessRole, CourseEnrollment, UserProfile, anonymous_id_for_user
-from util.testing import UrlResetMixin
+from common.djangoapps.student.models import CourseAccessRole, CourseEnrollment, UserProfile, anonymous_id_for_user
+from common.djangoapps.util.testing import UrlResetMixin
 
 
 class AutoAuthTestCase(UrlResetMixin, TestCase):
diff --git a/openedx/core/djangoapps/user_authn/views/tests/test_login.py b/openedx/core/djangoapps/user_authn/views/tests/test_login.py
index 99886392a53e382b13fe854dc05fad14abcd88f4..91233681ac57368bf59418378cd51bf5ad7610a3 100644
--- a/openedx/core/djangoapps/user_authn/views/tests/test_login.py
+++ b/openedx/core/djangoapps/user_authn/views/tests/test_login.py
@@ -20,8 +20,7 @@ from django.test.utils import override_settings
 from django.urls import NoReverseMatch, reverse
 from edx_toggles.toggles.testutils import override_waffle_switch
 from mock import patch
-from student.tests.factories import RegistrationFactory, UserFactory, UserProfileFactory
-from util.password_policy_validators import DEFAULT_MAX_PASSWORD_LENGTH
+from common.djangoapps.student.tests.factories import RegistrationFactory, UserFactory, UserProfileFactory
 
 from openedx.core.djangoapps.password_policy.compliance import (
     NonCompliantPasswordException,
@@ -38,6 +37,7 @@ from openedx.core.djangoapps.user_authn.views.login import (
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
 from openedx.core.lib.api.test_utils import ApiTestCase
+from common.djangoapps.util.password_policy_validators import DEFAULT_MAX_PASSWORD_LENGTH
 
 
 @ddt.ddt
@@ -74,7 +74,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase):
 
     def test_login_success(self):
         response, mock_audit_log = self._login_response(
-            self.user_email, self.password, patched_audit_log='student.models.AUDIT_LOG'
+            self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.AUDIT_LOG'
         )
         self._assert_response(response, success=True)
         self._assert_audit_log(mock_audit_log, 'info', [u'Login success', self.user_email])
@@ -160,7 +160,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase):
     @patch.dict("django.conf.settings.FEATURES", {'SQUELCH_PII_IN_LOGS': True})
     def test_login_success_no_pii(self):
         response, mock_audit_log = self._login_response(
-            self.user_email, self.password, patched_audit_log='student.models.AUDIT_LOG'
+            self.user_email, self.password, patched_audit_log='common.djangoapps.student.models.AUDIT_LOG'
         )
         self._assert_response(response, success=True)
         self._assert_audit_log(mock_audit_log, 'info', [u'Login success'])
@@ -172,7 +172,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase):
         self.user.save()
 
         response, mock_audit_log = self._login_response(
-            unicode_email, self.password, patched_audit_log='student.models.AUDIT_LOG'
+            unicode_email, self.password, patched_audit_log='common.djangoapps.student.models.AUDIT_LOG'
         )
         self._assert_response(response, success=True)
         self._assert_audit_log(mock_audit_log, 'info', [u'Login success', unicode_email])
@@ -283,7 +283,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase):
         response, _ = self._login_response(self.user_email, self.password)
         self._assert_response(response, success=True)
         logout_url = reverse('logout')
-        with patch('student.models.AUDIT_LOG') as mock_audit_log:
+        with patch('common.djangoapps.student.models.AUDIT_LOG') as mock_audit_log:
             response = self.client.post(logout_url)
         self.assertEqual(response.status_code, 200)
         self._assert_audit_log(mock_audit_log, 'info', [u'Logout', u'test'])
@@ -343,7 +343,7 @@ class LoginTest(SiteMixin, CacheIsolationTestCase):
         response, _ = self._login_response(self.user_email, self.password)
         self._assert_response(response, success=True)
         logout_url = reverse('logout')
-        with patch('student.models.AUDIT_LOG') as mock_audit_log:
+        with patch('common.djangoapps.student.models.AUDIT_LOG') as mock_audit_log:
             response = self.client.post(logout_url)
         self.assertEqual(response.status_code, 200)
         self._assert_audit_log(mock_audit_log, 'info', [u'Logout'])
diff --git a/openedx/core/djangoapps/user_authn/views/tests/test_logistration.py b/openedx/core/djangoapps/user_authn/views/tests/test_logistration.py
index 8a5cc6d78fc175c8a694f7de74759e3ce3c2270e..a59da6d128d8a7d1a284e34e667d1a3768400f80 100644
--- a/openedx/core/djangoapps/user_authn/views/tests/test_logistration.py
+++ b/openedx/core/djangoapps/user_authn/views/tests/test_logistration.py
@@ -22,7 +22,7 @@ from django.utils.translation import ugettext as _
 from freezegun import freeze_time
 from pytz import UTC
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.branding.api import get_privacy_url
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
 from openedx.core.djangoapps.theming.tests.test_util import with_comprehensive_theme_context
@@ -30,8 +30,8 @@ from openedx.core.djangoapps.user_authn.views.login_form import login_and_regist
 from openedx.core.djangolib.js_utils import dump_js_escaped_json
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
-from util.testing import UrlResetMixin
+from common.djangoapps.third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 
@@ -367,7 +367,7 @@ class LoginAndRegistrationTest(ThirdPartyAuthTestMixin, UrlResetMixin, ModuleSto
         }
         pipeline_target = 'openedx.core.djangoapps.user_authn.views.login_form.third_party_auth.pipeline'
         with simulate_running_pipeline(pipeline_target, current_backend, **pipeline_response):
-            with mock.patch('edxmako.request_context.get_current_request', return_value=request):
+            with mock.patch('common.djangoapps.edxmako.request_context.get_current_request', return_value=request):
                 response = login_and_registration_form(request)
 
         expected_error_message = Text(_(
diff --git a/openedx/core/djangoapps/user_authn/views/tests/test_logout.py b/openedx/core/djangoapps/user_authn/views/tests/test_logout.py
index 2ba360ab89969951a70190dd395caf71d26969c6..651ff7bb6d34ddd9a9e37f41911de49bafbfad0d 100644
--- a/openedx/core/djangoapps/user_authn/views/tests/test_logout.py
+++ b/openedx/core/djangoapps/user_authn/views/tests/test_logout.py
@@ -14,7 +14,7 @@ from django.test.utils import override_settings
 from django.urls import reverse
 
 from openedx.core.djangoapps.oauth_dispatch.tests.factories import ApplicationFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @unittest.skipUnless(settings.ROOT_URLCONF == 'lms.urls', 'Test only valid in lms')
diff --git a/openedx/core/djangoapps/user_authn/views/tests/test_register.py b/openedx/core/djangoapps/user_authn/views/tests/test_register.py
index 593a83a15ff745e4c1659c14f8a06a50ac563b9b..2ca881337ca700c142638b0b335c9ad1eaa9ac44 100644
--- a/openedx/core/djangoapps/user_authn/views/tests/test_register.py
+++ b/openedx/core/djangoapps/user_authn/views/tests/test_register.py
@@ -52,15 +52,15 @@ from openedx.core.djangoapps.user_api.tests.test_views import UserAPITestCase
 from openedx.core.djangoapps.user_authn.views.register import REGISTRATION_FAILURE_LOGGING_FLAG
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
 from openedx.core.lib.api import test_utils
-from student.helpers import authenticate_new_user
-from student.tests.factories import UserFactory
-from third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
-from third_party_auth.tests.utils import (
+from common.djangoapps.student.helpers import authenticate_new_user
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.third_party_auth.tests.testutil import ThirdPartyAuthTestMixin, simulate_running_pipeline
+from common.djangoapps.third_party_auth.tests.utils import (
     ThirdPartyOAuthTestMixin,
     ThirdPartyOAuthTestMixinFacebook,
     ThirdPartyOAuthTestMixinGoogle
 )
-from util.password_policy_validators import (
+from common.djangoapps.util.password_policy_validators import (
     DEFAULT_MAX_PASSWORD_LENGTH,
     create_validator_config,
     password_validators_instruction_texts,
@@ -473,9 +473,15 @@ class RegistrationViewTestV1(ThirdPartyAuthTestMixin, UserAPITestCase):
         )
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
-        create_validator_config('util.password_policy_validators.UppercaseValidator', {'min_upper': 3}),
-        create_validator_config('util.password_policy_validators.SymbolValidator', {'min_symbol': 1}),
+        create_validator_config(
+            'common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}
+        ),
+        create_validator_config(
+            'common.djangoapps.util.password_policy_validators.UppercaseValidator', {'min_upper': 3}
+        ),
+        create_validator_config(
+            'common.djangoapps.util.password_policy_validators.SymbolValidator', {'min_symbol': 1}
+        ),
     ])
     def test_register_form_password_complexity(self):
         no_extra_fields_setting = {}
diff --git a/openedx/core/djangoapps/user_authn/views/tests/test_reset_password.py b/openedx/core/djangoapps/user_authn/views/tests/test_reset_password.py
index 494a6045681d62a7c9760f5417686b1def295c73..947a98c3dae8602cd62b477c9fb59409bf3a7b8d 100644
--- a/openedx/core/djangoapps/user_authn/views/tests/test_reset_password.py
+++ b/openedx/core/djangoapps/user_authn/views/tests/test_reset_password.py
@@ -37,13 +37,13 @@ from openedx.core.djangoapps.user_authn.views.password_reset import (
     SETTING_CHANGE_INITIATED, password_reset, password_reset_logistration,
     PasswordResetConfirmWrapper)
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
-from student.tests.factories import TEST_PASSWORD, UserFactory
-from student.tests.test_configuration_overrides import fake_get_value
-from student.tests.test_email import mock_render_to_string
-from student.models import AccountRecovery
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, UserFactory
+from common.djangoapps.student.tests.test_configuration_overrides import fake_get_value
+from common.djangoapps.student.tests.test_email import mock_render_to_string
+from common.djangoapps.student.models import AccountRecovery
 
-from util.password_policy_validators import create_validator_config
-from util.testing import EventTestMixin
+from common.djangoapps.util.password_policy_validators import create_validator_config
+from common.djangoapps.util.testing import EventTestMixin
 
 
 ENABLE_LOGISTRATION_MICROFRONTEND = settings.FEATURES.copy()
@@ -541,8 +541,12 @@ class ResetPasswordTests(EventTestMixin, CacheIsolationTestCase):
         })
 
     @override_settings(AUTH_PASSWORD_VALIDATORS=[
-        create_validator_config('util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}),
-        create_validator_config('util.password_policy_validators.MaximumLengthValidator', {'max_length': 10})
+        create_validator_config(
+            'common.djangoapps.util.password_policy_validators.MinimumLengthValidator', {'min_length': 2}
+        ),
+        create_validator_config(
+            'common.djangoapps.util.password_policy_validators.MaximumLengthValidator', {'max_length': 10}
+        ),
     ])
     @ddt.data(
         {
diff --git a/openedx/core/djangoapps/util/row_delete.py b/openedx/core/djangoapps/util/row_delete.py
index 7d60e1392b1909a273074801bda25f78a02dcc7d..2cfe51bd75a61fb15aa2a9df831172042d4f8c46 100644
--- a/openedx/core/djangoapps/util/row_delete.py
+++ b/openedx/core/djangoapps/util/row_delete.py
@@ -8,7 +8,7 @@ Following lines show how to use delete_rows():
 import logging
 
 from openedx.core.djangoapps.util.row_delete import BaseDeletionCommand, delete_rows
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/util/testing.py b/openedx/core/djangoapps/util/testing.py
index 24178f4aad35bcf81f6a1d6f1a75026f81df3f45..3ab1637c024166ab1dc07a982a6f3ca0538f19df 100644
--- a/openedx/core/djangoapps/util/testing.py
+++ b/openedx/core/djangoapps/util/testing.py
@@ -11,7 +11,7 @@ from openedx.core.djangoapps.django_comment_common.models import Role
 from openedx.core.djangoapps.django_comment_common.utils import seed_permissions_roles
 from openedx.core.djangoapps.user_api.tests.factories import UserCourseTagFactory
 from openedx.core.lib.teams_config import TeamsConfig
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.partitions.partitions import Group, UserPartition
diff --git a/openedx/core/djangoapps/util/tests/test_user_messages.py b/openedx/core/djangoapps/util/tests/test_user_messages.py
index 8bfd6ab2b98e5cb58dbb0b2d81c3829ede26bd26..ffb2240fee4bcb8605477a499f81cc74c2e8a1ee 100644
--- a/openedx/core/djangoapps/util/tests/test_user_messages.py
+++ b/openedx/core/djangoapps/util/tests/test_user_messages.py
@@ -9,7 +9,7 @@ from django.test import RequestFactory, TestCase
 
 from common.test.utils import normalize_repr
 from openedx.core.djangolib.markup import HTML, Text
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..user_messages import PageLevelMessages, UserMessageType
 
diff --git a/openedx/core/djangoapps/verified_track_content/management/commands/swap_from_auto_track_cohort_pilot.py b/openedx/core/djangoapps/verified_track_content/management/commands/swap_from_auto_track_cohort_pilot.py
index ffcf9635270e9b29c41b9e915a2fe03096f136ee..26dfb7cd57bdd18798cd0ca2db94cbbe22b6592b 100644
--- a/openedx/core/djangoapps/verified_track_content/management/commands/swap_from_auto_track_cohort_pilot.py
+++ b/openedx/core/djangoapps/verified_track_content/management/commands/swap_from_auto_track_cohort_pilot.py
@@ -7,7 +7,7 @@ from django.conf import settings
 from django.core.management.base import BaseCommand, CommandError
 
 from cms.djangoapps.contentstore.course_group_config import GroupConfiguration
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.course_groups.cohorts import CourseCohort
 from openedx.core.djangoapps.course_groups.models import CourseUserGroup, CourseUserGroupPartitionGroup
 from openedx.core.djangoapps.verified_track_content.models import (
diff --git a/openedx/core/djangoapps/verified_track_content/models.py b/openedx/core/djangoapps/verified_track_content/models.py
index 0960106d06a6cebac40d82e551c200e1e8ca7912..5b54362365d9bd77f8163cdaf9da47e203526a39 100644
--- a/openedx/core/djangoapps/verified_track_content/models.py
+++ b/openedx/core/djangoapps/verified_track_content/models.py
@@ -24,7 +24,7 @@ from openedx.core.djangoapps.course_groups.cohorts import (
 )
 from openedx.core.djangoapps.verified_track_content.tasks import sync_cohort_with_mode
 from openedx.core.lib.cache_utils import request_cached
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/core/djangoapps/verified_track_content/partition_scheme.py b/openedx/core/djangoapps/verified_track_content/partition_scheme.py
index 441921c360a6d06cc00e18ded833731273572786..651156ba94254f78985f86af6209c8dad1554e19 100644
--- a/openedx/core/djangoapps/verified_track_content/partition_scheme.py
+++ b/openedx/core/djangoapps/verified_track_content/partition_scheme.py
@@ -9,14 +9,14 @@ import six
 from django.conf import settings
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.masquerade import (
     get_course_masquerade,
     get_masquerading_user_group,
     is_masquerading_as_specific_student
 )
 from openedx.core.djangoapps.verified_track_content.models import VerifiedTrackCohortedCourse
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.partitions.partitions import Group, UserPartition
 
 LOGGER = logging.getLogger(__name__)
diff --git a/openedx/core/djangoapps/verified_track_content/tasks.py b/openedx/core/djangoapps/verified_track_content/tasks.py
index 7666494ccfedc891bf25c1e0971f2f3159ee1db8..2335743df21e6a9b95fda2f12d7f8f11b5a49fbe 100644
--- a/openedx/core/djangoapps/verified_track_content/tasks.py
+++ b/openedx/core/djangoapps/verified_track_content/tasks.py
@@ -11,7 +11,7 @@ from django.contrib.auth.models import User
 from opaque_keys.edx.keys import CourseKey
 
 from openedx.core.djangoapps.course_groups.cohorts import add_user_to_cohort, get_cohort, get_cohort_by_name
-from student.models import CourseEnrollment, CourseMode
+from common.djangoapps.student.models import CourseEnrollment, CourseMode
 
 LOGGER = get_task_logger(__name__)
 
diff --git a/openedx/core/djangoapps/verified_track_content/tests/test_models.py b/openedx/core/djangoapps/verified_track_content/tests/test_models.py
index 0b97ea7c177f454be466ce93686a980c7efc6809..8a500bb2b606c32e68fe048adfa46f08619bb8ef 100644
--- a/openedx/core/djangoapps/verified_track_content/tests/test_models.py
+++ b/openedx/core/djangoapps/verified_track_content/tests/test_models.py
@@ -18,8 +18,8 @@ from openedx.core.djangoapps.course_groups.cohorts import (
     set_course_cohorted
 )
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.models import CourseMode
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseMode
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py b/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
index 882ec05df52f98ba02958e2cfbca2e22d2c9990b..9f364ef0a66f7036e5d63bfc4449f692f274b028 100644
--- a/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
+++ b/openedx/core/djangoapps/verified_track_content/tests/test_partition_scheme.py
@@ -8,9 +8,9 @@ from datetime import datetime, timedelta
 import pytz
 import six
 
-from course_modes.models import CourseMode
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.partitions.partitions import MINIMUM_STATIC_PARTITION_ID, UserPartition, ReadOnlyUserPartitionError
diff --git a/openedx/core/djangoapps/verified_track_content/tests/test_views.py b/openedx/core/djangoapps/verified_track_content/tests/test_views.py
index 5ff6492000a05cc75c82a670aea372d72f65da20..5ceb73504b3c98ad9520fe999b589e60ca840be5 100644
--- a/openedx/core/djangoapps/verified_track_content/tests/test_views.py
+++ b/openedx/core/djangoapps/verified_track_content/tests/test_views.py
@@ -10,7 +10,7 @@ from django.http import Http404
 from django.test.client import RequestFactory
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory, AdminFactory
+from common.djangoapps.student.tests.factories import UserFactory, AdminFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/core/djangoapps/verified_track_content/views.py b/openedx/core/djangoapps/verified_track_content/views.py
index 3c362b470d3a9629a5211565b1161ba3fb60145d..20d7196d874412ca1ae255935189c59c3cd3258d 100644
--- a/openedx/core/djangoapps/verified_track_content/views.py
+++ b/openedx/core/djangoapps/verified_track_content/views.py
@@ -8,7 +8,7 @@ from opaque_keys.edx.keys import CourseKey
 
 from lms.djangoapps.courseware.courses import get_course_with_access
 from openedx.core.djangoapps.verified_track_content.models import VerifiedTrackCohortedCourse
-from util.json_request import JsonResponse, expect_json
+from common.djangoapps.util.json_request import JsonResponse, expect_json
 
 
 @expect_json
diff --git a/openedx/core/djangoapps/video_pipeline/tests/test_api.py b/openedx/core/djangoapps/video_pipeline/tests/test_api.py
index 38b5f34074abf6df1a8c3fb22423e4e985baa679..2f025f7816a0ccecc108d0007432a0f959f12aa4 100644
--- a/openedx/core/djangoapps/video_pipeline/tests/test_api.py
+++ b/openedx/core/djangoapps/video_pipeline/tests/test_api.py
@@ -8,7 +8,7 @@ import ddt
 from django.test.testcases import TestCase
 from mock import Mock, patch
 from slumber.exceptions import HttpClientError
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from openedx.core.djangoapps.video_pipeline.api import update_3rd_party_transcription_service_credentials
 from openedx.core.djangoapps.video_pipeline.tests.mixins import VideoPipelineMixin
diff --git a/openedx/core/djangoapps/waffle_utils/tests/test_views.py b/openedx/core/djangoapps/waffle_utils/tests/test_views.py
index 49cd95f31bbb8372e20f38270c847f6969c8a7aa..3e35247e2bbd7ffa7ab0f02b2871fecc2e2ff635 100644
--- a/openedx/core/djangoapps/waffle_utils/tests/test_views.py
+++ b/openedx/core/djangoapps/waffle_utils/tests/test_views.py
@@ -9,7 +9,7 @@ from edx_toggles.toggles.testutils import override_waffle_flag
 from rest_framework.test import APIRequestFactory
 from waffle.testutils import override_switch
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from .. import WaffleFlag, WaffleFlagNamespace
 from ..views import ToggleStateView
@@ -69,7 +69,7 @@ class ToggleStateViewTests(TestCase):
             {
                 "name": "FEATURES['MILESTONES_APP']",
                 "is_active": True,
-                "module": "util.milestones_helpers",
+                "module": "common.djangoapps.util.milestones_helpers",
                 "class": "SettingDictToggle",
             },
             response.data["django_settings"],
diff --git a/openedx/core/djangoapps/xblock/runtime/runtime.py b/openedx/core/djangoapps/xblock/runtime/runtime.py
index c92a6a0b9beb2064c526fe516e934f401b48909d..17d6204735d9fab5e82ea33c16c018998422b68b 100644
--- a/openedx/core/djangoapps/xblock/runtime/runtime.py
+++ b/openedx/core/djangoapps/xblock/runtime/runtime.py
@@ -19,8 +19,8 @@ from xblock.field_data import SplitFieldData
 from xblock.fields import Scope
 from xblock.runtime import KvsFieldData, MemoryIdManager, Runtime
 
-import track.contexts
-import track.views
+from common.djangoapps.track import contexts as track_contexts
+from common.djangoapps.track import views as track_views
 from lms.djangoapps.courseware.model_data import DjangoKeyValueStore, FieldDataCache
 from lms.djangoapps.grades.api import signals as grades_signals
 from openedx.core.djangoapps.xblock.apps import get_xblock_app_config
@@ -29,7 +29,7 @@ from openedx.core.djangoapps.xblock.runtime.ephemeral_field_data import Ephemera
 from openedx.core.djangoapps.xblock.runtime.mixin import LmsBlockMixin
 from openedx.core.djangoapps.xblock.utils import get_xblock_id_for_anonymous_user
 from openedx.core.lib.xblock_utils import wrap_fragment, xblock_local_resource_url
-from static_replace import process_static_urls
+from common.djangoapps.static_replace import process_static_urls
 from xmodule.errortracker import make_error_tracker
 from xmodule.modulestore.django import ModuleI18nService
 
@@ -47,7 +47,7 @@ def make_track_function():
     current_request = crum.get_current_request()
 
     def function(event_type, event):
-        return track.views.server_track(current_request, event_type, event, page='x_module')
+        return track_views.server_track(current_request, event_type, event, page='x_module')
     return function
 
 
@@ -155,7 +155,7 @@ class XBlockRuntime(RuntimeShim, Runtime):
         """
         Log this XBlock event to the tracking log
         """
-        log_context = track.contexts.context_dict_for_learning_context(block.scope_ids.usage_id.context_key)
+        log_context = track_contexts.context_dict_for_learning_context(block.scope_ids.usage_id.context_key)
         if self.user_id:
             log_context['user_id'] = self.user_id
         log_context['asides'] = {}
diff --git a/openedx/core/djangoapps/xblock/runtime/shims.py b/openedx/core/djangoapps/xblock/runtime/shims.py
index edf1d56951fd40750e6167c9a7a5e03b4e4f88ae..a5afd95357a6eaa5266538b86420d860f6a6937a 100644
--- a/openedx/core/djangoapps/xblock/runtime/shims.py
+++ b/openedx/core/djangoapps/xblock/runtime/shims.py
@@ -14,7 +14,7 @@ from fs.memoryfs import MemoryFS
 from openedx.core.djangoapps.xblock.apps import get_xblock_app_config
 import six
 
-from edxmako.shortcuts import render_to_string
+from common.djangoapps.edxmako.shortcuts import render_to_string
 
 
 class RuntimeShim(object):
diff --git a/openedx/core/djangolib/testing/utils.py b/openedx/core/djangolib/testing/utils.py
index b2cb8fb1557a02a79ed954377fab4a7de4481ea7..031ca12ab16d2806ac373400f1c164b62b2b9ebe 100644
--- a/openedx/core/djangolib/testing/utils.py
+++ b/openedx/core/djangolib/testing/utils.py
@@ -89,7 +89,7 @@ class CacheIsolationMixin(object):
                 cache_name: {
                     'BACKEND': 'django.core.cache.backends.locmem.LocMemCache',
                     'LOCATION': cache_name,
-                    'KEY_FUNCTION': 'util.memcache.safe_key',
+                    'KEY_FUNCTION': 'common.djangoapps.util.memcache.safe_key',
                     'OPTIONS': {
                         'MAX_ENTRIES': 1000,
                     },
diff --git a/openedx/core/djangolib/tests/test_oauth2_retirement_utils.py b/openedx/core/djangolib/tests/test_oauth2_retirement_utils.py
index be69cb31b490590b4aed29e20fa3372cec17a35d..21d706a9df946ef66fc0748935afc2031ca4081f 100644
--- a/openedx/core/djangolib/tests/test_oauth2_retirement_utils.py
+++ b/openedx/core/djangolib/tests/test_oauth2_retirement_utils.py
@@ -12,7 +12,7 @@ from oauth2_provider.models import Grant as DOTGrant
 from oauth2_provider.models import RefreshToken as DOTRefreshToken
 
 from openedx.core.djangoapps.oauth_dispatch.tests import factories
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 from ..oauth2_retirement_utils import retire_dot_oauth2_models
 
diff --git a/openedx/core/lib/api/permissions.py b/openedx/core/lib/api/permissions.py
index df889079bcb49627eb299fd68a91986010b8f9e8..b15b651a6475bdb20925ea62c310dba91a532ec5 100644
--- a/openedx/core/lib/api/permissions.py
+++ b/openedx/core/lib/api/permissions.py
@@ -13,7 +13,7 @@ from rest_framework import permissions
 
 from edx_rest_framework_extensions.permissions import IsStaff, IsUserInUrl
 from openedx.core.lib.log_utils import audit_log
-from student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
 
 
 class ApiKeyHeaderPermission(permissions.BasePermission):
diff --git a/openedx/core/lib/api/tests/test_permissions.py b/openedx/core/lib/api/tests/test_permissions.py
index 95633d643a070464ed6004098dcb659f6f251a50..8cc9f6ca2abf22e7797a002304e4200f7d0890e3 100644
--- a/openedx/core/lib/api/tests/test_permissions.py
+++ b/openedx/core/lib/api/tests/test_permissions.py
@@ -9,8 +9,8 @@ from opaque_keys.edx.keys import CourseKey
 from rest_framework.generics import GenericAPIView
 
 from openedx.core.lib.api.permissions import IsCourseStaffInstructor, IsMasterCourseStaffInstructor, IsStaffOrOwner
-from student.roles import CourseInstructorRole, CourseStaffRole
-from student.tests.factories import UserFactory
+from common.djangoapps.student.roles import CourseInstructorRole, CourseStaffRole
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestObject(object):
diff --git a/openedx/core/lib/gating/api.py b/openedx/core/lib/gating/api.py
index 39c913b1c25ee8c6b5e546015efceba9f458486b..003e4e5ac32049496b28d0be060be39ba15e69a9 100644
--- a/openedx/core/lib/gating/api.py
+++ b/openedx/core/lib/gating/api.py
@@ -17,7 +17,7 @@ from lms.djangoapps.course_blocks.api import get_course_blocks
 from lms.djangoapps.courseware.access import _has_access_to_course
 from lms.djangoapps.grades.api import SubsectionGradeFactory
 from openedx.core.lib.gating.exceptions import GatingValidationError
-from util import milestones_helpers
+from common.djangoapps.util import milestones_helpers
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
 
diff --git a/openedx/core/lib/gating/tests/test_api.py b/openedx/core/lib/gating/tests/test_api.py
index e9074ad58caf3632d472b7ea63b05671f4d82d0d..19783a3908b59ad2a4b7eb75b0856be985d9c374 100644
--- a/openedx/core/lib/gating/tests/test_api.py
+++ b/openedx/core/lib/gating/tests/test_api.py
@@ -20,7 +20,7 @@ from lms.djangoapps.grades.tests.base import GradeTestBase
 from lms.djangoapps.grades.tests.utils import mock_get_score
 from openedx.core.lib.gating import api as gating_api
 from openedx.core.lib.gating.exceptions import GatingValidationError
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import TEST_DATA_SPLIT_MODULESTORE, ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 
diff --git a/openedx/core/lib/tests/test_edx_api_utils.py b/openedx/core/lib/tests/test_edx_api_utils.py
index dfd54b1dd3cb59d9d0f9b742d9b982b506c0c603..4c66d633ae876244e904f0adc46843fd31951a3c 100644
--- a/openedx/core/lib/tests/test_edx_api_utils.py
+++ b/openedx/core/lib/tests/test_edx_api_utils.py
@@ -13,7 +13,7 @@ from openedx.core.djangoapps.catalog.utils import create_catalog_api_client
 from openedx.core.djangoapps.credentials.tests.mixins import CredentialsApiConfigMixin
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase, skip_unless_lms
 from openedx.core.lib.edx_api_utils import get_edx_api_data
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 UTILITY_MODULE = 'openedx.core.lib.edx_api_utils'
 TEST_API_URL = 'http://www-internal.example.com/api'
diff --git a/openedx/core/lib/tests/test_time_zone_utils.py b/openedx/core/lib/tests/test_time_zone_utils.py
index 796a237bf9b6713bbc6f89b336cec798db7123a6..0a46337aeff582929c9bfd32715a3643738d65a3 100644
--- a/openedx/core/lib/tests/test_time_zone_utils.py
+++ b/openedx/core/lib/tests/test_time_zone_utils.py
@@ -6,7 +6,7 @@ from freezegun import freeze_time
 from pytz import timezone
 
 from openedx.core.lib.time_zone_utils import get_display_time_zone, get_time_zone_abbr, get_time_zone_offset
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestTimeZoneUtils(TestCase):
diff --git a/openedx/core/lib/xblock_utils/__init__.py b/openedx/core/lib/xblock_utils/__init__.py
index c8c205f2e2f48ff026d38fb3276b9bd28eb4f500..32b121dce91fdba961940f58cc1a088bdf92fc2e 100644
--- a/openedx/core/lib/xblock_utils/__init__.py
+++ b/openedx/core/lib/xblock_utils/__init__.py
@@ -28,8 +28,8 @@ from xblock.core import XBlock
 from xblock.exceptions import InvalidScopeError
 from xblock.scorable import ScorableXBlockMixin
 
-import static_replace
-from edxmako.shortcuts import render_to_string
+from common.djangoapps import static_replace
+from common.djangoapps.edxmako.shortcuts import render_to_string
 from xmodule.seq_module import SequenceModule
 from xmodule.util.xmodule_django import add_webpack_to_fragment
 from xmodule.vertical_block import VerticalBlock
diff --git a/openedx/core/tests/test_admin_view.py b/openedx/core/tests/test_admin_view.py
index 4f02167bf5fc6808f7221ed6441359df19c8e3c9..095e7c40ce35b698f88023565dd08dbef00c90a1 100644
--- a/openedx/core/tests/test_admin_view.py
+++ b/openedx/core/tests/test_admin_view.py
@@ -7,7 +7,7 @@ This is not inside a django app because it is a global property of the system.
 from django.test import Client, TestCase
 from django.urls import reverse
 from edx_toggles.toggles.testutils import override_waffle_switch
-from student.tests.factories import TEST_PASSWORD, UserFactory
+from common.djangoapps.student.tests.factories import UserFactory, TEST_PASSWORD
 
 from openedx.core.djangoapps.user_authn.views.login import ENABLE_LOGIN_USING_THIRDPARTY_AUTH_ONLY
 
diff --git a/openedx/features/announcements/tests/test_announcements.py b/openedx/features/announcements/tests/test_announcements.py
index dc1bd336d3f1871648f0c5cd9fd670915c31ae38..d280aa100bc7ffe2b63cb09f3dcce4036d0e9523 100644
--- a/openedx/features/announcements/tests/test_announcements.py
+++ b/openedx/features/announcements/tests/test_announcements.py
@@ -12,7 +12,7 @@ from django.test import TestCase
 from django.test.client import Client
 from django.urls import reverse
 
-from student.tests.factories import AdminFactory
+from common.djangoapps.student.tests.factories import AdminFactory
 
 from openedx.features.announcements.models import Announcement
 
diff --git a/openedx/features/calendar_sync/plugins.py b/openedx/features/calendar_sync/plugins.py
index 0e07f52649646fba91638228e83a81a1f4c6f802..0c0c801857c577c5b5c575aca753429c7339d718 100644
--- a/openedx/features/calendar_sync/plugins.py
+++ b/openedx/features/calendar_sync/plugins.py
@@ -10,7 +10,7 @@ from openedx.features.calendar_sync.api import SUBSCRIBE, UNSUBSCRIBE
 from openedx.features.calendar_sync.models import UserCalendarSyncConfig
 from openedx.features.course_experience import CALENDAR_SYNC_FLAG, RELATIVE_DATES_FLAG
 from openedx.features.course_experience.course_tools import CourseTool, HttpMethod
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class CalendarSyncToggleTool(CourseTool):
diff --git a/openedx/features/calendar_sync/tests/test_api.py b/openedx/features/calendar_sync/tests/test_api.py
index d238374b8c02a455fc7fba10c68d034988ff57cb..f38a85be47a69b26d7b1cf0138bd46d7a97fb7a5 100644
--- a/openedx/features/calendar_sync/tests/test_api.py
+++ b/openedx/features/calendar_sync/tests/test_api.py
@@ -3,7 +3,7 @@
 
 from openedx.features.calendar_sync.api import subscribe_user_to_calendar, unsubscribe_user_to_calendar
 from openedx.features.calendar_sync.models import UserCalendarSyncConfig
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/features/calendar_sync/tests/test_ics.py b/openedx/features/calendar_sync/tests/test_ics.py
index fd4ff6c1e2e7273bb6a59d545825f9ee25e94f45..c2a5679496599a554f5e46d38ed0b577c9f96fd4 100644
--- a/openedx/features/calendar_sync/tests/test_ics.py
+++ b/openedx/features/calendar_sync/tests/test_ics.py
@@ -13,7 +13,7 @@ from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfi
 from openedx.features.calendar_sync import get_calendar_event_id
 from openedx.features.calendar_sync.ics import generate_ics_files_for_user_course
 from openedx.features.calendar_sync.tests.factories import UserCalendarSyncConfigFactory
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class TestIcsGeneration(TestCase):
diff --git a/openedx/features/calendar_sync/tests/test_init.py b/openedx/features/calendar_sync/tests/test_init.py
index 6722abfb9e0655f75bcac41e1d6e7016e64b1018..527f9cf8d9755c92ab3e8cfc6a0388068f52be68 100644
--- a/openedx/features/calendar_sync/tests/test_init.py
+++ b/openedx/features/calendar_sync/tests/test_init.py
@@ -4,7 +4,7 @@
 from django.test import TestCase
 
 from openedx.features.calendar_sync import get_calendar_event_id
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 TEST_PASSWORD = 'test'
 
diff --git a/openedx/features/calendar_sync/tests/test_models.py b/openedx/features/calendar_sync/tests/test_models.py
index fe1f51a6fba1e9df5580f074e79b384dc56df158..6c4a5385c5e165bba821e4167bf9ab0d9dedb3bd 100644
--- a/openedx/features/calendar_sync/tests/test_models.py
+++ b/openedx/features/calendar_sync/tests/test_models.py
@@ -2,7 +2,7 @@
 
 
 from openedx.features.calendar_sync.models import UserCalendarSyncConfig
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/features/calendar_sync/views/calendar_sync.py b/openedx/features/calendar_sync/views/calendar_sync.py
index 930d3d80ab5b6f8561cecff85541e499400ceb77..a35b9d7464f3b60cb299b67a8f6a81cbcc32de52 100644
--- a/openedx/features/calendar_sync/views/calendar_sync.py
+++ b/openedx/features/calendar_sync/views/calendar_sync.py
@@ -18,7 +18,7 @@ from rest_framework import status
 from openedx.features.calendar_sync.api import (
     SUBSCRIBE, UNSUBSCRIBE, subscribe_user_to_calendar, unsubscribe_user_to_calendar
 )
-from util.views import ensure_valid_course_key
+from common.djangoapps.util.views import ensure_valid_course_key
 
 
 class CalendarSyncView(View):
diff --git a/openedx/features/content_type_gating/helpers.py b/openedx/features/content_type_gating/helpers.py
index 2326e209af9731c996c2d12f750a5fbb166ff058..b0c0bb4fec093439bc55ea4b81be20d98c1a922e 100644
--- a/openedx/features/content_type_gating/helpers.py
+++ b/openedx/features/content_type_gating/helpers.py
@@ -6,10 +6,10 @@ import logging
 
 from django.utils import timezone
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from openedx.core.djangoapps.config_model_utils.utils import is_in_holdback
-from student.models import CourseEnrollment
-from student.role_helpers import has_staff_roles
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.role_helpers import has_staff_roles
 from xmodule.partitions.partitions import Group
 
 # Studio generates partition IDs starting at 100. There is already a manually generated
diff --git a/openedx/features/content_type_gating/partitions.py b/openedx/features/content_type_gating/partitions.py
index 77369ddee002c910d8ad4460a15587518b773619..0394ac677c27eb2e05811360c68108c4032cfb23 100644
--- a/openedx/features/content_type_gating/partitions.py
+++ b/openedx/features/content_type_gating/partitions.py
@@ -16,7 +16,7 @@ from django.template.loader import render_to_string
 from django.utils.translation import ugettext_lazy as _
 from web_fragments.fragment import Fragment
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.commerce.utils import EcommerceService
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.lib.mobile_utils import is_request_from_mobile_app
diff --git a/openedx/features/content_type_gating/tests/test_access.py b/openedx/features/content_type_gating/tests/test_access.py
index 3daf966a2822e31afb4b7f1ebca1ea335485126f..faa0baae428ed89ff347aec71ff102a9e0ce2c59 100644
--- a/openedx/features/content_type_gating/tests/test_access.py
+++ b/openedx/features/content_type_gating/tests/test_access.py
@@ -19,7 +19,7 @@ from mock import patch, Mock
 from pyquery import PyQuery as pq
 
 from lms.djangoapps.course_api.blocks.api import get_blocks
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.module_render import load_single_xblock
 from lms.djangoapps.courseware.tests.factories import (
     BetaTesterFactory,
@@ -46,9 +46,9 @@ from openedx.features.content_type_gating.helpers import CONTENT_GATING_PARTITIO
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.content_type_gating.partitions import ContentTypeGatingPartition
 from openedx.features.content_type_gating.services import ContentTypeGatingService
-from student.models import CourseEnrollment, FBEEnrollmentExclusion
-from student.roles import CourseInstructorRole
-from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment, FBEEnrollmentExclusion
+from common.djangoapps.student.roles import CourseInstructorRole
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase, SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
 from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID
diff --git a/openedx/features/content_type_gating/tests/test_models.py b/openedx/features/content_type_gating/tests/test_models.py
index e58aa32ac48869b15e39a8047fe95fd0c00de907..c60b6ad8a3ceec99af15ca96d308b495c22ae8bd 100644
--- a/openedx/features/content_type_gating/tests/test_models.py
+++ b/openedx/features/content_type_gating/tests/test_models.py
@@ -10,14 +10,14 @@ from edx_django_utils.cache import RequestCache
 from mock import Mock
 from opaque_keys.edx.locator import CourseLocator
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from edx_toggles.toggles.testutils import override_waffle_flag
 from openedx.core.djangoapps.config_model_utils.models import Provenance
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/features/content_type_gating/tests/test_partitions.py b/openedx/features/content_type_gating/tests/test_partitions.py
index 658f050b98d09b8f2fb771b3878e06a6e64dcd33..3de4d0218311dea6bbb7c7a84f31e8b987dc057b 100644
--- a/openedx/features/content_type_gating/tests/test_partitions.py
+++ b/openedx/features/content_type_gating/tests/test_partitions.py
@@ -7,14 +7,14 @@ from django.test import RequestFactory
 from mock import Mock, patch
 from opaque_keys.edx.keys import CourseKey
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.tests.factories import GlobalStaffFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.features.content_type_gating.helpers import CONTENT_GATING_PARTITION_ID, FULL_ACCESS, LIMITED_ACCESS
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.content_type_gating.partitions import ContentTypeGatingPartition, create_content_gating_partition
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
-from student.tests.factories import GroupFactory
+from common.djangoapps.student.tests.factories import GroupFactory
 from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID, UserPartitionError
 
 
diff --git a/openedx/features/course_bookmarks/plugins.py b/openedx/features/course_bookmarks/plugins.py
index 88a6988b8db51b8f2afd4b17c6d9d62df876f11b..7acf0e5e5d00d7e180e40d8e6f3ff1bda364e18c 100644
--- a/openedx/features/course_bookmarks/plugins.py
+++ b/openedx/features/course_bookmarks/plugins.py
@@ -8,7 +8,7 @@ from django.utils.translation import ugettext as _
 
 from lms.djangoapps.courseware.permissions import EDIT_BOOKMARK
 from openedx.features.course_experience.course_tools import CourseTool
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class CourseBookmarksTool(CourseTool):
diff --git a/openedx/features/course_bookmarks/views/course_bookmarks.py b/openedx/features/course_bookmarks/views/course_bookmarks.py
index 585b047ba3531a447aeab4ae36c3544524aac846..3a3c740e5b95832251dfec417f11e4dd2a714d9e 100644
--- a/openedx/features/course_bookmarks/views/course_bookmarks.py
+++ b/openedx/features/course_bookmarks/views/course_bookmarks.py
@@ -21,7 +21,7 @@ from lms.djangoapps.courseware.courses import get_course_with_access
 from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
 from openedx.core.djangoapps.user_api.models import UserPreference
 from openedx.features.course_experience import default_course_url_name
-from util.views import ensure_valid_course_key
+from common.djangoapps.util.views import ensure_valid_course_key
 
 
 class CourseBookmarksView(View):
diff --git a/openedx/features/course_duration_limits/access.py b/openedx/features/course_duration_limits/access.py
index a6f6781b5f00e742aa5de0070ee85ec9f1a7cfad..fb8455b66dc16a060b2337e85bd0d70bac1504dd 100644
--- a/openedx/features/course_duration_limits/access.py
+++ b/openedx/features/course_duration_limits/access.py
@@ -14,7 +14,7 @@ from django.utils.translation import ugettext as _
 from edx_django_utils.cache import RequestCache
 from web_fragments.fragment import Fragment
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.access_response import AccessError
 from lms.djangoapps.courseware.access_utils import ACCESS_GRANTED
 from lms.djangoapps.courseware.utils import verified_upgrade_deadline_link
@@ -24,8 +24,8 @@ from openedx.core.djangoapps.content.course_overviews.models import CourseOvervi
 from openedx.core.djangoapps.course_date_signals.utils import get_expected_duration
 from openedx.core.djangolib.markup import HTML
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
-from student.models import CourseEnrollment
-from util.date_utils import strftime_localized
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.date_utils import strftime_localized
 
 EXPIRATION_DATE_FORMAT_STR = u'%b %-d, %Y'
 
diff --git a/openedx/features/course_duration_limits/tests/test_access.py b/openedx/features/course_duration_limits/tests/test_access.py
index 8f621b5856b0e59b0ea68588a9ad056b0032a81a..b872f18f4082a9cbfc3b8c1d854fd051b7d9839c 100644
--- a/openedx/features/course_duration_limits/tests/test_access.py
+++ b/openedx/features/course_duration_limits/tests/test_access.py
@@ -8,8 +8,8 @@ import ddt
 from django.utils import timezone
 from pytz import UTC
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.courseware.models import DynamicUpgradeDeadlineConfiguration
 from openedx.core.djangoapps.schedules.tests.factories import ScheduleFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
@@ -19,8 +19,8 @@ from openedx.features.course_duration_limits.access import (
     get_user_course_expiration_date
 )
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
-from student.tests.factories import CourseEnrollmentFactory
-from util.date_utils import strftime_localized
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory
+from common.djangoapps.util.date_utils import strftime_localized
 
 
 @ddt.ddt
diff --git a/openedx/features/course_duration_limits/tests/test_course_expiration.py b/openedx/features/course_duration_limits/tests/test_course_expiration.py
index d05d46f0e574d12b50d9ff23efd862f61d273190..00cc1724c173b4c9e145979b585edf17b53f4f58 100644
--- a/openedx/features/course_duration_limits/tests/test_course_expiration.py
+++ b/openedx/features/course_duration_limits/tests/test_course_expiration.py
@@ -11,7 +11,7 @@ from django.conf import settings
 from django.urls import reverse
 from django.utils.timezone import now
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.tests.factories import (
     BetaTesterFactory,
     GlobalStaffFactory,
@@ -35,9 +35,9 @@ from openedx.features.content_type_gating.helpers import CONTENT_GATING_PARTITIO
 from openedx.features.course_duration_limits.access import get_user_course_expiration_date
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
 from openedx.features.course_experience.tests.views.helpers import add_course_mode
-from student.models import CourseEnrollment, FBEEnrollmentExclusion
-from student.roles import CourseInstructorRole
-from student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment, FBEEnrollmentExclusion
+from common.djangoapps.student.roles import CourseInstructorRole
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID
diff --git a/openedx/features/course_duration_limits/tests/test_models.py b/openedx/features/course_duration_limits/tests/test_models.py
index 2da1d5128f28a665053c72a4bf5c91f208243edc..98c042b6369d1ce87780ed9f21342f347774700c 100644
--- a/openedx/features/course_duration_limits/tests/test_models.py
+++ b/openedx/features/course_duration_limits/tests/test_models.py
@@ -13,13 +13,13 @@ from edx_django_utils.cache import RequestCache
 from mock import Mock
 from opaque_keys.edx.locator import CourseLocator
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from openedx.core.djangoapps.config_model_utils.models import Provenance
 from openedx.core.djangoapps.content.course_overviews.tests.factories import CourseOverviewFactory
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.features.course_duration_limits.models import CourseDurationLimitConfig
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/features/course_experience/api/v1/tests/test_views.py b/openedx/features/course_experience/api/v1/tests/test_views.py
index fdd208ee76fe8ab187598cc37fb47afd6f5c7b3d..795e61d74fe21f0e4714f1c3a8e68b5f323f88ad 100644
--- a/openedx/features/course_experience/api/v1/tests/test_views.py
+++ b/openedx/features/course_experience/api/v1/tests/test_views.py
@@ -5,9 +5,9 @@ import ddt
 
 from django.urls import reverse
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.course_home_api.tests.utils import BaseCourseHomeTests
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 @ddt.ddt
diff --git a/openedx/features/course_experience/plugins.py b/openedx/features/course_experience/plugins.py
index 65ec4b3bca6b0e69e4761ad7f60421e1a09a3782..7e801fa26772b54de98f081fb85e2c8072ca6d06 100644
--- a/openedx/features/course_experience/plugins.py
+++ b/openedx/features/course_experience/plugins.py
@@ -9,7 +9,7 @@ from django.urls import reverse
 from django.utils.translation import ugettext as _
 
 from lms.djangoapps.courseware.courses import get_course_by_id
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 from . import DISABLE_UNIFIED_COURSE_TAB_FLAG, SHOW_REVIEWS_TOOL_FLAG
 from .course_tools import CourseTool
diff --git a/openedx/features/course_experience/tests/views/helpers.py b/openedx/features/course_experience/tests/views/helpers.py
index 5c02e87ccac546eaaff9deb970cbcaff414db98f..e38700c7eee6fd3c791ece8ddefb8ee5fad98fe2 100644
--- a/openedx/features/course_experience/tests/views/helpers.py
+++ b/openedx/features/course_experience/tests/views/helpers.py
@@ -8,7 +8,7 @@ from datetime import timedelta
 from django.core.exceptions import ObjectDoesNotExist
 from django.utils.timezone import now
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 
 TEST_COURSE_PRICE = 50
 
diff --git a/openedx/features/course_experience/tests/views/test_course_dates.py b/openedx/features/course_experience/tests/views/test_course_dates.py
index db81ed41b6a7eec154365ee41dcb93262695611c..5bd34bb8728becdc88d929982b80b9bc5281956f 100644
--- a/openedx/features/course_experience/tests/views/test_course_dates.py
+++ b/openedx/features/course_experience/tests/views/test_course_dates.py
@@ -8,7 +8,7 @@ from datetime import datetime, timedelta
 import six
 from django.urls import reverse
 
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
diff --git a/openedx/features/course_experience/tests/views/test_course_home.py b/openedx/features/course_experience/tests/views/test_course_home.py
index 1a71adcd66b9195a9f7e3facd5d6315c78448365..5c727ac54ae43297faca23f088248e8b6ca432a1 100644
--- a/openedx/features/course_experience/tests/views/test_course_home.py
+++ b/openedx/features/course_experience/tests/views/test_course_home.py
@@ -19,8 +19,8 @@ from pytz import UTC
 from waffle.models import Flag
 from waffle.testutils import override_flag
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.experiments.models import ExperimentData
 from lms.djangoapps.commerce.models import CommerceConfiguration
 from lms.djangoapps.commerce.utils import EcommerceService
@@ -56,9 +56,9 @@ from openedx.features.course_experience import (
 )
 from openedx.features.discounts.applicability import get_discount_expiration_date
 from openedx.features.discounts.utils import REV1008_EXPERIMENT_ID, format_strikeout_price
-from student.models import CourseEnrollment, FBEEnrollmentExclusion
-from student.tests.factories import UserFactory
-from util.date_utils import strftime_localized
+from common.djangoapps.student.models import CourseEnrollment, FBEEnrollmentExclusion
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.date_utils import strftime_localized
 from xmodule.course_module import COURSE_VISIBILITY_PRIVATE, COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import CourseUserType, ModuleStoreTestCase, SharedModuleStoreTestCase
@@ -671,7 +671,7 @@ class TestCourseHomePageAccess(CourseHomePageTestCase):
         self.assertEqual(response.status_code, 200)
 
     @mock.patch.dict(settings.FEATURES, {'DISABLE_START_DATES': False})
-    @mock.patch("util.date_utils.strftime_localized")
+    @mock.patch("common.djangoapps.util.date_utils.strftime_localized")
     def test_non_live_course_other_language(self, mock_strftime_localized):
         """
         Ensure that a user accessing a non-live course sees a redirect to
@@ -817,7 +817,7 @@ class TestCourseHomePageAccess(CourseHomePageTestCase):
         bannerText = get_expiration_banner_text(self.staff_user, self.course)
         self.assertNotContains(response, bannerText, html=True)
 
-    @mock.patch("util.date_utils.strftime_localized")
+    @mock.patch("common.djangoapps.util.date_utils.strftime_localized")
     @mock.patch("openedx.features.course_duration_limits.access.get_date_string")
     def test_course_expiration_banner_with_unicode(self, mock_strftime_localized, mock_get_date_string):
         """
diff --git a/openedx/features/course_experience/tests/views/test_course_outline.py b/openedx/features/course_experience/tests/views/test_course_outline.py
index a865d8a6207d9d1b3324b4c79d3608a7412e04d5..ab5e6b13ee807ea7e47459ffc65c37f88864a84f 100644
--- a/openedx/features/course_experience/tests/views/test_course_outline.py
+++ b/openedx/features/course_experience/tests/views/test_course_outline.py
@@ -24,8 +24,8 @@ from six import text_type
 from waffle.models import Switch
 from waffle.testutils import override_switch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.course_api.blocks.transformers.milestones import MilestonesAndSpecialExamsTransformer
 from lms.djangoapps.gating import api as lms_gating_api
 from lms.djangoapps.courseware.tests.factories import StaffFactory
@@ -42,8 +42,8 @@ from openedx.features.course_experience.views.course_outline import (
     DEFAULT_COMPLETION_TRACKING_START,
     CourseOutlineFragmentView
 )
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/openedx/features/course_experience/tests/views/test_course_sock.py b/openedx/features/course_experience/tests/views/test_course_sock.py
index 8dd8b012a2cc641c2741941d6c14bfc6fe5d6d48..6c11abb92a93df192d7930ab69a3c30c057647d0 100644
--- a/openedx/features/course_experience/tests/views/test_course_sock.py
+++ b/openedx/features/course_experience/tests/views/test_course_sock.py
@@ -7,11 +7,11 @@ import ddt
 import mock
 from edx_toggles.toggles.testutils import override_waffle_flag
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.commerce.models import CommerceConfiguration
 from openedx.core.djangolib.markup import HTML
 from openedx.features.course_experience import DISPLAY_COURSE_SOCK_FLAG
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/features/course_experience/tests/views/test_course_updates.py b/openedx/features/course_experience/tests/views/test_course_updates.py
index 0adf7a1e89f73e5b7c2d80abc078d75c8cc2dae4..b9113290c1a7b6201abf57e8551040804a36f9d1 100644
--- a/openedx/features/course_experience/tests/views/test_course_updates.py
+++ b/openedx/features/course_experience/tests/views/test_course_updates.py
@@ -12,8 +12,8 @@ from lms.djangoapps.courseware.courses import get_course_info_usage_key
 from openedx.core.djangoapps.waffle_utils.testutils import WAFFLE_TABLES
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
 from openedx.features.course_experience.views.course_updates import STATUS_VISIBLE
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.django import modulestore
 from xmodule.modulestore.exceptions import ItemNotFoundError
diff --git a/openedx/features/course_experience/tests/views/test_masquerade.py b/openedx/features/course_experience/tests/views/test_masquerade.py
index 0072a69612d876ec4f22af97598533b929af1a7e..20f9470c159282764b3d155f92ff3a983c77a887 100644
--- a/openedx/features/course_experience/tests/views/test_masquerade.py
+++ b/openedx/features/course_experience/tests/views/test_masquerade.py
@@ -5,8 +5,8 @@ Tests for masquerading functionality on course_experience
 from edx_toggles.toggles.testutils import override_waffle_flag
 from lms.djangoapps.courseware.tests.helpers import MasqueradeMixin
 from openedx.features.course_experience import DISPLAY_COURSE_SOCK_FLAG, SHOW_UPGRADE_MSG_ON_COURSE_HOME
-from student.roles import CourseStaffRole
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.roles import CourseStaffRole
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 from xmodule.partitions.partitions import ENROLLMENT_TRACK_PARTITION_ID
diff --git a/openedx/features/course_experience/tests/views/test_welcome_message.py b/openedx/features/course_experience/tests/views/test_welcome_message.py
index a3e4d4389d18eae1a94ea2207541a77c77e0da74..c75b93b947c3fd8562b4e3105ea13955089019ca 100644
--- a/openedx/features/course_experience/tests/views/test_welcome_message.py
+++ b/openedx/features/course_experience/tests/views/test_welcome_message.py
@@ -7,8 +7,8 @@ import ddt
 import six
 from django.urls import reverse
 
-from student.models import CourseEnrollment
-from student.tests.factories import UserFactory
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/openedx/features/course_experience/utils.py b/openedx/features/course_experience/utils.py
index 5acb6dc4e469849658b6c258785bf05421f537c3..f5af09d5e485cc081d87554cec4e284202e931ec 100644
--- a/openedx/features/course_experience/utils.py
+++ b/openedx/features/course_experience/utils.py
@@ -11,7 +11,6 @@ from django.utils import timezone
 from opaque_keys.edx.keys import CourseKey
 from six.moves import range
 
-from course_modes.models import CourseMode
 from lms.djangoapps.course_api.blocks.api import get_blocks
 from lms.djangoapps.course_blocks.api import get_course_blocks
 from lms.djangoapps.course_blocks.utils import get_student_module_as_dict
@@ -19,7 +18,7 @@ from lms.djangoapps.courseware.access import has_access
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.lib.cache_utils import request_cached
 from openedx.features.course_experience import RELATIVE_DATES_FLAG
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.modulestore.django import modulestore
 
 
diff --git a/openedx/features/course_experience/views/course_dates.py b/openedx/features/course_experience/views/course_dates.py
index bebdb7079d2e0a1897f53dda0c6c50f8c572c2f3..78e439742bc15a988d99d3e9d22785a89d6a383f 100644
--- a/openedx/features/course_experience/views/course_dates.py
+++ b/openedx/features/course_experience/views/course_dates.py
@@ -18,7 +18,6 @@ from lms.djangoapps.courseware.tabs import DatesTab
 from lms.djangoapps.course_home_api.toggles import course_home_mfe_dates_tab_is_active
 from lms.djangoapps.course_home_api.utils import get_microfrontend_url
 from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
-from student.models import CourseEnrollment
 
 
 class CourseDatesFragmentView(EdxFragmentView):
diff --git a/openedx/features/course_experience/views/course_home.py b/openedx/features/course_experience/views/course_home.py
index edbf2dd07e336da17117cfc536eae1d8f4761efb..f495eb3ea3e569716d93b83ec940f422d6f3c6c9 100644
--- a/openedx/features/course_experience/views/course_home.py
+++ b/openedx/features/course_experience/views/course_home.py
@@ -33,8 +33,8 @@ from openedx.features.course_duration_limits.access import generate_course_expir
 from openedx.features.course_experience.course_tools import CourseToolsPluginManager
 from openedx.features.discounts.utils import get_first_purchase_offer_banner_fragment
 from openedx.features.discounts.utils import format_strikeout_price
-from student.models import CourseEnrollment
-from util.views import ensure_valid_course_key
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.views import ensure_valid_course_key
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC, COURSE_VISIBILITY_PUBLIC_OUTLINE
 
 from .. import (
diff --git a/openedx/features/course_experience/views/course_home_messages.py b/openedx/features/course_experience/views/course_home_messages.py
index d1c32b761d4eb5ce13785c5cdf15b3b589c8c69c..5e2671ea9333857b447064fdea60c046d36f15c9 100644
--- a/openedx/features/course_experience/views/course_home_messages.py
+++ b/openedx/features/course_experience/views/course_home_messages.py
@@ -15,7 +15,7 @@ from opaque_keys.edx.keys import CourseKey
 from pytz import UTC
 from web_fragments.fragment import Fragment
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.courseware.courses import get_course_date_blocks, get_course_with_access
 from lms.djangoapps.course_goals.api import (
     get_course_goal,
@@ -29,7 +29,7 @@ from lms.djangoapps.courseware.access_utils import check_public_access
 from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.features.course_experience import CourseHomeMessages
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC
 
 
diff --git a/openedx/features/course_experience/views/course_outline.py b/openedx/features/course_experience/views/course_outline.py
index dfb2477d8499ba802120a970ada5f15ae191e4b4..a7fb935642f980c8902e7599dc2321940571e77e 100644
--- a/openedx/features/course_experience/views/course_outline.py
+++ b/openedx/features/course_experience/views/course_outline.py
@@ -22,7 +22,6 @@ from pytz import UTC
 from waffle.models import Switch
 from web_fragments.fragment import Fragment
 
-from course_modes.models import CourseMode
 from lms.djangoapps.courseware.access import has_access
 from lms.djangoapps.courseware.courses import get_course_overview_with_access
 from lms.djangoapps.courseware.date_summary import verified_upgrade_deadline_link
@@ -33,8 +32,8 @@ from openedx.core.djangoapps.schedules.utils import reset_self_paced_schedule
 from openedx.features.course_experience import RELATIVE_DATES_FLAG
 from openedx.features.course_experience.utils import dates_banner_should_display
 from openedx.features.content_type_gating.models import ContentTypeGatingConfig
-from student.models import CourseEnrollment
-from util.milestones_helpers import get_course_content_milestones
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.util.milestones_helpers import get_course_content_milestones
 from xmodule.course_module import COURSE_VISIBILITY_PUBLIC
 from xmodule.modulestore.django import modulestore
 
diff --git a/openedx/features/course_experience/views/course_reviews.py b/openedx/features/course_experience/views/course_reviews.py
index c139015b94695016495d04178f1064dfd7ca6d2b..bf29aa650ab9905e6d0b66d6da08465a68d51cde 100644
--- a/openedx/features/course_experience/views/course_reviews.py
+++ b/openedx/features/course_experience/views/course_reviews.py
@@ -17,7 +17,7 @@ from lms.djangoapps.courseware.courses import get_course_with_access
 from lms.djangoapps.courseware.views.views import CourseTabView
 from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
 from openedx.features.course_experience import default_course_url_name
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class CourseReviewsView(CourseTabView):
diff --git a/openedx/features/course_experience/views/course_sock.py b/openedx/features/course_experience/views/course_sock.py
index ae06fd2995830e66ba5f766276c8adc374e70081..a095ad048165f79c813838f55cf98deeaf1b0c15 100644
--- a/openedx/features/course_experience/views/course_sock.py
+++ b/openedx/features/course_experience/views/course_sock.py
@@ -11,7 +11,7 @@ from lms.djangoapps.courseware.utils import (
 )
 from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
 from openedx.features.discounts.utils import format_strikeout_price
-from student.models import CourseEnrollment
+from common.djangoapps.student.models import CourseEnrollment
 
 
 class CourseSockFragmentView(EdxFragmentView):
diff --git a/openedx/features/course_search/views/course_search.py b/openedx/features/course_search/views/course_search.py
index 036029ec95f13cbc27894b61bd0242e21bb0f8dd..5d7fe587ed079953f9f3e5a22a9dd645a87ead31 100644
--- a/openedx/features/course_search/views/course_search.py
+++ b/openedx/features/course_search/views/course_search.py
@@ -18,7 +18,7 @@ from lms.djangoapps.courseware.courses import get_course_overview_with_access
 from lms.djangoapps.courseware.views.views import CourseTabView
 from openedx.core.djangoapps.plugin_api.views import EdxFragmentView
 from openedx.features.course_experience import default_course_url_name
-from util.views import ensure_valid_course_key
+from common.djangoapps.util.views import ensure_valid_course_key
 
 
 class CourseSearchView(CourseTabView):
diff --git a/openedx/features/discounts/applicability.py b/openedx/features/discounts/applicability.py
index 9ca8331779b2f6f5b3f947d4a6ce9cb56c1d2acd..e1487f6ac00b5944a014736afc67f8cb4ba523b4 100644
--- a/openedx/features/discounts/applicability.py
+++ b/openedx/features/discounts/applicability.py
@@ -18,13 +18,13 @@ from django.utils import timezone
 from django.utils.dateparse import parse_datetime
 from edx_toggles.toggles import WaffleFlag, WaffleFlagNamespace
 
-from course_modes.models import CourseMode
-from entitlements.models import CourseEntitlement
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.entitlements.models import CourseEntitlement
 from lms.djangoapps.experiments.models import ExperimentData
 from lms.djangoapps.experiments.stable_bucketing import stable_bucketing_hash_group
 from openedx.features.discounts.models import DiscountPercentageConfig, DiscountRestrictionConfig
-from student.models import CourseEnrollment
-from track import segment
+from common.djangoapps.student.models import CourseEnrollment
+from common.djangoapps.track import segment
 
 # .. toggle_name: discounts.enable_discounting
 # .. toggle_implementation: WaffleFlag
diff --git a/openedx/features/discounts/tests/test_applicability.py b/openedx/features/discounts/tests/test_applicability.py
index e79963b0fe051afc48aa1a27508ae3166543a81a..7ba7eaf9ef9f301dc2a06e905870c551938f0cf4 100644
--- a/openedx/features/discounts/tests/test_applicability.py
+++ b/openedx/features/discounts/tests/test_applicability.py
@@ -13,14 +13,14 @@ from edx_toggles.toggles.testutils import override_waffle_flag
 from enterprise.models import EnterpriseCustomer, EnterpriseCustomerUser
 from mock import Mock, patch
 
-from course_modes.models import CourseMode
-from course_modes.tests.factories import CourseModeFactory
-from entitlements.tests.factories import CourseEntitlementFactory
+from common.djangoapps.course_modes.models import CourseMode
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.entitlements.tests.factories import CourseEntitlementFactory
 from lms.djangoapps.experiments.models import ExperimentData
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.features.discounts.models import DiscountRestrictionConfig
 from openedx.features.discounts.utils import REV1008_EXPERIMENT_ID
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/features/discounts/tests/test_discount_restriction_models.py b/openedx/features/discounts/tests/test_discount_restriction_models.py
index 1288d202e329e00926db52fd8f939069ef0c380d..8e7efcb093610059103d84dde84eab5ff988ba6d 100644
--- a/openedx/features/discounts/tests/test_discount_restriction_models.py
+++ b/openedx/features/discounts/tests/test_discount_restriction_models.py
@@ -11,7 +11,7 @@ from openedx.core.djangoapps.content.course_overviews.tests.factories import Cou
 from openedx.core.djangoapps.site_configuration.tests.factories import SiteConfigurationFactory
 from openedx.core.djangolib.testing.utils import CacheIsolationTestCase
 from openedx.features.discounts.models import DiscountRestrictionConfig
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/features/discounts/tests/test_views.py b/openedx/features/discounts/tests/test_views.py
index da29f4200eb4ee3c8a461a8067c4c90d79509763..9bf92678a6389bf6ae971f17e2e89069f7267d07 100644
--- a/openedx/features/discounts/tests/test_views.py
+++ b/openedx/features/discounts/tests/test_views.py
@@ -7,7 +7,7 @@ import six
 from django.test.client import Client
 from django.urls import reverse
 
-from student.tests.factories import TEST_PASSWORD, UserFactory
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/features/discounts/utils.py b/openedx/features/discounts/utils.py
index 22e188a90314d3a365d10113bcade778e1fd240a..0352a91725e3ecc4c311a3cdfd37a661de695fa8 100644
--- a/openedx/features/discounts/utils.py
+++ b/openedx/features/discounts/utils.py
@@ -11,7 +11,7 @@ from django.utils.translation import ugettext as _
 from edx_django_utils.cache import RequestCache
 from web_fragments.fragment import Fragment
 
-from course_modes.models import format_course_price, get_course_prices
+from common.djangoapps.course_modes.models import format_course_price, get_course_prices
 from lms.djangoapps.experiments.models import ExperimentData
 from lms.djangoapps.courseware.utils import verified_upgrade_deadline_link
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
diff --git a/openedx/features/enterprise_support/admin/views.py b/openedx/features/enterprise_support/admin/views.py
index 838d22fbc3811d8f42176d61bab6201e1e7bfaa1..9238caaea3d8399051ec672e209056aa51ba4f7a 100644
--- a/openedx/features/enterprise_support/admin/views.py
+++ b/openedx/features/enterprise_support/admin/views.py
@@ -9,7 +9,7 @@ from django.views.generic.edit import FormView
 from enterprise.models import EnterpriseCourseEnrollment
 
 from openedx.features.enterprise_support.admin.forms import CSVImportForm
-from student.models import CourseEnrollment, CourseEnrollmentAttribute
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAttribute
 
 
 class EnrollmentAttributeOverrideView(FormView):
diff --git a/openedx/features/enterprise_support/api.py b/openedx/features/enterprise_support/api.py
index febe4a6d9607cc909c1623e1ecb5bcebaa9b91a3..ceaff8ffb820fd8023f0b8ddd499e97cdede85de 100644
--- a/openedx/features/enterprise_support/api.py
+++ b/openedx/features/enterprise_support/api.py
@@ -25,8 +25,8 @@ from openedx.core.djangoapps.oauth_dispatch.jwt import create_jwt_for_user
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.features.enterprise_support.utils import get_data_consent_share_cache_key
-from third_party_auth.pipeline import get as get_partial_pipeline
-from third_party_auth.provider import Registry
+from common.djangoapps.third_party_auth.pipeline import get as get_partial_pipeline
+from common.djangoapps.third_party_auth.provider import Registry
 
 try:
     from enterprise.models import (
diff --git a/openedx/features/enterprise_support/signals.py b/openedx/features/enterprise_support/signals.py
index d41203c17039775036fefe5b3b4ddd18f076129c..7d7f472aea51272d35c17b28bc0af75d3d3a491c 100644
--- a/openedx/features/enterprise_support/signals.py
+++ b/openedx/features/enterprise_support/signals.py
@@ -20,7 +20,7 @@ from openedx.core.djangoapps.signals.signals import COURSE_GRADE_NOW_PASSED
 from openedx.features.enterprise_support.api import enterprise_enabled
 from openedx.features.enterprise_support.tasks import clear_enterprise_customer_data_consent_share_cache
 from openedx.features.enterprise_support.utils import clear_data_consent_share_cache, is_enterprise_learner
-from student.signals import UNENROLL_DONE
+from common.djangoapps.student.signals import UNENROLL_DONE
 
 log = logging.getLogger(__name__)
 
diff --git a/openedx/features/enterprise_support/tests/test_admin.py b/openedx/features/enterprise_support/tests/test_admin.py
index d47dd29fc69d840c843ecf416b12d1c8defdd882..5519961c0dbc7dcc754a1466f37ca1df50e192bb 100644
--- a/openedx/features/enterprise_support/tests/test_admin.py
+++ b/openedx/features/enterprise_support/tests/test_admin.py
@@ -12,8 +12,8 @@ from django.urls import reverse
 
 from openedx.core.djangoapps.catalog.tests.factories import CourseRunFactory
 from openedx.features.enterprise_support.admin.forms import CSVImportForm
-from student.models import CourseEnrollment, CourseEnrollmentAttribute
-from student.tests.factories import TEST_PASSWORD, AdminFactory, CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollment, CourseEnrollmentAttribute
+from common.djangoapps.student.tests.factories import TEST_PASSWORD, AdminFactory, CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 
 
diff --git a/openedx/features/enterprise_support/tests/test_api.py b/openedx/features/enterprise_support/tests/test_api.py
index 9916adc7bf5f40d70d8d8735a129b2707d95c117..453ff006132baa26384f576f9d43d22bf4385ed8 100644
--- a/openedx/features/enterprise_support/tests/test_api.py
+++ b/openedx/features/enterprise_support/tests/test_api.py
@@ -45,7 +45,7 @@ from openedx.features.enterprise_support.tests.factories import (
 )
 from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseServiceMockMixin
 from openedx.features.enterprise_support.utils import clear_data_consent_share_cache
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 class MockEnrollment(mock.MagicMock):
diff --git a/openedx/features/enterprise_support/tests/test_logout.py b/openedx/features/enterprise_support/tests/test_logout.py
index ddd82ec5bee97e64c95172618e1d4f19402bc582..ec1c9792aa1023217c87e3188b2dd37be8a4be01 100644
--- a/openedx/features/enterprise_support/tests/test_logout.py
+++ b/openedx/features/enterprise_support/tests/test_logout.py
@@ -17,8 +17,8 @@ from openedx.features.enterprise_support.tests import (
     factories
 )
 from openedx.features.enterprise_support.tests.mixins.enterprise import EnterpriseServiceMockMixin
-from student.tests.factories import UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 
 
 @ddt.ddt
diff --git a/openedx/features/enterprise_support/tests/test_signals.py b/openedx/features/enterprise_support/tests/test_signals.py
index ae4bdf53c1d6edcd99a25c0378628a8155f2e0e6..b45f4d5c68be5dcea6347f0821e52dba0c8baf30 100644
--- a/openedx/features/enterprise_support/tests/test_signals.py
+++ b/openedx/features/enterprise_support/tests/test_signals.py
@@ -13,7 +13,7 @@ from opaque_keys.edx.keys import CourseKey
 from slumber.exceptions import HttpClientError, HttpServerError
 from testfixtures import LogCapture
 
-from course_modes.tests.factories import CourseModeFactory
+from common.djangoapps.course_modes.tests.factories import CourseModeFactory
 from lms.djangoapps.certificates.signals import listen_for_passing_grade
 from openedx.core.djangoapps.commerce.utils import ECOMMERCE_DATE_FORMAT
 from openedx.core.djangoapps.credit.tests.test_api import TEST_ECOMMERCE_WORKER
@@ -25,8 +25,8 @@ from openedx.features.enterprise_support.tests.factories import (
     EnterpriseCustomerUserFactory
 )
 from openedx.features.enterprise_support.utils import get_data_consent_share_cache_key
-from student.models import CourseEnrollmentAttribute
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.models import CourseEnrollmentAttribute
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/features/enterprise_support/tests/test_utils.py b/openedx/features/enterprise_support/tests/test_utils.py
index 3c8b106f82f77834bf39834ee80de4e72dbfe94c..27a38eb5a6190c7fe35d0c31c5fe86937d5c29d7 100644
--- a/openedx/features/enterprise_support/tests/test_utils.py
+++ b/openedx/features/enterprise_support/tests/test_utils.py
@@ -17,7 +17,7 @@ from openedx.features.enterprise_support.tests.factories import (
     EnterpriseCustomerUserFactory
 )
 from openedx.features.enterprise_support.utils import ENTERPRISE_HEADER_LINKS, get_enterprise_learner_portal
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 
 
 @ddt.ddt
diff --git a/openedx/features/enterprise_support/utils.py b/openedx/features/enterprise_support/utils.py
index 4acbc4d299eb7b0be20edc15a7eecefdf8ef2cce..ca7dcaa460e59e9fc5025ce2756ffdcdc4699975 100644
--- a/openedx/features/enterprise_support/utils.py
+++ b/openedx/features/enterprise_support/utils.py
@@ -15,12 +15,12 @@ from enterprise.api.v1.serializers import EnterpriseCustomerBrandingConfiguratio
 from enterprise.models import EnterpriseCustomer, EnterpriseCustomerUser
 from social_django.models import UserSocialAuth
 
-import third_party_auth
+from common.djangoapps import third_party_auth
 from lms.djangoapps.branding.api import get_privacy_url
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
 from openedx.core.djangoapps.user_authn.cookies import standard_cookie_settings
 from openedx.core.djangolib.markup import HTML, Text
-from student.helpers import get_next_url_for_login_page
+from common.djangoapps.student.helpers import get_next_url_for_login_page
 
 ENTERPRISE_HEADER_LINKS = WaffleFlag('enterprise', 'enterprise_header_links', __name__)
 
diff --git a/openedx/features/learner_profile/static/learner_profile/templates/third_party_auth.html b/openedx/features/learner_profile/static/learner_profile/templates/third_party_auth.html
index 170bde10a9c4eb269d1e5ce95f0b8d7407fae901..e8ed1b1230c8b8c6350bfccd167db5a078c28c6a 100644
--- a/openedx/features/learner_profile/static/learner_profile/templates/third_party_auth.html
+++ b/openedx/features/learner_profile/static/learner_profile/templates/third_party_auth.html
@@ -1,7 +1,7 @@
 <%page expression_filter="h"/>
 <%!
 from django.utils.translation import ugettext as _
-from third_party_auth import pipeline
+from common.djangoapps.third_party_auth import pipeline
 %>
 
 <li class="controls--account">
diff --git a/openedx/features/learner_profile/tests/views/test_learner_profile.py b/openedx/features/learner_profile/tests/views/test_learner_profile.py
index 64e841e2829bfa9a8067cd57592d4d3d1cd0b5dd..1863e56f359d2c08ea1efd2f1e0ba46a3404cf0d 100644
--- a/openedx/features/learner_profile/tests/views/test_learner_profile.py
+++ b/openedx/features/learner_profile/tests/views/test_learner_profile.py
@@ -13,7 +13,7 @@ from django.urls import reverse
 from edx_toggles.toggles.testutils import override_waffle_flag
 from opaque_keys.edx.locator import CourseLocator
 
-from course_modes.models import CourseMode
+from common.djangoapps.course_modes.models import CourseMode
 from lms.djangoapps.certificates.api import is_passing_status
 from lms.djangoapps.certificates.tests.factories import GeneratedCertificateFactory
 from lms.envs.test import CREDENTIALS_PUBLIC_SERVICE_URL
@@ -21,8 +21,8 @@ from openedx.core.djangoapps.content.course_overviews.models import CourseOvervi
 from openedx.core.djangoapps.site_configuration.tests.mixins import SiteMixin
 from openedx.features.learner_profile.toggles import REDIRECT_TO_PROFILE_MICROFRONTEND
 from openedx.features.learner_profile.views.learner_profile import learner_profile_context
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
-from util.testing import UrlResetMixin
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.util.testing import UrlResetMixin
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory
 
diff --git a/openedx/features/learner_profile/views/learner_profile.py b/openedx/features/learner_profile/views/learner_profile.py
index 6be0cf68b560e64cf3396ececbc1c18d20d9a2bc..807ad82c80e36e2a2881f1c6f94cee02236fd1b2 100644
--- a/openedx/features/learner_profile/views/learner_profile.py
+++ b/openedx/features/learner_profile/views/learner_profile.py
@@ -13,7 +13,7 @@ from django.views.decorators.http import require_http_methods
 from django_countries import countries
 
 from lms.djangoapps.badges.utils import badges_enabled
-from edxmako.shortcuts import marketing_link
+from common.djangoapps.edxmako.shortcuts import marketing_link
 from openedx.core.djangoapps.credentials.utils import get_credentials_records_url
 from openedx.core.djangoapps.programs.models import ProgramsApiConfig
 from openedx.core.djangoapps.site_configuration import helpers as configuration_helpers
@@ -23,7 +23,7 @@ from openedx.core.djangoapps.user_api.preferences.api import get_user_preference
 from openedx.core.djangolib.markup import HTML, Text
 from openedx.features.learner_profile.toggles import should_redirect_to_profile_microfrontend
 from openedx.features.learner_profile.views.learner_achievements import LearnerAchievementsFragmentView
-from student.models import User
+from common.djangoapps.student.models import User
 
 
 @login_required
diff --git a/openedx/tests/completion_integration/test_models.py b/openedx/tests/completion_integration/test_models.py
index 8bf85f856495cbf0b58212d1455d2e7bc0898b40..6de84230c2600c523793ab5e50deaf47adcaf92b 100644
--- a/openedx/tests/completion_integration/test_models.py
+++ b/openedx/tests/completion_integration/test_models.py
@@ -14,7 +14,7 @@ from opaque_keys.edx.keys import CourseKey, UsageKey
 from six.moves import range, zip
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 
 SELECT = 1
 UPDATE = 1
diff --git a/openedx/tests/completion_integration/test_services.py b/openedx/tests/completion_integration/test_services.py
index 6dfa658afb5f3bdf1854ff6a4960ee8b85848013..dcdc07e37c443f1f202d9e6f8b1a240acf0a1e08 100644
--- a/openedx/tests/completion_integration/test_services.py
+++ b/openedx/tests/completion_integration/test_services.py
@@ -11,7 +11,7 @@ from opaque_keys.edx.keys import CourseKey
 from six.moves import range
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import UserFactory
+from common.djangoapps.student.tests.factories import UserFactory
 from xmodule.library_tools import LibraryToolsService
 from xmodule.modulestore.tests.django_utils import SharedModuleStoreTestCase, TEST_DATA_SPLIT_MODULESTORE
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory, LibraryFactory
diff --git a/openedx/tests/completion_integration/test_views.py b/openedx/tests/completion_integration/test_views.py
index fa3fdde5e7d5c1884d3a74c056d93f62e6983ca6..2ffcd873444dea5a78f76c741fa1dae76ec0ddcc 100644
--- a/openedx/tests/completion_integration/test_views.py
+++ b/openedx/tests/completion_integration/test_views.py
@@ -13,7 +13,7 @@ from edx_toggles.toggles.testutils import override_waffle_switch
 from rest_framework.test import APIClient
 
 from openedx.core.djangolib.testing.utils import skip_unless_lms
-from student.tests.factories import CourseEnrollmentFactory, UserFactory
+from common.djangoapps.student.tests.factories import CourseEnrollmentFactory, UserFactory
 from xmodule.modulestore import ModuleStoreEnum
 from xmodule.modulestore.tests.django_utils import ModuleStoreTestCase
 from xmodule.modulestore.tests.factories import CourseFactory, ItemFactory
diff --git a/openedx/tests/settings.py b/openedx/tests/settings.py
index f3531473fc255704ed611e115efc697053b84da2..80534cc629a85a6caf0ac7d5bd6d2d6db18ca771 100644
--- a/openedx/tests/settings.py
+++ b/openedx/tests/settings.py
@@ -10,11 +10,6 @@ import tempfile
 from django.utils.translation import ugettext_lazy as _
 from path import Path
 
-# TODO: Remove the rest of the sys.path modification here and in (cms|lms)/envs/common.py
-REPO_ROOT = Path(__file__).abspath().dirname().dirname().dirname()  # /edx-platform/
-sys.path.append(REPO_ROOT / 'common' / 'djangoapps')
-sys.path.append(REPO_ROOT / 'import_shims' / 'lms')
-
 ALL_LANGUAGES = []
 
 BLOCK_STRUCTURES_SETTINGS = dict(
@@ -72,12 +67,12 @@ INSTALLED_APPS = (
     'edxval',
     'lms.djangoapps.courseware',
     'lms.djangoapps.instructor_task',
-    'student',
+    'common.djangoapps.student',
     'openedx.core.djangoapps.site_configuration',
     'lms.djangoapps.grades.apps.GradesConfig',
     'lms.djangoapps.certificates.apps.CertificatesConfig',
     'openedx.core.djangoapps.user_api',
-    'course_modes.apps.CourseModesConfig',
+    'common.djangoapps.course_modes.apps.CourseModesConfig',
     'lms.djangoapps.verify_student.apps.VerifyStudentConfig',
     'openedx.core.djangoapps.content_libraries',
     'openedx.core.djangoapps.dark_lang',
@@ -102,7 +97,7 @@ INSTALLED_APPS = (
 
     # Django 1.11 demands to have imported models supported by installed apps.
     'completion',
-    'entitlements',
+    'common.djangoapps.entitlements',
     'organizations',
 )
 
diff --git a/pylintrc b/pylintrc
index 8ca77c0a5d2a57c24e7cd6967cbe445da5af6085..6f914cc425f06ad852a5056587cd20e3794769cb 100644
--- a/pylintrc
+++ b/pylintrc
@@ -71,7 +71,8 @@
 ignore = ,.git,.tox,migrations,node_modules,.pycharm_helpers
 persistent = yes
 load-plugins = edx_lint.pylint,pylint_django,pylint_celery
-init-hook = "import sys; sys.path.extend(['import_shims/lms', 'import_shims/studio', 'common/djangoapps'])"
+init-hook = "import sys; sys.path.extend(['import_shims/lms', 'import_shims/studio'])"
+ignore-patterns = **/import_shims/**/*.py
 
 [MESSAGES CONTROL]
 enable = 
@@ -464,4 +465,4 @@ int-import-graph =
 [EXCEPTIONS]
 overgeneral-exceptions = Exception
 
-# 1c68aee72f4071c31e5303be5610497ef5e64b7c
+# 09e2946a83274f8dccbac8e284d7b1cf381fa31b
diff --git a/pylintrc_tweaks b/pylintrc_tweaks
index b3feedfaa178531d49dbbe2d36f2795f17d12d2c..eebf6203e79fdbc431d793d03fabde0997ea8948 100644
--- a/pylintrc_tweaks
+++ b/pylintrc_tweaks
@@ -1,7 +1,11 @@
 # pylintrc tweaks for use with edx_lint.
 [MASTER]
 ignore+ = ,.git,.tox,migrations,node_modules,.pycharm_helpers
-init-hook="import sys; sys.path.extend(['import_shims/lms', 'import_shims/studio', 'common/djangoapps'])"
+# TODO: This path modification exists as temporary support for deprecated import patterns.
+# It will be removed in an upcoming Open edX release.
+# See docs/decisions/0007-sys-path-modification-removal.rst
+init-hook="import sys; sys.path.extend(['import_shims/lms', 'import_shims/studio'])"
+ignore-patterns=**/import_shims/**/*.py
 
 [MESSAGES CONTROL]
 disable+ =
diff --git a/scripts/xsslint_config.py b/scripts/xsslint_config.py
index beb11e55d66ac68aa241d78a3875ff0507dbc215..b45684cb78f24b9f8bba5d094b517a7822d366fd 100644
--- a/scripts/xsslint_config.py
+++ b/scripts/xsslint_config.py
@@ -29,6 +29,7 @@ SKIP_DIRS = (
     'spec',
     'test_root',
     'vendor',
+    'import_shims',
 )
 
 
diff --git a/themes/edx.org/lms/templates/dashboard.html b/themes/edx.org/lms/templates/dashboard.html
index f0f40fd117e15c4a52e837bb5173adc2bee8017a..ae75ebce28b79d2c075f6fc3c33e8099ad648226 100644
--- a/themes/edx.org/lms/templates/dashboard.html
+++ b/themes/edx.org/lms/templates/dashboard.html
@@ -11,17 +11,17 @@ from datetime import datetime, timedelta
 from django.utils import timezone
 from django.utils.translation import ugettext as _
 from django.template import RequestContext
-from third_party_auth import pipeline
+from common.djangoapps.third_party_auth import pipeline
 from django.urls import reverse
-from util.date_utils import strftime_localized
+from common.djangoapps.date_utils import strftime_localized
 from opaque_keys.edx.keys import CourseKey
 from openedx.core.djangoapps.content.course_overviews.models import CourseOverview
 from openedx.core.djangoapps.theming import helpers as theming_helpers
 from openedx.core.djangolib.js_utils import dump_js_escaped_json, js_escaped_string
 from openedx.core.djangolib.markup import HTML, Text
 
-from entitlements.models import CourseEntitlement
-from student.models import CourseEnrollment
+from common.djangoapps.entitlements.models import CourseEntitlement
+from common.djangoapps.student.models import CourseEnrollment
 %>
 
 <%
diff --git a/themes/stanford-style/lms/templates/register-form.html b/themes/stanford-style/lms/templates/register-form.html
index 735f48df384b3b1ee1197fff4664304babbefba6..ce3234f5fb971d2a43ce5bec145de71ce8a9e610 100644
--- a/themes/stanford-style/lms/templates/register-form.html
+++ b/themes/stanford-style/lms/templates/register-form.html
@@ -1,11 +1,11 @@
 ## xss-lint: disable=mako-missing-default
 <%!
-import third_party_auth
+from common.djangoapps import third_party_auth
 import six
-from third_party_auth import pipeline, provider
+from common.djangoapps.third_party_auth import pipeline, provider
 from django.utils.translation import ugettext as _
 from django_countries import countries
-from student.models import UserProfile
+from common.djangoapps.student.models import UserProfile
 %>
 
 <input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }">