Skip to content

Commit

Permalink
first commit
Browse files Browse the repository at this point in the history
  • Loading branch information
mcjelewis committed Oct 16, 2015
1 parent 8235862 commit 55aece7
Show file tree
Hide file tree
Showing 394 changed files with 44,047 additions and 14 deletions.
Binary file added .DS_Store
Binary file not shown.
28 changes: 14 additions & 14 deletions README.md
100644 → 100755
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ Generate Canvas developer key. For access to the API data, Canvas requires a dev
1. click the Dev Key Signup from the 'Canvas Dev & Friends' page ([http://instructure.github.io/](http://instructure.github.io/)).
2. complete the form
1. on the question 'Are you a current Canvas...' select 'Client'.
2. for the question 'Oauth2 Redirect URI', make sure this is the same path as where you placed the Threadz directory on the webserver.
2. for the question 'Oauth2 Redirect URI', make sure this is the same path as the directory where you placed the Threadz directory on the webserver.
3. all other questions should be self evident.
3. Canvas will respond with an email within a day or two. In their response you should find your new ID, Key, and URI.

Expand Down Expand Up @@ -121,17 +121,17 @@ Threadz uses the jQuery UI themes. You can use the jQuery Themeroller to create
////////////////////////////////////////////////////

Canvas has a user guide about how to set up an LTI : https://guides.instructure.com/m/4214/l/74559-how-do-i-configure-an-external-app-for-an-account-using-a-url
1. Open a course in Canvas
2. Go to the 'Apps' tab in course Settings
3. Click 'View App Configurations'
4. Click 'Add App'
5. Complete the LTI form
1. **Configuration Type:** select 'By URL'from the drop down list
2. **Name:** enter 'Threadz: Discussion Visualization Tool' or another name that makes sense to you.
3. **Consumer Key:** leave empty
4. **Shared Secret:** threadz-v1
5. **Config URL:** paste the url link to the config-threadz.xml file ([Getting Started step 6](#getting-started-installation)).
6. Click 'Submit'
1. Open a course in Canvas
2. Go to the 'Apps' tab in course Settings
3. Click 'View App Configurations'
4. Click 'Add App'
5. Complete the LTI form
1. Configuration Type: select 'By URL'from the drop down list
2. Name: enter 'Threadz: Discussion Visualization Tool' or another name that makes sense to you.
3. Consumer Key: leave empty
4. Shared Secret: threadz-v1
5. Config URL: paste the url link to the config-threadz.xml file (Getting Started step 6).
6. Click 'Submit'


////////////////////////////////////////////////////
Expand All @@ -143,9 +143,9 @@ Dr. Shane Dawson etal.
The SNAPP tool is the work of Dr. Shane Dawson etal. and is a similar visualization tool, that creates visualizations of the interactions within a discussion forum. SNAPP however is not compatible with Canvas, thus the need for Threadz.


[IMSBasicLTI](https://code.google.com/p/basiclti4wordpress/source/browse/trunk/producer/mu-plugins/IMSBasicLTI/ims-blti/?r=2)
[IMSBasicLTI] (https://code.google.com/p/basiclti4wordpress/source/browse/trunk/producer/mu-plugins/IMSBasicLTI/ims-blti/?r=2)
Copyright (c) 2007 Andy Smith
The code provided by Andy Smith creates a secure Oauth class to access the lti launch data.
The cody provided by Andy Smith creates a secure Oauth class to access the lti launch data.


[D3.js](http://d3js.org/)
Expand Down
59 changes: 59 additions & 0 deletions about.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
<?php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Name: Threadz
// Author: Matt Lewis
// Organization: Eastern Washington University - Instructional Technology
// Copyright: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
// Version: 1.0
// Page Description: This page displays the content in the 'About' .
// Called From: threadz.php
// Uses:
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
session_start();
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Threadz - License</title>
<meta charset="utf-8">
<meta name="description" content="Visualize Canvas LMS discussions with various social network graphs.">
<meta name="author" content="Matt Lewis">
<meta name="robots" content="noindex,nofollow">
</head>
<body>

<div id="creditsbody">
<p>Built as a Learning Tools Interoperability (LTI) integration for the learning management system Canvas, Threadz is a discussion visualization tool that adds graphs and statistics to online discussions.</p>
<p>Online discussions provide valuable information about the dynamics of a course and its constituents. Much of this information is found within the content of the posts, but other elements are hidden within the social network connection and interactions between students and between students and instructors. Threadz is a tool that extracts this hidden information and puts it on display.</p>
<p>The visual representations created from social network connections and interactions between students and instructors in a discussion assist in identifying specific behaviors and characteristics within the course, such as: learner isolation, non-integrated groups, instructor-centric discussions, and key integration (power) users and groups. By identifying these behaviors and characteristics, the instructor can affect change in these interactions to help make the discussions and classroom discourse more accessible to all.</p>
<p>The permissions to use this tool are not restricted by role. Both students and teachers are able to access Threadz when made available. To disable Threadz, within the course settings Navigation tab, move Threadz below the hide from students line.</p>

<h3>Contact</h3>
<p>This tool was created at Eastern Washington University by Instructional Technology Design and Development. Please contact Matt Lewis ([email protected]) for more information.</p>

<h3>Acknowledgements</h3>
<p><a href='http://www.snappvis.org/'>SNAPP (Social Network Adapting Pedagogical Practice)</a><br>
Dr. Shane Dawson etal. <br>
The SNAPP tool is the work of Dr. Shane Dawson etal. and is a similar visualization tool, that creates visualizations of the interactions within a discussion forum. SNAPP however is not compatible with Canvas, thus the need for Threadz.
</p>

<p><a href='https://code.google.com/p/basiclti4wordpress/source/browse/trunk/producer/mu-plugins/IMSBasicLTI/ims-blti/?r=2'>IMSBasicLTI</a><br>
Copyright (c) 2007 Andy Smith <br>
The cody provided by Andy Smith creates a secure Oauth class to access the lti launch data.
</p>

<p><a href='http://d3js.org/'>D3.js]</a><br>
Copyright (c) 2010-2015, Michael Bostock <br>
D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. D3's emphasis on web standards gives you the full capabilities of modern browsers without tying yourself to a proprietary framework, combining powerful visualization components and a data-driven approach to DOM manipulation.
</p>

<h3>License</h3>
<p>
<a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png" /></a>
<br>
<span xmlns:dct="http://purl.org/dc/terms/" property="dct:title">Threadz</span> by <span xmlns:cc="http://creativecommons.org/ns#" property="cc:attributionName">Eastern Washington University - Instructional Technology</span> is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-sa/4.0/">Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License</a>.
</p>
</div>
</body>
</html>
33 changes: 33 additions & 0 deletions ajax.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
<?php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Name: Threadz
// Author: Matt Lewis
// Organization: Eastern Washington University - Instructional Technology
// Copyright: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
// Version: 1.0
// Page Description: This page extracts the topic post data from SESSION and pushes it back to be used in the D3 function to create the graph.
// Called From: threadz.php
// Uses: function.php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
session_start();
require_once("functions.php");

$topic_id = $_POST['topic_id'];
empty($_SESSION['d3_'.$topic_id]);
unset($_SESSION['d3_'.$topic_id]);
//the function d3Data() creates an array of lms data used by the d3 library
d3Data($topic_id);

//encode to json and save array to session
$discussionData = json_encode($_SESSION['d3_'.$topic_id]);

//Save to Session for Chord Diagram
$_SESSION['discussionData'] = $discussionData;

//send back to threadz.php
echo $discussionData;

?>



47 changes: 47 additions & 0 deletions chord.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
<?php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
// Name: Threadz
// Author: Matt Lewis
// Organization: Eastern Washington University - Instructional Technology
// Copyright: Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License
// Version: 1.0
// Page Description: This page creates the chord diagram used on the 'Chord' tab.
// Called From: threadz.php
// Uses: function.php
//++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
session_start();
require_once("functions.php");
$topic_id = $_SESSION['topic_id'];
$domainThreadz = $_SESSION['domainThreadz'];
$d3data = json_decode($_SESSION['discussionData'], '"');

?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Threadz - Chord Diagram</title>
<meta charset="utf-8">
<meta name="description" content="Visualize Canvas LMS discussions with various social network graphs.">
<meta name="author" content="Matt Lewis">
<meta name="robots" content="noindex,nofollow">

<!-- <script type="text/javascript" src="<?php echo $domainThreadz ?>/lib/js/d3/d3.v3.min.js"></script>
<script type="text/javascript" src="<?php echo $domainThreadz ?>/js/d3-visuals.js"></script>-->

</head>
<body>
<div class='d3-visual'>
<div id="chord">
<script>makeChordMatrix(<?php echo $_SESSION['discussionData']; ?>);</script>
</div>
</div>
<div id='right-container'>
<h4>Chord Diagram</h4>
<p>The chord diagram puts a path to the connections shown in the other graph. The direction of the posts is represented by the thickness of the line. </p>
<p>Hover over the outer edge of the circle on a specific user to display the number of posts sent and recieved. Hover over the line that connects two students to see the count of posts from either direction.</p>
</div>
<br><a class='mini' target='_blank' href='<?php echo $d3data['topic']['url'] ?>'>go to Discussion</a>

</body>
</html>
28 changes: 28 additions & 0 deletions config-threadz.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<cartridge_basiclti_link xmlns="http://www.imsglobal.org/xsd/imslticc_v1p0"
xmlns:blti = "http://www.imsglobal.org/xsd/imsbasiclti_v1p0"
xmlns:lticm ="http://www.imsglobal.org/xsd/imslticm_v1p0"
xmlns:lticp ="http://www.imsglobal.org/xsd/imslticp_v1p0"
xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation = "http://www.imsglobal.org/xsd/imslticc_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticc_v1p0.xsd
http://www.imsglobal.org/xsd/imsbasiclti_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imsbasiclti_v1p0.xsd
http://www.imsglobal.org/xsd/imslticm_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticm_v1p0.xsd
http://www.imsglobal.org/xsd/imslticp_v1p0 http://www.imsglobal.org/xsd/lti/ltiv1p0/imslticp_v1p0.xsd">
<blti:title>Threadz</blti:title>
<blti:description>Threadz is a discussion visualization tool that adds graphs and statistics to Canvas discussions.</blti:description>
<blti:icon></blti:icon>
<blti:launch_url>https://threadz.ewu.edu/launch.php</blti:launch_url>
<blti:extensions platform="canvas.instructure.com">
<lticm:property name="privacy_level">name_only</lticm:property>
<lticm:property name="domain">https://threadz.ewu.edu/</lticm:property>
<lticm:options name="course_navigation">
<lticm:property name="url">https://threadz.ewu.edu/launch.php</lticm:property>
<lticm:property name="text">Threadz</lticm:property>
<lticm:property name="visibility">members</lticm:property>
<lticm:property name="default">enabled</lticm:property>
<lticm:property name="enabled">true</lticm:property>
</lticm:options>
</blti:extensions>
<cartridge_bundle identifierref="BLTI001_Bundle"/>
<cartridge_icon identifierref="BLTI001_Icon"/>
</cartridge_basiclti_link>
Binary file added css/.DS_Store
Binary file not shown.
100 changes: 100 additions & 0 deletions css/base.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@

input, select {font-size:0.9em;}
table {
margin-top:-10px;
margin-left:7px;
}
h3 {
font-size: 1.2em;
text-decoration:none;
font-weight:normal;
color:#2e6e9e;
}
h4 {
font-size:1em;
text-decoration:none;
font-weight:normal;
color:#23A4FF;
}
#right-container h4{text-indent:8px;}
a { color:#23A4FF;}

/*Classes*/
.mini{font-size: .7em;}
.clearfix {clear: both;}
.text {margin: 7px;}
.displayBlock{display:block; }

.previewbox
{
/*background-image: url('https://web.ewu.edu/groups/urmgr/canvasTools/vdtimages/bluegrad_background.jpg');*/
background-repeat:repeat-x;
border: solid 1px #97a5b0; /* #cccccc */
padding: 1px 1px 1px 1px;
line-height: 0.5em;
float:right;
clear:right;
}
/*TOOLTIPS*/
.tip {
color: #111;
width: 139px;
background-color: white;
border:1px solid #ccc;
-moz-box-shadow:#555 2px 2px 8px;
-webkit-box-shadow:#555 2px 2px 8px;
-o-box-shadow:#555 2px 2px 8px;
box-shadow:#555 2px 2px 8px;
opacity:0.9;
filter:alpha(opacity=90);
font-size:10px;
font-family:Verdana, Geneva, Arial, Helvetica, sans-serif;
padding:7px;
}

/*STRUCTURE*/
/*#container {
width: 1000px;
height: 600px;
margin:0 auto;
position:relative;
}
#center-container {
width:600px;
left:200px;
background-color:#1a1a1a;
color:#ccc;
}
#left-container {
left:0;
background-image:url('col2.png');
background-position:center right;
border-left:1px solid #ddd;
}*/
#right-container {
display: inline-block;
background-position:center left;
border-left:1px solid #ddd;
padding-left:7px;
padding-right:7px;
vertical-align: top;
}
#left-container, #right-container {
width:250px;
text-align: left;
overflow: auto;
background-color:#fff;
background-repeat:no-repeat;
border-bottom:1px solid #ddd;
}
#networkDirected, #chord, #timeBar, #timeArea, #matrixHeatmap, .d3-visual {display: inline-block;}

#vis_container{
color:#686c70 !important;
font-family: Lucida Grande,Lucida Sans,Arial,sans-serif;
font-size: .71em !important;
}



Binary file added css/cupertino/.DS_Store
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-bg_flat_15_cd0a0a_40x100.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-bg_glass_50_3baae3_1x400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-bg_glass_80_d7ebf9_1x400.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-icons_2694e8_256x240.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-icons_2e83ff_256x240.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-icons_3d80b3_256x240.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-icons_72a7cf_256x240.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added css/cupertino/images/ui-icons_ffffff_256x240.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 55aece7

Please sign in to comment.