I thought it might be a good idea to better keep track of my ideas and todos related to H5P -- why not make that publicly?
- Bingo: in release
- Pick the Symbols: filed for review
- Combination Lock: filed for review
- Completion Confirmation: filed for review
- Content Compiler filed for review
- Discrete Option Multiple Choice: filed for review
- Image Choice Rounds: filed for review
- Image Zoom: filed for review
- Jigsaw Puzzle: filed for review
- Portfolio: filed for review
- Seesaw: proof of concept
- Tabs: filed for review
- Timekeeper: filed for review
- Transcript: filed for review
- X-ray: filed for review
Here's a list of my pull reququest to the H5P project since June 2021. Didn't keep track of those that were opened before since 2016.
I know of some pull requests that now raise merge conflicts as the original code was changes in the same spot. I have marked those that I know of with . Common practice dictates that I as the pull request owner should update this - but I will most likely will not do this anymore. I have done so very often, but given that my pull requests are completely ignored, I am going to wait until I get some feedback knowing that the pull request is actually appreciated.
- H5P CLI: [Fix] Fix not loading h5p-core-button.css (pull request)
- H5P CLI: [Fix] Add application specific style for editor iframe (pull request)
- H5P CLI: [Fix] HFP-3901 Add mission fileIcon definition (pull request)
- H5P CLI: [Fix] Exclude node_modules from livereload (pull request)
- H5P CLI: [Fix] HFP-4040 Fix file extension detection (pull request)
- H5P CLI: [Fix] HFP-4059 Add missing file type checking (pull request)
- H5P CLI: [Fix] HFP-4060 Fix resetting state after content changed (pull request)
- H5P CLI: [Feature] HFP-4061 Add reset button for sessions (pull request)
- H5P CLI: [Feature] HFP-4063 Add support for user configuration file (pull request)
- H5P CLI: _[Fix] HFP-4093 Improve color code detection (pull request)
- H5P core: [Feature] Respect doNotTrack setting (pull request)
- H5P core: [Fix] Fix uncaught exception when accessing localStorage (pull request)
- H5P core: [Fix] Replace deprecated FILTER_SANITIZE_STRING (pull request)
- H5P core: [Feature] Trigger set user data more often to ensure state transmission (pull request)
- H5P core: [Feature] Add contentId to initialized event (pull request)
- H5P core: [Fix] HFP-3649 Fix confirmation dialog button positioning (pull request)
- H5P core: [Fix] HFP-3650 Fix semi-fullscreen impact by integration CSS (pull request)
- H5P core: [Feature] Add reduced motion mode to confirmation dialog ([pull request](HFP-3815 h5p/h5p-php-library#160))
- H5P core: [Chore] HFP-3843 Remove obsolete full screen handling (pull request)
- H5P core: [Chore] Increase intelligibility of ifEmpty function (pull request)
- H5P core/integrations: [Feature] Save content state in browser local storage (pull request 1) (pull request 2)
- H5P core/integrations: [Fix] Fix deletion of view-editor-entangled libraries (HFP-3065) (pull request 1, pull request 2)
- H5P Hub client: [Feature] Turn update available hint into a link (H5P-1982) (pull request)
- H5P Hub client: [Feature] Add 'by' prefix for owner in content type details in order to make clear who created the content type (pull request)
- H5P Hub client: [Fix] Fix ignoring other library owner in license view (pull request)
- H5P editor core: [Fix] Fix resize of CKEditor instance (pull request)
- H5P editor core: [Fix] Fix CKEditor base path (pull request)
- H5P editor core: [Fix] Fix z-index of add file dialog (pull-request)
- H5P editor core: [Fix] Fix accessing patch_version_in_folder_name (pull request)
- H5P editor core:
[Feature] Add accessibility improvements (Allow to flag video as sign language pull request)rejected despite pre-qualification - H5P editor core: [Feature] Add event on list item moved (pull request)
- H5P editor core: [Feature] Allow to retrieve configuration of list widget (H5P-3599pull request)
- H5P (editor) core: [Fix] Fix step validation of number field (pull request 1, pull request 2)
- H5P editor core: [Fix] Fix use of spectrum parameter allowEmpty (pull request)
- H5P editor core: [Fix] HFP-3851 Fix select field validation (pull request)
- H5P editor core: [Fix] HFP-3852 Fix number field validation (pull request)
- H5P editor core: [Feature] Add field name to library select field classname (pull request)
- H5P editor core: [Fix] HFP-3870 Prevent crash if H5P Integration does not provide file icon (pull request)
- H5P editor core: [Fix] HFP-3957 JI-6152 Stop focussing edit image button on content load (pull request)
- H5P editor core [Fix] HFP-3989 Fix programmatically removing a list item (pull request)
- H5P editor core [Feature] HFP-3989 Use removeItem for removeAllItems (list) (pull request)
- H5P editor core [Fix] HFP-4034 Fix using default value for library widget (pull request)
- H5P Joubel-UI: [Fix] Make scorebar progress unselectable (pull request)
- Report: [Feature] Support questions where answers are neither right nor wrong (choice interaction) (pull request)
- ShowWhen: [Feature] Trigger field below triggered field (pull request)
- ShowWhen: [Feature] Relay changes from followed field (pull request)
- ShowWhen: [Feature] Make more robust for multi-value rules (pull request)
- VerticalTabs: [Feature] Hide buttons based on min/max setting (H5P-3599pull request)
- WordPress plugin: [Feature] Set generous HTTP feature policy (pull request)
- WordPress plugin: [Fix] Fix check for "install_recommended_h5p_libraries" capability (pull request)
- WordPress plugin: [Fix] Add overflow-x scrollbar for data views that are too narrow (pull request)
- WordPress plugin: [Fix] Fix export file not being deleted with content (pull request)
- WordPress plugin: [Fix] Fix SQL for extra fields in results (pull request)
- WordPress plugin: [Feature] Add support for the H5P OER Hub (pull request)
- WordPress plugin: [Fix] H5P-3773 Fix potential memory issue (pull request)
- WordPress plugin: [Fix] Fix sorting contents by author (pull request)
- WordPress plugin: [Feature] Use language defined in user profile, not general site language (pull request)
- WordPress mod plugin: [Fix] Fix deprecated use of "implode" argument order (pull request)
I know of some pull requests that now raise merge conflicts as the original code was changes in the same spot. I have marked those that I know of with . Common practice dictates that I as the pull request owner should update this - but I will most likely will not do this anymore. I have done so very often, but given that my pull requests are completely ignored, I am going to wait until I get some feedback knowing that the pull request is actually appreciated.
- Accordion: [Feature] HFP-4137 Use H5P.Column for content (pull request)
- Accordion: [Fix] Fix word-wrap in button (pull request)
- Accordion: [Feature] (HFP-3819 Allow sorting of panels by title pull request)
- Arithmetic Quiz: [Fix] Fix behavior of selected answers (pull request)
- Audio: [Fix] HFP-3776 Catch play promise error (pull request)
-
Audio: [Fix] HFP-3826 Add icon (pull request)was ignored and re-implemented - Audio: [Fix] Fix full player height for Chromium based browsers if fitToWrapper is set (pull request)
- Audio: [Feature] Add Audio Recorder Extension (pull request)
- Audio: [Fix] Remove flowplayer remnants (pull request)
- Audio Recorder: [Fix] Add non-optional default parameters in constructor (pull request)
- Audio Recorder: [Fix] Fix closing of AudioContext that is already closed (pull request)
- Blanks: [Fix] HFP-3792 Fix trimming (pull request)
- Blanks: [Feature] HFP-3862 Add completion/sucess flag to xAPI result (pull request)
- Branching Question [Feature] HFP-3831 Add question media (pull request)
- Branching Question (Editor) [Feature] HFP-3831 Add question media (pull request)
- Branching Scenario [Fix] Fix label of proceed button (pull request)
- Chart: [Fix] Fix HTML encoding in charts labels (HFP-2041) (pull request)
- Column: [Feature] Remove Twitter user feed from content type options (pull request)
- Column: [Fix] Set activity started only if Column is main content (pull request)
- Column: [Fix] HFP-3673 Hide fullscreen button for video/DQ of all Columns (pull request)
- Course Presentation: [Feature] Add scoring with pass grade and overall feedback (pull request)
- Course Presentation: [Fix]_ HFP-3825 Do not send xAPI completed on resume (pull request)
- Course Presentation: [Fix]_ HFP-3918 Fix small bugs with GoToSlide (pull request)
- DialogCards: [Feature] Update InteractiveVideo integration (pull request)
- Dialogcards: [Feature] Allow the author to set every page of a card individually: text and/or image and/or audio (pull request)
- Dialogcards: [Feature] Allow to add videos to cards (pull request)
- Documentation Tool: [Fix] Fix focus on resume (pull request)
- Document Export Page: [Fix] HFP-3888 Fix buttons (a11y) (pull request)
- Document Export Page: [Fix] HFP-4089 Fix category labels on preview (pull request)
- Drag and Drop: [Feature] Add audio on drag and drop (pull request)
- Drag and Drop: [Fix] Fix maximum score being higher than points achievable (pull request)
- Drag and Drop: [Fix] Use user defined hover text for images in tasks (pull request 1) (pull request 2)
- Drag and Drop: [Fix] HFP-3610 Do not change element position if already in dropzone ((H5P-3610)pull request)
- Drag the Words: [Feature] Add option to add distractors (pull request)
- Drag the Words: [Feature] Add option to always display solution texts below content (pull request)
- Drag the Words: [Fix] Fix LaTeX support (pull request)
- Drag the Words: [Fix] Add margin if dropzone container has tip (pull request)
- Drag the Words: [Fix] JI-3673 Fix npm script for 'watch' (pull request)
- Drag the Words: [Fix] HFP-3656 Exclude package-lock.json from h5p library (pull request)
- Drag the Words: [Fix] HFP-3658 Improve a11y focus on "Check" and "Show Solutions" (pull request)
- Drag the Words: [Fix] HFP-3797 Fix draggable styling incl. color contrast (pull request)
- Drag the Words: [Feature] HFP-1816 Add support for alternative answers (pull request)
- Drag the Words: [Fix] HFP-3847 Improve draggable handling accessibility (pull request)
- Fill in the Blanks: [Feature] Add option to keep correct answers on retry (pull request)
- Fill in the Blanks: [Feature] Improve performance (pull request)
- Fill in the Blanks: [Fix] HFP-3655 Improve a11y focus on "Check" and "Show Solutions" (pull request)
- Find the Hotspot: [Feature] Make wrappable in other content types (pull request)
- Find the Hotspot: [Feature] Add default "correct" message (pull request)
- Find the Hotspot: [Feature] Make incorrect hotspot reset task on click (pull request)
- Flashcards: [Feature] Add option to randomize cards (pull request)
- Flashcards: [Feature] Add option to use alternative solutions separated by | (pull request)
- Flashcards: [Fix] Fix optional solution (HFP-2067) (pull request)
- Flashcards: [Feature] Add optional audio button (pull request)
- Flashcards: [Feature] Change xAPI verb from 'completed' to 'answered' (pull request)
- Flashcards: [Fix] HFP-3818 remove enforced capitalization (pull request)
- Flashcards: [Fix] HFP-3644 Update usage description in translation files (pull request)
- Goals Assessment Page: [Fix] Improve accessibility: Add labels to goals list (pull request)
- Goals Page: [Feature] HFP-3860 Add option for predefined goals(pull request)
- GoToQuestion: [Fix] HFP-3919 Remove title attribute from button (pull request)
- Image: [Fix] Fix alt and title attribute (pull request)
- Image: [Feature] Allow alt tags with up to 1024 characters (pull request)
- Image Choice: [Fix] HFP-3682 Improve getAnswerGiven (pull request)
- Image Hotspots: [Fix] Fix non-HTML5-videos resizing (pull request)
- Image Hotspots: [Feature] HFP-3873 Add customizing options for popups (pull request)
- Image Hotspots: [Fix] HFP-4077 Improve CSS specificity (pull request)
- Image Slider: [Feature] Add slideshow functionality (pull request)
- Image Slider: [Feature] Add audio to slides (pull request)
- Interactive Book: [Fix] Fix decrementing tasks left for non-task exercises (pull request)
- Interactive Book: [Feature] HFP-3768 Add option to enable/disable "Restart" button (pull request)
- Interactive Video: [Feature] Add option to disable submit button until video ended (pull request)
- Interactive Video:
[Feature] Allow to add custom audio tracks and sign language videos (pull request)rejected despite pre-qualification - Interactive Video: [Feature] Allow author to hide playback rate chooser (pull request)
- Interactive Video: [Fix] Fix muted videos on mobile (pull request)
- Interactive Video: [Fix] HFP-3646 Fix skipping message overflow (pull request)
- Interactive Video: [Fix] Add package-lock.json to .h5pignore (pull request)
- Interactive Video Editor: [Fix] Fix styling the non-form parts of the H5P Hub (pull-request)
- IV Hotspot: [Fix] Fix label HTML encoding ([pull request] h5p/h5p-iv-hotspot#42)
- Link: [Fix] Fix ampersand & being html encoded (pull request)
- Mark the Words: [Fix] HFP-3661 Improve a11y focus on "Check" and "Show Solutions" (pull request)
- Mark the Words: _[Fix]: HFP-3907 Fix answer given state always being true (pull request)
- Matching: [Fix] Fix HTML encoding for l10n and pair texts (pull request)
- Memory Game [Fix] HFP-3758 Fix row break application on resize (pull request)
- Memory Game [Feature] HFP-3770 Add resetTask function (pull request)
- Memory Game [Fix] HFP-3990 HFP-3990 Fix label instructions (pull request)
- Multiple Choice:
[Fix] HFP-3645 Fix calls to showSolutions or resetTask (pull request)pull request ignored, implemented differently - Question: [Fix] HFP-3654 Fix trailing "dot" for screen readers (pull request)
- Question [Fix] Fix aria label of image expand/collapse button (pull request)
- Question: [Fix] HFP-3824 Add fix for dialog on embedded fullscreen (pull request)
- Question Set: [Fix] Fix intro image scaling if used in compound content types (pull request)
- Questionnaire: [Fix] Exclude package-lock.json from h5p library (pull)
- Shape: [Fix] Add missing dependency to H5PEditor.RadioGroup (pull request)
- Single Choice Set: [Fix] Stop giving away correct answers in page source (pull request)
- Single Choice Set: [Fix] HFP-4137 Add completion/success flags (pull request)
- Speak the Words Set: [Feature] Implement question type contract (pull request)
- Speak the Words Set: [Feature] Make includable in other content types (pull request)
- Speak the Words Set: [Fix] Fix missing l10n string for finish button (pull request)
- Standard Page: [Feature] HFP-3861 Add H5P.CheckboxList and H5P.DropdownField (pull request)
- Summary: [Fix] Fix re-creating state for user responses (pull request)
- Summary: [Fix] HFP-4137 Add completion/success flags (pull request)
- Timeline: [Fix] H5P-3663 Add observer for attaching TimelineJS (pull request)
- TrueFalse: [Fix] HFP-3821 Interpret checking answer as answer was given (pull request)
- Video:
[Feature] Add "save content state" for time (pull request)pull request ignored, implemented differently - Video: [Feature] Use undocumented no-cookie option for YouTube videos (pull request)
- Video:
[Feature] Allow to flag videos as sign language and support alternative videos for YT (pull request)rejected despite pre-qualification - Video: [Fix] Stop calling pause() before play promise resolved (pull request)
- Video: [Fix] HFP-4037 Fix sanitization of visual parameters (pul request)
- Video: [Feature] HFP-3684 Prevent playback rate spoofing (pull request)
- Video [Fix] HFP-3868 Fix treating extras as mandatory (pull request)
- Virtual Tour [Fix] HFP-3218 Stop setting focus on startup (pull request)
I already use github issues to keep track of bugs, ideas, etc. for stuff that I have created. Please have a look there.
See https://www.olivertacke.de/labs/h5p-content-types/
- H5PxAPIkatchu Plugin for WordPress to catch xAPI statements
- H5P User Score Plugin for WordPress to display H5P scores in pages and posts
- H5P Resize Pulse Plugin for WordPress to hackish-ly fix issues with H5P in lightboxes, tabs, or accordions
In all content types, replace use of 'title' attribute where used with H5P.Tooltip or remove alltogether if not necessary.
- Transitions
- Duration
- Style (e. g. slide (as now), over black, nothing, ...)
- Auto-progress: It was nice if one could set a period of time after which a course presentations jumps to the next slide automatically. Might be fun for petcha kutcha or similar things. I already had some code to do this, but it got lost :-/
Just a content type to create some doodles and store them -- might be interesting to wrap images in xAPI ;-)
- Container like content type that will put a timeline-ish comment section next to other content types for (collaborative) annotation, e.g. next to video or audio.
- Allow to jump from comment to video/audio and vice-versa.
- Would need some mechanism for sharing data among users in collaboration mode.
Just for fun, a generator for fractals
A content type/(library for other content types?) to answer yes, no, foo or bar by swiping left, right, up or down
I wrote that on a sheet of paper, but I cannot remember what I wanted to create named this way ;-) Might have been something like Capira offered: Teachers can draw a graph as a sample, and learners have to draw a graph that's similar enough. Could as well have been something such as https://quickdraw.withgoogle.com/
In order so support blended learning scenarios that use xAPI statements, an on-site tool might be useful. It it's simplest version it could just trigger an xAPI statement for "attended" when someone (within a particular group/range) clicks a button. A more sophisticated version could also offer some audience response system features.
Simple content type (with possibly complex variations for fun): Create a word cloud from a list of words similar to https://www.wordclouds.com/
Having an option to trigger IFTTT recipes based on xAPI statements could be real fun!
Allow multi-tier-questions, cmp. https://h5p.org/node/204840
Is there a service with an open API that could be used to unit test code and return some results to H5P? ...
- Possibly, something feasible is mentioned in https://h5p.org/node/310680
There might be cases where you want to (semi-)dynamically create content instead of creating several instances.
- Add variables, e. g. ${foo} that should not conflict with other texts.
- Add json file with possible values for a variable to h5p scheme.
- Big question: How to edit the files?
- Set time for rewinding
JSMOL seems to be a library for rendering molecules in HTML5. Creating an H5P content type that displays the corresponding files is probably simple. The more challenging, but also cooler part would be to implement a decent editor.
The text utilities library could also benefit from some syllable/word/sentence counting capabilities (+Flesch-Kincaid, ...), might be some extra library, too.
Currently, flash cards can contain images, but not videos. Having videos as well, could e.g. enable support for sign language.
There are many great sources for all kinds of input on the internet, but there's no way to utilize them to automatically create H5P content. It still needs to be done manually. Things to think about:
- "all" that needs to be done is to transform input into a valid content.json file, basically mapping input fields to the right places.
- semantics.json contains all the information about the structure of H5P content, needs to be taken into account for mapping input, because the structure may change. Field names are unique for each level - but may be nested and fields may contain arrays aka lists.
- If there are no arrays/lists containing arrays/lists themselves (as in Essay for example with a list of words containing a list of alternatives), this could be represented using a table structure with each row containing the field name (and a certain data type implicitly) and columns covering list items if multiple items are possible. Groups could be represented as fieldname.groupitemname. The table structure could easily be made editable using common spreadsheet software.
- Alternatively, create an editor that first parses the current semantics file, allows to define sources and take fields from then and where to map them to.
Cmp. https://morr.cc/anki-dgs/
Just some finger gymnastics :-)
Similar to showWhen widget. Set a field property based on rules
Some new libraries that could be used
- Media (Image, Audio, Video) as interstitial between pages
- Some numeric input, could be a slider or something similar
- Some numeric input, Likert scaled
Check if link exists while it is entered
No technical challenge, but modeling is tricky, especially for the repetition mode.
- same mechanics as for DialogCards
- xAPI
- Add some helper functions for semantics customization
- e.g. find a semantics field by path/best effort
- maybe even some WordPress admin settings
- Add machine readable license information, cmp. OERHoernchen
Content type that is similar to the Image Slider, but for content types -- which would be similar to Question Set, but is not supposed to take care of scoring. Could use the engine of ImageChoiceRounds.
Metadata can already be altered using the alter_params hook, but only for subcontent. The meta data for the content type itself is not exposed as it doesn't reside in the params object. It was nice to be able to alter metadata, too, e.g. set a different default license, so it would not have to be set manually each time. An alter_metadata hook might help (could either only give access to the metadata object in extras or pass a reference to all metadata objects in extras and params). Alternatively, an alter_extras hook might help, too.
- Tool to design a network of nodes that process numerical inputs and return numerical outputs.
- Processing in nodes can be controlled by widgets (e. g. "sum" to add all inputs and return the sum as output.
- Nodes can also be inputs (number input field, slider, ...)
- Nodes can also be outputs (numbers, colors, sounds, ...)
- Add option to override the list of allowed content types in the settings (as in Drupal)
- Add support for the Gutenberg editor
- Add "view_h5p_contents" capability: If set, users should at least be able to view the list of H5P contents (including the buttons that should be visible for viewing results and for editing content based on the other capabilities).
- Add contentId obfuscation: Use UUID instead of auto-incremented index
- Improve tracking of results incl. support for https://github.com/h5p/h5p-php-report
- Add option reset task for specific users
- Add option to not reset the state when editing content
- Improve content management capabilities (by replacing the list of contents with a different solution in the official plugin or by replacing it with a custom plugin - possible, done before :-))
- Better filtering
- Delete content(s) in list directly
- ...
PlugIn that allows to add a leaderboard to a post based on the scores achieved for a H5P content type.
- logged in users only based of H5P internal scores? Or use xAPI from xAPIkatchu, if available, for anonymous users, too?
- setting for maximum number of scores displayed (paged possibly)
- setting for anonymous users
- for logged in users: have their position highlighted
- modes: all scores vs. just next/previous user + score vs. gap to the top vs. ...
- Show a leaderboard below a content type (show/hide on xAPI answered)
- Different views: full vs. next one ahead / below
- pages for long boards
- As an author, I want to set a maximum time for H5P content in order to limit the amount of time that people can spend with the content.
- Could call "showSolutions" via H5P question type contract
- Could block editing by injecting an overlay (on same server)
- Could show a timer (positioning?)
- Optionally implement functions in H5P core (approval needed)
- Add options to style H5P content globally
- GUI for common styles like JoubelUI
- (file) template based fields for content types
- Plugin that optionally stores/restores the previous State in/from localStorage
- Would work for users that are not logged in, too
- Add videos -- but keep an eye on the editor, should probably be improved UX-wise.
- Add text
- Optionally enlarge images on click on card that was turned already
- Check stylesheet for error
Set number ranges, cmp. https://sommenprinter.nl/basisrekenenplusmin10.php
Improve retention by implementing something as described in http://pad.o-e-r.de/p/oercamp19-WS4-04
- Per content type, allow to select users whose state should be reset.
- In editor (plugin integration), add option to skip resetting after changing - can be useful if you simply changed a typo or something minor.
Look into supporting ChemJax (similar to MathJax)
Editor widget for lists that knows the current entity's index and can link to other list entities using select field that only contains existing nodes and updates the fields on changes (e. g. update the links when a node in between has been removed).
Have a background image and drag text input fields onto the image in order to have an exercise for labeling; could also feature strokes to link to labels next to the image
Just a simple die/dice content type:
- Fullscreen (useful for smartphones)
- Number of facets
- Number of dice
- Color of dice
- Color of dice facet
- Custom images (but still numbers internally)
- Trigger result via external dispatcher, so other content types can work with the result
- Add option to include link to image.
Look into ways to retrieve metadata from media and use them in H5P directly.
Why not have a (simple) wrapper for https://github.com/kazuhikoarase/simcirjs?
Widget that allows to add a margin around images (particularly useful for Drag and Drop)
- margin top, right, bottom and left
- background color for the margin
- preview of the proportions
Add an option to magnify parts of an image similar what's common in web shops.
Content Type for the (reversed) Taboo game.
- Like dialog cards, add cards with taboo words
- Have a reversed mode where words must be included and need to be checked
- Add option to keep correct items in place.
- Add white space next to image for putting draggables there
Content type that's similar to a Question Set, but that has a vertical layout resembling a chat window including texts in between exercises.
- Could get a separate reporting class for more sophisticated analysis across exercises.
- Cmp. https://toolbot.glitch.me/
- Cmp. https://learningsnacks.de
Compound Content Type that allows to add content types (media), attach tags to them and then allow to filter them for the tags, etc.
Allow links, could facilitate paths
Option for "neither right nor wrong"
- Add text2speech option (text/language/params)
- Add Audio Recorder?
Pretty straightforward: have a table with some filled/unfilled cells - and the latter to be filled
Allow alternatives, keep xAPI extension/correct responses pattern in mind
Point-and-Click-Adventure-like (probably too much effort for teachers to create those)
- Rooms (image background with hotspots + NPCs)
- Inventory (items) actions = use item + (item / hotspot / NPC)
The teacher can write a text including deliberately misspelled words/wrong punctuation marks. The student needs to spot the mistakes, mark and correct them.
Wrapper for https://www.chartjs.org to have multiple chart options in one content type.
Could be something like GoogleKeep, but open (Multiplayer API needed)
Support other algorithms such as SM2 in Anki or SuperMemo.
- Make : escapable as \:
With the Multiplayer API: Have a tool where the teacher can define groups and rules and students can assign themselves to, be assigned to, etc.
- Make : escapable as \:
- Make / escapable as \/
- Make * escapable as \*
- Add Shapes
New content type that works like blending QuestionSet and DialogCards:
- Allow to set question type content
- Use each content's result as grounds for a repetition mode
- Different modes possible, e.g. classic Leitner, http://pad.o-e-r.de/p/oercamp19-WS4-04, ...
Add KaTeX support
Add option to use link instead of uploading image
Spot mistakes in a text and correct them. Could become a feature of Highlight the Words (the code is ugly) or a spin-off.
- As an author, I want to be able to add a countdown to interactions that will automatically check the task/close the interaction overlay when the timer reaches zero.
- Check vs close (disable retry if check or it doesn't make much sense)
- Visual timer vs. hidden timer (where to put the timer?)
Fix size of popups that start as a button, not as a poster
- https://twitter.com/Seppi04748866/status/1393905629274820612
- https://t.co/aQ8NPNFKry https://t.co/hrFXKFHtde
Make it look nice :-) See https://h5ptechnology.atlassian.net/browse/HFP-1902
Content type to train typing, obviously.
- Research research on best methods ...
No comment
Something similar to https://mapchart.net/
Content type for generating credits similar to movie credits.
- sections with HTML fields
- optional background music
- speed setting
- visual theming options
- Just for fun: one of the puzzles where one tile is missing, so you can move one tile at a time to an adjacent position in order to complete the puzzle.
Simple checklist app that stores the state.
- As an author, I can set predefined items on a checklist in order to allow users to check/uncheck them.
- As an author, I can decide whether a user can edit or remove predefined items.
- As an author, I can decide whether a user can add/remove own items to the list.
- As a user, I can check/uncheck items on the list.
- xAPI "interacted" (http://adlnet.gov/expapi/verbs/interacted) when item state changes
- xAPI "completed" when all items are checked.
- As a user, I can sort items on the list.
- As a user, I can actively save the list state (in addition to common H5P state management).
Cmp. https://t.co/1rBAGXgRU1 but without the prephase that would require machine learning support or a free and open service to be used. Could actually be done by optionally amending Speak the Words.
Help to make ready for release.
- Allow authors to define a pool of exercises.
- Users can earn points for completing exercises.
- Points can be used to take care of a tamagochi like avatar, e. g. feeding, playing, etc.
- Will store the state and users will need to check the tamagochi regularly
- Have a max points per day limit, so users are required to come back regularly
Simple content type that allows to play a piano :-)
- Externally:
- Would be nice: 25 keys (~2 octaves), 15 white, 10 black (playable with mouse, yuks)
- Realistic: 12 white, 8 black - that can be played with keyboard keys.
- Internally: Could be all piano keys
- Support for MIDI devices
- Allow to set octave
- Allow to define samples and switch between them.
- Metronome feature
- Volume control
- Cmp. https://recursivearts.com/virtual-piano/ or https://virtualpiano.eu/
Something like a stripped down digital version of a Roland TR-909 ;-)
- Allow to have a 16 slot sequence
- Assign samples to slots
- Flexible BPM
- Low pan
- High pan
- "Infinite" rows of sequences or maybe just 4?
- Volume control per sequence
- Global volume control
- Cmp. https://hitgroove.com/
Something like a stripped down digital version of a Boss RC-505 ;-)
- Volume control
- Cmp. https://github.com/alex-milanov/js-loop-station
- Some simple Drum Pad
- 8 pads
- volume control
- Support for MIDI devices
- Cmp. https://github.com/nikhil-web/Drumpad-Vanilla-JS-DEMO
- Allow to combine "Piano", "Rythm Composer", "Looper" and "Drum Pad"
- Potentially arrange layout
- Potentially even have more elements to assign to and to control others (volume control, ...)
New content type, basically a multiple choice question or sequence of questions, but using a piano keyboard as input. In extreme: "Piano Hero" :-D
Tool to check H5P contents for missing mandatory fields, metadata, etc.
Should be done by H5P Group, but it's quite simple to set up a basic environment for the H5P CLI tool with Playwright or Selenium or ...
Cmp. bottom of https://h5p.org/roadmap (quite nice, but not a content type)
A content type that allows to easily create "Long Reads" such as https://www.bbc.co.uk/news/resources/idt-sh/war_in_the_desert
There are already content types that can replace Duolingo exercises, e.g. Dictation and Drag the Words. Close the gaps ...
- As an author, I can add a predefined list of items that users can check off
- As an author, I can decide whether the checklist should be accompanied by a progress bar
- As an author, I can decide whether the user is allowed to handle extra items
- As a user, I can check off items from a list
- As a user, I can add extra items (if allowed to handle extra items)
- As a user, I can remove extra items (if allowed to handle extra items)
- Needs to support resume (store all items (incl. label for extra items) and checked state)
Could be an amendmend of QuestionSet, but there may be too many restrictions. So ...
- Allow to use different subcontents.
- Collect different scores based on the outcome of subcontents, so for each subcontent:
- "As an author, I can assign different categories to a subcontent."
- "As an author, I can define what score range for the subcontent leads to what score for the category."
- Have result similar to personality quiz based on the total category (=personality) scores
Content type similar to Drag the Words, but instead of dragging words to dropzones, clicking on a word would move it to the next available slot or back to its original position if it already is inside a slot.
Content type that allows to add an image next to a speech bubble where the speech bubble can contain text and audio.
Content type set that allows to add "Persona", "Image", "Video", "Text".
- Can have background music for the whole set and for each subcontent.
- Allows automated progression
- Allows fullscreen
- Allows audio toggling
Allow to add a trigger warning or similar before actually viewing content.
Classic point-to-point drawing puzzle
- Optionally assign words (instead of numbers) to points, so students need to construct sentences
- When a "sequence" is done, do something nice visually
While the H5P Hub is fine for installing and updating content types, there's room for improvement to package management:
- Different places to do content type management
- Installing can be done via the H5P Hub or the H5P library settings page of the H5P integration.
- Updating content types can be done via the H5P Hub only.
- Deleting content types can be done via the H5P library settings page of the H5P integration only.
- Bugs (or questionable implementation)
- The H5P integration for moodle does not allow to delete libraries.
- Circular dependencies are not resolved, so it may never be possible to delete content types, even though they are not used anymore (despite a 3 year old pull request, https://h5ptechnology.atlassian.net/browse/HFP-3065).
- Moodle's custom H5P integration in moodle's core allows to delete all libraries regardless of whether they are still required or not.
- Lack of features
- Moodle's custom H5P integration has an auto-update feature that allows to automatically fetch and install content type library updates. Some admins hate (as they don't like to let others' code be deployed automatically), others love it. Either way, no other H5P integration features this.
- h5p.org is the only fixed content type source, so it's very inconvenient to keep track of updates to other creators' content types - and hard to discover new content types in the first place.
Potentially to the rescue: H5Pacman, a package manager for H5P content types. Compare the idea to package managers known in the Linux world.
- Encapsulated core functionality (in PHP)
- Can be reused in different H5P integrations (the latter basically only need to implement the bridge to the database and the file system), so it should be quite simple to create a plugin for the PHP based platforms that offer H5P support (moodle, WordPress, Drupal, EdLib, ILIAS, Stud.IP).
- Ports to node.js (or other programming languages) for supporting Lumi are possible, of course.
- Keep content type management in one place (install, update, delete).
- Allow to add/remove other package sources than h5p.org and can handle all of them
- Simplest case: Use URLs to alternative h5p content type servers
- allow to configure auto-update/priority per source, etc.
- Requires a content type server that
- implements the (very simple) API that h5p.org uses together with the H5P Hub.
- supports release management of content types (but could use a simple file system based approach to get started).
- would not be "bound" to be created in PHP
- Allow proper deletion of libraries (if possible only vs. enforced with warning, take care of circular dependencies)
- Extra functionality
- Auto-update
- Revert to older conent type versions (can break existing content though!)
Content type that allows the author to upload an image. For the user, the image is hidden and parts of it will sequentially be uncovered - either on click or timer based. Optionally a correct solution can be defined and scores can be awarded when the correct solution is given, based on how fast the answer was given. Also optionally, the author can define the sequence of image parts that will be revealed, but that would probably require a visual editor and thus more time to develop. Could be a two-step process. Could be used for the "spyhole method" where students only see a part of the image and should interpret it, and re-evaluate after they see more of the image. Could also be used as a game.
Server-side tool (with client-side frontend) to modify content type parameters to match a forked version. Would need to: 0) Do a sanitization check, e.g. check if versions to upgrade from is right, etc.
- read h5p.json and content.json
- Update/replace entries in h5p.json
- Run an upgrade-script on content.json if required
- write h5p.json and content.json
- Return the new file.
Add 3D model support to H5P.Image and the core widget using an appropriate library.
Compound Content Type similar to Image Hotspots, but ...
- allow any kind of content type
- allow to track progress
- allow to define prerequisites for enabling hotspots
- display the current "position"
think of it as the map in Super Mario World
Add "description" field to QR code that can be displayed along with the QRCode
Says it all :-)
- Upload an image, define the dimensions, and let people puzzle
- Design option: https://h5ptechnology.atlassian.net/browse/HFP-1730
:-)
Use images instead of text for answers. Might need some UX expertise
H5P Question is a library that offers common functionality to question-like content types. It already features setImage and setVideo for easily including an image or a video for the content types introduction, but setAudio is missing.
Currently, dialog cards can contain images, but not videos. Having videos as well, could e.g. enable support for sign language.
Simple PDF-Viewer content type, could be based on PDF.js. Rather not to prevent even more PDF overuse.
Self-explanatory. Maybe score + timing would be nice.
- Option to progress to the next image automatically after a given time period (should be reset after interaction?)
Option to jump from last to first/first to last image instead of stopping (normal and automatic)
Implement support for Cornell Notes, https://m.wikihow.com/Take-Cornell-Notes
Check ImageScaling for intro inside column
Cannot reproduce
There's a save content state option that stores the state of a content type if the user is logged in. Might be useful to optionally use cookies (web storage API), so this feature could work for anonymous users, too. https://h5p.org/comment/14994#comment-14994
Simple H5P-Plugin for WordPress that continuously triggers a resize event on the window.
- Have multiple text input fields and a "strip" next to it indicating the suggested length of a paragraph in relation to other paragraphs, cmp. https://www.tes.com/teaching-resource/paragraph-writing-structure-strips-for-gcse-english-literature-aqa-11821384 or https://www.pinterest.de/pin/463307880411263982/ or https://jivespin.wordpress.com/2017/07/20/structure-strips-stripping-literacy-to-the-basics/ or https://doingsocialstudies.com/2018/02/22/structure-strips-seriously-where-have-you-been-hiding/
- Allow to set the weight of each paragraph
- Allow to set the color of a paragraph strip
- Allow to set some slack. e.g +/- 10 % of characters or words
- Allow to customize feedback messages if a paragraph subceeds/exceeds
- Save content state for revision, cmp. Cornell Notes
Add Audio
A library that can be used to use (not create) transcripts with audio content or video content.
- Show transcript of an audio file/video file (based on .vtt captions or similar)
- Show currently used text phrase as audio/video progresses (on "caption" update, trigger with time as data)
Jump to position in audio/video on clicking on the text (on click, trigger with time as data)
Like Accordion, but using Tabs
Just a simple stop watch / countdown timer content type.
I have already created a general timer library for H5P, quite versatile, but I do not even dare to look at that old piece of code ;-) Maybe I'll write something new, tiny and focussed and ready for adding a timer (maybe as an overlay) to any H5P library that needs one. Could also go into H5P-Question.
YouTube added a chapter feature by using the description for marks. Check if it is possible to retrieve those and use them to build chapters in H5P automatically.
It might be an interesting option to have a "3D image" content type that takes a standard 3D model file as input (research: what's standard?) and just displays it with some basic interaction options such as rotating or zooming. I bet there's already an open implementation for that (based on ThreeJS) that could be wrapped and used in H5P.