<code/> Do It Yourself! Contributing Code Back to Canvas But - - PowerPoint PPT Presentation

code do it yourself
SMART_READER_LITE
LIVE PREVIEW

<code/> Do It Yourself! Contributing Code Back to Canvas But - - PowerPoint PPT Presentation

<code/> Do It Yourself! Contributing Code Back to Canvas But why? Turnaround Maintainability Everyone Benefits Getting Started The Canvas Community Freenode Google Groups Discussion #canvas-lms canvas-lms-users Forums


slide-1
SLIDE 1

Do It Yourself!

Contributing Code Back to Canvas

<code/>

slide-2
SLIDE 2

But why?

slide-3
SLIDE 3

Turnaround

slide-4
SLIDE 4

Maintainability

slide-5
SLIDE 5

Everyone Benefits

slide-6
SLIDE 6

Getting Started

slide-7
SLIDE 7

The Canvas Community

Google Groups canvas-lms-users Discussion Forums Freenode #canvas-lms

slide-8
SLIDE 8

Prerequisites

slide-9
SLIDE 9

Familiar with Ruby on Rails

slide-10
SLIDE 10

Familiar with Git (and GitHub)

slide-11
SLIDE 11

Able to run Canvas locally

slide-12
SLIDE 12

Sign their Contributor License Agreement

slide-13
SLIDE 13

Setting up Your Environment

slide-14
SLIDE 14

https://github.com/instructure/canvas-lms/wiki/Quick-Start

slide-15
SLIDE 15

gotta get +

slide-16
SLIDE 16

Fork, then Clone

git clone

instructure/ canvas-lms your-fork/ canvas-lms

slide-17
SLIDE 17

Install Dependencies

  • Ruby 1.9.3 — use RVM or rbenv
  • Other Canvas dependencies
slide-18
SLIDE 18

Prepare Canvas

  • Set up configuration files from samples
  • Initialize databases
  • Run tests
slide-19
SLIDE 19

> script/server

slide-20
SLIDE 20

http://localhost:3000

slide-21
SLIDE 21

Writing Your Code

slide-22
SLIDE 22

feature / bug fix branch master

slide-23
SLIDE 23

https://github.com/instructure/canvas-lms/wiki/ Coding-Guidelines

slide-24
SLIDE 24

Test Your Code

slide-25
SLIDE 25

Ask Questions

slide-26
SLIDE 26

Submitting Your Code

slide-27
SLIDE 27

Tidy Up

5001eb Implement awesome feature 9a278a Write tests b2d9b2 Fix typo “awsome” fa50ea Add big green button ba0786 More pandas 1fad4e One more thing...

slide-28
SLIDE 28

Tidy Up

1985aa Implement awesome feature

slide-29
SLIDE 29

Write a Commit Message

Implement awesome feature

!

Test plan:

!

  • As a teacher, select any active course
  • Ensure that the course page looks normal
  • As a hero, select the same course
  • Click on the big green button
  • Experience a 215% increase in pure awesomeness
slide-30
SLIDE 30

Send Pull Request

git push

instructure/ canvas-lms your-fork/ canvas-lms

slide-31
SLIDE 31

Tips

slide-32
SLIDE 32

hello world conquer universe

slide-33
SLIDE 33

LTI · API · separate service?

slide-34
SLIDE 34

Internationalization

slide-35
SLIDE 35

Make UI Accessible

slide-36
SLIDE 36

Examples

slide-37
SLIDE 37

Basic File Uploader Bug

slide-38
SLIDE 38
slide-39
SLIDE 39
slide-40
SLIDE 40

Alerts Bug

slide-41
SLIDE 41
slide-42
SLIDE 42

authorized_action(@context, @current_user, :manage_alerts)

slide-43
SLIDE 43

authorized_action(@context, @current_user, :manage_alerts) :manage_alerts

slide-44
SLIDE 44

authorized_action(@context, @current_user, :manage_alerts) :manage_alerts :manage_interaction_alerts

slide-45
SLIDE 45

Enrollment Terms in Course Autocomplete

slide-46
SLIDE 46
slide-47
SLIDE 47
slide-48
SLIDE 48

Names in Users CSV Import

slide-49
SLIDE 49

user_id, login_id, first_name, last_name, status 13834, jdoe03, John, Doe, active

slide-50
SLIDE 50

user_id, login_id, first_name, last_name, status 13834, jdoe03, John, Doe, active

!

user_id, login_id, first_name, last_name, short_name, active 13834, jdoe03, John, Doe, “Johnny D”, active

slide-51
SLIDE 51

Thank You!

andrewleung@sfu.ca va7map