contributing to grails

Post on 17-May-2015

2.074 Views

Category:

Technology

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

© 2012 VMware, Inc. All rights reserved.

Contributing to Grails

Peter Ledbrook - VMwaret: @pledbrooke: pledbrook@vmware.com

Why contribute?

Giving back feels good!

Self interest

Expanded user base

Easier on-boarding

Improved dev experience

“Many hands makelight work”

Where to start?

6

dev@grails.codehaus.org

Discuss the direction and future of Grails!

JIRA

• Raise bugs, improvements, new features– Project leads set priority

• Vote!– Affects prioritisation

• Comment– Make your voice heard

• Submit reproducible examples– Preferably with automated tests– These can be incorporated in Grails functional test suite

8

http://jira.grails.org/

JIRA

9

JIRA

10

Reviewing old issues

11

Reviewing old issues

12

Add recommendation, e.g. close the issue, and why

Want to contribute?

13

Search for Resolution: unresolved, Label: contribute

Useful components in project GRAILS

• Documentation• Data binding• URL mappings• View technologies• Persistence• Scaffolding• Request new ones in ADMIN project

14

Help your fellow man

• http://grails.org/doc/latest/• https://github.com/grails/grails-doc

15

• http://grails.github.com/grails-howtos/• https://github.com/grails/grails-howtos

User Guide

HOWTOs

Contributing to documentation

• Add missing info• Correct misinformation• Clarify!

– Don’t be afraid to rewrite or restructure• Develop HOWTOs

– Single page documents• User guide and HOWTOs:

– use gdoc wiki syntax– support translations

16

Contributing to user guide

17

Either

pledbrook/grails-doc(master)

grails/grails-doc(2.0.x)

Sync

Push

You

Anyone can ask for commit rights via dev mailing list

Contributing to user guide

18

<username>/grails-doc(patch-n)

grails/grails-doc(<branch>)

Pull request

Push

You

Or

Currently <branch> one of:

• master

• 2.1.x• 2.0.x

Contributing to HOWTOs

19

grails/grails-howtos(master)

Hudson

Push

You

Anyone can ask for commit rights via dev mailing list

http://grails.github.com/grails-howtos

Website (http://grails.org)

• Grails application• Used by you!• Currently undergoing facelift• Open source

– https://github.com/grails-samples/grails-website• Works with Release plugin

– For publishing public plugins• Used for plugin resolution

– http://plugins.grails.org/

20

Public plugins

• Hosted on Grails Central Plugin Repository• Requires permission per plugin to publish

– Currently ask on dev mailing list– Website will have plugin submission form– Source code must be available for review

• For successful proposal– Correct metadata– Good description– Documentation

21

Grails core

22

git clone https://github.com/grails/grails-core

./gradlew install

export GRAILS_HOME=<path>/grails-core

Grails core

23

UrlMappingsFilter

GrailsDomainBinder

GrailsDataBinder

GrailsDispatcherServlet

AbstractGrailsPluginManagerDefaultGrailsPluginManagerDefaultGrailsPlugin

URL mappings

Domain class mapping

Data binding

Request handling

Plugin loading and initialisation

Grails core

24

scripts/*

GrailsScriptRunner

grails.build.logging.GrailsConsoleInteractiveMode

Build commands

‘grails’ command starter

Interactive console

Summary

• PaaS is the application platform for the Cloud era• PaaS will change the way you write apps

– Design for horizontal scalability– Account for ephemeral file system– Rich set of services– Go polyglot!

• Tools & libraries are important– Spring for the win!

• Can use Redis in place of RabbitMQ for some patterns

25

Grails core

• Start with pull requests...• ...become a Grails committer!

26

Summary

• Many ways of contributing• Gain kudos, name recognition, etc.• Get a warm fuzzy feeling :)• GitHub, JIRA, website

• Learn how to use GitHub:– http://grails.org/screencast/show/21– or search for GitHub in screencasts

27

Q&A

top related