Code Monkey home page Code Monkey logo

moodle-mod_hvp's Introduction

H5P Moodle Plugin

Create and add rich content inside your LMS for free. Some examples of what you get with H5P are Interactive Video, Quizzes, Collage and Timeline.

Usage

If you intend to use the repository directly in production, make sure that you're using the "Stable" branch, as this is the production branch. There are no guarantees for the state of the other branches at any given time. Also make sure that all submodules are pulled as well using:

git submodule update --init

Description

One of the great benefits with using H5P is that it gives you access to lots of different interactive content types.

Another great benefit with H5P is that it allows you to easily share and reuse content. To reuse content, you just download the H5P you would like to edit and make your changes – e.g. translate to a new language or adjust it to a new situation.

H5P is:

  • Open Source
  • Free to Use
  • HTML5
  • Responsive

The H5P community is actively contributing to improve H5P. Updates and new features are continuously made available on the community portal H5P.org.

View our setup for Moodle to get information on how to get started with H5P.

GDPR Compliance

Information useful to help you achieve GDPR compliance while using this plugin can be found at H5P.org's GDPR Compliance page.

Development Version

Warning! Never use the development version in production, there are no guarantees for which state the development branches are in at a given time.

Inside your moodle/mod folder you run the following command:

git clone -b master https://github.com/h5p/h5p-moodle-plugin.git hvp && cd hvp && git submodule update --init

Enabling The Plugin

In Moodle, go to administrator -> plugin overview, and press 'Update database'.

Settings

Settings can be found at: Site Administration -> Plugins -> Activity Modules -> H5P

Contributing

Feel free to contribute by:

  • Submitting translations to the Moodle AMOS translator
  • Testing and creating issues. But remember to check if the issues is already reported before creating a new one. Perhaps you can contribute to an already existing issue?
  • Solving issues and submitting code through Pull Requests to the 'master' branch or on a separate feature branch.

moodle-mod_hvp's People

Contributors

adamlynam-catalyst avatar andmat7 avatar danmarsden avatar falcon-git avatar fnoks avatar germanvaleroelizondo avatar golenkovm avatar haietza avatar icc avatar jamie-catalyst avatar jarvil avatar jnavroski avatar js0000 avatar monnardj avatar nadavkav avatar ndunand avatar nicosoft avatar otacke avatar peterburnett avatar s-cenni avatar sabahuddin avatar sarjona avatar sledunois avatar sr258 avatar tajakobsen avatar tatikamsetti avatar thomasmars avatar timothyylim avatar towerx avatar vaughany 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  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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

moodle-mod_hvp's Issues

moodle 3.0

it is great to have this plugin for moodle and h5p! I would like to know whether it support Moodle 3.0?

Many thanks!

$CFG->sessioncookiepath breaks loading of assets in subdir installation

In some locations the plugin is using $CFG->sessioncookiepath setting for URLs.

For example:

This is breaking loading of assets when Moodle is installed in a subdirectory. By default the values is / causing the URLs to miss the subdirectory:

  • Expected:
    • www.example.com/subdirectory/pluginfile.php/123/mod_hvp
  • Actual:
    • www.example.com/pluginfile.php/123/mod_hvp

Is there a reason why $CFG->sessioncookiepath is being used? Can it be replaced?

H5PFrameworkInterface: comment both methods getnumAuthors & getLibraryStats

I got this error when uploading h5p content to moodle:

Fatal error: Class mod_hvp\framework contains 2 abstract methods and must therefore be declared abstract or implement the remaining methods (H5PFrameworkInterface::getLibraryStats, H5PFrameworkInterface::getNumAuthors) in /var/www/moodle/mod/hvp/classes/framework.php on line 983

So in order to avoid declaring the framework class abstract i've commented both H5PFrameworkInterface methods until they are implemented in the framework class

Now it works.

Just for you to know ....

BTW nice work on the plugin!

Use Moodle file system instead of mod/hvp/files

We must probably create a File interface and a default implementation in Core. The default impl. will work directly against the file system.
The Moodle plugin will require a custom impl. which uses Moodle's File API.

Add options to configure Action Bar for H5P content

Checkboxes for the following options should appear in the form for H5P content:

  • Display action bar and frame
  • Download button
  • Copyright button

The options should look and work just like the options for the WordPress plugin.

Move duplicated code to Core

Some places in the framework interface there is code which is exactly the same for all implementations of it. E.g. in saveLibraryData() and saveLibraryUsage().
If we move this code to Core it will ease maintenance.

Dynamic loading of Content User Data

We must verify that H5P.getUserData() works when H5P Content is displayed. Must also work when data isn't preloaded, although I'm not sure if it used.
I think maybe Interactive Video uses it to check if the Tour has been taken.

Editor: Support file uploads inside H5P editor

Must be done after #29. Cannot be tested before #47 is done.

