SlideShare a Scribd company logo
MONTREAL JUNE 30, JULY 1ST AND 2ND 2012




Contributing to the Community
Pascal Robert
WOCommunity Association
Why should I?

•   Community will die if no one contributes!

•   Putting the burden on only 2-3 guys is a disaster waiting to
    happen

•   We are NOT competitors!
What can I do?

•   Fix bugs in Wonder and WOLips

•   Add new stuff to Wonder

•   Documentation (JavaDoc and wiki)

•   Unit tests!

•   Clean up Wonder
Contributing to Wonder

•   Create your own fork of Wonder

    •   Fork on GitHub is the preferred way

    •   Fork from the integration branch!

•   Send pull requests or patches to Wonder

    •   Do your pull requests on integration!
Contributing to Wonder


•   When creating frameworks for your needs, think about how you
    can separate it to make contributions to Wonder
Integration branch and releases

•   integration branch is where the new stuff is

•   Patches and pull requests are added to the integration branch

•   Commits added to integration are added to master 3-4 weeks
    after

•   When commits are added to master, tagged as a release
This is how to do it
Adding stuff to Wonder

•   Put it in the correct location (Examples or Frameworks)

•   Don't forget to add it to the Ant build file (Build/build/build.xml)

    •   Wonder build system doesn't care about the classpath in the
        WOLips project

•   Don't forget: Wonder is BSD-like!
Ant build files
<target name="ERJQueryMobile.all">
    <antcall target="global.framework.${build.action}" >
        <param name="project.principal.class" value="er.jquerymobile.ERJQueryMobile" />
        <param name="project.name" value="ERJQueryMobile" />
        <param name="project.dir" value="Frameworks/Ajax/ERJQueryMobile" />
        <param name="wo.external.root.bundles" value="${frameworks.wonder.core}/Ajax/ERAttachment" />
    </antcall>
</target>

<target name="JqueryMobileExample.all">
    <antcall target="global.application.${build.action}" >
        <param name="project.type" value="application" />
        <param name="project.principal.class" value="er.jquerymobile.exampleapp.Application" />
        <param name="project.name" value="JqueryMobileExample" />
        <param name="project.dir" value="Examples/Ajax/JqueryMobileExample" />
        <param name="wo.external.root.bundles" value="${frameworks.wonder.core}/ERJQueryMobile/ERMoviesLogic" />
    </antcall>
</target>

<target name="common.frameworks.all" depends="..., ERJQueryMobile.all" />
<target name="common.examples.all" depends="..., JqueryMobileExample.all" />
Fixing issues



•   Check the issues list on GitHub for Wonder and WOLips!
Clean up

•   Clean up the compiler warnings:
    •   http://jenkins.wocommunity.org/job/WonderIntegration/warnings

•   Clean up the open tasks:
    •   http://jenkins.wocommunity.org/job/WonderIntegration/tasks
Unit tests!


•   Know how to make unit tests? Add unit tests to Wonder!

•   EOF unit tests would be really useful...
Contributing to WOLips


•   Same process as forking and updating Wonder

•   Building instructions are on the wiki

•   Ask people to try your contributions
Documentation

•   Needs a lot of cleanup (wiki and JavaDoc)!

•   An idea: take one of the Wonder packages and check the
    JavaDoc and wiki pages for the package, and validate the docs

•   Don't forget to document bindings!
Your own projects



•   Working on stuff that will be added to Wonder?
Jenkins


•   You have a framework that you want to contribute? We can build
    and distribute it on jenkins.wocommunity.org

•   Doesn't have to be a WOLips or Wonder project, as long it's an
    open source project for the community
WOWODC


•   I would be more than happy to have help!

•   Presenters always welcome!
Sponsorship
MONTREAL JUNE 30, JULY 1ST AND 2ND 2012




Q&A

More Related Content

PDF
jQuery in the [Aol.] Enterprise
Dave Artz
 
PDF
Learning jQuery @ MIT
jeresig
 
PDF
Yql with geo
Prajwal ShelvaPillai
 
KEY
jQuery Mobile Overview - Boston
Todd Parker
 
PDF
Static website generators
Merlin Rebrović
 
PPTX
Backbone.js
VO Tho
 
PDF
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016
Matt Raible
 
PDF
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016
Matt Raible
 
jQuery in the [Aol.] Enterprise
Dave Artz
 
Learning jQuery @ MIT
jeresig
 
Yql with geo
Prajwal ShelvaPillai
 
jQuery Mobile Overview - Boston
Todd Parker
 
Static website generators
Merlin Rebrović
 
Backbone.js
VO Tho
 
Get Hip with JHipster: Spring Boot + AngularJS + Bootstrap - GeekOut 2016
Matt Raible
 
Microservices for the Masses with Spring Boot, JHipster, and JWT - Rich Web 2016
Matt Raible
 

Similar to Contributing to the Community (20)

