1. WP website that sends xAPI statements to an LRS for tracking customer education
1.1. WordPress Setup
1.1.1. Site URL: Log In ‹ Kevin Taylor Blog — WordPress
1.1.2. Plug-ins
1.1.2.1. Google Tag Manager For WordPress
1.1.2.1.1. What is in the dataLayer when using this WordPress plugin? - Google Tag Manager plugin for WordPress
1.1.2.2. LearnDash
1.1.2.2.1. Full Nested URLs and how they work in LearnDash
1.1.2.2.2. Data Tables and Sources Log In ‹ LearnDash Support — WordPress
1.1.2.2.3. Breadcrumbs are important for populating object data in the Object portion of the xAPI data.
1.1.2.3. Insert Headers and Footers
1.1.2.4. UncannyOwl Toolkit
1.1.2.5. SSO
1.1.2.5.1. Data Provided by SSO "id": "115886881859296909934", "email": "[email protected]", "verified_email": true, "name": "Dan Lester", "given_name": "Dan", "family_name": "Lester", "link": "https://plus.google.com/115886881859296909934", "picture": "https://lh3.googleusercontent.com/-r4WThnaSX8o/AAAAAAAAAAI/AAAAAAAAABE/pEJQwH5wyqM/photo.jpg", "gender": "male", "locale": "en-GB", "hd": "danlester.com"
1.1.2.6. LearnDash xAPI
1.1.2.7. Brady's Custom Plug-in
1.2. Google Tag Manager Set up
1.2.1. Developer Guide for Events and Variables
1.2.1.1. Per LearnDash's developers, we want to insert these event listeners in the DOM, which is part of a web page.
1.2.1.2. dataLayer
1.2.1.2.1. The dataLayer is a specific structure
1.2.1.3. Custom HTML Tags
1.2.1.3.1. Variables
1.2.1.3.2. Triggers
1.2.1.4. Resources
1.2.1.4.1. How to Transform the dataLayer with Google Tag Manager
1.2.1.4.2. Variable Guide For Google Tag Manager
1.2.1.4.3. Trigger Guide For Google Tag Manager
1.2.2. Terms of Service
1.2.2.1. Google Analytics
1.2.2.2. Google Tag Manager
1.3. Gutenburg
2. LRS Options
2.1. Watershed | Learning Analytics for Organizations
2.1.1. Watershed Essentials LRS | Knowledge Base
2.1.2. Kevin set up a free instance for his own practice purposes, he has the credentials stored in Bitwarden
2.1.3. Watershed supports an API GET method for pulling data into a third system for analysis
2.2. Veracity
2.3. Yet
2.4. SCORM Cloud
2.5. Learning Locker
2.5.1. Needs a spin up on AWS
2.5.2. Free and open source
3. Cohort Info
3.1. Adobe Connect Login
3.1.1. xAPI Cohort 09/6/18_65
3.1.2. xAPI Cohort 09/13/18_66
3.1.3. xAPI Cohort 09/20/18_67
3.2. #team-cms Meeting Room
3.2.1. Agenda 9/19/2018
3.2.1.1. Meet and greet, introductions
3.2.1.1.1. Can you share a brief intro?
3.2.1.1.2. What do you hope to get out of this project?
3.2.1.1.3. How are you feeling about the cohort right now?
3.2.1.2. Quick Show and Tell of the LMS lab
3.2.1.2.1. Make sure everyone is aware of the "Welcome" page
3.2.1.2.2. Account Creation (exciting news)
3.2.1.2.3. How to get up to speed with LearnDash
3.2.1.2.4. Requesting Admin Access
3.2.1.3. Review of basic goals and seeing who can help out on specific goals
3.2.1.4. Next steps
3.2.1.4.1. Anything that Kevin needs to handle since he owns the LMS lab?
3.2.1.4.2. Anything where someone is feeling stuck?
3.2.1.4.3. Confirm time for a meeting schedule (same day and time?)
3.3. Slack Channel Slack
3.4. Fall 2018 xAPI Cohort Spec
4. Important Resources
4.1. Tutorials
4.1.1. Getting Started with xAPI: Four Lines of Code
4.1.2. xAPI Statements: The anatomy of an xAPI statement
4.1.3. Secure xAPI statements with server-side processing
4.2. xAPI Software Libraries
4.2.1. PHP
4.2.1.1. TinCanPHP by RusticiSoftware
4.2.2. JS Git Libraries
4.2.2.1. RusticiSoftware/TinCanJS
4.2.2.1.1. This helps to pre-format statements to make them LRS-ready
4.2.2.1.2. Examples
4.2.2.2. ALD Approved Verbs adlnet-archive/xAPIVerbs
4.2.2.3. adlnet/xAPIWrapper
4.2.2.4. Authenticate with the LRS via server side JS instead of through the browser
4.2.2.5. adlnet/xapi-authored-profiles
4.2.2.6. adlnet/xapi-profiles
4.3. Tools
4.3.1. Postman
4.3.1.1. Good for testing out hand built xAPI statements to see if the LRS will accept them. Good for debugging
4.3.1.2. Debugging, is a challenge, you need to know the xAPI spec really well and reference it during your testing
4.3.2. xAPI Statement Generator
4.3.3. JSLint: The JavaScript Code Quality Tool
4.4. Refrences
4.4.1. Verb, Activity Registries
4.4.1.1. xAPI Verb List xAPI Vocabulary & Profile Publishing Server
4.4.1.2. The Registry
4.4.2. adlnet/xAPI-Spec
4.4.3. MDN List of Browser Events Event reference
5. Project Goals
5.1. Develop better JS skills
5.1.1. Is anyone willing to tutor JS noobs? What do they need to bring to the table when requesting tutoring?
5.1.2. There are JS wrappers, profiles, and other components to implementing xAPI, how do we use these resources and how do we learn more about them?
5.2. Post xAPI statements from an ecosystem where all the content and learning objects are in one place
5.2.1. Kevin will volunteer to coach folks on creating LearnDash content
5.2.2. Kevin already has a sample course set up, but let's talk about what you want to do with the content
5.3. Looking for ways to bypass the LMS as a content delivery platform
5.3.1. We should talk about what kind of content you want to deliver and the pros and cons of using native WP content creation tools
5.4. See if we can use Google Tag Manager to do our code injection of JS event listeners for more centralized management of xAPI JS
5.4.1. Is this approach scalable or sustainable for an organization?
5.5. Graduate from using SCORM in our learning objects currently delivered via our CMS-based LMS
5.6. Learn a bit more about how a CMS could serve up fully responsive courseware
5.6.1. There are options depending on what your courseware authoring tools are
5.6.2. There are plug-ins that support serving courseware, but they tend to be specific to an authoring tool
5.7. Learning how to install event listeners outside the LMS
5.7.1. Is there anyone willing to host a session on this once we have a few examples?
5.8. Capture identity data from an SSO solution we can pass to the LRS as the Agent data in a statement
5.8.1. We now have an SSO solution up and running as of today.
6. Measurement Plan
6.1. Course A: Tincan JS Wrapper
6.1.1. How to use Google Apps
6.1.1.1. Getting Started With Google Doc
6.1.1.2. Collaborating with Google Apps Deep Dive
6.1.1.3. Getting Started With Google Keep
6.1.1.4. Quiz #1
6.1.2. How to use MindMeister
6.1.2.1. Share and collaborate
6.1.2.2. Create your first map
6.1.2.3. Adding Notes, Links, Images, Files, and Videos
6.1.3. How to use Slack
6.1.3.1. Communication with Channels
6.1.3.2. Intro Slack
6.1.3.3. Messaging in Slack
6.1.4. Quiz #2
6.2. Course A: Tincan JS Wrapper
6.2.1. How to use Google Apps
6.2.1.1. Getting Started With Google Doc
6.2.1.2. Collaborating with Google Apps Deep Dive
6.2.1.3. Getting Started With Google Keep
6.2.1.4. Quiz #1
6.2.2. How to use MindMeister
6.2.2.1. Share and collaborate
6.2.2.2. Create your first map
6.2.2.3. Adding Notes, Links, Images, Files, and Videos
6.2.3. How to use Slack
6.2.3.1. Communication with Channels
6.2.3.2. Intro Slack
6.2.3.3. Messaging in Slack
6.2.4. Quiz #2