Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Proposal: Improve Common Cartridge Import to Open edX #352

Open
MarshMike opened this issue Apr 16, 2024 · 9 comments
Open

Proposal: Improve Common Cartridge Import to Open edX #352

MarshMike opened this issue Apr 16, 2024 · 9 comments
Assignees

Comments

@MarshMike
Copy link

MarshMike commented Apr 16, 2024

Abstract

This is the updated version of the "Improve Common Cartridge Import to Open edX" proposal. It includes decomposed milestones based on feedback from the first proposal

Goal: The primary objective of this initiative is to fully integrate the Common Cartridge (CC) standard into the Open edX platform. This enhancement aims to facilitate the effortless migration of digital learning content from widely-used Learning Management Systems such as Canvas, D2L Brightspace, Blackboard, and Moodle to Open edX. The initiative seeks to address the current challenges faced by educational institutions and businesses in migrating course data seamlessly and without technical barriers.

Problem Statement: Currently, Open edX does not support the Common Cartridge format natively, which leads to a cumbersome and error-prone process using a third-party conversion tool. This limitation acts as a barrier for institutions considering a switch to Open edX, especially given the popularity of Common Cartridge among major LMS providers.

Proposed Solutions:

Quick Solution: Enhance the existing cc2olx converter to improve its reliability and efficiency in transforming .imscc files into .tar.gz format suitable for import into Open edX.

Strategic Solution: Develop native support in Open edX for direct import of .imscc files, enabling a straightforward and user-friendly migration process directly within the Open edX Studio environment.

Intended Outcomes:

Educational Institutions: Facilitate easier transitions to Open edX, providing a viable and attractive alternative to current LMS options.

Open edX Contributors and Community: Simplify the content migration process, reduce the potential for data loss, and increase the platform's appeal and functionality, thereby attracting a broader user base and enhancing the platform’s community-driven development.

Market Impact: Position Open edX as a competitive player in the LMS market by removing interoperability barriers and catering to the needs of institutions looking for robust and flexible education technology solutions.

Context & Background

What is Common Cartridge?

A Common Cartridge (CC) is a set of open standards developed by the 1EdTech member community that enable interoperability between content and systems. Basically, it is a standard for creating and sharing digital learning content in the education sector. This standard is supported by major LMS systems on the market like Blackboard Learn, Moodle, Brightspace, Canvas. As a result, users of these systems can effortlessly export course data in .imscc archive from one system and seamlessly upload it to another, ensuring fast and easy migration between systems. A Common Cartridge file contains features such as an IMS manifest file, roles metadata, LTI links, weblinks, embedded files, and question data.

What is inside Common Cartridge?

A Common Cartridge file contains IMS manifest file, roles metadata, LTI links, weblinks, embedded files, and question data.

  • The manifest file describes the content contained in the cartridge. For example, in a Common Cartridge compliant learning app, the manifest file informs which version is being used to package its content. The components that make up the manifest file may be in the package or external to the package.
  • Metadata lets developers label and organize a cartridge’s content. The metadata can be in the IMS Learning Object Metadata (LOM) schema or any other metadata schema. Curriculum standards that are attributed to specific content or links packaged in the file can also be included in the LOM. Common Cartridge Metadata file corresponds to the course.xml file in OeX.
  • A Common Cartridge file can contain LTI launch links and links to external web pages. The standard allows for data to be exchanged between externally linked applications and a LMS. LTI links can also be used as a method of authorizing users so that they can access remote content securely.
  • The package can contain several pieces of multimedia content. This can include web content in an HTML format and common file types, such as PDFs, EPub textbooks, videos, and text documents.
  • A Common Cartridge package can contain tests, assessments, and question banks that are formatted using the IMS Question and Test Interoperability (QTI) and Accessible Portable Item Protocol (APIP) standard.
  • Common Cartridge files cannot contain SCORM files. However, SCORM content can be converted to Common Cartridges.

Common Cartridge Content Types

.imscc file content example

Common Cartridge Versions

