Hi,
Here is the error seen in /edx/var/log/cms/edx.log
-------------
Traceback (most recent call last):
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 402, in try_load_course
course_descriptor = self.load_course(course_dir, course_ids, errorlog.tracker, target_course_id)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 576, in load_course
course_descriptor = system.process_xml(etree.tostring(course_data, encoding='unicode'))
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/modulestore/xml.py", line 196, in process_xml
id_manager,
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1508, in xblock_from_node
block = block_class.parse_xml(node, self, keys, id_generator)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 516, in parse_xml
return super(XmlParserMixin, cls).parse_xml(node, runtime, keys, id_generator) # pylint: disable=bad-super-call
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/x_module.py", line 1027, in parse_xml
block = cls.from_xml(xml, runtime, id_generator)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/course_module.py", line 1019, in from_xml
instance = super(CourseDescriptor, cls).from_xml(xml_data, system, id_generator)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 505, in from_xml
id_generator,
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/xml_module.py", line 389, in parse_xml
field_data,
File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/runtime.py", line 635, in construct_xblock_from_class
*args, **kwargs
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/course_module.py", line 968, in __init__
if not getattr(self, "tabs", []):
File "/edx/app/edxapp/venvs/edxapp/src/xblock/xblock/fields.py", line 474, in __get__
value = self.from_json(field_data.get(xblock,
self.name))
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/tabs.py", line 459, in from_json
self.validate_tabs(values)
File "/edx/app/edxapp/edx-platform/common/lib/xmodule/xmodule/tabs.py", line 412, in validate_tabs
"Expected first tab to have type 'courseware'. tabs: '{0}'".format(tabs))
-----------
It does look the tab of type "courseware" is expected before "course_info". However, on
edx.org(and
edge.edx.org), the default order is "course_info" followed by "courseware" and there is no way to reorder these two tabs(other tabs such as Wiki and user-added pages can be reordered). So there seems to be no way to resolve this except to make a code change. On Dogwood.3 as well as Cypress, the order is "courseware" followed by "course_info".
Is there a way to avoid the code fix?
Thanks!
Aparna