PDF
Getting Started with Wonder
WO Community
 
PDF
WebObjects Developer Tools
WO Community
 
ODP
Development Process, the XWiki way
Eduard Moraru
 
PDF
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...
eLiberatica
 
PDF
BP-9 Share Customization Best Practices
Alfresco Software
 
PDF
BP-7 Share Customization Best Practices
Alfresco Software
 
PDF
Lift talk
Winston Chen
 
ODP
XWiki's Development Process
Eduard Moraru
 
ODP
XWiki's Development Process
Eduard Moraru
 
PDF
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
ODP
Contribute to mozilla
Chinmay Gupta
 
PPT
Developing Java Web Applications
hchen1
 
PPTX
Creating and Maintaining an Open Source Library
Nicholas Schweitzer
 
PPTX
Spring Projects Infrastructure
Gunnar Hillert
 
PPTX
Spring Projects Infrastructure
Roy Clarkson
 
PDF
Open Source Junction: Apache Wookie and W3C Widgets
scottw
 
PPT
Contributing To The Mozilla Codebase
Souradeep De
 
PDF
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
Jeongkyu Shin
 
PPT
Jquery(2)
tomcoh
 
PDF
Cape Cod Web Technology Meetup - 3
Asher Martin
 
Getting Started with Wonder
WO Community
 
WebObjects Developer Tools
WO Community
 
Development Process, the XWiki way
Eduard Moraru
 
"Enterprise Rapid Application Development The Wiki Way" by Jerome Velociter @...
eLiberatica
 
BP-9 Share Customization Best Practices
Alfresco Software
 
BP-7 Share Customization Best Practices
Alfresco Software
 
Lift talk
Winston Chen
 
XWiki's Development Process
Eduard Moraru
 
XWiki's Development Process
Eduard Moraru
 
Beyond Fluffy Bunny. How I leveraged WebObjects in my lean startup.
WO Community
 
Contribute to mozilla
Chinmay Gupta
 
Developing Java Web Applications
hchen1
 
Creating and Maintaining an Open Source Library
Nicholas Schweitzer
 
Spring Projects Infrastructure
Gunnar Hillert
 
Spring Projects Infrastructure
Roy Clarkson
 
Open Source Junction: Apache Wookie and W3C Widgets
scottw
 
Contributing To The Mozilla Codebase
Souradeep De
 
OSS SW Basics Lecture 03: Fundamental parts of open-source projects
Jeongkyu Shin
 
Jquery(2)
tomcoh
 
Cape Cod Web Technology Meetup - 3
Asher Martin
 
Ad

More from WO Community (20)

PDF
KAAccessControl
WO Community
 
PDF
In memory OLAP engine
WO Community
 
PDF
Using Nagios to monitor your WO systems
WO Community
 
PDF
Build and deployment
WO Community
 
PDF
High availability
WO Community
 
PDF
Reenabling SOAP using ERJaxWS
WO Community
 
PDF
Chaining the Beast - Testing Wonder Applications in the Real World
WO Community
 
PDF
D2W Stateful Controllers
WO Community
 
PDF
Deploying WO on Windows
WO Community
 
PDF
Unit Testing with WOUnit
WO Community
 
PDF
Life outside WO
WO Community
 
PDF
Apache Cayenne for WO Devs
WO Community
 
PDF
Advanced Apache Cayenne
WO Community
 
PDF
Migrating existing Projects to Wonder
WO Community
 
PDF
iOS for ERREST - alternative version
WO Community
 
PDF
iOS for ERREST
WO Community
 
PDF
"Framework Principal" pattern
WO Community
 
PDF
Filtering data with D2W
WO Community
 
PDF
WOver
WO Community
 
PDF
Localizing your apps for multibyte languages
WO Community
 
KAAccessControl
WO Community
 
In memory OLAP engine
WO Community
 
Using Nagios to monitor your WO systems
WO Community
 
Build and deployment
WO Community
 
High availability
WO Community
 
Reenabling SOAP using ERJaxWS
WO Community
 
Chaining the Beast - Testing Wonder Applications in the Real World
WO Community
 
D2W Stateful Controllers
WO Community
 
Deploying WO on Windows
WO Community
 
Unit Testing with WOUnit
WO Community
 
Life outside WO
WO Community
 
Apache Cayenne for WO Devs
WO Community
 
Advanced Apache Cayenne
WO Community
 
Migrating existing Projects to Wonder
WO Community
 
iOS for ERREST - alternative version
WO Community
 
iOS for ERREST
WO Community
 
"Framework Principal" pattern
WO Community
 
Filtering data with D2W
WO Community
 
Localizing your apps for multibyte languages
WO Community
 
Ad

Recently uploaded (20)

PDF
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
PDF
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
PDF
Software Development Methodologies in 2025
KodekX
 