IMS Common Cartridge version Summary
IMS Common Cartridge 1.0 In the resource metadata context, includes the higher education value. Contains metadata for the intended user roles, Learner and Instructor. These are the user roles that can view the resource. Contains the intendedUse attribute for Web Content Resources. This attribute must contain one of the following values: lesson plan, syllabus, or unspecified.
IMS Common Cartridge 1.1 Offers easy support and integration with IMS Learning Tools Interoperability (LTI) v1.0 resources. You can integrate rich learning applications or premium content with platforms or other systems from which applications can be launched, without additional customization. In the resource metadata context, includes the following values: higher education, school, training, and other. Adds metadata for the Mentor intended user role. The intendedUse attribute for Web Content Resources is optional in this Cartridge version.
IMS Common Cartridge 1.2 Includes metadata for curriculum standards, which provides the option to associate the cartridge, resource, or question item with zero or more curriculum standard identifiers, from one or more providers. Users can use any curriculum standard, provided that it supports unique identifiers. The intendedUse attribute for Web Content Resources offers a new attribute called Assignment.
IMS Common Cartridge 1.3
Allows you to import multiple question banks within a single cartridge.Provides the ability to specify Common Cartridge XML descriptions within an imsmanifest.xml file.Provides the option to add metadata to LTI links.
Common Cartridge (CC)/Thin Common Cartridge (TCC) 1.4 Expands upon the legacy specification to include new features: a K-12 profile, built from required metadata; the ability to align to CASE standards; support for the upcoming 1EdTech specification OpenVideo; and adds line items to LTI links. This version extends the interoperability already existing in CC/TCC and provides additional benefits to K20 institutions when publishers take advantage of the K-12 profile.

Market Research

Common Cartridge is employed by major LMS providers including Canvas, D2L Brightspace, Blackboard, and Moodle. These platforms collectively hold 88% of the Higher Ed LMS Market in the US and Canada.

Most institutions that currently utilize a prominent platform often overlook Open edX as a potential alternative. For instance, dissatisfaction with Blackboard Learn LMS has prompted many users to seek migration options, as evidenced in this reddit thread. The challenge of seamlessly migrating courses may contribute to the underestimation of Open edX as a viable alternative.

CC import to OeX — Current state

Open edX currently does not support the Common Cartridge standard, meaning tha courses exported in .imscc format cannot be seamlessly imported into the system. However, a cc2olx converter has been developed to transform Common Cartridge .imscc files into .tar.gz files, which can then be imported into Open edX Studio.

Converter discovery
Based on the discovery made by 2U/edX team and provided by @cablaa77, the conversion success of specific file types appears to be uniform across all LMS platforms — if one type can be converted, it generally can be converted from any system in most cases. Below is a table comparing content types in Common Cartridge and number converted files. The discovery revealed conversions from Canvas (7 files converted), Moodle (1 file converted), Blackboard (1 file converted), and D2L Brightspace (1 file converted).

CC content edX Content term Files converted
Web Content Files and Uploads 10/10
Web Link HTML Component 10/10
Associated Content LTI, other resource specific to external LMS**All non-native canvas content. This would include external tools and uploaded content as well. 0/8
Multiple Choice Problem Component (Multiple Choice Problem) 5/5
Multiple Response Problem Component (Checkbox Problem) 3/3
Fill in the Blank Problem Component (Text Input Problem) 1/1More investigation is needed
Boolean Problem Component (Text Input Problem) 3/3
Pattern Match   0/3
Essay ORA (Open Response Assessment) 3/3
Discussion Topic Discussion Component 6/8Could not convert from Moodle and Brighspace.

Raccoon Gang Experience
During the latests process of using the converter to import courses from D2L Brightspace to Open edX, various issues were encountered

The imscc. archive contained a path with an unusual UTF-8 symbol, which appeared as “c” but was not recognized by Python’s filesystem library. The problem was resolved by renaming and repacking the exported course. The issue was related to MacOS filesystem, on Ubuntu the same bug wasn’t reproduced, so it may be usefull to enhance the user experience and create docker environment to run the conversion script.

The content included CDATA sections, leading to a ValueError. To fix this, a sanitization script prior to generating OLX was implemented.

The migrated course structure to Open edX consisted sections (modules in D2L) with one subsection and many units. However, initial course in D2L had included several subsections in each section (module in D2L).

Page description of Modules (for sections & subsections) were left empty after migration.

QTI Quizzes were not migrated due to problems during parsing. The algorithm to import QTI worked after changes in the parser algorithm.

PDFs were migrated as plain assets, advanced modules are not used during migration

Relative links in HTML for visuals (images, headings, icons) or external links aren’t valid after migration due to missing domain in URLs. The possible solution is to create absolute URLs by using user inputted configuration during migration.

Text blocks, Custom HTML embedded videos in Panopto & Discussions migrated well.

Scope & Approach

Scope
From the current perspective, two ways of common cartridge conversion are possible.

  1. Improve Converter
    Enhance the current cc2olx converter to address any existing issues, allowing for a seamless transformation of courses from imscc format into .tar.gz files.

  2. Integrate converter into Open edX

