# canvas DataVisualization - canviz?
###### tags: `HuLAR` `EDWORKS`
Two ways to fetch data from canvas
Canvas Data API
Canvas REST API
Develop a LTI where user can choose between realtime data and data dumps
CANVAS DATA CLI
https://community.canvaslms.com/docs/DOC-6600-how-to-use-the-canvas-data-cli-tool
TO scrape :
Use Canvas API to scrape the discussion topic, containing all entries, their authors, and their message bodies.
Add story for administrating the stop-words.
Data visuals :D3js
> example: https://github.com/SeregPie/VueWordCloud
An LTI for Discussion analytics to display data visuals
Two issues are shown to user :
- Participation
a pie chart representing total number of unique participants as students with entries in discussion topic against each week
- Concept
a word cloud for most used concept(top 30 words)
###### Detailed Participation view :
- List of students containing the following attributes,
student_number
Names
No of connections
No of posts
Each column has a possiblity to sort in asc/desc.
- a sociogram of who each student has interacted with during this week (middle).
- When clicking on a name in list on the left hand side all the posts related to that connection surface in a list (on the right hand side).
- When clicking on a connection all the posts related to that connection surface in a list (on the right hand side).
- When clicking on a post on the right hand side you go that particular post (hyperlinked).
- The teacher can navigate from this week to previous week and next week.
###### Concept view
- List of most used concepts for each week
- on click of a item in a list , all posts related to the concept is populated on right hand side where the concept is marked with a background color
- on click of the post takes to the particular post.
- on click of administer button navigates to administer words page.
###### Administer view
- a text area to enter words which is used to delete words in concept list.
Data is fetched from Canvas through Canvas REST API and sent to front End .
Front end process the data through D3js to present the data visuals .
Data Model :
conceptmodel :
````
const conceptSchema = new mongoose.Schema({
conceptId: { type: mongoose.Schema.ObjectId, ref: "consentSet" },
courseId: { type: String },
user: {
oauthId: { type: String },
fullName: { type: String },
canvasId: { type: String },
mail: { type: String }
},
wordlists: {type: Array},
date: {}
});
````
front-end store :
- Participation store
- concept store
Issues :
To find a way to process the dumps and store in LRS (using xAPI standard).