HIGHLY IN DEVELOPMENT: Do not use for production
This importer harvests episodes and series (lecture recordings) from Opencast instances and pushes them as external references to an Edu-Sharing instance.
- NodeJS 10.12.0 or higher
- Clone repository and change into repository folder
- Install dependencies
npm install
- Add new user to your Edu-Sharing instance. For more information see Edu-Sharing documentation.
- Rename
.env.template
file to.env
- Edit
.env
file as described in the comments.
Minimum required variables are Edu-Sharing host specs (protocol, domain), user and password.
# (Required) Edu-Sharing host
ES_HOST_PROTO=http
ES_HOST_DOMAIN=localhost
# (Required) Edu-Sharing User to publish Opencast content with
ES_USER=opencast
ES_PASSWORD=opencast
- Rename
config.oc-instances.js.template
toconfig.oc-instances.js
in folder./src/config/
- Edit
./src/config/config.oc-instances.js
and add Opencast instances as JSON objects (protocal, domain).
LIMITATION: Currently, only the first object in the instance array is used..
{
protocol: 'https',
domain: 'develop.opencast.org'
}
- Run
npm start
in repository directory.
npm start
// or directly
node src/index.js
Will be added later.
- Get all published episodes from Opencast Instance
- Filter episodes by open licences
- Get all published series from Opencast Instance
- Edu-Sharing authentication (Basic auth or Bearer token)
- Create folder structure in Edu-Sharing user workspace (a folder for every Opencast series)
- Create a node/children for every episode (Alfresco API)
- Update metadata for all nodes/childrens
- Set permissions for all nodes/childrens to public
- Setup development environment. You can use the official Edu-Sharing docker container.
- Follow all minimum config steps as described above.
- Run nodemon to watch for file changes
npm run dev
Linting and formatting is run by a husky-hook with every commit. See package.json
file for config.
You can also run linting and formatting via this commands:
npm run format
npm run lint
npm run lint:fix
💻 virtUOS (University Osnabrück)
- www: virtuos.uni-osnabrueck.de
- Github: @virtUOS
👤 Florian Feyen
- Github: @ffeyen
Contributions, issues and feature requests are welcome!
Feel free to check issues page.
Give a ⭐️ if this project helped you!
This README was generated with ❤️ by readme-md-generator