Git Product home page Git Product logo

cerpus / edlib Goto Github PK

View Code? Open in Web Editor NEW
40.0 4.0 7.0 59.98 MB

Edlib is an application for creating, sharing, storing and using rich interactive learning resources.

Home Page: https://docs.edlib.com

License: GNU General Public License v3.0

Dockerfile 0.24% JavaScript 55.78% HTML 0.65% CSS 0.02% Shell 0.13% SCSS 0.62% Pug 0.04% Smarty 0.12% PHP 39.71% Blade 2.67%
open-education-resources h5p lti lti-tool ed education learning-resources

edlib's Introduction

Edlib

Edlib is an open-source application for creating, sharing, storing, and using rich interactive learning resources.

  • Integrate Edlib to your frontend CMS or LMS system to enhance efficiency through reuse and collaboration on learning content for your system users.
  • Insert content into a context within your learning system or point directly to the specific content using links.
  • All resources are stored and available through a single repository for your learning content - neat and tidy.

The individual learner is at the center of everything we do, and our vision is to provide first-class open learning tools and content to as many of those individuals as possible. — Tommy W. Nordeng (co-founder of Cerpus)

Installation

  • Set up your own development environment by following the instructions in our getting started section on Edlib docs.

Features

  • Find and re-use existing Edlib content through search and filtering by content type and language in the Edlib Hub.
  • Support for all H5P open-source content types
  • Licensing module with an intelligent Creative-Commons license selector.
  • Authoring workflows, including maintaining resources private or making them publicly available.
  • Easy integration with third-party APIs, including audio, video, and image APIs.
  • The ability to create quizzes and game-based learning activities quickly and easily from the integrated question bank.
  • Learning Tools Interoperability (LTI) version 1.0/1.2 provider and consumer support.
  • Resource versioning.
  • The ability to create copies and language variants of existing resources quickly and easily.

Documentation

Visit Edlib Docs to view the documentation. If you see any errors or can’t find what you're looking for, check our issues and discussions pages here on GitHub before creating new issues.

How to contribute

Cerpus welcomes contributions from anyone and everyone. Please see our guidelines for contributing.

In general, we follow the "fork-and-pull" Git workflow:

  1. Fork the repository on GitHub
  2. Clone the project to your machine
  3. Commit changes to your branch
  4. Push your work back up to your fork
  5. Submit a Pull request so that we can review your changes. :) Make sure to add yourself to AUTHORS as a contributor.

Issues

If something isn't working the way you expected, please look at previously logged issues to resolve common problems first. Have you found a new bug or want to request a new feature, then we'd love to hear from you. Please let us know by submitting an issue.

Translation

Edlib's user interface is multilingual. Support for new languages can be added without extensive technical knowledge. See the Translating Edlib section in the documentation for more info.

Translation status

API Name Status
API - Content author Translation status
WWW - Translation status

Code coverage and test status

codecov

The code coverage report is currently covering the PHP parts of the Edlib code for the following parts of Edlib:

  • Content Author: codecov

  • The Hub: N/A - pending setup.

edlib's People

Contributors

brettkromkamp avatar brettkromkampcerpus avatar cerpusbot avatar chrieinv avatar dependabot[bot] avatar emmachughes avatar janlindso avatar kamelon7 avatar maxmoeschinger avatar ssethupathy avatar tmkarlsen avatar weblate avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

edlib's Issues

Make the Edlib Resource URL available for referencing

Make Edlib resource URL available for refrencing
The shareable resource must be available as a resource URL for features within content types in CA/Edlib.
Example: H5P Course Presentation witch displays an URL to the resource as part of the export as document function.

The embed function within H5P does also need a resource URL.
Exported_text_from_CP
Embed_H5P_footer

The provision of comprehensive (developer) documentation

Currently (May 2021), Edlib's documentation is lacking. The need to provide in-depth, comprehensive documentation is pressing. In that respect, the following (concept) map outlines those areas of the documentation that have been identified (to a more or lesser degree) as necessary.

edlib-opensource-documentation-map

Problems using Edlib integration steps

Issue reported by user:

"1) Haven’t found a complete documentation about how to integrate and use..(

  1. Also, during the setup tries by exist documentation, fount lack of access to the internal corpus libraries (licenseapi, edlibfacade, re-recommender and more) from http://app-cerpus-stash.cerpus.net/

Run (VM)ssh-keygen and add the public keys to your bitbucket( only Cerpus employees) and github account"

Endpoint for license returns 500

Describe the bug
The endpoint for retrieving license from H5Ps used within an article is returning 500 ndla.no.