Integrate the capability to directly import .imscc files into Open edX through Studio functionality. This enhancement will enable effortless migration of courses from other LMS to Open edX, catering to users without technical expertise.

Approach
First, improving the converter to resolve known issues will increase the conversion rate and make the migration process from other LMS to Open edX smoother.

Second, integrating the capability to directly import IMSCC files into Open edX through Studio is a logical step.

After collecting feedback from users who try the new import tool, the Open edX community can identify primary areas for improvement and enhance the converter in future phases.

The benefits of this approach include:

  1. Saving time and effort on identifying current issues with the cc2olx converter.
  2. Increasing the amount of data collected from users utilizing imscc supported LMSs compared to technical discovery planned in the first version of proposal.

Primary Beneficiaries

Integrating Common Cartridge files into Open edX will streamline the migration process and establish Open edX as an attractive option for educational institutions and businesses currently using platforms like Canvas, Brightspace, Blackboard, or Moodle.

Beneficiaries of this enhancement include:

  1. Educational Institutions: Those utilizing platforms such as Canvas, Brightspace, Blackboard, or Moodle can now view Open edX as a practical alternative. This compatibility broadens their choices and facilitates a smoother transition to Open edX should they decide to switch.
  2. Open edX Contributors: Contributors will benefit from a simplified and expedited process for migrating courses from the aforementioned platforms to Open edX. This efficiency not only saves time but also reduces the potential for errors during course transfers.
  3. Open edX Community: The support of Common Cartridge is likely to attract a broader audience. An increase in users not only enriches the community but also fosters more diverse contributions to the platform’s development and enhancement.

Milestones and/or Epics

Phase 1: cc2olx converter improvement

