Your SlideShare is downloading. ×
  • Like
Contributing to Grails
Upcoming SlideShare
Loading in...5

Thanks for flagging this SlideShare!

Oops! An error has occurred.


Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Contributing to Grails



Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads


Total Views
On SlideShare
From Embeds
Number of Embeds



Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

    No notes for slide


  • 1. Contributing to GrailsPeter Ledbrook - VMwaret: @pledbrooke:© 2012 VMware, Inc. All rights reserved.
  • 2. Why contribute?
  • 3. Giving back feels good!
  • 4. Expanded Easier on-user base boarding Self interest Improved dev experience
  • 5. “Many hands make light work”
  • 6. Where to start? 6
  • 7. dev@grails.codehaus.orgDiscuss the direction and future of Grails!
  • 8. 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
  • 9. JIRA 9
  • 10. JIRA 10
  • 11. Reviewing old issues 11
  • 12. Reviewing old issues Add recommendation, e.g. close the issue, and why 12
  • 13. Want to contribute? Search for Resolution: unresolved, Label: contribute 13
  • 14. Useful components in project GRAILS• Documentation• Data binding• URL mappings• View technologies• Persistence• Scaffolding• Request new ones in ADMIN project 14
  • 15. Help your fellow man • Guide • • • 15
  • 16. 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
  • 17. Contributing to user guideEither pledbrook/grails-doc Sync grails/grails-doc (master) (2.0.x) Push Anyone can ask for commit rights via dev mailing list You 17
  • 18. Contributing to user guideOr Pull request <username>/grails-doc grails/grails-doc (patch-n) (<branch>) Push Currently <branch> one of: • master • 2.1.x • 2.0.x You 18
  • 19. Contributing to HOWTOs grails/grails-howtos Hudson (master) Push Anyone can ask for commit rights via dev mailing list You 19
  • 20. Website (• Grails application• Used by you!• Currently undergoing facelift• Open source –• Works with Release plugin – For publishing public plugins• Used for plugin resolution – 20
  • 21. 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
  • 22. Grails core git clone ./gradlew install export GRAILS_HOME=<path>/grails-core 22
  • 23. Grails core UrlMappingsFilter URL mappings GrailsDomainBinder Domain class mapping GrailsDataBinder Data binding GrailsDispatcherServlet Request handling AbstractGrailsPluginManager DefaultGrailsPluginManager Plugin loading and initialisation DefaultGrailsPlugin 23
  • 24. Grails core scripts/* Build commands GrailsScriptRunner ‘grails’ command starter InteractiveMode Interactive console 24
  • 25. 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
  • 26. Grails core• Start with pull requests...• ...become a Grails committer! 26
  • 27. Summary• Many ways of contributing• Gain kudos, name recognition, etc.• Get a warm fuzzy feeling :)• GitHub, JIRA, website• Learn how to use GitHub: – – or search for GitHub in screencasts 27
  • 28. Q&A