A Noob's Journey to the Core

55
Ryan Welcher • @ryanwelcher • #WCTO A NOOB’S JOURNEY TO THE CORE RYAN WELCHER

Transcript of A Noob's Journey to the Core

Ryan Welcher • @ryanwelcher • #WCTO

A N O O B ’ S J O U R N E Y T O T H E C O R E

R YA N W E L C H E R

Ryan Welcher • @ryanwelcher • #WCTO

A B O U T M E

• Web Developer for over 10 years.

• Started using WordPress in 2009.

• Senior Web Engineer at 10up. We’re hiring!

• Noob Core Contributor.

Ryan Welcher • @ryanwelcher • #WCTO

C O N T R I B U T O R D AY

Ryan Welcher • @ryanwelcher • #WCTO

C O N T R I B U T I N G I S H A R D

Ryan Welcher • @ryanwelcher • #WCTO

C O N T R I B U T I N G I S H A R D

Ryan Welcher • @ryanwelcher • #WCTO

R A M P I N G U P I S H A R D

Ryan Welcher • @ryanwelcher • #WCTO

W T F T R I F E C TA

Tech Trac

Community

Ryan Welcher • @ryanwelcher • #WCTO

Ryan Welcher • @ryanwelcher • #WCTO

Ryan Welcher • @ryanwelcher • #WCTO

Ryan Welcher • @ryanwelcher • #WCTO

Ryan Welcher • @ryanwelcher • #WCTO

M O T I VAT I O N

– M E

“WordPress is going to put my kids through college”

Ryan Welcher • @ryanwelcher • #WCTO

WAY S T O C O N T R I B U T E

Ryan Welcher • @ryanwelcher • #WCTO

https://make.wordpress.org/

Ryan Welcher • @ryanwelcher • #WCTO

T E C H N I C A L

Ryan Welcher • @ryanwelcher • #WCTO

W O R D P R E S S R E P O S I T O R Y

• WordPress core is stored in an SVN repo.

• By default you have read-only access.

• The structure is much different than what you download from WordPress.org.

Ryan Welcher • @ryanwelcher • #WCTO

G E T T I N G T H E C O D E

• SVN

• svn co https://develop.svn.wordpress.org/trunk/

• GIT mirror

• git clone git://develop.git.wordpress.org/

• git-svn

• GUI

R E P O S T R U C T U R E

Ryan Welcher • @ryanwelcher • #WCTO

VA R Y I N G VA G R A N T VA G R A N T S

• Vagrant configuration for WordPress development.

• Ideal for WordPress core development.

• “Turn Key” development environment.

• https://github.com/Varying-Vagrant-Vagrants/VVV

Ryan Welcher • @ryanwelcher • #WCTO

PAT C H F I L E S

• Text file containing the difference ( diff ) between your local copy and the remote repository.

• Are attached to tickets in trac.

• Can be created via command line or GUI.

• Create them from the root of your local repository.

• Naming convention - ticket-number.diff

Ryan Welcher • @ryanwelcher • #WCTO

PAT C H F I L E S

svn diff > ~/Desktop/1337.diff

git diff --no-prefix > ~/Desktop/1337.diff

Ryan Welcher • @ryanwelcher • #WCTO

C O D E

• PHP 5.2 compatible.

• WordPress Coding Standards.

• Documentation Standards.

Ryan Welcher • @ryanwelcher • #WCTO

U N I T T E S T S

– @ W O N D E R B O Y M U S I C

“It’s easier to dive into someone else’s ticket and review it for commit if Unit Tests are there

to show current behaviour and changed behaviour”

U N I T T E S T S

Ryan Welcher • @ryanwelcher • #WCTO

U N I T T E S T S

Ryan Welcher • @ryanwelcher • #WCTO

T R A C

Ryan Welcher • @ryanwelcher • #WCTO

T R A C

• Open source software used to manage bugs and tasks for WordPress core.

• Need an account at WordPress.org to play along.

• Has LOTS of different reports ( ticket groupings )

• Confusing as *%&!

Ryan Welcher • @ryanwelcher • #WCTO

F I N D I N G A T I C K E T

https://make.wordpress.org/core/reports/

Ryan Welcher • @ryanwelcher • #WCTO

G O O D F I R S T B U G S

https://core.trac.wordpress.org/tickets/good-first-bugs

Ryan Welcher • @ryanwelcher • #WCTO

Y O U R S T U F F

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

• Defect (bug) • Enchancement

• Feature Request • Task (blessed)

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

C R E AT E A T I C K E T

Ryan Welcher • @ryanwelcher • #WCTO • www.url.com/slides

A D D I N G A PAT C H

Ryan Welcher • @ryanwelcher • #WCTO

T H E C O M M U N I T Y

Ryan Welcher • @ryanwelcher • #WCTO

G E T I N V O LV E D

Ryan Welcher • @ryanwelcher • #WCTO

T I M I N G I S E V E R Y T H I N G

Ryan Welcher • @ryanwelcher • #WCTO

L E N D A H A N D

Ryan Welcher • @ryanwelcher • #WCTO

M A K E F R I E N D S

Ryan Welcher • @ryanwelcher • #WCTO

B E PAT I E N T

Ryan Welcher • @ryanwelcher • #WCTO

S E L F A D V O C AT E

Ryan Welcher • @ryanwelcher • #WCTO

F R O N T L O A D E D E F F O R T

Ryan Welcher • @ryanwelcher • #WCTO

H AV E F U N !

Ryan Welcher • @ryanwelcher • #WCTO

T H A N K S !

Ryan Welcher • @ryanwelcher • #WCTO

L I N K S

• Trac - https://make.wordpress.org/core/reports/

• Slack - make.wordpress.org/chat/

• Core site - make.wordpress.org/core

• Handbook - make.wordpress.org/core/handbook/