Introduction
[+]
1.1.1. Features
1.1.4. For developers
Bugs & Wishes
Open or Pending
Create Item
1.2. Roadmap
1.2.1. Tiki 12-16
Create wiki syntax embed content from https://h5p.org/
Copy to clipboard
{h5p url=https://h5p.org/h5p/embed/ id=617 allowfullscreen=y frameborder=0, width="1090" height="674"}
would generate
Later on, this wiki syntax can be used to embed H5P objects that live in Tiki (by omitting any value in url)
1.2.2. Tiki 17
- Integrate H5P to Tiki as a built-in feature (optional of course) (Fall 2016 for Tiki 17)
- Roles (This will be a collaboration between H5P and Tiki)
- Tiki: Xavier and Jonny
- H5P: Thomas and Frode (+Svein-Tore)
- Timeline
- November 2016: brainstorming / planning
- Dec 2016 -> March 2017: development
- April 2017: released as part of Tiki17
1.2.2.1. Desired fixes in 17.x branch
- H5P objects don't take on look and feel of Tiki site (which is not surprising as H5P is not using Bootstrap)
1.2.2.2. Fixes in 19.x branch 2019
- Fixed most (all) of the known bugs on loading content types as documented here item6516-H5P-Content-Creation-Bug
- Got the H5P Hub working (which means easier importing/installing of content types)
- To be backported to 18.x when tested
1.2.3. Phases & Milestones
- Place files on svn
-
Get an experimental branch to play without fear of breaking too much things while learning, etc. done
- Tiki implements the 2 well-documented H5P interfaces
- Tiki explains to H5P how are users expected to use the system (=>where to place things, etc)
- Questions on which part of the code goes
- (in which folders in Tiki, since Tiki has the code splitted among several folders, compared to Wordpress, where the whole filetree for H5P is inside the plugins directory)
- Replace H5P html purifier (GPL'd) with the one in Tiki (htmlpurifier library, which has a MIT-compatible license) so that there are no license issues to get H5P in Tiki.
- add basic feature: create, view upload
- add next step: edit content
- Tag system: reuse tiki freetags to expose/use h5p tags
- Document for end users
- Assess Project
1.2.4. Long term
1.2.5. Meetings
- Periodicity of joint Tiki-H5P dev & follow up meetings?
- Next: Dec Tue 20th, 2016. 10h UTC
1.3. FAQ
1.3.1. H5P Questions
- Code Repository:
- svn repo structure in sourceforge.net
- some experimental branches can live in svn sf.net repo, or in git repos elsewhere, such as github:
- Implement Interfaces, classes, databases (abstraction layer), system messages, etc.
- Tiki: file Galleries + a few other cases:
- Plugins: (shortcodes in wordpress; php class where you add some extra functionality and you can reuse anywhere in Tiki objects)
- How or where H5P should appear: Pages, Nodes, etc.
- Tiki:
- Wiki pages, or any other Tiki object with text areas: forums, tracker fields, blog posts, comments, etc.
- Important libs and folders:
- headerlib: to include external js jq files to be used within Tiki.
- lib/core/H5P/index.php
- lib/mime/mimetypes.php
- lib/wiki-plugins/wiki-plugin_h5p.php
- installer/schema/*.sql *.php (for installation and upgrades - patches)
- Composer autoloader (used by Tiki)
- Reference pages:
- Development Model (why some things in Tiki are how they are): https://tiki.org/Model
- H5P will Package manager:
- new way H5P will be working, to get libraries from h5p internet address.
- and to reuse content, from a globally shared content repository
- Maybe there should be an rsync from h5p content repository to composer.tiki.org or similar
- Where to ask questions
- Realtime sync: IRC.
- Async: developers list:
1.3.2. Experimental Branch H5P (svn in sf.net)
[+]1.3.3. Git and SVN
[+]1.3.4. Other Questions
1.3.4.1. Do we implement create view + upload mode and edit mode
- Yes, editing is essential
1.3.4.2. H5P zip file uploaded to Tiki, that is uncompressed server side, and must be placed somewhere
- library
- content: json and multimedia
- Tiki: temp/ folder for the content
- temp/h5p/ ? so that H5P can write there the web-writable files? (libraries and content)
- vendor_custom/h5p/ ? so that H5P can write there the non-web-writable files? (libraries)
- file gallery (folder on disk or database): images and other media files and content.
!!-# Introduction
|| {youtube movie="1W7NlAfTZU4"} | {youtube movie="jAnkWFBXW_o"} ||
!!!# Features
* https://h5p.org/content-types-and-applications
* https://h5p.org/backgrounds-branching-moodle-and-lots-more
* https://h5p.org/january-2016-release-notes
* https://h5p.org/highlights-from-2015-and-a-look-into-2016
* https://h5p.org/impressive-presentation-blog-post
* https://h5p.org/oct-2016-interactive-video-improvements
!!!# Vision / community
* http://joubel.com/#casestudy
* https://h5p.org/global-movement
* https://h5p.org/share-our-dream
* https://opensource.com/article/16/11/creating-html5-content-h5p
{youtube movie="j3brK0S1bzE"}
{SPLIT()}
!!!# For authors
{youtube movie="6GabVmHXn2Y"}
---
!!!! Stats
{HTML()}<script type='text/javascript' src='https://www.openhub.net/p/h5p/widgets/project_factoids_stats?format=js'></script>{HTML}
{SPLIT}
!!!# For developers
* https://h5p.org/template-engines-with-h5p
* https://github.com/h5p/h5p-editor-php-library
* https://h5p.org/documentation/developers/h5p-specification
|| {youtube movie="AZiapXtsnX8"} | {youtube movie="uLDxBH5osF0"} ||
!! Bugs & Wishes
!!! Open or Pending
{LIST()} {filter content="5" field="tracker_id"}
{filter field="tracker_status" content="o OR p"}
{filter categories="333"}
{* sort mode="modification_date_ndesc" *}
{sort mode="tracker_field_priority_ndesc"}
{OUTPUT(template="table")}
{tableparams allowtableexpansion="y" shownbitems="y"}
{column field="tracker_status" label="" mode="raw"}
{column field="tracker_field_subject" label="Title" mode="raw"}
{column field="mod_date" label="LastModif" mode="raw"}
{column sort="tracker_field_resolution_status" field="tracker_field_resolution_status" label="Resolution Status" mode="raw"}
{column sort="tracker_field_submitted_by" field="tracker_field_submitted_by" label="Submitted By"}
{column field="tracker_field_assigned_to" label="Volunteered" mode="raw"}
{column label="Category" field="category" mode="raw"}
{column sort="tracker_field_version" field="tracker_field_version" label="Version" mode="raw"}
{column field="tracker_field_feature" label="Feature" mode="raw"}
{column sort="tracker_field_priority" field="tracker_field_priority" label="Priority" mode="raw"}
{tablesorter server="n" sortable="y"}
{OUTPUT}
{FORMAT(name="mod_date")}{display name="modification_date" format="date"}{FORMAT}System
{FORMAT(name="tracker_status")}{display name="tracker_status" format="trackerrender"}{FORMAT}
{FORMAT(name="tracker_field_resolution_status")}{display name="tracker_field_resolution_status" default="" format="trackerrender" editable=inline}{FORMAT}
{FORMAT(name="tracker_field_submitted_by")}{display name="tracker_field_submitted_by" format="trackerrender"}{FORMAT}
{FORMAT(name="tracker_field_assigned_to")}{display name="tracker_field_assigned_to" format="trackerrender" editable=inline default=""}{FORMAT}
{FORMAT(name="tracker_field_subject")}{display name="tracker_field_subject" format="trackerrender"}{FORMAT}
{FORMAT(name="category")}{display name="tracker_field_category" format="trackerrender"}{FORMAT}
{FORMAT(name="tracker_field_version")}{display name="tracker_field_version" format="trackerrender"}{FORMAT}
{FORMAT(name="tracker_field_feature")}{display name="tracker_field_feature" format="trackerrender"}{FORMAT}
{FORMAT(name="tracker_field_priority")}{display name="tracker_field_priority" format="trackerrender" default="" }{FORMAT}
{LIST}
{button href="Make+a+wish" _text="Create Item" _icon_name="create" _type="link" _class="create_item_button"}
---
!!# Roadmap
!!!# Tiki 12-16
Create wiki syntax embed content from https://h5p.org/
{CODE()} {h5p url=https://h5p.org/h5p/embed/ id=617 allowfullscreen=y frameborder=0, width="1090" height="674"}{CODE} would generate
{HTML()}<iframe src="https://h5p.org/h5p/embed/617" width="1090" height="674" frameborder="0" allowfullscreen="allowfullscreen"></iframe><script src="https://h5p.org/sites/all/modules/h5p/library/js/h5p-resizer.js" charset="UTF-8"></script>{HTML}
Later on, this wiki syntax can be used to embed H5P objects that live in Tiki (by omitting any value in url)
!!!# Tiki 17
* Integrate H5P to Tiki as a built-in feature (optional of course) (Fall 2016 for Tiki 17)
** [https://github.com/h5p/h5p-php-library/issues/8|Submit the library to Packagist (Composer)]
** https://h5p.org/creating-your-own-h5p-plugin might help
** We should find a way to re-use Tiki features and data
*** Be able to use Wiki Syntax in H5P text areas
*** Use images and videos stored in Tiki
** Management, sharing and ((forking data)) like in https://profiles.tiki.org/CartoGraf and on h5p.org
* Roles (This will be a collaboration between H5P and Tiki)
** Tiki: Xavier and Jonny
** H5P: Thomas and Frode (+Svein-Tore)
* Timeline
** November 2016: brainstorming / planning
** Dec 2016 -> March 2017: development
** April 2017: released as part of Tiki17
!!!!# Desired fixes in 17.x branch
* H5P objects don't take on look and feel of Tiki site (which is not surprising as H5P is not using Bootstrap)
!!!!# Fixes in 19.x branch 2019
* Fixed most (all) of the known bugs on loading content types as documented here [item6516-H5P-Content-Creation-Bug]
* Got the H5P Hub working (which means easier importing/installing of content types)
* To be backported to 18.x when tested {sign user="jonnybradley" datetime="2019-01-28T17:07:41+00:00"}
!!!# Phases & Milestones
# Place files on svn
** --Get an experimental branch to play without fear of breaking too much things while learning, etc. -- done
# Tiki implements the 2 well-documented H5P interfaces
# Tiki explains to H5P how are users expected to use the system (=>where to place things, etc)
# Questions on which part of the code goes
** (in which folders in Tiki, since Tiki has the code splitted among several folders, compared to Wordpress, where the whole filetree for H5P is inside the plugins directory)
# Replace H5P html purifier (GPL'd) with the one in Tiki (htmlpurifier library, which has a MIT-compatible license) so that there are no license issues to get H5P in Tiki.
** http://htmlpurifier.org/
# add basic feature: create, view upload
# add next step: edit content
# Tag system: reuse tiki freetags to expose/use h5p tags
** https://doc.tiki.org/Tags + https://doc.tiki.org/File+Gallery
# Document for end users
# Assess Project
!!!# Long term
* Add recording to Tiki and H5P: https://github.com/spite/ccapture.js/ to replace the Java applet in http://doc.tiki.org/Screencast
* Add ((Experience API xAPI|xAPI)) -> https://h5p.org/documentation/x-api
** Tiki should become a ((Learning Record Store)) or a FLOSS solution picked for WikiSuite.
* Add ((animations))
* Zoom in and zoom out
!!!# Meetings
* Periodicity of joint Tiki-H5P dev & follow up meetings?
** Next: Dec Tue 20th, 2016. 10h UTC
!!# FAQ
!!!# H5P Questions
* __Code Repository__:
** svn repo structure in sourceforge.net
*** https://sourceforge.net/p/tikiwiki/code/HEAD/tree/
*** get access
+++ See:
**** https://dev.tiki.org/Commit
**** https://dev.tiki.org/How+to+get+commit+access
**** http://webchat.freenode.net/?channels=tikiwiki
** some __experimental branches__ can live in svn sf.net repo, or in git repos elsewhere, such as github:
*** https://github.com/Tikiorg
* __Implement Interfaces, classes, databases (abstraction layer), system messages, etc.__
** Tiki: file Galleries + a few other cases:
*** Vimeo file (video file stored elsewhere which shows in Tiki as a local file)
+++ https://doc.tiki.org/PluginVimeo
*** Scorm
+++ https://doc.tiki.org/Scorm
** Plugins: (shortcodes in wordpress; php class where you add some extra functionality and you can reuse anywhere in Tiki objects)
* __How or where H5P should appear: Pages, Nodes, etc.__
** Tiki:
*** Wiki pages, or any other Tiki object with text areas: forums, tracker fields, blog posts, comments, etc.
*** Important libs and folders:
**** headerlib: to include external js jq files to be used within Tiki.
**** lib/core/H5P/index.php
**** lib/mime/mimetypes.php
**** lib/wiki-plugins/wiki-plugin_h5p.php
**** installer/schema/*.sql *.php (for installation and upgrades - patches)
*** Composer autoloader (used by Tiki)
*** Reference pages:
**** https://dev.tiki.org/Overview
**** https://dev.tiki.org/Hello+World
++++ (dev tutorial, a bit outdated in some sections, but a good starting point, probably)
*** Development Model (why some things in Tiki are how they are): https://tiki.org/Model
* Versioning and Upgrades
** https://sourceforge.net/p/tikiwiki/code/HEAD/tree/trunk/composer.json
** Upgrade system: sql patch and php-command patches (in installer/schema/*.sql & *.php)
* H5P will Package manager:
** new way H5P will be working, to get libraries from h5p internet address.
** and to reuse content, from a globally shared content repository
** Maybe there should be an rsync from h5p content repository to composer.tiki.org or similar
* Where to ask questions
** Realtime sync: IRC.
*** Info: https://tiki.org/Irc
*** Web log: https://irc.tiki.org
** Async: developers list:
*** https://tiki.org/Lists
*** https://lists.sourceforge.net/lists/listinfo/tikiwiki-devel
!!!-# Experimental Branch H5P (svn in sf.net)
Get the code with:
{CODE()}
svn co https://svn.code.sf.net/p/tikiwiki/code/branches/experimental/h5p .
{CODE}
Latest commits: https://sourceforge.net/p/tikiwiki/code/HEAD/log/?path=/branches/experimental/h5p
Request commit access:
https://dev.tiki.org/How+to+get+commit+access
See this page for svn tips, if you plan to use svn to commit to it:
https://dev.tiki.org/SVN+Tips
Alternatively, you could use git to commit to that branch. See the section below "__Git and SVN__"
!!!-# Git and SVN
See:
* Basics: ((Git SVN HowTo))
* + Stash changes: http://flavio.castelli.name/2007/09/04/howto_use_git_with_svn/
* + other commands: https://www.viget.com/articles/effectively-using-git-with-subversion
!!!# Other Questions
!!!!# Do we implement create view + upload mode and edit mode
** Yes, editing is essential {sign user="marclaporte" datetime="2016-12-08T22:04:32+00:00"}
!!!!# H5P zip file uploaded to Tiki, that is uncompressed server side, and must be placed somewhere
## library
## content: json and multimedia
*** Tiki: temp/ folder for the content
**** temp/h5p/ ? so that H5P can write there the web-writable files? (libraries and content)
**** vendor_custom/h5p/ ? so that H5P can write there the non-web-writable files? (libraries)
**** file gallery (folder on disk or database): images and other media files and content.