Skip to content

Instantly share code, notes, and snippets.

View sfentress's full-sized avatar

Sam Fentress sfentress

  • Concord Consortium
View GitHub Profile
@sfentress
sfentress / gist:3f06ebcbc6f6cb6d5e765d37580169cf
Created June 23, 2017 16:46
Saving user data and authoring in Firebase
Thoughts on making state-saving to Firebase, along with authoring on firebase etc., as future-proof as possible
Issues:
1. We may want to support multiple versions of the same game concurrently. E.g. two different treatments in schools, with different authoring. Or we may want a new version of authoring, but to keep the old data. (Note: this does not refer to old versions of the software -- we assume all users always have the most recent version.)
2. We may want to change the user data in breaking ways.
For (1) we can put the version number/name of the application at the root of the tree. Nothing in one version ever needs to refer to anything in another, so it should all be contained in the same branch. Possible issue: If we have permissions based on paths, every time we release a new version of the game, we need to update the permissions. The alternative would be to put the appVersion further down the leaves, but it makes it much messier and the user may have to download much more data.
@sfentress
sfentress / query.json
Created May 15, 2017 18:36
Log Manager query for individual pages in LARA
{
"filter": [
{
"key": "page_id",
"list": [
"4611",
"4629"
],
"remove": false,
"filter_type": "string"
@sfentress
sfentress / query.json
Created May 15, 2017 18:25
Log Manager query for individual models in LARA
{
"filter": [
{
"key": "interactive_url",
"list": [
"https://lab.concord.org/embeddable.html#interactives/water/water-1.json",
"https://lab.concord.org/embeddable.html#interactives/water/water-4.json"
],
"remove": false,
"filter_type": "string"
{
"filter": [
{
"key": "activity",
"list": [
"allele-5drakes-tutorial",
"allele-targetMatch-visible-simpleDom",
"allele-targetMatch-hidden-simpleDom"
],
"remove": false,
{
"filter": [
{
"key": "run_remote_endpoint",
"list": [
"https://has.portal.concord.org/dataservice/external_activity_data/643e9dc6-8fc4-4123-bbe2-936867db8102",
"https://has.portal.concord.org/dataservice/external_activity_data/9a1e9c2c-3384-4528-afcb-b7240ab1b96f"
],
"remove": false,
"filter_type": "string"

Filtering on school alone (students in school 1 or 2)

SELECT `report_learners`.* FROM `report_learners` WHERE `report_learners`.`school_id` IN (1,2)

Filtering on permission form alone (students who signed 1 or 2)

== Filtering on school alone (students in school 1 or 2) ==
SELECT `report_learners`.* FROM `report_learners` WHERE `report_learners`.`school_id` IN (1,2)
----
== Filtering on permission form alone (students who signed 1 or 2) ==
SELECT `report_learners`.`id` AS t0_r0, `report_learners`.`learner_id` AS t0_r1, `report_learners`.`student_id` AS t0_r2, `report_learners`.`user_id` AS t0_r3, `report_learners`.`offering_id` AS t0_r4, `report_learners`.`class_id` AS t0_r5, `report_learners`.`last_run` AS t0_r6, `report_learners`.`last_report` AS t0_r7, `report_learners`.`offering_name` AS t0_r8, `report_learners`.`teachers_name` AS t0_r9, `report_learners`.`student_name` AS t0_r10, `report_learners`.`username` AS t0_r11, `report_learners`.`school_name` AS t0_r12, `report_learners`.`class_name` AS t0_r13, `report_learners`.`runnable_id` AS t0_r14, `report_learners`.`runnable_name` AS t0_r15, `report_learners`.`school_id` AS t0_r16, `report_learners`.`num_answerables` AS t0_r17, `report_learners`.`num_answered` AS
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Projects: SPARKS : Breadboard Activity Authoring</title>
<link rel="stylesheet" href="styles/site.css" type="text/css" />
<META http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>

Our new breadboard activities all support authoring the entire content from an online authoring system.

The authoring database can be found here: [http://couchdb.cosmos.concord.org/_utils/database.html?sparks]

New activity files can be created quickly, and given an id. That id then instantly becomes a url where you can find the activity you have been authoring. This is designed to be a nice, quick, iterative authoring setup.

If you give an activity the id X, it can be found at [https://sparks-activities.concord.org/sparks-content/activities.html#X]. So, for example, the activity file with the id series-interpretive, for instance, which can be found here: [http://couchdb.cosmos.concord.org/_utils/document.html?sparks/series-interpretive], will instantly create an activity which can be found at [https://sparks-activities.concord.org/sparks-content/activities.html#series-interpretive]

Note: We now can author both "Activities" and "Sections" (or "Levels"). One activity is made up of several sections. Most o

@sfentress
sfentress / Current keywords
Last active July 12, 2016 16:06
Sample Actor-Action-Target Log, and list of current existing keywords
Actors:
USER - actions triggered directly by user
SYSTEM - actions triggered by system (e.g. "started session")
Actions:
STARTED
NAVIGATED
ADVANCED
CHANGED
SUBMITTED