from homebuilt lms to canvas: lessons from the developer trenches · 2020. 3. 18. · lessons in...

26
From Homebuilt LMS to Canvas: Lessons from the Developer Trenches AND Carrots and Sticks: Transitioning Faculty to a new LMS

Upload: others

Post on 15-Sep-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

From Homebuilt LMS to Canvas: Lessons from the Developer TrenchesANDCarrots and Sticks: Transitioning Faculty to a new LMS

Page 2: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

From Homebuilt to Canvas:Lessons from the Developer Trenches

Page 3: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Who are we?

Brian PayneApplication Developer

Su WangEnterprise Software Engineer

Ray, our designer,

who helped make this

presentation not ugly

Page 4: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Homebuilt since 1996

Page 5: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Who are you?

Source: https://www.pexels.com/photo/city-sunny-people-street-2752/

Page 6: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Today we’ll cover

Lessons in SIS Integration

Lessons in Branding and Customization

Page 7: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Lessons in SIS Integration

Page 8: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Lessons in SIS Integration● Background

○ Non-vendor, very old campus SIS that is not able to directly integrate

with Canvas○ Homebuilt LMS had access to this information in prioritary format

● Problem○ Had to build our own integration to send information into Canvas

● Constraints○ In beginning, only had data from homebuilt LMS to start with○ Data format in homebuilt LMS very different

Page 9: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Lesson 1

Start with what you have

https://www.flickr.com/photos/sfllaw/222795669

Page 10: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Starting with what we had

● Middle man for sending data to Canvas and communicates with homebuilt LMS

● Canvas doesn’t need to know Homebuilt LMS exists

● If the homebuilt LMS goes away, we can plug GrandCentral to another data source

Page 11: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Lesson 2

Make smallImprovementsalong theway

https://commons.wikimedia.org/wiki/File:Square_Peg_in_a_Round_Hole_-_geograph.org.uk_-_1244305.jpg

Page 12: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Making small improvements

Grand Central gets an upgrade!

● Most SIS data now coming directly from SIS● Some data still dependent on homebuilt LMS

database○ Such as Teaching Assistants to Course bindings

Page 13: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

LESSON #3

Prepare for change

Page 14: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Things change… be prepared

● All SIS data now coming straight to GrandCentral

● Data is now fed into the homebuilt LMS as needed

● Reduces dependencies

Page 15: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Lessons Learned

Start with what you have

Make small improvements along the way

Prepare for change

Page 16: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly
Page 17: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Branding and Customization

Page 18: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

● We needed to add buttons○ Transfer to WebGrades

● Customize content○ Help dialog pop-up○ Custom footer

Customization

Page 19: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Theme Manager

JS

CSS

Page 20: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Horror

Page 21: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Follow a development process

Page 22: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Structured

3 Files:

<feature>.css <feature>.js <feature>.html

Page 23: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

customizations/courses/gradebook/ add_transfer_to_webgrades_buttons.js

Page 24: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Guidelines

Page 25: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

● Development process● Structure your code

○ 3 files○ Directories match URL

● Guidelines○ Single responsibility per fileset○ Replace not tweak

Page 26: From Homebuilt LMS to Canvas: Lessons from the Developer Trenches · 2020. 3. 18. · Lessons in SIS Integration Background Non-vendor, very old campus SIS that is not able to directly

Now for UC Merced!Slides: https://speakerdeck.com/suw (to be published after this presentation)Contact us if you have more questions!Brian: [email protected]: [email protected]