Implement interface allowing for file upload support in the editor. There may be a need for adding functions to the moodle implementation of the h5p file storage interface.

Error loading CSS and JS on Moodle

Hi,

I install H5P plugin on a moodle 3.0 version, without problems, but when i create a new activity on a course, simply i can´t see anything...

Then i start inspect element on google chrome and see just the attached image

1

I install the same plugin on a same moodle version running in desktop mode to test and there everything works fine.

Any suggestion is welcome.

Thanks in advance!

Implement common Moodle activity events

  • Activity viewed
  • Activity index viewed (when implemented)
  • For Interactive Video: Video player events (Play, stop, seek, pause, interaction?, finished)
  • Grade updated
  • xAPI statement fired (maybe? instead or in parallel of sending it to an external LRS)

Add Intro element above video player

It's very common to Moodle modules to have an Intro form element that is displayed to the users at the top of the module's main page. In H5P's case, above the video. and it usually includes some instructions for students about the specific activity or resource.
(I am not sure, but it could be actually required to be implemented by Moodle HQ if it is going to be approved by them, and added to moodle.org/plugins database)

Please see if you can add one to the hvp module.

Improve code documentation

Make sure all files and functions are documented.
Remove all TODO: Document

This issues must be verified before release.

Can't run cron task anymore

Hi, Since I added the plugin I can't run the cli/cron.php task anymore, is it a known issue and is there a solution please ? Thanks for the awesome work !

Something wrong with the git submodule?

There's something funny going on with the git submodule:

$ git status

    modified:   library (new commits, modified content)
$ git submodule update 

    fatal: reference is not a tree: e3aa6323f55acd635b8b0056f7ab92b76043f9d9
    Unable to checkout 'e3aa6323f55acd635b8b0056f7ab92b76043f9d9' in submodule
    path 'library'

Figure out Moodle version compatibility

The version.php mentions Moodle 2.5.3 (11 November 2013) as the minimum requirement.

So far I haven't gotten the plugin to work neither on 2.8 nor 2.7, so apparently something has changed in a non-BC way between Moodle 2.5 and 2.7.

  • Figure out what
  • Figure out how much work it requires to make it work on newer versions

Send xAPI statements to a remote LRS

Is there any plans (roadmap) on adding an xAPI dispatcher?
outside of Moodle, to an LRS?
or inside Moodle, (1) into a custom hvp DB table (2) Moodle's mdl_logstore_standard_log ?

Discussion: Plugin upgrade

In order to upgrade the plugin to use latest H5P PHP library and Moodle version, some of the database tables need to be altered.

Is the plugin currently being used somewhere? If not, there's no point in wasting effort to make an upgrade path. I'll just add the alterations straight to the installation feature.

In case the plugin is being used, would someone be able to duplicate it into a test environment and test the upgrade path?

Error with Oracle

Hi,
I installed the plugin with Moodle 2.8 and Oracle. When I imported my first content I got an error due the use of keyword LIMIT in "classes/framework.php" line 302. Oracle (and some other DBMS) doesn't support LIMIT
Maybe using $DB->get_records_sql($sql, array $params=null, $limitfrom=0, $limitnum=0) could work..

Removing the LIMIT condition the query works.
Thank you for the plugin!!!!

grade integration?

The h5p results will be stored in the moodle grades? As i am using H5P in drupal currently, the h5p results only record the result in last attempt, but Moodle support multiple attempts, so will all the results recorded?

Thanks!

Use Moodle's Repository API to get a video URL into Interactive Video content type

Moodle provide a Repository API that enable any plugin to enjoy a pluggable framework of repositories that can prove easy search and retrieval of video URLs from various sources (web and local repositories). It is the standard way for content creators (and students) to input video URLs.
It could be very useful to integrate it with the "Upload/embed video(s)" Tab in the Interactive video content editor.
image

You can see it in action when you add a URL resource to a course.
https://github.com/moodle/moodle/blob/master/lib/form/url.php#L122
https://github.com/moodle/moodle/blob/master/lib/form/url.js

Required moodle version

As the plugin requires the module mod_assign, which is just available from moodle 3.1, it breaks older moodle instances on installation, at least for me.
So probably the required value in the version.php should be increased to 2016052300?

Add RTL support to the H5P Editor

We (The RTL folks) missing an RTL/LTR button on the editor's toolbar, everywhere text can be edited.
Example:
image

(I am referring to Text flow, and not the Alignment)

Fix translation support

Today, core uses the t() function of the framework interface with a default english translation.

We will have to change how the translation works in Core. We should probably use keys and then allow the implementation to create/use a map inside the t() function to fetch the correct translation. This will probably be the easiest way to deal with translations for most web systems.

Make sure content user data is reset

resetContentUserData() in hvp.php should reset data flagged with delete_on_content_change/invalidate when content is updated.

Also, make sure that data is removed when user or content is deleted.
#13 must be fixed first.

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.