Cc2olx converter_Content

Hi all!
Maybe someone also faced with this and can advice:
We are trying to convert a course from Common Cartridge to OLX and using cc2olx converter published in OeX Github. However, converter outputs the file with the folder structure different from OeX, many unconverted files and empty course.xml. Maybe there are other solutions or workarounds for this case?


@farhaanbukhsh or @0x29a – can you comment on the status of this repo? I see you have some contributions.

1 Like

Thanks for pinging me here @jill

Hey @Anastasiia_Abyzova

AFAIK cc2olx supports a selected set of content type and if there is a content type present that is not supported by cc2olx it gives out empty XML and also raises warnings in the logs.

There were plans to add more content types and clean the error parsing mechanism but I guess other work took priority over it. The eventual goal of this repo was to be merged with course import flow so that the users could directly upload the course in Studio.

Right now it is far away in terms of features and supported content type. Let me know if you have more questions about it.

probably @0x29a can add more information about cc2olx. :slight_smile:

1 Like

Thank you for your suggestion, Farhaan. We successfully converted the IMSCC archive into OLX format after overcoming some challenges.

We encountered two main issues:

  1. The archive contained a path with an unusual UTF-8 symbol, which appeared as “c” but was not recognized by Python’s filesystem library. We resolved this by renaming and repacking the exported course.
  2. The content included CDATA sections, leading to a ValueError. To fix this, we implemented a sanitization script prior to generating OLX. We plan to contribute this solution to the cc2olx repository soon.

Additionally, integrating this process into the Studio import flow would be highly beneficial for the Open edX platform.

@jmakowski, this might be worth evaluating for inclusion in the Sumac or Teak releases. Such functionality could significantly facilitate the migration process for course creators and organizations moving from other LMS platforms to Open edX, or even simply integrating Open edX into their existing learning ecosystems without needing major changes to their current content.