overhangio / tutor

The Docker-based Open edX distribution designed for peace of mind
https://docs.tutor.overhang.io/
GNU Affero General Public License v3.0
928 stars 445 forks source link

Uncaught exception from None on Accessing Course Assets in Studio #398

Closed tongnick closed 3 years ago

tongnick commented 3 years ago

Bug description

When attempting to access Files & Uploads (assets) for any course in Studio (https://studio.someTutorInstance.com/assets/course-v1:edX+DemoX+Demo_Course/), an error message is displayed from Tutor in the browser and cms_1 | 2021-02-01 06:55:15,777 ERROR 16 [root] [user None] [ip None] signals.py:22 - Uncaught exception from None is printed to the logs.

How to reproduce

To reproduce:

1) Install Tutor 11.1.1 on Ubuntu 20.04.1 LTS.

2) tutor local importdemocourse

3) Login to the Studio web interface, select the demo course, and click on the "Files & Uploads" option as shown below:

Screen Shot 2021-02-01 at 1 46 33 AM

4) Note the error that is displayed:

Screen Shot 2021-02-01 at 1 46 41 AM

5) Note the statements that are printed to the logs upon clicking the "Files & Uploads" button by running tutor local logs --follow:

cms_1            | 2021-02-01 06:55:15,740 INFO 16 [tracking] [user 3] [ip 66.56.3.146] logger.py:42 - {"name": "/assets/course-v1:edX+DemoX+Demo_Course/", "context": {"user_id": 3, "path": "/assets/course-v1:edX+DemoX+Demo_Course/", "course_id": "", "org_id": ""}, "username": "nicktong", "session": "517138e0bdc1edb46e6716f983d11fbb", "ip": "66.56.3.146", "agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15", "host": "studio.someTutorInstance.com", "referer": "https://studio.someTutorInstance.com/course/course-v1:edX+DemoX+Demo_Course", "accept_language": "en-us", "event": "{\"GET\": {}, \"POST\": {}}", "time": "2021-02-01T06:55:15.740146+00:00", "event_type": "/assets/course-v1:edX+DemoX+Demo_Course/", "event_source": "server", "page": null}
cms_1            | 2021-02-01 06:55:15,777 ERROR 16 [root] [user None] [ip None] signals.py:22 - Uncaught exception from None
cms_1            | Traceback (most recent call last):
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
cms_1            |     response = get_response(request)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response
cms_1            |     response = self.process_exception_by_middleware(e, request)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response
cms_1            |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
cms_1            |   File "/opt/pyenv/versions/3.8.6/lib/python3.8/contextlib.py", line 75, in inner
cms_1            |     return func(*args, **kwds)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
cms_1            |     return view_func(request, *args, **kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 142, in _wrapped_view
cms_1            |     response = view_func(request, *args, **kwargs)
cms_1            |   File "./cms/djangoapps/contentstore/views/assets.py", line 86, in assets_handler
cms_1            |     return _asset_index(request, course_key)
cms_1            |   File "./cms/djangoapps/contentstore/views/assets.py", line 107, in _asset_index
cms_1            |     return render_to_response('asset_index.html', {
cms_1            |   File "/openedx/edx-platform/common/djangoapps/edxmako/shortcuts.py", line 193, in render_to_response
cms_1            |     return HttpResponse(render_to_string(template_name, dictionary, namespace, request), **kwargs)
cms_1            |   File "/openedx/edx-platform/common/djangoapps/edxmako/shortcuts.py", line 183, in render_to_string
cms_1            |     return template.render(dictionary, request)
cms_1            |   File "/openedx/edx-platform/common/djangoapps/edxmako/template.py", line 83, in render
cms_1            |     return self.mako_template.render_unicode(**context_dictionary)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/template.py", line 481, in render_unicode
cms_1            |     return runtime._render(
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 878, in _render
cms_1            |     _render_context(
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 920, in _render_context
cms_1            |     _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 947, in _exec_template
cms_1            |     callable_(context, *args, **kwargs)
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/base.html.py", line 263, in render_body
cms_1            |     context['self'].content(**pageargs)
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/asset_index.html.py", line 155, in render_content
cms_1            |     __M_writer(filters.html_escape(filters.decode.utf8(static.optional_include_mako(file='asset_index_content_header.html'))))
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/static_content.html.py", line 388, in render_optional_include_mako
cms_1            |     tmpl.render_context(context)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/template.py", line 493, in render_context
cms_1            |     runtime._render_context(self, self.callable_, context, *args, **kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 920, in _render_context
cms_1            |     _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 947, in _exec_template
cms_1            |     callable_(context, *args, **kwargs)
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/dvi-usaf-edx-theme/cms/templates/asset_index_content_header.html.py", line 35, in render_body
cms_1            |     "{copyright_email}").format(copyright_email=settings.COPYRIGHT_EMAIL)))
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 80, in __getattr__
cms_1            |     val = getattr(self._wrapped, name)
cms_1            | AttributeError: 'Settings' object has no attribute 'COPYRIGHT_EMAIL'
cms_1            | 2021-02-01 06:55:15,793 ERROR 16 [django.request] [user 3] [ip 66.56.3.146] log.py:222 - Internal Server Error: /assets/course-v1:edX+DemoX+Demo_Course/
cms_1            | Traceback (most recent call last):
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
cms_1            |     response = get_response(request)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response
cms_1            |     response = self.process_exception_by_middleware(e, request)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response
cms_1            |     response = wrapped_callback(request, *callback_args, **callback_kwargs)
cms_1            |   File "/opt/pyenv/versions/3.8.6/lib/python3.8/contextlib.py", line 75, in inner
cms_1            |     return func(*args, **kwds)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/contrib/auth/decorators.py", line 21, in _wrapped_view
cms_1            |     return view_func(request, *args, **kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/utils/decorators.py", line 142, in _wrapped_view
cms_1            |     response = view_func(request, *args, **kwargs)
cms_1            |   File "./cms/djangoapps/contentstore/views/assets.py", line 86, in assets_handler
cms_1            |     return _asset_index(request, course_key)
cms_1            |   File "./cms/djangoapps/contentstore/views/assets.py", line 107, in _asset_index
cms_1            |     return render_to_response('asset_index.html', {
cms_1            |   File "/openedx/edx-platform/common/djangoapps/edxmako/shortcuts.py", line 193, in render_to_response
cms_1            |     return HttpResponse(render_to_string(template_name, dictionary, namespace, request), **kwargs)
cms_1            |   File "/openedx/edx-platform/common/djangoapps/edxmako/shortcuts.py", line 183, in render_to_string
cms_1            |     return template.render(dictionary, request)
cms_1            |   File "/openedx/edx-platform/common/djangoapps/edxmako/template.py", line 83, in render
cms_1            |     return self.mako_template.render_unicode(**context_dictionary)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/template.py", line 481, in render_unicode
cms_1            |     return runtime._render(
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 878, in _render
cms_1            |     _render_context(
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 920, in _render_context
cms_1            |     _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 947, in _exec_template
cms_1            |     callable_(context, *args, **kwargs)
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/base.html.py", line 263, in render_body
cms_1            |     context['self'].content(**pageargs)
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/asset_index.html.py", line 155, in render_content
cms_1            |     __M_writer(filters.html_escape(filters.decode.utf8(static.optional_include_mako(file='asset_index_content_header.html'))))
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/static_content.html.py", line 388, in render_optional_include_mako
cms_1            |     tmpl.render_context(context)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/template.py", line 493, in render_context
cms_1            |     runtime._render_context(self, self.callable_, context, *args, **kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 920, in _render_context
cms_1            |     _exec_template(inherit, lclcontext, args=args, kwargs=kwargs)
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/mako/runtime.py", line 947, in _exec_template
cms_1            |     callable_(context, *args, **kwargs)
cms_1            |   File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/dvi-usaf-edx-theme/cms/templates/asset_index_content_header.html.py", line 35, in render_body
cms_1            |     "{copyright_email}").format(copyright_email=settings.COPYRIGHT_EMAIL)))
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 80, in __getattr__
cms_1            |     val = getattr(self._wrapped, name)
cms_1            | AttributeError: 'Settings' object has no attribute 'COPYRIGHT_EMAIL'
nginx_1          | 172.18.0.6 - - [01/Feb/2021:06:55:15 +0000] http://studio.someTutorInstance.com "GET /assets/course-v1:edX+DemoX+Demo_Course/ HTTP/1.1" 500 8539 "https://studio.someTutorInstance.com/course/course-v1:edX+DemoX+Demo_Course" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.0.2 Safari/605.1.15" "66.56.3.146, 172.16.0.46"
cms_1            | [pid: 16|app: 0|req: 23/164] 172.18.0.12 () {46 vars in 3472 bytes} [Mon Feb  1 06:55:15 2021] GET /assets/course-v1:edX+DemoX+Demo_Course/ => generated 8539 bytes in 149 msecs (HTTP/1.0 500) 7 headers in 506 bytes (1 switches on core 0)

Environment

tutor --version tutor, version 11.1.1

lsb_release -a

Distributor ID: Ubuntu
Description:    Ubuntu 20.04.1 LTS
Release:    20.04
Codename:   focal

lshw

ip-172-16-2-101             
    description: Computer
    product: HVM domU
    vendor: Xen
    version: 4.2.amazon
    serial: ec24100b-fab5-349e-166b-7db424eb7997
    width: 64 bits
    capabilities: smbios-2.7 dmi-2.7 smp vsyscall32
    configuration: boot=normal uuid=0B1024EC-B5FA-9E34-166B-7DB424EB7997
  *-core
       description: Motherboard
       physical id: 0
     *-firmware
          description: BIOS
          vendor: Xen
          physical id: 0
          version: 4.2.amazon
          date: 08/24/2006
          size: 96KiB
          capabilities: pci edd
     *-cpu:0
          description: CPU
          product: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
          vendor: Intel Corp.
          physical id: 401
          bus info: cpu@0
          slot: CPU 1
          size: 2300MHz
          capacity: 2300MHz
          width: 64 bits
          capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx pdpe1gb rdtscp x86-64 constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm cpuid_fault invpcid_single pti fsgsbase bmi1 avx2 smep bmi2 erms invpcid xsaveopt
     *-cpu:1
          description: CPU
          vendor: Intel
          physical id: 402
          bus info: cpu@1
          slot: CPU 2
          size: 2300MHz
          capacity: 2300MHz
     *-cpu:2
          description: CPU
          vendor: Intel
          physical id: 403
          bus info: cpu@2
          slot: CPU 3
          size: 2300MHz
          capacity: 2300MHz
     *-cpu:3
          description: CPU
          vendor: Intel
          physical id: 404
          bus info: cpu@3
          slot: CPU 4
          size: 2300MHz
          capacity: 2300MHz
     *-memory
          description: System Memory
          physical id: 1000
          size: 16GiB
          capabilities: ecc
          configuration: errordetection=multi-bit-ecc
[...]

Additional context

cat $(tutor config printroot)/env/local/docker-compose.yml

version: "3.7"
services:

  ############# External services

  mongodb:
    image: docker.io/mongo:3.6.18
    # Use WiredTiger in all environments, just like at edx.org
    command: mongod --smallfiles --nojournal --storageEngine wiredTiger
    restart: unless-stopped
    volumes:
      - ../../data/mongodb:/data/db

  mysql:
    image: docker.io/mysql:5.7.32
    command: mysqld --character-set-server=utf8 --collation-server=utf8_general_ci
    restart: unless-stopped
    volumes:
      - ../../data/mysql:/var/lib/mysql
    environment:
      MYSQL_ROOT_PASSWORD: "REDACTED"

  elasticsearch:
    image: docker.io/elasticsearch:1.5.2
    command: ["elasticsearch", "-Xms1g", "-Xmx1g", "--cluster.name=openedx", "--bootstrap.mlockall=true"]
    ulimits:
      memlock:
        soft: -1
        hard: -1
    restart: unless-stopped
    volumes:
      - ../../data/elasticsearch:/usr/share/elasticsearch/data

  redis:
    image: docker.io/redis:6.0.9
    volumes:
      - ../../env/redis/redis.conf:/openedx/redis/config/redis.conf:ro
      - ../../data/redis:/openedx/redis/data
    command: redis-server /openedx/redis/config/redis.conf
    restart: unless-stopped

  smtp:
    image: docker.io/namshi/smtp:latest
    restart: unless-stopped

  ############# Forum

  forum:
    image: docker.io/overhangio/openedx-forum:11.1.1
    environment:
      SEARCH_SERVER: "http://elasticsearch:9200"
      MONGODB_AUTH: ""
      MONGODB_HOST: "mongodb"
      MONGODB_PORT: "27017"
    restart: unless-stopped
    depends_on: ["elasticsearch", "mongodb"]

  ############# LMS and CMS

  lms:
    image: docker.io/overhangio/openedx:11.1.1
    environment:
      SERVICE_VARIANT: lms
      UWSGI_WORKERS: 2
      SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
    restart: unless-stopped
    volumes:
      - ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/:ro
      - ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/:ro
      - ../apps/openedx/config/:/openedx/config/:ro
      - ../../data/lms:/openedx/data
      - ../../data/openedx-media:/openedx/media
    depends_on:
      - mysql
      - elasticsearch
      - forum
      - mongodb
      - redis
      - smtp

  cms:
    image: docker.io/overhangio/openedx:11.1.1
    environment:
      SERVICE_VARIANT: cms
      UWSGI_WORKERS: 2
      SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
    restart: unless-stopped
    volumes:
      - ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/:ro
      - ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/:ro
      - ../apps/openedx/config/:/openedx/config/:ro
      - ../../data/cms:/openedx/data
      - ../../data/openedx-media:/openedx/media
    depends_on:
      - mysql
      - elasticsearch
      - mongodb
      - redis
      - smtp
      - lms

  ############# LMS and CMS workers

  lms-worker:
    image: docker.io/overhangio/openedx:11.1.1
    environment:
      SERVICE_VARIANT: lms
      SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
      C_FORCE_ROOT: "1" # run celery tasks as root #nofear
    command: celery worker --app=cms.celery --loglevel=info --hostname=edx.lms.core.default.%%h --maxtasksperchild 100 --exclude-queues=edx.cms.core.default
    restart: unless-stopped
    volumes:
      - ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/:ro
      - ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/:ro
      - ../apps/openedx/config/:/openedx/config/:ro
      - ../../data/lms:/openedx/data
      - ../../data/openedx-media:/openedx/media
    depends_on:
      - lms

  cms-worker:
    image: docker.io/overhangio/openedx:11.1.1
    environment:
      SERVICE_VARIANT: cms
      SETTINGS: ${EDX_PLATFORM_SETTINGS:-tutor.production}
      C_FORCE_ROOT: "1" # run celery tasks as root #nofear
    command: celery worker --app=cms.celery --loglevel=info --hostname=edx.cms.core.default.%%h --maxtasksperchild 100 --exclude-queues=edx.lms.core.default
    restart: unless-stopped
    volumes:
      - ../apps/openedx/settings/lms/:/openedx/edx-platform/lms/envs/tutor/:ro
      - ../apps/openedx/settings/cms/:/openedx/edx-platform/cms/envs/tutor/:ro
      - ../apps/openedx/config/:/openedx/config/:ro
      - ../../data/cms:/openedx/data
      - ../../data/openedx-media:/openedx/media
    depends_on:
      - cms

Directory & Files Listing for /tutor/data/

/home/ubuntu/.local/share/tutor/data/
├── cms
│   ├── CPK
│   │   └── CPK101
│   │       └── 2021_T1
│   ├── GC
│   │   └── GCVL
│   │       └── library
│   ├── edX
│   │   └── DemoX
│   │       └── Demo_Course
│   └── logs
│       ├── all.log
│       └── tracking.log
├── elasticsearch
│   └── openedx
│       └── nodes
│           └── 0
│               ├── _state
│               │   └── global-1.st
│               ├── indices
│               │   ├── content_20210126052921440
│               │   │   ├── 0
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638961787
│               │   │   ├── 1
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638961786
│               │   │   ├── 2
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638961786
│               │   │   ├── 3
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638961786
│               │   │   ├── 4
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638961866
│               │   │   └── _state
│               │   │       └── state-4.st
│               │   ├── content_20210126052924465
│               │   │   ├── 0
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638964493
│               │   │   ├── 1
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638964503
│               │   │   ├── 2
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638964508
│               │   │   ├── 3
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638964497
│               │   │   ├── 4
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611638964522
│               │   │   └── _state
│               │   │       └── state-3.st
│               │   ├── courseware_index
│               │   │   ├── 0
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── _c.cfe
│               │   │   │   │   ├── _c.cfs
│               │   │   │   │   ├── _c.si
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_3
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611724338301
│               │   │   ├── 1
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_3
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611724338313
│               │   │   ├── 2
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── _2.cfe
│               │   │   │   │   ├── _2.cfs
│               │   │   │   │   ├── _2.si
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_3
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611724338316
│               │   │   ├── 3
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_1
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611724338304
│               │   │   ├── 4
│               │   │   │   ├── _state
│               │   │   │   │   └── state-1.st
│               │   │   │   ├── index
│               │   │   │   │   ├── _a.cfe
│               │   │   │   │   ├── _a.cfs
│               │   │   │   │   ├── _a.si
│               │   │   │   │   ├── segments.gen
│               │   │   │   │   ├── segments_3
│               │   │   │   │   └── write.lock
│               │   │   │   └── translog
│               │   │   │       └── translog-1611724338332
│               │   │   └── _state
│               │   │       └── state-5.st
│               │   └── library_index
│               │       ├── 0
│               │       │   ├── _state
│               │       │   │   └── state-1.st
│               │       │   ├── index
│               │       │   │   ├── segments.gen
│               │       │   │   ├── segments_1
│               │       │   │   └── write.lock
│               │       │   └── translog
│               │       │       └── translog-1612160946128
│               │       ├── 1
│               │       │   ├── _state
│               │       │   │   └── state-1.st
│               │       │   ├── index
│               │       │   │   ├── _0.cfe
│               │       │   │   ├── _0.cfs
│               │       │   │   ├── _0.si
│               │       │   │   ├── segments.gen
│               │       │   │   ├── segments_2
│               │       │   │   └── write.lock
│               │       │   └── translog
│               │       │       └── translog-1612160946141
│               │       ├── 2
│               │       │   ├── _state
│               │       │   │   └── state-1.st
│               │       │   ├── index
│               │       │   │   ├── segments.gen
│               │       │   │   ├── segments_1
│               │       │   │   └── write.lock
│               │       │   └── translog
│               │       │       └── translog-1612160946153
│               │       ├── 3
│               │       │   ├── _state
│               │       │   │   └── state-1.st
│               │       │   ├── index
│               │       │   │   ├── segments.gen
│               │       │   │   ├── segments_1
│               │       │   │   └── write.lock
│               │       │   └── translog
│               │       │       └── translog-1612160946133
│               │       ├── 4
│               │       │   ├── _state
│               │       │   │   └── state-1.st
│               │       │   ├── index
│               │       │   │   ├── segments.gen
│               │       │   │   ├── segments_1
│               │       │   │   └── write.lock
│               │       │   └── translog
│               │       │       └── translog-1612160946183
│               │       └── _state
│               │           └── state-2.st
│               └── node.lock
├── lms
│   ├── CPK
│   │   └── CPK101
│   │       └── 2021_T1
│   ├── edX
│   │   └── DemoX
│   │       └── Demo_Course
│   ├── logs
│   │   ├── all.log
│   │   └── tracking.log
│   └── ora2
├── mongodb
│   ├── WiredTiger
│   ├── WiredTiger.lock
│   ├── WiredTiger.turtle
│   ├── WiredTiger.wt
│   ├── WiredTigerLAS.wt
│   ├── _mdb_catalog.wt
│   ├── collection-0--742070392472048982.wt
│   ├── collection-11--742070392472048982.wt
│   ├── collection-13--742070392472048982.wt
│   ├── collection-15--742070392472048982.wt
│   ├── collection-18--742070392472048982.wt
│   ├── collection-2--742070392472048982.wt
│   ├── collection-4--742070392472048982.wt
│   ├── collection-7--742070392472048982.wt
│   ├── collection-9--742070392472048982.wt
│   ├── diagnostic.data
│   │   ├── metrics.2021-01-26T05-24-54Z-00000
│   │   ├── metrics.2021-01-29T07-09-54Z-00000
│   │   ├── metrics.2021-02-01T06-31-27Z-00000
│   │   └── metrics.interim
│   ├── index-1--742070392472048982.wt
│   ├── index-10--742070392472048982.wt
│   ├── index-12--742070392472048982.wt
│   ├── index-14--742070392472048982.wt
│   ├── index-16--742070392472048982.wt
│   ├── index-17--742070392472048982.wt
│   ├── index-19--742070392472048982.wt
│   ├── index-20--742070392472048982.wt
│   ├── index-3--742070392472048982.wt
│   ├── index-5--742070392472048982.wt
│   ├── index-6--742070392472048982.wt
│   ├── index-8--742070392472048982.wt
│   ├── mongod.lock
│   ├── sizeStorer.wt
│   └── storage.bson
├── mysql
│   ├── auto.cnf
│   ├── ca-key.pem
│   ├── ca.pem
│   ├── client-cert.pem
│   ├── client-key.pem
│   ├── ib_buffer_pool
│   ├── ib_logfile0
│   ├── ib_logfile1
│   ├── ibdata1
│   ├── ibtmp1
│   ├── mysql
│   │   ├── columns_priv.MYD
│   │   ├── columns_priv.MYI
│   │   ├── columns_priv.frm
│   │   ├── db.MYD
│   │   ├── db.MYI
│   │   ├── db.frm
│   │   ├── db.opt
│   │   ├── engine_cost.frm
│   │   ├── engine_cost.ibd
│   │   ├── event.MYD
│   │   ├── event.MYI
│   │   ├── event.frm
│   │   ├── func.MYD
│   │   ├── func.MYI
│   │   ├── func.frm
│   │   ├── general_log.CSM
│   │   ├── general_log.CSV
│   │   ├── general_log.frm
│   │   ├── gtid_executed.frm
│   │   ├── gtid_executed.ibd
│   │   ├── help_category.frm
│   │   ├── help_category.ibd
│   │   ├── help_keyword.frm
│   │   ├── help_keyword.ibd
│   │   ├── help_relation.frm
│   │   ├── help_relation.ibd
│   │   ├── help_topic.frm
│   │   ├── help_topic.ibd
│   │   ├── innodb_index_stats.frm
│   │   ├── innodb_index_stats.ibd
│   │   ├── innodb_table_stats.frm
│   │   ├── innodb_table_stats.ibd
│   │   ├── ndb_binlog_index.MYD
│   │   ├── ndb_binlog_index.MYI
│   │   ├── ndb_binlog_index.frm
│   │   ├── plugin.frm
│   │   ├── plugin.ibd
│   │   ├── proc.MYD
│   │   ├── proc.MYI
│   │   ├── proc.frm
│   │   ├── procs_priv.MYD
│   │   ├── procs_priv.MYI
│   │   ├── procs_priv.frm
│   │   ├── proxies_priv.MYD
│   │   ├── proxies_priv.MYI
│   │   ├── proxies_priv.frm
│   │   ├── server_cost.frm
│   │   ├── server_cost.ibd
│   │   ├── servers.frm
│   │   ├── servers.ibd
│   │   ├── slave_master_info.frm
│   │   ├── slave_master_info.ibd
│   │   ├── slave_relay_log_info.frm
│   │   ├── slave_relay_log_info.ibd
│   │   ├── slave_worker_info.frm
│   │   ├── slave_worker_info.ibd
│   │   ├── slow_log.CSM
│   │   ├── slow_log.CSV
│   │   ├── slow_log.frm
│   │   ├── tables_priv.MYD
│   │   ├── tables_priv.MYI
│   │   ├── tables_priv.frm
│   │   ├── time_zone.frm
│   │   ├── time_zone.ibd
│   │   ├── time_zone_leap_second.frm
│   │   ├── time_zone_leap_second.ibd
│   │   ├── time_zone_name.frm
│   │   ├── time_zone_name.ibd
│   │   ├── time_zone_transition.frm
│   │   ├── time_zone_transition.ibd
│   │   ├── time_zone_transition_type.frm
│   │   ├── time_zone_transition_type.ibd
│   │   ├── user.MYD
│   │   ├── user.MYI
│   │   └── user.frm
│   ├── openedx
│   │   ├── announcements_announcement.frm
│   │   ├── announcements_announcement.ibd
│   │   ├── api_admin_apiaccessconfig.frm
│   │   ├── api_admin_apiaccessconfig.ibd
│   │   ├── api_admin_apiaccessrequest.frm
│   │   ├── api_admin_apiaccessrequest.ibd
│   │   ├── assessment_assessment.frm
│   │   ├── assessment_assessment.ibd
│   │   ├── assessment_assessmentfeedback.frm
│   │   ├── assessment_assessmentfeedback.ibd
│   │   ├── assessment_assessmentfeedback_assessments.frm
│   │   ├── assessment_assessmentfeedback_assessments.ibd
│   │   ├── assessment_assessmentfeedback_options.frm
│   │   ├── assessment_assessmentfeedback_options.ibd
│   │   ├── assessment_assessmentfeedbackoption.frm
│   │   ├── assessment_assessmentfeedbackoption.ibd
│   │   ├── assessment_assessmentpart.frm
│   │   ├── assessment_assessmentpart.ibd
│   │   ├── assessment_criterion.frm
│   │   ├── assessment_criterion.ibd
│   │   ├── assessment_criterionoption.frm
│   │   ├── assessment_criterionoption.ibd
│   │   ├── assessment_historicalsharedfileupload.frm
│   │   ├── assessment_historicalsharedfileupload.ibd
│   │   ├── assessment_peerworkflow.frm
│   │   ├── assessment_peerworkflow.ibd
│   │   ├── assessment_peerworkflowitem.frm
│   │   ├── assessment_peerworkflowitem.ibd
│   │   ├── assessment_rubric.frm
│   │   ├── assessment_rubric.ibd
│   │   ├── assessment_sharedfileupload.frm
│   │   ├── assessment_sharedfileupload.ibd
│   │   ├── assessment_staffworkflow.frm
│   │   ├── assessment_staffworkflow.ibd
│   │   ├── assessment_studenttrainingworkflow.frm
│   │   ├── assessment_studenttrainingworkflow.ibd
│   │   ├── assessment_studenttrainingworkflowitem.frm
│   │   ├── assessment_studenttrainingworkflowitem.ibd
│   │   ├── assessment_teamstaffworkflow.frm
│   │   ├── assessment_teamstaffworkflow.ibd
│   │   ├── assessment_trainingexample.frm
│   │   ├── assessment_trainingexample.ibd
│   │   ├── assessment_trainingexample_options_selected.frm
│   │   ├── assessment_trainingexample_options_selected.ibd
│   │   ├── auth_accountrecovery.frm
│   │   ├── auth_accountrecovery.ibd
│   │   ├── auth_group.frm
│   │   ├── auth_group.ibd
│   │   ├── auth_group_permissions.frm
│   │   ├── auth_group_permissions.ibd
│   │   ├── auth_permission.frm
│   │   ├── auth_permission.ibd
│   │   ├── auth_registration.frm
│   │   ├── auth_registration.ibd
│   │   ├── auth_user.frm
│   │   ├── auth_user.ibd
│   │   ├── auth_user_groups.frm
│   │   ├── auth_user_groups.ibd
│   │   ├── auth_user_user_permissions.frm
│   │   ├── auth_user_user_permissions.ibd
│   │   ├── auth_userprofile.frm
│   │   ├── auth_userprofile.ibd
│   │   ├── badges_badgeassertion.frm
│   │   ├── badges_badgeassertion.ibd
│   │   ├── badges_badgeclass.frm
│   │   ├── badges_badgeclass.ibd
│   │   ├── badges_coursecompleteimageconfiguration.frm
│   │   ├── badges_coursecompleteimageconfiguration.ibd
│   │   ├── badges_courseeventbadgesconfiguration.frm
│   │   ├── badges_courseeventbadgesconfiguration.ibd
│   │   ├── blackboard_blackboardenterprisecustomerconfiguration.frm
│   │   ├── blackboard_blackboardenterprisecustomerconfiguration.ibd
│   │   ├── blackboard_blackboardlearnerdatatransmissionaudit.frm
│   │   ├── blackboard_blackboardlearnerdatatransmissionaudit.ibd
│   │   ├── blackboard_historicalblackboardenterprisecustomerconfiguration.frm
│   │   ├── blackboard_historicalblackboardenterprisecustomerconfiguration.ibd
│   │   ├── block_structure.frm
│   │   ├── block_structure.ibd
│   │   ├── block_structure_config.frm
│   │   ├── block_structure_config.ibd
│   │   ├── bookmarks_bookmark.frm
│   │   ├── bookmarks_bookmark.ibd
│   │   ├── bookmarks_xblockcache.frm
│   │   ├── bookmarks_xblockcache.ibd
│   │   ├── branding_brandingapiconfig.frm
│   │   ├── branding_brandingapiconfig.ibd
│   │   ├── branding_brandinginfoconfig.frm
│   │   ├── branding_brandinginfoconfig.ibd
│   │   ├── bulk_email_bulkemailflag.frm
│   │   ├── bulk_email_bulkemailflag.ibd
│   │   ├── bulk_email_cohorttarget.frm
│   │   ├── bulk_email_cohorttarget.ibd
│   │   ├── bulk_email_courseauthorization.frm
│   │   ├── bulk_email_courseauthorization.ibd
│   │   ├── bulk_email_courseemail.frm
│   │   ├── bulk_email_courseemail.ibd
│   │   ├── bulk_email_courseemail_targets.frm
│   │   ├── bulk_email_courseemail_targets.ibd
│   │   ├── bulk_email_courseemailtemplate.frm
│   │   ├── bulk_email_courseemailtemplate.ibd
│   │   ├── bulk_email_coursemodetarget.frm
│   │   ├── bulk_email_coursemodetarget.ibd
│   │   ├── bulk_email_optout.frm
│   │   ├── bulk_email_optout.ibd
│   │   ├── bulk_email_target.frm
│   │   ├── bulk_email_target.ibd
│   │   ├── bulk_grades_scoreoverrider.frm
│   │   ├── bulk_grades_scoreoverrider.ibd
│   │   ├── calendar_sync_historicalusercalendarsyncconfig.frm
│   │   ├── calendar_sync_historicalusercalendarsyncconfig.ibd
│   │   ├── calendar_sync_usercalendarsyncconfig.frm
│   │   ├── calendar_sync_usercalendarsyncconfig.ibd
│   │   ├── canvas_canvasenterprisecustomerconfiguration.frm
│   │   ├── canvas_canvasenterprisecustomerconfiguration.ibd
│   │   ├── canvas_canvaslearnerdatatransmissionaudit.frm
│   │   ├── canvas_canvaslearnerdatatransmissionaudit.ibd
│   │   ├── canvas_historicalcanvasenterprisecustomerconfiguration.frm
│   │   ├── canvas_historicalcanvasenterprisecustomerconfiguration.ibd
│   │   ├── catalog_catalogintegration.frm
│   │   ├── catalog_catalogintegration.ibd
│   │   ├── celery_utils_failedtask.frm
│   │   ├── celery_utils_failedtask.ibd
│   │   ├── certificates_certificategenerationconfiguration.frm
│   │   ├── certificates_certificategenerationconfiguration.ibd
│   │   ├── certificates_certificategenerationcoursesetting.frm
│   │   ├── certificates_certificategenerationcoursesetting.ibd
│   │   ├── certificates_certificategenerationhistory.frm
│   │   ├── certificates_certificategenerationhistory.ibd
│   │   ├── certificates_certificatehtmlviewconfiguration.frm
│   │   ├── certificates_certificatehtmlviewconfiguration.ibd
│   │   ├── certificates_certificateinvalidation.frm
│   │   ├── certificates_certificateinvalidation.ibd
│   │   ├── certificates_certificatetemplate.frm
│   │   ├── certificates_certificatetemplate.ibd
│   │   ├── certificates_certificatetemplateasset.frm
│   │   ├── certificates_certificatetemplateasset.ibd
│   │   ├── certificates_certificatewhitelist.frm
│   │   ├── certificates_certificatewhitelist.ibd
│   │   ├── certificates_examplecertificate.frm
│   │   ├── certificates_examplecertificate.ibd
│   │   ├── certificates_examplecertificateset.frm
│   │   ├── certificates_examplecertificateset.ibd
│   │   ├── certificates_generatedcertificate.frm
│   │   ├── certificates_generatedcertificate.ibd
│   │   ├── certificates_historicalgeneratedcertificate.frm
│   │   ├── certificates_historicalgeneratedcertificate.ibd
│   │   ├── commerce_commerceconfiguration.frm
│   │   ├── commerce_commerceconfiguration.ibd
│   │   ├── completion_blockcompletion.frm
│   │   ├── completion_blockcompletion.ibd
│   │   ├── consent_datasharingconsent.frm
│   │   ├── consent_datasharingconsent.ibd
│   │   ├── consent_datasharingconsenttextoverrides.frm
│   │   ├── consent_datasharingconsenttextoverrides.ibd
│   │   ├── consent_historicaldatasharingconsent.frm
│   │   ├── consent_historicaldatasharingconsent.ibd
│   │   ├── content_libraries_contentlibrary.frm
│   │   ├── content_libraries_contentlibrary.ibd
│   │   ├── content_libraries_contentlibrarypermission.frm
│   │   ├── content_libraries_contentlibrarypermission.ibd
│   │   ├── content_type_gating_contenttypegatingconfig.frm
│   │   ├── content_type_gating_contenttypegatingconfig.ibd
│   │   ├── contentserver_cdnuseragentsconfig.frm
│   │   ├── contentserver_cdnuseragentsconfig.ibd
│   │   ├── contentserver_courseassetcachettlconfig.frm
│   │   ├── contentserver_courseassetcachettlconfig.ibd
│   │   ├── contentstore_videouploadconfig.frm
│   │   ├── contentstore_videouploadconfig.ibd
│   │   ├── cornerstone_cornerstoneenterprisecustomerconfiguration.frm
│   │   ├── cornerstone_cornerstoneenterprisecustomerconfiguration.ibd
│   │   ├── cornerstone_cornerstoneglobalconfiguration.frm
│   │   ├── cornerstone_cornerstoneglobalconfiguration.ibd
│   │   ├── cornerstone_cornerstonelearnerdatatransmissionaudit.frm
│   │   ├── cornerstone_cornerstonelearnerdatatransmissionaudit.ibd
│   │   ├── cornerstone_historicalcornerstoneenterprisecustomerconfiguration.frm
│   │   ├── cornerstone_historicalcornerstoneenterprisecustomerconfiguration.ibd
│   │   ├── cors_csrf_xdomainproxyconfiguration.frm
│   │   ├── cors_csrf_xdomainproxyconfiguration.ibd
│   │   ├── course_action_state_coursererunstate.frm
│   │   ├── course_action_state_coursererunstate.ibd
│   │   ├── course_creators_coursecreator.frm
│   │   ├── course_creators_coursecreator.ibd
│   │   ├── course_date_signals_selfpacedrelativedatesconfig.frm
│   │   ├── course_date_signals_selfpacedrelativedatesconfig.ibd
│   │   ├── course_duration_limits_coursedurationlimitconfig.frm
│   │   ├── course_duration_limits_coursedurationlimitconfig.ibd
│   │   ├── course_goals_coursegoal.frm
│   │   ├── course_goals_coursegoal.ibd
│   │   ├── course_groups_cohortmembership.frm
│   │   ├── course_groups_cohortmembership.ibd
│   │   ├── course_groups_coursecohort.frm
│   │   ├── course_groups_coursecohort.ibd
│   │   ├── course_groups_coursecohortssettings.frm
│   │   ├── course_groups_coursecohortssettings.ibd
│   │   ├── course_groups_courseusergroup.frm
│   │   ├── course_groups_courseusergroup.ibd
│   │   ├── course_groups_courseusergroup_users.frm
│   │   ├── course_groups_courseusergroup_users.ibd
│   │   ├── course_groups_courseusergrouppartitiongroup.frm
│   │   ├── course_groups_courseusergrouppartitiongroup.ibd
│   │   ├── course_groups_unregisteredlearnercohortassignments.frm
│   │   ├── course_groups_unregisteredlearnercohortassignments.ibd
│   │   ├── course_modes_coursemode.frm
│   │   ├── course_modes_coursemode.ibd
│   │   ├── course_modes_coursemodeexpirationconfig.frm
│   │   ├── course_modes_coursemodeexpirationconfig.ibd
│   │   ├── course_modes_coursemodesarchive.frm
│   │   ├── course_modes_coursemodesarchive.ibd
│   │   ├── course_modes_historicalcoursemode.frm
│   │   ├── course_modes_historicalcoursemode.ibd
│   │   ├── course_overviews_courseoverview.frm
│   │   ├── course_overviews_courseoverview.ibd
│   │   ├── course_overviews_courseoverviewimageconfig.frm
│   │   ├── course_overviews_courseoverviewimageconfig.ibd
│   │   ├── course_overviews_courseoverviewimageset.frm
│   │   ├── course_overviews_courseoverviewimageset.ibd
│   │   ├── course_overviews_courseoverviewtab.frm
│   │   ├── course_overviews_courseoverviewtab.ibd
│   │   ├── course_overviews_historicalcourseoverview.frm
│   │   ├── course_overviews_historicalcourseoverview.ibd
│   │   ├── course_overviews_simulatecoursepublishconfig.frm
│   │   ├── course_overviews_simulatecoursepublishconfig.ibd
│   │   ├── courseware_coursedynamicupgradedeadlineconfiguration.frm
│   │   ├── courseware_coursedynamicupgradedeadlineconfiguration.ibd
│   │   ├── courseware_dynamicupgradedeadlineconfiguration.frm
│   │   ├── courseware_dynamicupgradedeadlineconfiguration.ibd
│   │   ├── courseware_offlinecomputedgrade.frm
│   │   ├── courseware_offlinecomputedgrade.ibd
│   │   ├── courseware_offlinecomputedgradelog.frm
│   │   ├── courseware_offlinecomputedgradelog.ibd
│   │   ├── courseware_orgdynamicupgradedeadlineconfiguration.frm
│   │   ├── courseware_orgdynamicupgradedeadlineconfiguration.ibd
│   │   ├── courseware_studentfieldoverride.frm
│   │   ├── courseware_studentfieldoverride.ibd
│   │   ├── courseware_studentmodule.frm
│   │   ├── courseware_studentmodule.ibd
│   │   ├── courseware_studentmodulehistory.frm
│   │   ├── courseware_studentmodulehistory.ibd
│   │   ├── courseware_xmodulestudentinfofield.frm
│   │   ├── courseware_xmodulestudentinfofield.ibd
│   │   ├── courseware_xmodulestudentprefsfield.frm
│   │   ├── courseware_xmodulestudentprefsfield.ibd
│   │   ├── courseware_xmoduleuserstatesummaryfield.frm
│   │   ├── courseware_xmoduleuserstatesummaryfield.ibd
│   │   ├── crawlers_crawlersconfig.frm
│   │   ├── crawlers_crawlersconfig.ibd
│   │   ├── credentials_credentialsapiconfig.frm
│   │   ├── credentials_credentialsapiconfig.ibd
│   │   ├── credentials_notifycredentialsconfig.frm
│   │   ├── credentials_notifycredentialsconfig.ibd
│   │   ├── credit_creditconfig.frm
│   │   ├── credit_creditconfig.ibd
│   │   ├── credit_creditcourse.frm
│   │   ├── credit_creditcourse.ibd
│   │   ├── credit_crediteligibility.frm
│   │   ├── credit_crediteligibility.ibd
│   │   ├── credit_creditprovider.frm
│   │   ├── credit_creditprovider.ibd
│   │   ├── credit_creditrequest.frm
│   │   ├── credit_creditrequest.ibd
│   │   ├── credit_creditrequirement.frm
│   │   ├── credit_creditrequirement.ibd
│   │   ├── credit_creditrequirementstatus.frm
│   │   ├── credit_creditrequirementstatus.ibd
│   │   ├── dark_lang_darklangconfig.frm
│   │   ├── dark_lang_darklangconfig.ibd
│   │   ├── db.opt
│   │   ├── degreed_degreedenterprisecustomerconfiguration.frm
│   │   ├── degreed_degreedenterprisecustomerconfiguration.ibd
│   │   ├── degreed_degreedglobalconfiguration.frm
│   │   ├── degreed_degreedglobalconfiguration.ibd
│   │   ├── degreed_degreedlearnerdatatransmissionaudit.frm
│   │   ├── degreed_degreedlearnerdatatransmissionaudit.ibd
│   │   ├── degreed_historicaldegreedenterprisecustomerconfiguration.frm
│   │   ├── degreed_historicaldegreedenterprisecustomerconfiguration.ibd
│   │   ├── demographics_historicaluserdemographics.frm
│   │   ├── demographics_historicaluserdemographics.ibd
│   │   ├── demographics_userdemographics.frm
│   │   ├── demographics_userdemographics.ibd
│   │   ├── discounts_discountpercentageconfig.frm
│   │   ├── discounts_discountpercentageconfig.ibd
│   │   ├── discounts_discountrestrictionconfig.frm
│   │   ├── discounts_discountrestrictionconfig.ibd
│   │   ├── django_admin_log.frm
│   │   ├── django_admin_log.ibd
│   │   ├── django_celery_results_taskresult.frm
│   │   ├── django_celery_results_taskresult.ibd
│   │   ├── django_comment_client_permission.frm
│   │   ├── django_comment_client_permission.ibd
│   │   ├── django_comment_client_permission_roles.frm
│   │   ├── django_comment_client_permission_roles.ibd
│   │   ├── django_comment_client_role.frm
│   │   ├── django_comment_client_role.ibd
│   │   ├── django_comment_client_role_users.frm
│   │   ├── django_comment_client_role_users.ibd
│   │   ├── django_comment_common_coursediscussionsettings.frm
│   │   ├── django_comment_common_coursediscussionsettings.ibd
│   │   ├── django_comment_common_discussionsidmapping.frm
│   │   ├── django_comment_common_discussionsidmapping.ibd
│   │   ├── django_comment_common_forumsconfig.frm
│   │   ├── django_comment_common_forumsconfig.ibd
│   │   ├── django_content_type.frm
│   │   ├── django_content_type.ibd
│   │   ├── django_migrations.frm
│   │   ├── django_migrations.ibd
│   │   ├── django_redirect.frm
│   │   ├── django_redirect.ibd
│   │   ├── django_session.frm
│   │   ├── django_session.ibd
│   │   ├── django_site.frm
│   │   ├── django_site.ibd
│   │   ├── edx_when_contentdate.frm
│   │   ├── edx_when_contentdate.ibd
│   │   ├── edx_when_datepolicy.frm
│   │   ├── edx_when_datepolicy.ibd
│   │   ├── edx_when_userdate.frm
│   │   ├── edx_when_userdate.ibd
│   │   ├── edxval_coursevideo.frm
│   │   ├── edxval_coursevideo.ibd
│   │   ├── edxval_encodedvideo.frm
│   │   ├── edxval_encodedvideo.ibd
│   │   ├── edxval_profile.frm
│   │   ├── edxval_profile.ibd
│   │   ├── edxval_thirdpartytranscriptcredentialsstate.frm
│   │   ├── edxval_thirdpartytranscriptcredentialsstate.ibd
│   │   ├── edxval_transcriptpreference.frm
│   │   ├── edxval_transcriptpreference.ibd
│   │   ├── edxval_video.frm
│   │   ├── edxval_video.ibd
│   │   ├── edxval_videoimage.frm
│   │   ├── edxval_videoimage.ibd
│   │   ├── edxval_videotranscript.frm
│   │   ├── edxval_videotranscript.ibd
│   │   ├── email_marketing_emailmarketingconfiguration.frm
│   │   ├── email_marketing_emailmarketingconfiguration.ibd
│   │   ├── embargo_country.frm
│   │   ├── embargo_country.ibd
│   │   ├── embargo_countryaccessrule.frm
│   │   ├── embargo_countryaccessrule.ibd
│   │   ├── embargo_courseaccessrulehistory.frm
│   │   ├── embargo_courseaccessrulehistory.ibd
│   │   ├── embargo_embargoedcourse.frm
│   │   ├── embargo_embargoedcourse.ibd
│   │   ├── embargo_embargoedstate.frm
│   │   ├── embargo_embargoedstate.ibd
│   │   ├── embargo_ipfilter.frm
│   │   ├── embargo_ipfilter.ibd
│   │   ├── embargo_restrictedcourse.frm
│   │   ├── embargo_restrictedcourse.ibd
│   │   ├── enterprise_enrollmentnotificationemailtemplate.frm
│   │   ├── enterprise_enrollmentnotificationemailtemplate.ibd
│   │   ├── enterprise_enterpriseanalyticsuser.frm
│   │   ├── enterprise_enterpriseanalyticsuser.ibd
│   │   ├── enterprise_enterprisecatalogquery.frm
│   │   ├── enterprise_enterprisecatalogquery.ibd
│   │   ├── enterprise_enterprisecourseenrollment.frm
│   │   ├── enterprise_enterprisecourseenrollment.ibd
│   │   ├── enterprise_enterprisecustomer.frm
│   │   ├── enterprise_enterprisecustomer.ibd
│   │   ├── enterprise_enterprisecustomerbrandingconfiguration.frm
│   │   ├── enterprise_enterprisecustomerbrandingconfiguration.ibd
│   │   ├── enterprise_enterprisecustomercatalog.frm
│   │   ├── enterprise_enterprisecustomercatalog.ibd
│   │   ├── enterprise_enterprisecustomeridentityprovider.frm
│   │   ├── enterprise_enterprisecustomeridentityprovider.ibd
│   │   ├── enterprise_enterprisecustomerreportingconfiguration.frm
│   │   ├── enterprise_enterprisecustomerreportingconfiguration.ibd
│   │   ├── enterprise_enterprisecustomerreportingconfiguration_enterpricf00.frm
│   │   ├── enterprise_enterprisecustomerreportingconfiguration_enterpricf00.ibd
│   │   ├── enterprise_enterprisecustomertype.frm
│   │   ├── enterprise_enterprisecustomertype.ibd
│   │   ├── enterprise_enterprisecustomeruser.frm
│   │   ├── enterprise_enterprisecustomeruser.ibd
│   │   ├── enterprise_enterpriseenrollmentsource.frm
│   │   ├── enterprise_enterpriseenrollmentsource.ibd
│   │   ├── enterprise_enterprisefeaturerole.frm
│   │   ├── enterprise_enterprisefeaturerole.ibd
│   │   ├── enterprise_enterprisefeatureuserroleassignment.frm
│   │   ├── enterprise_enterprisefeatureuserroleassignment.ibd
│   │   ├── enterprise_historicalenrollmentnotificationemailtemplate.frm
│   │   ├── enterprise_historicalenrollmentnotificationemailtemplate.ibd
│   │   ├── enterprise_historicalenterpriseanalyticsuser.frm
│   │   ├── enterprise_historicalenterpriseanalyticsuser.ibd
│   │   ├── enterprise_historicalenterprisecourseenrollment.frm
│   │   ├── enterprise_historicalenterprisecourseenrollment.ibd
│   │   ├── enterprise_historicalenterprisecustomer.frm
│   │   ├── enterprise_historicalenterprisecustomer.ibd
│   │   ├── enterprise_historicalenterprisecustomercatalog.frm
│   │   ├── enterprise_historicalenterprisecustomercatalog.ibd
│   │   ├── enterprise_historicallicensedenterprisecourseenrollment.frm
│   │   ├── enterprise_historicallicensedenterprisecourseenrollment.ibd
│   │   ├── enterprise_historicalpendingenrollment.frm
│   │   ├── enterprise_historicalpendingenrollment.ibd
│   │   ├── enterprise_historicalpendingenterprisecustomeradminuser.frm
│   │   ├── enterprise_historicalpendingenterprisecustomeradminuser.ibd
│   │   ├── enterprise_historicalpendingenterprisecustomeruser.frm
│   │   ├── enterprise_historicalpendingenterprisecustomeruser.ibd
│   │   ├── enterprise_licensedenterprisecourseenrollment.frm
│   │   ├── enterprise_licensedenterprisecourseenrollment.ibd
│   │   ├── enterprise_pendingenrollment.frm
│   │   ├── enterprise_pendingenrollment.ibd
│   │   ├── enterprise_pendingenterprisecustomeradminuser.frm
│   │   ├── enterprise_pendingenterprisecustomeradminuser.ibd
│   │   ├── enterprise_pendingenterprisecustomeruser.frm
│   │   ├── enterprise_pendingenterprisecustomeruser.ibd
│   │   ├── enterprise_systemwideenterpriserole.frm
│   │   ├── enterprise_systemwideenterpriserole.ibd
│   │   ├── enterprise_systemwideenterpriseuserroleassignment.frm
│   │   ├── enterprise_systemwideenterpriseuserroleassignment.ibd
│   │   ├── entitlements_courseentitlement.frm
│   │   ├── entitlements_courseentitlement.ibd
│   │   ├── entitlements_courseentitlementpolicy.frm
│   │   ├── entitlements_courseentitlementpolicy.ibd
│   │   ├── entitlements_courseentitlementsupportdetail.frm
│   │   ├── entitlements_courseentitlementsupportdetail.ibd
│   │   ├── entitlements_historicalcourseentitlement.frm
│   │   ├── entitlements_historicalcourseentitlement.ibd
│   │   ├── entitlements_historicalcourseentitlementsupportdetail.frm
│   │   ├── entitlements_historicalcourseentitlementsupportdetail.ibd
│   │   ├── experiments_experimentdata.frm
│   │   ├── experiments_experimentdata.ibd
│   │   ├── experiments_experimentkeyvalue.frm
│   │   ├── experiments_experimentkeyvalue.ibd
│   │   ├── experiments_historicalexperimentkeyvalue.frm
│   │   ├── experiments_historicalexperimentkeyvalue.ibd
│   │   ├── external_user_ids_externalid.frm
│   │   ├── external_user_ids_externalid.ibd
│   │   ├── external_user_ids_externalidtype.frm
│   │   ├── external_user_ids_externalidtype.ibd
│   │   ├── external_user_ids_historicalexternalid.frm
│   │   ├── external_user_ids_historicalexternalid.ibd
│   │   ├── external_user_ids_historicalexternalidtype.frm
│   │   ├── external_user_ids_historicalexternalidtype.ibd
│   │   ├── grades_computegradessetting.frm
│   │   ├── grades_computegradessetting.ibd
│   │   ├── grades_coursepersistentgradesflag.frm
│   │   ├── grades_coursepersistentgradesflag.ibd
│   │   ├── grades_historicalpersistentsubsectiongradeoverride.frm
│   │   ├── grades_historicalpersistentsubsectiongradeoverride.ibd
│   │   ├── grades_persistentcoursegrade.frm
│   │   ├── grades_persistentcoursegrade.ibd
│   │   ├── grades_persistentgradesenabledflag.frm
│   │   ├── grades_persistentgradesenabledflag.ibd
│   │   ├── grades_persistentsubsectiongrade.frm
│   │   ├── grades_persistentsubsectiongrade.ibd
│   │   ├── grades_persistentsubsectiongradeoverride.frm
│   │   ├── grades_persistentsubsectiongradeoverride.ibd
│   │   ├── grades_visibleblocks.frm
│   │   ├── grades_visibleblocks.ibd
│   │   ├── instructor_task_gradereportsetting.frm
│   │   ├── instructor_task_gradereportsetting.ibd
│   │   ├── instructor_task_instructortask.frm
│   │   ├── instructor_task_instructortask.ibd
│   │   ├── integrated_channel_contentmetadataitemtransmission.frm
│   │   ├── integrated_channel_contentmetadataitemtransmission.ibd
│   │   ├── integrated_channel_learnerdatatransmissionaudit.frm
│   │   ├── integrated_channel_learnerdatatransmissionaudit.ibd
│   │   ├── learning_sequences_coursecontext.frm
│   │   ├── learning_sequences_coursecontext.ibd
│   │   ├── learning_sequences_coursesection.frm
│   │   ├── learning_sequences_coursesection.ibd
│   │   ├── learning_sequences_coursesectionsequence.frm
│   │   ├── learning_sequences_coursesectionsequence.ibd
│   │   ├── learning_sequences_learningcontext.frm
│   │   ├── learning_sequences_learningcontext.ibd
│   │   ├── learning_sequences_learningsequence.frm
│   │   ├── learning_sequences_learningsequence.ibd
│   │   ├── lms_xblock_xblockasidesconfig.frm
│   │   ├── lms_xblock_xblockasidesconfig.ibd
│   │   ├── lti_consumer_ltiagslineitem.frm
│   │   ├── lti_consumer_ltiagslineitem.ibd
│   │   ├── lti_consumer_ltiagsscore.frm
│   │   ├── lti_consumer_ltiagsscore.ibd
│   │   ├── lti_consumer_lticonfiguration.frm
│   │   ├── lti_consumer_lticonfiguration.ibd
│   │   ├── milestones_coursecontentmilestone.frm
│   │   ├── milestones_coursecontentmilestone.ibd
│   │   ├── milestones_coursemilestone.frm
│   │   ├── milestones_coursemilestone.ibd
│   │   ├── milestones_milestone.frm
│   │   ├── milestones_milestone.ibd
│   │   ├── milestones_milestonerelationshiptype.frm
│   │   ├── milestones_milestonerelationshiptype.ibd
│   │   ├── milestones_usermilestone.frm
│   │   ├── milestones_usermilestone.ibd
│   │   ├── mobile_api_appversionconfig.frm
│   │   ├── mobile_api_appversionconfig.ibd
│   │   ├── mobile_api_ignoremobileavailableflagconfig.frm
│   │   ├── mobile_api_ignoremobileavailableflagconfig.ibd
│   │   ├── mobile_api_mobileapiconfig.frm
│   │   ├── mobile_api_mobileapiconfig.ibd
│   │   ├── moodle_historicalmoodleenterprisecustomerconfiguration.frm
│   │   ├── moodle_historicalmoodleenterprisecustomerconfiguration.ibd
│   │   ├── moodle_moodleenterprisecustomerconfiguration.frm
│   │   ├── moodle_moodleenterprisecustomerconfiguration.ibd
│   │   ├── moodle_moodlelearnerdatatransmissionaudit.frm
│   │   ├── moodle_moodlelearnerdatatransmissionaudit.ibd
│   │   ├── notify_notification.frm
│   │   ├── notify_notification.ibd
│   │   ├── notify_notificationtype.frm
│   │   ├── notify_notificationtype.ibd
│   │   ├── notify_settings.frm
│   │   ├── notify_settings.ibd
│   │   ├── notify_subscription.frm
│   │   ├── notify_subscription.ibd
│   │   ├── oauth2_provider_accesstoken.frm
│   │   ├── oauth2_provider_accesstoken.ibd
│   │   ├── oauth2_provider_application.frm
│   │   ├── oauth2_provider_application.ibd
│   │   ├── oauth2_provider_grant.frm
│   │   ├── oauth2_provider_grant.ibd
│   │   ├── oauth2_provider_refreshtoken.frm
│   │   ├── oauth2_provider_refreshtoken.ibd
│   │   ├── oauth_dispatch_applicationaccess.frm
│   │   ├── oauth_dispatch_applicationaccess.ibd
│   │   ├── oauth_dispatch_applicationorganization.frm
│   │   ├── oauth_dispatch_applicationorganization.ibd
│   │   ├── oauth_dispatch_restrictedapplication.frm
│   │   ├── oauth_dispatch_restrictedapplication.ibd
│   │   ├── organizations_historicalorganization.frm
│   │   ├── organizations_historicalorganization.ibd
│   │   ├── organizations_organization.frm
│   │   ├── organizations_organization.ibd
│   │   ├── organizations_organizationcourse.frm
│   │   ├── organizations_organizationcourse.ibd
│   │   ├── proctoring_proctoredexam.frm
│   │   ├── proctoring_proctoredexam.ibd
│   │   ├── proctoring_proctoredexamreviewpolicy.frm
│   │   ├── proctoring_proctoredexamreviewpolicy.ibd
│   │   ├── proctoring_proctoredexamreviewpolicyhistory.frm
│   │   ├── proctoring_proctoredexamreviewpolicyhistory.ibd
│   │   ├── proctoring_proctoredexamsoftwaresecurereview.frm
│   │   ├── proctoring_proctoredexamsoftwaresecurereview.ibd
│   │   ├── proctoring_proctoredexamsoftwaresecurereviewhistory.frm
│   │   ├── proctoring_proctoredexamsoftwaresecurereviewhistory.ibd
│   │   ├── proctoring_proctoredexamstudentallowance.frm
│   │   ├── proctoring_proctoredexamstudentallowance.ibd
│   │   ├── proctoring_proctoredexamstudentallowancehistory.frm
│   │   ├── proctoring_proctoredexamstudentallowancehistory.ibd
│   │   ├── proctoring_proctoredexamstudentattempt.frm
│   │   ├── proctoring_proctoredexamstudentattempt.ibd
│   │   ├── proctoring_proctoredexamstudentattemptcomment.frm
│   │   ├── proctoring_proctoredexamstudentattemptcomment.ibd
│   │   ├── proctoring_proctoredexamstudentattempthistory.frm
│   │   ├── proctoring_proctoredexamstudentattempthistory.ibd
│   │   ├── program_enrollments_courseaccessroleassignment.frm
│   │   ├── program_enrollments_courseaccessroleassignment.ibd
│   │   ├── program_enrollments_historicalprogramcourseenrollment.frm
│   │   ├── program_enrollments_historicalprogramcourseenrollment.ibd
│   │   ├── program_enrollments_historicalprogramenrollment.frm
│   │   ├── program_enrollments_historicalprogramenrollment.ibd
│   │   ├── program_enrollments_programcourseenrollment.frm
│   │   ├── program_enrollments_programcourseenrollment.ibd
│   │   ├── program_enrollments_programenrollment.frm
│   │   ├── program_enrollments_programenrollment.ibd
│   │   ├── programs_customprogramsconfig.frm
│   │   ├── programs_customprogramsconfig.ibd
│   │   ├── programs_programsapiconfig.frm
│   │   ├── programs_programsapiconfig.ibd
│   │   ├── rss_proxy_whitelistedrssurl.frm
│   │   ├── rss_proxy_whitelistedrssurl.ibd
│   │   ├── sap_success_factors_sapsuccessfactorsenterprisecustomerconfidb8a.frm
│   │   ├── sap_success_factors_sapsuccessfactorsenterprisecustomerconfidb8a.ibd
│   │   ├── sap_success_factors_sapsuccessfactorsglobalconfiguration.frm
│   │   ├── sap_success_factors_sapsuccessfactorsglobalconfiguration.ibd
│   │   ├── sap_success_factors_sapsuccessfactorslearnerdatatransmission3ce5.frm
│   │   ├── sap_success_factors_sapsuccessfactorslearnerdatatransmission3ce5.ibd
│   │   ├── schedules_historicalschedule.frm
│   │   ├── schedules_historicalschedule.ibd
│   │   ├── schedules_schedule.frm
│   │   ├── schedules_schedule.ibd
│   │   ├── schedules_scheduleconfig.frm
│   │   ├── schedules_scheduleconfig.ibd
│   │   ├── schedules_scheduleexperience.frm
│   │   ├── schedules_scheduleexperience.ibd
│   │   ├── self_paced_selfpacedconfiguration.frm
│   │   ├── self_paced_selfpacedconfiguration.ibd
│   │   ├── shoppingcart_certificateitem.frm
│   │   ├── shoppingcart_certificateitem.ibd
│   │   ├── shoppingcart_coupon.frm
│   │   ├── shoppingcart_coupon.ibd
│   │   ├── shoppingcart_couponredemption.frm
│   │   ├── shoppingcart_couponredemption.ibd
│   │   ├── shoppingcart_courseregcodeitem.frm
│   │   ├── shoppingcart_courseregcodeitem.ibd
│   │   ├── shoppingcart_courseregcodeitemannotation.frm
│   │   ├── shoppingcart_courseregcodeitemannotation.ibd
│   │   ├── shoppingcart_courseregistrationcode.frm
│   │   ├── shoppingcart_courseregistrationcode.ibd
│   │   ├── shoppingcart_courseregistrationcodeinvoiceitem.frm
│   │   ├── shoppingcart_courseregistrationcodeinvoiceitem.ibd
│   │   ├── shoppingcart_donation.frm
│   │   ├── shoppingcart_donation.ibd
│   │   ├── shoppingcart_donationconfiguration.frm
│   │   ├── shoppingcart_donationconfiguration.ibd
│   │   ├── shoppingcart_invoice.frm
│   │   ├── shoppingcart_invoice.ibd
│   │   ├── shoppingcart_invoicehistory.frm
│   │   ├── shoppingcart_invoicehistory.ibd
│   │   ├── shoppingcart_invoiceitem.frm
│   │   ├── shoppingcart_invoiceitem.ibd
│   │   ├── shoppingcart_invoicetransaction.frm
│   │   ├── shoppingcart_invoicetransaction.ibd
│   │   ├── shoppingcart_order.frm
│   │   ├── shoppingcart_order.ibd
│   │   ├── shoppingcart_orderitem.frm
│   │   ├── shoppingcart_orderitem.ibd
│   │   ├── shoppingcart_paidcourseregistration.frm
│   │   ├── shoppingcart_paidcourseregistration.ibd
│   │   ├── shoppingcart_paidcourseregistrationannotation.frm
│   │   ├── shoppingcart_paidcourseregistrationannotation.ibd
│   │   ├── shoppingcart_registrationcoderedemption.frm
│   │   ├── shoppingcart_registrationcoderedemption.ibd
│   │   ├── site_configuration_siteconfiguration.frm
│   │   ├── site_configuration_siteconfiguration.ibd
│   │   ├── site_configuration_siteconfigurationhistory.frm
│   │   ├── site_configuration_siteconfigurationhistory.ibd
│   │   ├── social_auth_association.frm
│   │   ├── social_auth_association.ibd
│   │   ├── social_auth_code.frm
│   │   ├── social_auth_code.ibd
│   │   ├── social_auth_nonce.frm
│   │   ├── social_auth_nonce.ibd
│   │   ├── social_auth_partial.frm
│   │   ├── social_auth_partial.ibd
│   │   ├── social_auth_usersocialauth.frm
│   │   ├── social_auth_usersocialauth.ibd
│   │   ├── splash_splashconfig.frm
│   │   ├── splash_splashconfig.ibd
│   │   ├── static_replace_assetbaseurlconfig.frm
│   │   ├── static_replace_assetbaseurlconfig.ibd
│   │   ├── static_replace_assetexcludedextensionsconfig.frm
│   │   ├── static_replace_assetexcludedextensionsconfig.ibd
│   │   ├── status_coursemessage.frm
│   │   ├── status_coursemessage.ibd
│   │   ├── status_globalstatusmessage.frm
│   │   ├── status_globalstatusmessage.ibd
│   │   ├── student_accountrecoveryconfiguration.frm
│   │   ├── student_accountrecoveryconfiguration.ibd
│   │   ├── student_allowedauthuser.frm
│   │   ├── student_allowedauthuser.ibd
│   │   ├── student_anonymoususerid.frm
│   │   ├── student_anonymoususerid.ibd
│   │   ├── student_bulkchangeenrollmentconfiguration.frm
│   │   ├── student_bulkchangeenrollmentconfiguration.ibd
│   │   ├── student_bulkunenrollconfiguration.frm
│   │   ├── student_bulkunenrollconfiguration.ibd
│   │   ├── student_courseaccessrole.frm
│   │   ├── student_courseaccessrole.ibd
│   │   ├── student_courseenrollment.frm
│   │   ├── student_courseenrollment.ibd
│   │   ├── student_courseenrollment_history.frm
│   │   ├── student_courseenrollment_history.ibd
│   │   ├── student_courseenrollmentallowed.frm
│   │   ├── student_courseenrollmentallowed.ibd
│   │   ├── student_courseenrollmentattribute.frm
│   │   ├── student_courseenrollmentattribute.ibd
│   │   ├── student_courseenrollmentcelebration.frm
│   │   ├── student_courseenrollmentcelebration.ibd
│   │   ├── student_dashboardconfiguration.frm
│   │   ├── student_dashboardconfiguration.ibd
│   │   ├── student_enrollmentrefundconfiguration.frm
│   │   ├── student_enrollmentrefundconfiguration.ibd
│   │   ├── student_entranceexamconfiguration.frm
│   │   ├── student_entranceexamconfiguration.ibd
│   │   ├── student_fbeenrollmentexclusion.frm
│   │   ├── student_fbeenrollmentexclusion.ibd
│   │   ├── student_historicalmanualenrollmentaudit.frm
│   │   ├── student_historicalmanualenrollmentaudit.ibd
│   │   ├── student_languageproficiency.frm
│   │   ├── student_languageproficiency.ibd
│   │   ├── student_linkedinaddtoprofileconfiguration.frm
│   │   ├── student_linkedinaddtoprofileconfiguration.ibd
│   │   ├── student_loginfailures.frm
│   │   ├── student_loginfailures.ibd
│   │   ├── student_manualenrollmentaudit.frm
│   │   ├── student_manualenrollmentaudit.ibd
│   │   ├── student_pendingemailchange.frm
│   │   ├── student_pendingemailchange.ibd
│   │   ├── student_pendingnamechange.frm
│   │   ├── student_pendingnamechange.ibd
│   │   ├── student_pendingsecondaryemailchange.frm
│   │   ├── student_pendingsecondaryemailchange.ibd
│   │   ├── student_registrationcookieconfiguration.frm
│   │   ├── student_registrationcookieconfiguration.ibd
│   │   ├── student_sociallink.frm
│   │   ├── student_sociallink.ibd
│   │   ├── student_userattribute.frm
│   │   ├── student_userattribute.ibd
│   │   ├── student_userpasswordtogglehistory.frm
│   │   ├── student_userpasswordtogglehistory.ibd
│   │   ├── student_usersignupsource.frm
│   │   ├── student_usersignupsource.ibd
│   │   ├── student_userstanding.frm
│   │   ├── student_userstanding.ibd
│   │   ├── student_usertestgroup.frm
│   │   ├── student_usertestgroup.ibd
│   │   ├── student_usertestgroup_users.frm
│   │   ├── student_usertestgroup_users.ibd
│   │   ├── submissions_score.frm
│   │   ├── submissions_score.ibd
│   │   ├── submissions_scoreannotation.frm
│   │   ├── submissions_scoreannotation.ibd
│   │   ├── submissions_scoresummary.frm
│   │   ├── submissions_scoresummary.ibd
│   │   ├── submissions_studentitem.frm
│   │   ├── submissions_studentitem.ibd
│   │   ├── submissions_submission.frm
│   │   ├── submissions_submission.ibd
│   │   ├── submissions_teamsubmission.frm
│   │   ├── submissions_teamsubmission.ibd
│   │   ├── super_csv_csvoperation.frm
│   │   ├── super_csv_csvoperation.ibd
│   │   ├── survey_surveyanswer.frm
│   │   ├── survey_surveyanswer.ibd
│   │   ├── survey_surveyform.frm
│   │   ├── survey_surveyform.ibd
│   │   ├── system_wide_roles_systemwiderole.frm
│   │   ├── system_wide_roles_systemwiderole.ibd
│   │   ├── system_wide_roles_systemwideroleassignment.frm
│   │   ├── system_wide_roles_systemwideroleassignment.ibd
│   │   ├── tagging_tagavailablevalues.frm
│   │   ├── tagging_tagavailablevalues.ibd
│   │   ├── tagging_tagcategories.frm
│   │   ├── tagging_tagcategories.ibd
│   │   ├── teams_courseteam.frm
│   │   ├── teams_courseteam.ibd
│   │   ├── teams_courseteammembership.frm
│   │   ├── teams_courseteammembership.ibd
│   │   ├── theming_sitetheme.frm
│   │   ├── theming_sitetheme.ibd
│   │   ├── third_party_auth_ltiproviderconfig.frm
│   │   ├── third_party_auth_ltiproviderconfig.ibd
│   │   ├── third_party_auth_oauth2providerconfig.frm
│   │   ├── third_party_auth_oauth2providerconfig.ibd
│   │   ├── third_party_auth_samlconfiguration.frm
│   │   ├── third_party_auth_samlconfiguration.ibd
│   │   ├── third_party_auth_samlproviderconfig.frm
│   │   ├── third_party_auth_samlproviderconfig.ibd
│   │   ├── third_party_auth_samlproviderdata.frm
│   │   ├── third_party_auth_samlproviderdata.ibd
│   │   ├── thumbnail_kvstore.frm
│   │   ├── thumbnail_kvstore.ibd
│   │   ├── user_api_retirementstate.frm
│   │   ├── user_api_retirementstate.ibd
│   │   ├── user_api_usercoursetag.frm
│   │   ├── user_api_usercoursetag.ibd
│   │   ├── user_api_userorgtag.frm
│   │   ├── user_api_userorgtag.ibd
│   │   ├── user_api_userpreference.frm
│   │   ├── user_api_userpreference.ibd
│   │   ├── user_api_userretirementpartnerreportingstatus.frm
│   │   ├── user_api_userretirementpartnerreportingstatus.ibd
│   │   ├── user_api_userretirementrequest.frm
│   │   ├── user_api_userretirementrequest.ibd
│   │   ├── user_api_userretirementstatus.frm
│   │   ├── user_api_userretirementstatus.ibd
│   │   ├── user_tasks_usertaskartifact.frm
│   │   ├── user_tasks_usertaskartifact.ibd
│   │   ├── user_tasks_usertaskstatus.frm
│   │   ├── user_tasks_usertaskstatus.ibd
│   │   ├── util_ratelimitconfiguration.frm
│   │   ├── util_ratelimitconfiguration.ibd
│   │   ├── verified_track_content_migrateverifiedtrackcohortssetting.frm
│   │   ├── verified_track_content_migrateverifiedtrackcohortssetting.ibd
│   │   ├── verified_track_content_verifiedtrackcohortedcourse.frm
│   │   ├── verified_track_content_verifiedtrackcohortedcourse.ibd
│   │   ├── verify_student_manualverification.frm
│   │   ├── verify_student_manualverification.ibd
│   │   ├── verify_student_softwaresecurephotoverification.frm
│   │   ├── verify_student_softwaresecurephotoverification.ibd
│   │   ├── verify_student_ssoverification.frm
│   │   ├── verify_student_ssoverification.ibd
│   │   ├── verify_student_sspverificationretryconfig.frm
│   │   ├── verify_student_sspverificationretryconfig.ibd
│   │   ├── verify_student_verificationdeadline.frm
│   │   ├── verify_student_verificationdeadline.ibd
│   │   ├── video_config_coursehlsplaybackenabledflag.frm
│   │   ├── video_config_coursehlsplaybackenabledflag.ibd
│   │   ├── video_config_coursevideotranscriptenabledflag.frm
│   │   ├── video_config_coursevideotranscriptenabledflag.ibd
│   │   ├── video_config_courseyoutubeblockedflag.frm
│   │   ├── video_config_courseyoutubeblockedflag.ibd
│   │   ├── video_config_hlsplaybackenabledflag.frm
│   │   ├── video_config_hlsplaybackenabledflag.ibd
│   │   ├── video_config_migrationenqueuedcourse.frm
│   │   ├── video_config_migrationenqueuedcourse.ibd
│   │   ├── video_config_transcriptmigrationsetting.frm
│   │   ├── video_config_transcriptmigrationsetting.ibd
│   │   ├── video_config_updatedcoursevideos.frm
│   │   ├── video_config_updatedcoursevideos.ibd
│   │   ├── video_config_videothumbnailsetting.frm
│   │   ├── video_config_videothumbnailsetting.ibd
│   │   ├── video_config_videotranscriptenabledflag.frm
│   │   ├── video_config_videotranscriptenabledflag.ibd
│   │   ├── video_pipeline_coursevideouploadsenabledbydefault.frm
│   │   ├── video_pipeline_coursevideouploadsenabledbydefault.ibd
│   │   ├── video_pipeline_vempipelineintegration.frm
│   │   ├── video_pipeline_vempipelineintegration.ibd
│   │   ├── video_pipeline_videouploadsenabledbydefault.frm
│   │   ├── video_pipeline_videouploadsenabledbydefault.ibd
│   │   ├── waffle_flag.frm
│   │   ├── waffle_flag.ibd
│   │   ├── waffle_flag_groups.frm
│   │   ├── waffle_flag_groups.ibd
│   │   ├── waffle_flag_users.frm
│   │   ├── waffle_flag_users.ibd
│   │   ├── waffle_sample.frm
│   │   ├── waffle_sample.ibd
│   │   ├── waffle_switch.frm
│   │   ├── waffle_switch.ibd
│   │   ├── waffle_utils_waffleflagcourseoverridemodel.frm
│   │   ├── waffle_utils_waffleflagcourseoverridemodel.ibd
│   │   ├── wiki_article.frm
│   │   ├── wiki_article.ibd
│   │   ├── wiki_articleforobject.frm
│   │   ├── wiki_articleforobject.ibd
│   │   ├── wiki_articleplugin.frm
│   │   ├── wiki_articleplugin.ibd
│   │   ├── wiki_articlerevision.frm
│   │   ├── wiki_articlerevision.ibd
│   │   ├── wiki_reusableplugin.frm
│   │   ├── wiki_reusableplugin.ibd
│   │   ├── wiki_reusableplugin_articles.frm
│   │   ├── wiki_reusableplugin_articles.ibd
│   │   ├── wiki_revisionplugin.frm
│   │   ├── wiki_revisionplugin.ibd
│   │   ├── wiki_revisionpluginrevision.frm
│   │   ├── wiki_revisionpluginrevision.ibd
│   │   ├── wiki_simpleplugin.frm
│   │   ├── wiki_simpleplugin.ibd
│   │   ├── wiki_urlpath.frm
│   │   ├── wiki_urlpath.ibd
│   │   ├── workflow_assessmentworkflow.frm
│   │   ├── workflow_assessmentworkflow.ibd
│   │   ├── workflow_assessmentworkflowcancellation.frm
│   │   ├── workflow_assessmentworkflowcancellation.ibd
│   │   ├── workflow_assessmentworkflowstep.frm
│   │   ├── workflow_assessmentworkflowstep.ibd
│   │   ├── workflow_teamassessmentworkflow.frm
│   │   ├── workflow_teamassessmentworkflow.ibd
│   │   ├── xapi_xapilearnerdatatransmissionaudit.frm
│   │   ├── xapi_xapilearnerdatatransmissionaudit.ibd
│   │   ├── xapi_xapilrsconfiguration.frm
│   │   ├── xapi_xapilrsconfiguration.ibd
│   │   ├── xblock_config_courseeditltifieldsenabledflag.frm
│   │   ├── xblock_config_courseeditltifieldsenabledflag.ibd
│   │   ├── xblock_config_studioconfig.frm
│   │   ├── xblock_config_studioconfig.ibd
│   │   ├── xblock_django_xblockconfiguration.frm
│   │   ├── xblock_django_xblockconfiguration.ibd
│   │   ├── xblock_django_xblockstudioconfiguration.frm
│   │   ├── xblock_django_xblockstudioconfiguration.ibd
│   │   ├── xblock_django_xblockstudioconfigurationflag.frm
│   │   └── xblock_django_xblockstudioconfigurationflag.ibd
│   ├── performance_schema
│   │   ├── accounts.frm
│   │   ├── cond_instances.frm
│   │   ├── db.opt
│   │   ├── events_stages_current.frm
│   │   ├── events_stages_history.frm
│   │   ├── events_stages_history_long.frm
│   │   ├── events_stages_summary_by_account_by_event_name.frm
│   │   ├── events_stages_summary_by_host_by_event_name.frm
│   │   ├── events_stages_summary_by_thread_by_event_name.frm
│   │   ├── events_stages_summary_by_user_by_event_name.frm
│   │   ├── events_stages_summary_global_by_event_name.frm
│   │   ├── events_statements_current.frm
│   │   ├── events_statements_history.frm
│   │   ├── events_statements_history_long.frm
│   │   ├── events_statements_summary_by_account_by_event_name.frm
│   │   ├── events_statements_summary_by_digest.frm
│   │   ├── events_statements_summary_by_host_by_event_name.frm
│   │   ├── events_statements_summary_by_program.frm
│   │   ├── events_statements_summary_by_thread_by_event_name.frm
│   │   ├── events_statements_summary_by_user_by_event_name.frm
│   │   ├── events_statements_summary_global_by_event_name.frm
│   │   ├── events_transactions_current.frm
│   │   ├── events_transactions_history.frm
│   │   ├── events_transactions_history_long.frm
│   │   ├── events_transactions_summary_by_account_by_event_name.frm
│   │   ├── events_transactions_summary_by_host_by_event_name.frm
│   │   ├── events_transactions_summary_by_thread_by_event_name.frm
│   │   ├── events_transactions_summary_by_user_by_event_name.frm
│   │   ├── events_transactions_summary_global_by_event_name.frm
│   │   ├── events_waits_current.frm
│   │   ├── events_waits_history.frm
│   │   ├── events_waits_history_long.frm
│   │   ├── events_waits_summary_by_account_by_event_name.frm
│   │   ├── events_waits_summary_by_host_by_event_name.frm
│   │   ├── events_waits_summary_by_instance.frm
│   │   ├── events_waits_summary_by_thread_by_event_name.frm
│   │   ├── events_waits_summary_by_user_by_event_name.frm
│   │   ├── events_waits_summary_global_by_event_name.frm
│   │   ├── file_instances.frm
│   │   ├── file_summary_by_event_name.frm
│   │   ├── file_summary_by_instance.frm
│   │   ├── global_status.frm
│   │   ├── global_variables.frm
│   │   ├── host_cache.frm
│   │   ├── hosts.frm
│   │   ├── memory_summary_by_account_by_event_name.frm
│   │   ├── memory_summary_by_host_by_event_name.frm
│   │   ├── memory_summary_by_thread_by_event_name.frm
│   │   ├── memory_summary_by_user_by_event_name.frm
│   │   ├── memory_summary_global_by_event_name.frm
│   │   ├── metadata_locks.frm
│   │   ├── mutex_instances.frm
│   │   ├── objects_summary_global_by_type.frm
│   │   ├── performance_timers.frm
│   │   ├── prepared_statements_instances.frm
│   │   ├── replication_applier_configuration.frm
│   │   ├── replication_applier_status.frm
│   │   ├── replication_applier_status_by_coordinator.frm
│   │   ├── replication_applier_status_by_worker.frm
│   │   ├── replication_connection_configuration.frm
│   │   ├── replication_connection_status.frm
│   │   ├── replication_group_member_stats.frm
│   │   ├── replication_group_members.frm
│   │   ├── rwlock_instances.frm
│   │   ├── session_account_connect_attrs.frm
│   │   ├── session_connect_attrs.frm
│   │   ├── session_status.frm
│   │   ├── session_variables.frm
│   │   ├── setup_actors.frm
│   │   ├── setup_consumers.frm
│   │   ├── setup_instruments.frm
│   │   ├── setup_objects.frm
│   │   ├── setup_timers.frm
│   │   ├── socket_instances.frm
│   │   ├── socket_summary_by_event_name.frm
│   │   ├── socket_summary_by_instance.frm
│   │   ├── status_by_account.frm
│   │   ├── status_by_host.frm
│   │   ├── status_by_thread.frm
│   │   ├── status_by_user.frm
│   │   ├── table_handles.frm
│   │   ├── table_io_waits_summary_by_index_usage.frm
│   │   ├── table_io_waits_summary_by_table.frm
│   │   ├── table_lock_waits_summary_by_table.frm
│   │   ├── threads.frm
│   │   ├── user_variables_by_thread.frm
│   │   ├── users.frm
│   │   └── variables_by_thread.frm
│   ├── private_key.pem
│   ├── public_key.pem
│   ├── server-cert.pem
│   ├── server-key.pem
│   └── sys
│       ├── db.opt
│       ├── host_summary.frm
│       ├── host_summary_by_file_io.frm
│       ├── host_summary_by_file_io_type.frm
│       ├── host_summary_by_stages.frm
│       ├── host_summary_by_statement_latency.frm
│       ├── host_summary_by_statement_type.frm
│       ├── innodb_buffer_stats_by_schema.frm
│       ├── innodb_buffer_stats_by_table.frm
│       ├── innodb_lock_waits.frm
│       ├── io_by_thread_by_latency.frm
│       ├── io_global_by_file_by_bytes.frm
│       ├── io_global_by_file_by_latency.frm
│       ├── io_global_by_wait_by_bytes.frm
│       ├── io_global_by_wait_by_latency.frm
│       ├── latest_file_io.frm
│       ├── memory_by_host_by_current_bytes.frm
│       ├── memory_by_thread_by_current_bytes.frm
│       ├── memory_by_user_by_current_bytes.frm
│       ├── memory_global_by_current_bytes.frm
│       ├── memory_global_total.frm
│       ├── metrics.frm
│       ├── processlist.frm
│       ├── ps_check_lost_instrumentation.frm
│       ├── schema_auto_increment_columns.frm
│       ├── schema_index_statistics.frm
│       ├── schema_object_overview.frm
│       ├── schema_redundant_indexes.frm
│       ├── schema_table_lock_waits.frm
│       ├── schema_table_statistics.frm
│       ├── schema_table_statistics_with_buffer.frm
│       ├── schema_tables_with_full_table_scans.frm
│       ├── schema_unused_indexes.frm
│       ├── session.frm
│       ├── session_ssl_status.frm
│       ├── statement_analysis.frm
│       ├── statements_with_errors_or_warnings.frm
│       ├── statements_with_full_table_scans.frm
│       ├── statements_with_runtimes_in_95th_percentile.frm
│       ├── statements_with_sorting.frm
│       ├── statements_with_temp_tables.frm
│       ├── sys_config.TRG
│       ├── sys_config.frm
│       ├── sys_config.ibd
│       ├── sys_config_insert_set_user.TRN
│       ├── sys_config_update_set_user.TRN
│       ├── user_summary.frm
│       ├── user_summary_by_file_io.frm
│       ├── user_summary_by_file_io_type.frm
│       ├── user_summary_by_stages.frm
│       ├── user_summary_by_statement_latency.frm
│       ├── user_summary_by_statement_type.frm
│       ├── version.frm
│       ├── wait_classes_global_by_avg_latency.frm
│       ├── wait_classes_global_by_latency.frm
│       ├── waits_by_host_by_latency.frm
│       ├── waits_by_user_by_latency.frm
│       ├── waits_global_by_latency.frm
│       ├── x@0024host_summary.frm
│       ├── x@0024host_summary_by_file_io.frm
│       ├── x@0024host_summary_by_file_io_type.frm
│       ├── x@0024host_summary_by_stages.frm
│       ├── x@0024host_summary_by_statement_latency.frm
│       ├── x@0024host_summary_by_statement_type.frm
│       ├── x@0024innodb_buffer_stats_by_schema.frm
│       ├── x@0024innodb_buffer_stats_by_table.frm
│       ├── x@0024innodb_lock_waits.frm
│       ├── x@0024io_by_thread_by_latency.frm
│       ├── x@0024io_global_by_file_by_bytes.frm
│       ├── x@0024io_global_by_file_by_latency.frm
│       ├── x@0024io_global_by_wait_by_bytes.frm
│       ├── x@0024io_global_by_wait_by_latency.frm
│       ├── x@0024latest_file_io.frm
│       ├── x@0024memory_by_host_by_current_bytes.frm
│       ├── x@0024memory_by_thread_by_current_bytes.frm
│       ├── x@0024memory_by_user_by_current_bytes.frm
│       ├── x@0024memory_global_by_current_bytes.frm
│       ├── x@0024memory_global_total.frm
│       ├── x@0024processlist.frm
│       ├── x@0024ps_digest_95th_percentile_by_avg_us.frm
│       ├── x@0024ps_digest_avg_latency_distribution.frm
│       ├── x@0024ps_schema_table_statistics_io.frm
│       ├── x@0024schema_flattened_keys.frm
│       ├── x@0024schema_index_statistics.frm
│       ├── x@0024schema_table_lock_waits.frm
│       ├── x@0024schema_table_statistics.frm
│       ├── x@0024schema_table_statistics_with_buffer.frm
│       ├── x@0024schema_tables_with_full_table_scans.frm
│       ├── x@0024session.frm
│       ├── x@0024statement_analysis.frm
│       ├── x@0024statements_with_errors_or_warnings.frm
│       ├── x@0024statements_with_full_table_scans.frm
│       ├── x@0024statements_with_runtimes_in_95th_percentile.frm
│       ├── x@0024statements_with_sorting.frm
│       ├── x@0024statements_with_temp_tables.frm
│       ├── x@0024user_summary.frm
│       ├── x@0024user_summary_by_file_io.frm
│       ├── x@0024user_summary_by_file_io_type.frm
│       ├── x@0024user_summary_by_stages.frm
│       ├── x@0024user_summary_by_statement_latency.frm
│       ├── x@0024user_summary_by_statement_type.frm
│       ├── x@0024wait_classes_global_by_avg_latency.frm
│       ├── x@0024wait_classes_global_by_latency.frm
│       ├── x@0024waits_by_host_by_latency.frm
│       ├── x@0024waits_by_user_by_latency.frm
│       └── x@0024waits_global_by_latency.frm
├── openedx-media
└── redis
regisb commented 3 years ago

Hi @gnotkcin! You should usually not create Github issues. Please check the troubleshooting section from the docs: https://docs.tutor.overhang.io/troubleshooting.html

I must say that your problem does appear at first sight like a Tutor/Open edX issue, and I appreciate the thorough details you provided. However, the problem seems to come from your custom theme, as is shown by the following lines from the stacktrace:

File "/tmp/mako_cms/a5eebd6bfdd582a823356cb512d2e4e2/dvi-usaf-edx-theme/cms/templates/asset_index_content_header.html.py", line 35, in render_body
cms_1            |     "{copyright_email}").format(copyright_email=settings.COPYRIGHT_EMAIL)))
cms_1            |   File "/openedx/venv/lib/python3.8/site-packages/django/conf/__init__.py", line 80, in __getattr__
cms_1            |     val = getattr(self._wrapped, name)
cms_1            | AttributeError: 'Settings' object has no attribute 'COPYRIGHT_EMAIL'

The "dvi-usaf-theme" contains a reference to the COPYRIGHT_EMAIL, which does not exist.

I can confirm that the assets page works fine with the default theme: https://studio.demo.openedx.overhang.io/assets/course-v1:edX+DemoX+Demo_Course/

tongnick commented 3 years ago

Hi @regisb – Thank you for pointing out the problem and confirming it works fine with the default theme! Will be sure to post to the support forums for any troubleshooting going forward.