curl -X GET "https://h5p-staging.ndla.no/v1/resource/fa9a0177-56db-4990-9506-5560c35c743f/copyright" -H "accept: /"

To Reproduce

  1. Open https://ndla.no/subject:d1fe9d0a-a54d-49db-a4c2-fd5463a7c9e7/topic:077a5e01-6bb8-4c0b-b1d4-94b683d91803/topic:56ec5eb2-a27d-4707-8fa2-f5ef7d3cc164/topic:d231ffca-5b19-4c7f-9f92-f922f800bcb7/resource:6840dc4a-bff2-4174-9544-c892ec5f53ba
  2. Scroll down to "Regler for bruk"
  3. The dialogue should have an separate H5P tab displaying the used H5Ps and their license like the attached image.
    Skjermbilde 2021-09-24 kl  13 44 59

Link to working resource in prod: https://ndla.no/subject:1:605d33e0-1695-4540-9255-fc5e612e996f/topic:1:da32242e-8fe8-4a4b-9e02-f9e61fa122ef/topic:1:6bc59798-daab-4799-8159-c3ccb24cf6e8/resource:6a5fe992-a507-44b4-b516-66ab2c8c2c2a

Maintenance mode

When migrating Edlib to AWS we need to have a maintenance mode. This would be visible in the edlib frontend interface as a banner and that the possibility to create/edit resources would be disabled.

This maintenance mode should be set in the API and retrieved in the frontend so that we can turn on and off on demand

Access Edlib through article fails

Accessing Edlib through article results in 500 error
When trying to open Edlib via the "Cerpus" button, the legacy Edlib used to open. This does not work anymore and the button should be removed from the CKEditor
"Doku" milestone will solve this need.

To Reproduce
Steps to reproduce the behavior:

  1. Open Edstep and create an article via "Text"
  2. Click on the "Cerpus Icon" in the CKEditor.

Screenshots
Skjermbilde 2021-10-18 kl  14 55 28

Fix /common/app/context-resource-collaborators and /common/app/h5p/generate-from-qa

Both

  • Better error messages
  • Return appropriate http code
  • Better data validation

/common/app/context-resource-collaborators

  • Fix following error seen in apis/resource:
ER_NO_REFERENCED_ROW_2: Cannot add or update a child row: a foreign key constraint fails (`resources`.`resourceCollaborators`, CONSTRAINT `resourcecollaborators_resourceid_foreign` FOREIGN KEY (`resourceId`) REFERENCES `resources` (`id`) ON UPDATE CASCADE)
  • if resourceIds is not set resourceapi returns a 422.

Enable exact search

Enhancing search within Content Explorer gives a better experience
Enabling exact search using "" will give a tool for the users searching and finding for that special resource.

Possible solution
By using "" to get an exact search user will get a better understanding of how it works.
Note: we should look into how the partial search of today works and see what adjustments that can be made to make it mor understandable.

How to recreate
Searching for redskap gives hits on partials ending with -skap such as Skriftlig budskap and Budsjett og regnskap see examples below:

Skjermbilde 2022-08-22 kl  15 40 44

Filter by relevance

Enhance filtering when searching in Content Explorer
Today Content explorer lets the user filter by "Most used" and "Last edited".
When searching for specific content, filtering by relevance probably is the most correct?

Skjermbilde 2021-11-04 kl  08 28 16

Make Content author admin panel available on edlib admin

We need to make available the Content Author Admin website in the Edlib admin website. This is so it is easier to administer.

  1. Make Content author admin login use auth authentication
  2. Add iframe to Content author admin from Edlib admin

Generate and add translation files for Content Explorer.

Making the interface translatable is a must have!
We currently support "English" and "Norwegian Bokmål". We need to make translation files for Content Explorer available. In addition there are som missing translations in the current translations:

Preview of resource:

  1. "Publiseringsdato" --> "Publised"
  2. "Lisens" --> "License"
  3. Date of publish found beneath "Publiseringsdato"

Screenshots
Skjermbilde 2022-02-04 kl  08 40 46

Skjermbilde 2022-02-04 kl  08 38 39

Strip HTML in Millionaire Game

Several Millionaire Games are displaying HTML from the text formatting within the questions and answers. This needs to be stripped away.

Note: this fix will only strip away HTML connected to the question set formatting (bold, italic, underline, subscript, superscipt and formulas), not all HTML. E.g. if you type in HTML like this: < bold tag start > This is bold< /end of bold tag> the HTML should and will be displayed.

Skjermbilde 2021-11-15 kl  08 54 08

Better handling of language

Make sure H5P uses the correct language when possible

Wanted flow of language:
Application -> Edlib -> Resource -> Contenttypes (H5P and others)

Also see ticket EDL-1096