PPTX
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
PDF
Doc9.....................................
SofiaCollazos
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PPTX
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
PPTX
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
PDF
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
PPTX
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
PDF
The Future of Artificial Intelligence (AI)
Mukul
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PDF
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
PDF
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Research-Fundamentals-and-Topic-Development.pdf
ayesha butalia
 
The Future of Mobile Is Context-Aware—Are You Ready?
iProgrammer Solutions Private Limited
 
Software Development Methodologies in 2025
KodekX
 
What-is-the-World-Wide-Web -- Introduction
tonifi9488
 
Doc9.....................................
SofiaCollazos
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
New ThousandEyes Product Innovations: Cisco Live June 2025
ThousandEyes
 
Introduction to Flutter by Ayush Desai.pptx
ayushdesai204
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Presentation about Hardware and Software in Computer
snehamodhawadiya
 
Structs to JSON: How Go Powers REST APIs
Emily Achieng
 
The-Ethical-Hackers-Imperative-Safeguarding-the-Digital-Frontier.pptx
sujalchauhan1305
 
The Future of Artificial Intelligence (AI)
Mukul
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
Using Anchore and DefectDojo to Stand Up Your DevSecOps Function
Anchore
 
Accelerating Oracle Database 23ai Troubleshooting with Oracle AHF Fleet Insig...
Sandesh Rao
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 

Contributing to the Community

  • 1. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 Contributing to the Community Pascal Robert WOCommunity Association
  • 2. Why should I? • Community will die if no one contributes! • Putting the burden on only 2-3 guys is a disaster waiting to happen • We are NOT competitors!
  • 3. What can I do? • Fix bugs in Wonder and WOLips • Add new stuff to Wonder • Documentation (JavaDoc and wiki) • Unit tests! • Clean up Wonder
  • 4. Contributing to Wonder • Create your own fork of Wonder • Fork on GitHub is the preferred way • Fork from the integration branch! • Send pull requests or patches to Wonder • Do your pull requests on integration!
  • 5. Contributing to Wonder • When creating frameworks for your needs, think about how you can separate it to make contributions to Wonder
  • 6. Integration branch and releases • integration branch is where the new stuff is • Patches and pull requests are added to the integration branch • Commits added to integration are added to master 3-4 weeks after • When commits are added to master, tagged as a release
  • 7. This is how to do it
  • 8. Adding stuff to Wonder • Put it in the correct location (Examples or Frameworks) • Don't forget to add it to the Ant build file (Build/build/build.xml) • Wonder build system doesn't care about the classpath in the WOLips project • Don't forget: Wonder is BSD-like!
  • 9. Ant build files <target name="ERJQueryMobile.all"> <antcall target="global.framework.${build.action}" > <param name="project.principal.class" value="er.jquerymobile.ERJQueryMobile" /> <param name="project.name" value="ERJQueryMobile" /> <param name="project.dir" value="Frameworks/Ajax/ERJQueryMobile" /> <param name="wo.external.root.bundles" value="${frameworks.wonder.core}/Ajax/ERAttachment" /> </antcall> </target> <target name="JqueryMobileExample.all"> <antcall target="global.application.${build.action}" > <param name="project.type" value="application" /> <param name="project.principal.class" value="er.jquerymobile.exampleapp.Application" /> <param name="project.name" value="JqueryMobileExample" /> <param name="project.dir" value="Examples/Ajax/JqueryMobileExample" /> <param name="wo.external.root.bundles" value="${frameworks.wonder.core}/ERJQueryMobile/ERMoviesLogic" /> </antcall> </target> <target name="common.frameworks.all" depends="..., ERJQueryMobile.all" /> <target name="common.examples.all" depends="..., JqueryMobileExample.all" />
  • 10. Fixing issues • Check the issues list on GitHub for Wonder and WOLips!
  • 11. Clean up • Clean up the compiler warnings: • http://jenkins.wocommunity.org/job/WonderIntegration/warnings • Clean up the open tasks: • http://jenkins.wocommunity.org/job/WonderIntegration/tasks
  • 12. Unit tests! • Know how to make unit tests? Add unit tests to Wonder! • EOF unit tests would be really useful...
  • 13. Contributing to WOLips • Same process as forking and updating Wonder • Building instructions are on the wiki • Ask people to try your contributions
  • 14. Documentation • Needs a lot of cleanup (wiki and JavaDoc)! • An idea: take one of the Wonder packages and check the JavaDoc and wiki pages for the package, and validate the docs • Don't forget to document bindings!
  • 15. Your own projects • Working on stuff that will be added to Wonder?
  • 16. Jenkins • You have a framework that you want to contribute? We can build and distribute it on jenkins.wocommunity.org • Doesn't have to be a WOLips or Wonder project, as long it's an open source project for the community
  • 17. WOWODC • I would be more than happy to have help! • Presenters always welcome!
  • 19. MONTREAL JUNE 30, JULY 1ST AND 2ND 2012 Q&A