mitodl / lore

Learning Object Repository for Education
https://goo.gl/nDVx4D
GNU Affero General Public License v3.0
16 stars 6 forks source link

Preserve metadata during import/export to/from edx #880

Open pdpinch opened 8 years ago

pdpinch commented 8 years ago

As a course author, I would like a way to preserve the metadata I've added to a learning resource: when it's exported form LORE, imported into edX and re-exported and re-imported into LORE. In particular, I don't want to have to re-enter metadata on the same learning resource, and I'd like to avoid creating duplicate learning resources.

We've discussed a couple of different ways this could be done:

  1. XML attributes:
    • Looks nice
    • relatively easy to parse when necessary
    • Since OLX doesn't have a schema, we can add arbitrary attributes
    • we need to test what happens with edX on import and export
  2. XML comments:
    • allows for more arbitrary structure
    • we need to test what happens with edX on import and export
  3. edX Asides (an experimental extension to XBlock:
    • intended to support tagging of XBlocks, which seems similar to what we're doing
    • not yet in production
    • no serialization established yet.

Another question to consider is whether we want to embed all of the learning object's metadata in the OLX export, or just an GUID that can be used to look up the metadata.

pwilkins commented 8 years ago

The elephant in the room with these proposals is that edX (the elephant) will change position without warning, putting our expensive designer furniture (the room) at risk. Is there any practical way that we can get edX buy-in on our plan of choice?
I propose the easiest path for collaboration is using OLX and pursuading edX that OLX is a viable path to interoperability.

pdpinch commented 8 years ago

@ferdial and I hard a brief conversation with Dave Ormsbee and Joel Barciauskas today about unique identifiers in OLX.

Dave said that it's a part of the XBlock architecture to "ignore anything that it doesn't understands." This should mean that edX will import and export any (tags and attributes?) in the OLX that are unfamiliar.

He did want to talk more, to make sure we didn't have any namespace collisions, and they were also interested in the scope of what we're interested in.

So, there's hope that the elephant won't step on us -- because it ignores the furniture anyway.

On Jan 29, 2016, at 2:03 PM, Peter Wilkins notifications@github.com wrote:

The elephant in the room with these proposals is that edX (the elephant) will change position without warning, putting our expensive designer furniture (the room) at risk. Is there any practical way that we can get edX buy-in on our plan of choice?

I propose the easiest path for collaboration is using OLX and pursuading edX that OLX is a viable path to interoperability.

— Reply to this email directly or view it on GitHub https://github.com/mitodl/lore/issues/880#issuecomment-176914499.

pwilkins commented 8 years ago

Dave said that it's a part of the XBlock architecture to "ignore anything that it doesn't understands."

We don't really want it to "ignore" what it doesn't understand, we want them to preserve what it doesn't understand. The difference is inaction versus action. "Preservation" is an action; "ignoring" sounds more careless.