Screenshot

Skjermbilde_2022-02-24_kl _11 11 26

GDPR user and content delete/anonymisation

Delete all user related content within Edlib
When an application performs a user and content delete, the affiliated Edlib data should be anonymized.

Solution
To be described

Make all Edlib resources accessible via URL

Is your feature request related to a problem? Please describe.
Enabling users to share published resources, or make it easier for them to collaborate on single resources in a swift manner, we wish to make all resources
A: accessible via URL
B: editable via URL

This will help users who have many similar forks of content and are struggling with finding, sharing and editing the right resource.

We aim to make Edlib an even more power full content creator and content handler, we wish to enable the users to share stand alone resources outside of the context of any application.

Additional context
See internal issue EDL-729 for background and thougth.

Unable to convert questions from QuestionBank

What is happening
When trying to convert questions to H5P Quiz (questionset) or Millionarie game I get 400 on post https://ca.edlib.com/questionset

{"text":"cURL error 6: Could not resolve host: questionbankservice (see https://curl.haxx.se/libcurl/c/libcurl-errors.html)"}

Steps to reproduce the behavior:

  1. Open Edlib and go to "Questions"
  2. Make a couple of questions with four answers
  3. Choose "Quiz" as presentation form
  4. Click generate quiz

Skjermbilde 2021-11-04 kl  19 46 45

NDLA H5P: Disable context menu for MathJax

Describe the bug
All display of Math does now have a superfluous scrollbar that need to go away.

To Reproduce
https://ndla.no/subject:1:3fa5baa7-d8d8-4b50-98a0-411bbcef13fa/topic:4:1:165436/topic:4:1:165520/resource:1:123313
Users can get passed this issue by changing the Math Settings > Math renderer - settings, but we wish to look into this and solve it for all.

Expected behavior
No superfluous scrollbar.

Screenshots
Skjermbilde 2021-10-05 kl  22 52 01

Suggested solution*
We want to test disabling the context menu for MathJax within H5P.

Enable Embed-button for H5Ps

Re-enable embed button for H5Ps in NDLA Edlib on test to see what we get (this is only a test and step one of this task).

Backend script for finding YouTube embeds in Edlib content

Why do we need this
NDLA does no longer want to use YouTube-videos within H5Ps and need to find existing content containing it

Description

  1. Find all Youtube-embeds i existing H5P-content (not included inserted as links)
  2. Sorted by H5P-content types
  3. Differ between resouces exposed to NDLAs frontend = included in published articles (articles with context)

Output CSV file.
URLs?

500 server error when saving new variant with robot translated content

What is the bug
When trying to save a new variant with nno (Norwegian nynorsk), the saving of the new resource times out and fails.
This only seem to happen on draft articles thats never been saved - including newly translated versions where this feature is a natural part of the workflow.

To Reproduce
Steps to reproduce the behavior:

  1. Create a new article in ED and create a new H5P that you add to the article. OR: Create a new article in ED and create a new H5P that you add to the article. Then you make a new language variant of the article (this being the natural workflow).
  2. Edit the H5P before saving the article
  3. Choose "Make new variant" + "Norwegian Nynorsk; Nynorsk, Norwegian"
  4. Save the resource

Expected behavior
The new variant (basically a new H5P) should be saved and embedded into the article.

503 on inserted H5Ps within articles

**H5Ps in articles does probably have the wrong URL **
All H5Ps in articles display 503.

To Reproduce
Find a course with an article with a H5P within. Search for "Celler og vekst"
Skjermbilde 2021-11-04 kl  13 03 14

Displays correct names for content

When uploading new content types like i.e. H5P libraries, Edlib must retrieve, store and display the defined name for this type.
Display of the correct name must cover:

  • the list when creating new content

  • filtering on type for search

  • within display of listed resources

Note: Set name can be overwritten in CA.

500 error when saving resources

Occasionally we're seeing 500 errors within Edlib when saving resources. The resource is actually saved/updated, but not in its context and needs to be saved again in order to display the correct version in frontend.

Internal ticket: EDL-1099

Fix irregularities within Script View

When translating text using Script View, the editors experience loosing format originally set within H5P.

An option stripping away all formation of text in Script View as been regarded as non-viable.

Solution is to make the Script View editor as identical to the H5P-editor as possible.

Initial internal ticket: EDL-1072

Display correct icon for content type

When uploading new content types like i.e. H5P libraries, Edlib must retrieve, store and display the attached icon for this type.
The icon is used for:

  • listing when creating new content
  • filtering on type for search
  • display of listed resources

Move Content Author to GitHub

We need to move content author to github. In order to do that we need to make sure there are no secrets in the repository

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.