ucfopen / adventure-materia-widget Goto Github PK
View Code? Open in Web Editor NEWA flexible scenario-building Materia widget where participants follow branching decision trees.
License: GNU Affero General Public License v3.0
A flexible scenario-building Materia widget where participants follow branching decision trees.
License: GNU Affero General Public License v3.0
In-between nodes are nodes created between an existing parent and child by clicking the "+" icon on the link. However, deleting an in-between node will also delete all children of the node, which can be problematic if that node was created by mistake or the user changes their mind.
It would be better if, upon deleting a blank in-between node, the tree was restored to its original state, with the parent once again linking to the child - instead of removing the node and all child nodes below it.
See also: ucfopen/Materia#1444
Several people have requested an option where a user can backtrack through previous nodes and presumably select a new answer if necessary. It shouldn't be too difficult to implement.
Suggestion for your consideration: Any chance we could add the ability to embed media in, say, a Narrative node? Or perhaps add a new node type for YouTube, Vimeo, etc.? I know we wouldn't want to accept video files directly within Materia, but it would be nice to be able to embed streamed video.
They consistently default to the top-left corner of the image.
If there are two consecutive hotspot nodes, and a student clicks a hotspot to continue to the next, and the second node has a hotspot located underneath the cursor, the focus event (i.e., displaying the label) will not fire.
The "cold storage" feature for nodes seemed kinda cool but in practice became insanely complicated. It's probably better to strip this feature out and replace it with snapshotting the tree structure to enable the undo/redo option. This has the added benefit of allowing the user to traverse the history of changes beyond the most recent edit.
When publishing a tree in Adventure that has errors, the first time the save is intercepted, the validation appears normally (sometimes with a < 1 sec delay). If the tree is not changed - and not re-rendered - and publish is clicked again, the validation screen won't appear until the cursor moves and/or interacts with the widget window.
See: http://quick.as/kdg6hoyox
Since this is an extremely edge case behavior, I'm labeling it as "Let It Ride" until after Adventure 2.0's initial release, due to time constraints.
A lot of frustration with Adventure right now has to do with accidental deletion of nodes or subtrees. Adventure already has a "cold storage" property that holds child nodes deleted intentionally (for the purposes of the undo option), but this could be expanded. In any case where a non-blank node is deleted, the parent can retain a copy of it, and we can add a dedicated "restore" option to review a list of a parent's previously deleted children.
moved from ucfopen/Materia#66
There's a good use case where the end nodes would be able to send you to a url or present you with a link to go to next.
Adventure could be used to send you to different learning objects, widgets, pages etc.
Most dialogs in Adventure have logic that prevent them from clipping into the edges of the viewport (e.g., displaying partly or fully off the right or bottom sides of the screen.) The answer tooltips, the little tooltips that display when you hover over a node that display all answers linking to that node, don't seem to respect the viewport properly.
Related to #45, but with a specific focus on video - we've received comments that the video player is just too small in its current form. Ideally we could have a middle-ground alternative to full-screen, using a lightbox or something similar.
New Destination (blank)
is not clearI initially clicked on it, thinking it would create a new, blank destination node. However, selecting it has no effect.
I believe it says this mostly because it makes sense when the node itself is new - it'll create new blank destination nodes for you - and it's the default option.
Suggest we find a way to make this less confusing when editing a node that isn't brand new.
@clpetersonucf suggesting this may be part of a bigger update dealing with how node selection for answers works:
Right now it's very unclear - there isn't any label or indicator, just a button with a letter in it
There's a degree of scaling that happens between text and media, but neither side is capable of taking up more than 50% of the width in the player, and often media assets are scaled down more than they need to be. It'd be nice to go back and made scaling a little more robust.
Adventure doesn't do a good job of indicating certain UI interactions, and watching users get frustrated trying to figure out how to perform certain actions makes it clear we need a way of introducing certain features to users, either with a tutorial or contextual tooltips.
Right now, one simply hovers over the middle point of a node link to reveal the "+" button that lets you add an in-between node. However, this can often obscure other UI elements, and is generally pretty un-intuitive. A better solution may be to add a smaller, static "+" button in the middle point to make it clearer, and to improve how it behaves when adjacent/overlapping other UI elements in the creator.
As part of this, making response submissions more intuitive would be helpful. Many people assume that simply having text in the input field for possible responses is enough. Perhaps auto-submitting any text in those fields when the user closes the window, or warning them that no matches were actually added. In any case, the validation logic should check for this.
The score module seems happy to process this log multiple times for a single play, resulting in doubling (or tripling, etc) of the final score.
Resetting a node will only display a warning if there is a (hierarchical) child node that isn't blank. Otherwise, resetting will happen immediately with no undo option, unlike node deletion. Should probably add a warning dialog regardless of children, and provide the undo option in the toast.
To replicate this all you need to do is go on the demo for the adventure widget, click play, and look at the console.
https://materia.ucf.edu/widgets/18-adventure
Error: <line> attribute x1: Unexpected end of attribute. Expected length, "".
It looks like the svg line attributes for x1 and x2 are null on initialization.
We're seeing a small number of instructors create absolutely massive trees, with literally thousands of nodes. As expected, the tree visualization is not built to handle trees of this size.
In terms of low-hanging fruit, there are a few optimizations we can apply:
ZZ
. Afterwards the first character will begin iterating through subsequent ascii values.A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.