In the first phase of cc2olx improvement we would like to resolve the known issues faced during latest usage of the cc2olx to convert CC courses to Open edX format.

  • Algorithm enhancement should include the following:
    • Enhance migration of the course structure, by fixing parts such as joined subsections and correctly migrate Section and Subsection titles if specified.
    • Enhance HTML parcing and processing to fix issues with embeded Styles, JS scripts and other elements that might be already embed into CDATA.
    • Enhance HTML parcing by allowing specifying additional user configurations to be used during conversion, such as Root domain for relative links. This might help migrating external resources with relative pass (docs, visuals, images, etc.)
    • Support Submission type of the assement using file upload functionality in ORA xBlock in addition to currently supported Essay type.
    • Course Grading policy and configuration.
    • Optionally: handle LMS specific XML for Canvas, D2L, Moodle, Blackboard, if implementation differs from the standard, e.g., (https://github.com/openedx/cc2olx/blob/master/src/cc2olx/external/canvas/module_meta.py#L7)
  • Usability enhancements for the library will include:
    • Enhance general output of the algorithm, provide more discriptive errors to users, track and log conversion steps.
    • Optional specification for custom xBlocks to migrate content to. For example migrate PDFs to PDF xBlock instead of just link to asset. List of xBlocks that might be included for diferrent types of content:
      • PDF xBlock
      • Poll / Survey xBlock
      • google-document xBlock
      • feedback xBlock
    • Tutor integration to run conversion in a dockerized environment. Possibly adding some additional utils to enhance opertors experience using conversion.

Impact metrics

  • The result of this phase will be an increased percentage of content/content types converted from Common Cartridge to OLX. We expect the number reach over 80% of all content exported in imscc format for most of cases.

Phase 2: Direct import in OeX Studio — Core Product Optimization (DRAFT)

As a user without technical knowledge, I want to effortlessly import courses in Common Cartridge format into Open edX using the user-friendly interface, so that I could smoothly migrate my course from Blackboard, Moodle, Brightspace, or Canvas to the Open edX platform.

Detailed description and Wireframes will be added soon.

AC:

  1. User can import .imscc file in Course Import tab in Studio.
  2. After conversion system shall give the report with information
    a. what percentage of data was imported to course outline
    b. what files was not imported into the system
    c. error message if file was not imported

Impact metrics
This phase will allow to improve following metrics:

  • Time needed to import courses in Common Cartridge format to Open edX
  • Number of new users who transitioned to Open edX from Blackboard, Moodle, Brightspace, or Canvas.

Phase 3: cc2olx converter further improvement (Draft)

Based on feedback collected from the .imscc importing tool beta launched during Milestone 1, the OeX community will now possess the ability to identify the primary issues of the current CC2OLX across different LMS systems, prioritize them, and systematically resolve.

Other Options Considered

CC Plugin to Open edX: Implement third-party plugin to edx-platform, that will handle the conversion of the CC content via graphical interface, and allow this plugin to be optionally installed and enabled.

Named Release

  • First phase — Sumac.
  • Second phase — Sumac and Teak.

Timeline

TBD

Proposed By

Raccoon Gang

###Additional info

Comments considered during proposal update:

Copy link

Thanks for your submission, @openedx/open-edx-project-managers will review shortly.

@MarshMike MarshMike changed the title Proposal: Improve Common Cartridge import in Open edX Proposal: Improve Common Cartridge Import in Open edX Apr 16, 2024
@MarshMike MarshMike changed the title Proposal: Improve Common Cartridge Import in Open edX Proposal: Improve Common Cartridge Import to Open edX Apr 16, 2024
@jmakowski1123
Copy link

jmakowski1123 commented Apr 23, 2024

Next steps:

Mariia to coordinate
Jenna to find stakeholders

@mariiamoskalenko mariiamoskalenko self-assigned this Apr 23, 2024
@jmakowski1123
Copy link

jmakowski1123 commented May 23, 2024

Hi @mariiamoskalenko - thanks again for submitting this. Great to see this project. A couple of things:

  1. I'm wondering if it would help to break the milestones up even more by other LMS platforms? For example, focusing first on converting from Canvas, then Moodle, etc. I touched based with @cablaa77 , who shared data from a CC pilot project that edX ran a few years ago. One of the findings was that Canvas content was much easier to convert than Moodle, for various reasons. The research is a few years old, so it might be worth following up to see which LMS might be the lowest hanging fruit? For example, if the current market trend is a move away from Blackboard in particular AND it turns out that Blackboard content is relatively straightforward, then it would be a no-brainer to start with a milestone around making sure Blackboard works first with the cc2olx converter.
  2. Brad shared the full pilot study here: https://docs.google.com/spreadsheets/d/1eU3ZkGIPODRMUbgHx08xG3HRecWlmRerpQ6Aqi4iMYE/edit#gid=0
  3. I'd like to see the %of content lost metric quantified quite a bit along the way. Happy to help with product support on this. I'd like to understand what threshold users find acceptable. 95%? 90%? 75%?
  4. Milestone 2 will need some UI designs, correct? I'm imagining this would be a subset workflow within the Import UI flow, but that will also need some design thought.

@jmakowski1123
Copy link

cc to @cablaa77 @jristau1984 @kdmccormick for further feedback/input

@abyzovaana
Copy link

@jmakowski1123
Thank you for your comments.
RG is working on updating the proposal based on your feedback to include. Deadline early next week - max June, 18.

@cablaa77
Copy link

@abyzovaana we were looking at cc2olx about a year ago with open craft. We got through discovery but ended up prioritizing other workstreams. I think @jmakowski1123 comments are right on the mark and my memory is that thinking about getting to 100% conversion was going to be very challenging but improving conversion seemed reasonable enough. So I would think that coming up with success criteria (what % conversion is good enough) might be valuable. Areas that we thought would be valuable to focus on after discovery included formatting issues, finding a way to help import numeric quizzes properly, finding a way to better handle Flipgrid, and addressing courses with just HTML link and no content.

@MarshMike
Copy link
Author

Updated proposal according to comments.

  • Expanded Context & Background part
  • Reconsidered and updated Scope & Approach
  • Decomposed Phase 1

TBD

  • Phase 2 & 3 decomposition
  • Timeline for each phase

@kdmccormick
Copy link
Member

kdmccormick commented Jul 17, 2024

@MarshMike Looks great to me, just a quick note on the technical approach -- I'd to ensure that when IMSCC import is implemented directly in Studio, that it still always goes through the cc2olx tool to perform the conversion. In other words, the import process should work like this:

  1. User uploads an IMSCC archive
  2. The Studio sever, in the background, runs cc2olx in order to convert it to OLX
  3. The Studio server imports the converted OLX just like it would during normal course import

Not this:

  1. User uploads an IMSCC archive
  2. The Studio server directly reads the IMSCC archive without ever translating it to OLX

Both approaches would be the same to the end user, but I prefer the former because it would isolate IMSCC complexity from Open edX, make it easier to diagnose any conversion issues that occur, and avoid idiosyncatic behavior drift between the IMSCC and OLX formats. Let me know if you disagree.

@GlugovGrGlib
Copy link
Member

@kdmccormick, thank you for the feedback! Definitely, the approach with separate cc2olx process running in the background was in our minds for the second milestone of integrating IMSCC conversion directly in the Studio. We will include the second approach into the rejected alternatives section to make it explicit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: [Prod Proposals] In Review
Development

No branches or pull requests

7 participants