tu-graz-library / invenio-imoox

MIT License
0 stars 2 forks source link

create a converter to convert the given standard from mooc [1] to lom [2] #4

Open utnapischtim opened 2 years ago

utnapischtim commented 2 years ago

The MOOC platform defines a schema [1] to export the metadata. We have to create a converter to convert metadata described with this schema to LOM. This converter should be implemented with the visitor pattern like [3] and [4]. Start by implementing the [5] converter methods. Those methods should then look like "convert_image(self, value, record)". The real mapping will then be discussed

SideNote: don't use the @tc.typecheck decorator. this will be removed in the final version of this branch

[1] https://github.com/MOOChub/schema/ [2] https://en.wikipedia.org/wiki/Learning_object_metadata [3] https://github.com/utnapischtim/invenio-rdm-pure/blob/9f46084341b86f1cd8a99064963cd215bbc98fc7/invenio_rdm_pure/converter.py#L16 [4] https://github.com/utnapischtim/invenio-rdm-pure/blob/9f46084341b86f1cd8a99064963cd215bbc98fc7/invenio_rdm_pure/converter.py#L44 [5] https://github.com/utnapischtim/invenio-rdm-pure/blob/9f46084341b86f1cd8a99064963cd215bbc98fc7/invenio_rdm_pure/converter.py#L48

utnapischtim commented 2 years ago

mapping MOOC -> LOM

name -> general.title courseCode courseMode abstract -> general.description[] description -> general.description[] languages -> general.language[] startDate availableUntil endDate image -> custom.thumbnail video -> instructors -> metametadata.contribute learningobjectives -> educational.description duration -> technical.duration partnerInstitute -> metametadata.contribute moocProvider url -> technical.location workload courseLicenses -> rights.copyrightandotherrestrictions access