sudo apt update
sudo apt upgrade -y
sudo apt-get install -y software-properties-common
sudo apt-get install -y dirmngr
sudo add-apt-repository -y ppa:ondrej/php
sudo add-apt-repository -y ppa:pinepain/libv8-archived
sudo apt update
sudo apt-get install php-pear php7.3 php7.3-curl php7.3-mbstring php7.3-zip php7.3-mysql libv8-dev
pecl channel-update pecl.php.net
Unbalance, unrest, and chaos can be brought with one simple act: Giving away everything. It's a notion I explored in my MS thesis via open source; because, edtech systems are build on power. Power and control technology is largely codified through institutional history. Collapsing control, we can restore a greater order. I want to take you into the philosophy and madness that drives me and inspires the team behind HAXTheWeb.
At its core is a new way of creating and remixing content. Think of it as a WYSIWYG (what you see is what you get) built for the future. When I say WYSIWYG, you probably think text. But when I search YouTube, responsively embed it and save in ~10 seconds, all without leaving HAX or seeing HTML; it becomes clear this is not normal. This is just one massive time saver among many and why people in IndieWeb and OER communities are getting excited.
Concept:
- 2 days, during the week, early summer, PGH near CMU/Pit preferrably
- Unconference format w/ anchors
- Anchor talks help bring the group together
- Theme for each day which isn't held to but can help get ppl thinking of topics to propose when they show up
"Anchor talk" format:
- Background of the library / project / approach
- Pros / Cons of the approach
- Who's doing it
| The Free, Open, Decentralized OER publishing platform | |
| Bryan Ollendyke – Penn State College of Arts & Architecture, Office of Digital Learning | |
| Questions unanswered: | |
| • What is the best way to create OER? | |
| • What is the place to house OER? | |
| • What technology standard should we use for OER? | |
| The Problem: | |
| • We have too many ways, places and methods of making OER and non-OER |
| encapScript: function (html) { | |
| html = html.replace(/<script[\s\S]*?>/gi, "<script>"); | |
| html = html.replace(/<\/script>/gi, "</script>"); | |
| html = html.replace(/<style[\s\S]*?>/gi, "<style>"); | |
| html = html.replace(/<\/style>/gi, "</style>"); | |
| // special case, it's inside a template tag | |
| html = html.replace(/<template[\s\S]*?>[\s\S]*?<script[\s\S]*?>[\s\S]*?<\/script>/gi, function (match, contents, offset, input_string) { | |
| match = match.replace("<script>", "<script>"); | |
| match = match.replace("</script>", "<\/script>"); | |
| match = match.replace("<style>", "<style>"); |
| /** | |
| * Handle the response from the token processing endpoint | |
| */ | |
| _handleResponse: function (newValue, oldValue) { | |
| if (newValue !== null && typeof newValue.content !== typeof undefined) { | |
| // wipe our own slot here | |
| this.wipeSlot(Polymer.dom(this)); | |
| // now inject the content we got | |
| this.async( () => { | |
| let template = document.createElement('template'); |
| document.body.addEventListener('hax-save', () => { | |
| var HTMLContents = Polymer.HaxStore.instance.activeHaxBody.haxToContent(); | |
| }); | |
| <link rel="import" href="https://cdn.rawgit.com/LRNWebComponents/hax-builds/0.17.0/builds/elements.html"> |
| <script src="https://cdn.rawgit.com/LRNWebComponents/hax-builds/0.17.0/builds/bower_components/webcomponentsjs/webcomponents.min.js"></script> | |
| <script src="https://cdn.rawgit.com/LRNWebComponents/hax-builds/0.17.0/builds/bower_components/document-register-element/build/document-register-element.js"></script> | |
| <link rel="import" href="https://cdn.rawgit.com/LRNWebComponents/hax-builds/0.17.0/builds/wysiwyg-hax.html"> | |
| <wysiwyg-hax open-default="" align="left" app-store-connection="{"url":"example-store.json"}"></wysiwyg-hax> | |
| Behavior - Contrast ratio / a11y enhancements to that library element | |
| Drag and drop element | |
| Responsive size preview element | |
| - responsive utility wrapper on an iframe | |
| - data bind a url | |
| - buttons to control state of the size of the frame | |
| xAPI data visualizer for progression through a video | |
| - ajax bind to a data source / static JSON file |
| $json = '{ | |
| "details": { | |
| "title": "' . t('Internal files') . '", | |
| "icon": "perm-media", | |
| "color": "light-blue", | |
| "author": "Drupal", | |
| "description": "Drupal site integration for HAX", | |
| "tags": ["media", "drupal"] | |
| }, | |
| "connection": { |