Recently I updated site for Sumac. There is a sidebar toggled navigator, but course components do not show up. Is there anything that I can change in setting or configuration to populate the course components in sidebar?. I really appreciate for any help .
This is interesting. Are you using the Indigo theme?
Yes, I am using indigo
@hinakhadim I know you previously looked into sidebar issues with Indigo. Have you seen this?
@hkhanal01 is it possible to turn indigo off as a test and see if that resolves the issue?
@sarina Thank you for quick response. I have not seen sidebar navigation in previous version and i did not have issue using indigo
I will check with turning off Indigo
I can see Sidebar Menu in couple of courses. Seems like it is not an issue of Indio theme. But in few courses, i see an issue loading content in sidebar Navigator.
| 2025-03-19 15:28:24,447 ERROR 15 [django.request] [user 4] [ip 193.43.135.147] log.py:241 - Internal Server Error: /api/course_home/v1/navigation/course-v1:DagX+GenAI+2024Q1
tutor_local-lms-1 | Traceback (most recent call last):
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/exception.py", line 55, in inner
tutor_local-lms-1 | response = get_response(request)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/django/core/handlers/base.py", line 197, in _get_response
tutor_local-lms-1 | response = wrapped_callback(request, *callback_args, **callback_kwargs)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/opt/pyenv/versions/3.11.8/lib/python3.11/contextlib.py", line 81, in inner
tutor_local-lms-1 | return func(*args, **kwds)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/django/views/decorators/csrf.py", line 56, in wrapper_view
tutor_local-lms-1 | return view_func(*args, **kwargs)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/django/views/generic/base.py", line 104, in view
tutor_local-lms-1 | return self.dispatch(request, *args, **kwargs)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 509, in dispatch
tutor_local-lms-1 | response = self.handle_exception(exc)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 469, in handle_exception
tutor_local-lms-1 | self.raise_uncaught_exception(exc)
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 480, in raise_uncaught_exception
tutor_local-lms-1 | raise exc
tutor_local-lms-1 | File "/openedx/venv/lib/python3.11/site-packages/rest_framework/views.py", line 506, in dispatch
tutor_local-lms-1 | response = handler(request, *args, **kwargs)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/edx-platform/lms/djangoapps/course_home_api/outline/views.py", line 478, in get
tutor_local-lms-1 | course_blocks = self.filter_inaccessible_blocks(course_blocks, course_key)
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/edx-platform/lms/djangoapps/course_home_api/outline/views.py", line 502, in filter_inaccessible_blocks
tutor_local-lms-1 | section_data['children'] = self.get_accessible_sequences(
tutor_local-lms-1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
tutor_local-lms-1 | File "/openedx/edx-platform/lms/djangoapps/course_home_api/outline/views.py", line 587, in get_accessible_sequences
tutor_local-lms-1 | return [
tutor_local-lms-1 | ^
tutor_local-lms-1 | File "/openedx/edx-platform/lms/djangoapps/course_home_api/outline/views.py", line 589, in <listcomp>
tutor_local-lms-1 | if seq_data['id'] in available_sequence_ids or seq_data['type'] != 'sequential'
tutor_local-lms-1 | ~~~~~~~~^^^^^^
tutor_local-lms-1 | TypeError: string indices must be integers, not 'str'
What type(s) of Xblocks are failing? Are they standard blocks (capa problems, text blocks) or custom ones?
Xblocks are customized. I created following their guidelines
@Chelsea_Rathbun - so it seems the sidebar might not be working with custom XBlocks. Is there a developer of the feature we could pull in here?
@hkhanal01 are your custom blocks public, so the team could try them out?
@sarina we have not published those xblocks. Thank you for your help. I resolved the issue.
- Review carefully to see if any structure components (especially sequentials) appear as strings
or blank instead of JSON.tutor local run lms ./manage.py lms dump_course_structure course-v1:GenAI+2024 --settings=tutor.production
- Delete those blanks and strings from your CMS course outline
- Re-index the Course Structure:
tutor local run cms ./manage.py cms reindex_course --course=course-v1:GenAI+2024Q1 --settings=tutor.production
- Remove caches:
tutor local exec redis redis-cli flushall
- Restart your LMS and CMS:
tutor local restart lms cms
Glad to see that you were able to resolve the issue!