means ? • why should you do it ? • Small contribution guide • for end users • for studio and NXThemes users • for developers • Keeping in touch with the community
helping us making the Nuxeo platform • better for your use cases but also • better for everyone ➔ become an real Actor of ➔ the evolution of Nuxeo Platform ➔ the users / developers community
better • You get • the improvements you need • your changes are integrated and supported by Nuxeo (no maintenance issue because of patches) • it makes your work easier (you get expertise and you build on vanilla code) • We get • feedback and improvements on our work ➔ Everybody is happy !
testing and reporting problems • giving improvement ideas • submitting translations • helping us improving existing modules • building new modules • making Marketplace packages
only speak English and French • Desktop integration • very few MS Windows users in Nuxeo team • OS specific packagings • very few MS Windows users in Nuxeo team • Connectors to third party applications • Unexpected use cases !
• Externalized translation files • Extension points and event bus systems ➔ can build clean extensions • Modular platform assembly ➔ can add features without modifying all Nuxeo • Studio generated plug-ins ➔ easy generation of business templates and addons • Marketplace package distribution system ➔ easy to package and distribute ➔ Contribution is easier than ever
• it is tested in a lot of configurations and environments • the Nuxeo team is ready to help • we will invest more time on this :) • we know a lot of people have done small addons • MS Outlook plug-in, Auth plug-ins, Business App connectors, Widgets ... • we know some of you are doing amazing and unexpected stuffs with Nuxeo Platform • embedded Nuxeo Server, Django bridge, portal integration … ➔ don't be shy, contribute your work !!!
projects • don't wait for a fully featured plug in before contributing – chances are high that you may never have the time ! • Nuxeo Sandbox in available to host • prototype code • POC code • demo code ➔ give a chance for someone to finish the work !
• Take one of the 14 existing translations ➔ spot errors, fix them, upload patch on Jira • Or create new translation from messages_en.properties file and upload on Jira • The new way (coming in December 2010) • New translation portal will allow collaborative editing of translations, workflow, etc. ➔ easier for non-specialists ➔ traceability of each message ➔ more visibility on the process
an issue when using your Nuxeo application – installation problem – functional limitation – bugs on some screens – ... • have a super idea for a killer feature • need some improvements in the platform (add an extension point, add an API …)
• You can also • file a Jira ticket (http://jira.nuxeo.org) – in the right project (Nuxeo EP/NXP could be the default) – with the correct level of information • give precise description and reproduction test case • choose a « reasonable » priority level • mark it for next release (we'll move it if needed) • provide logs or meaningful screenshots • send a mail on the mailing list – to explain your super idea and requirements
can • define custom types and forms • define custom actions • define custom operation chains • define custom looks • define new filing plans • … • Nuxeo Studio is more and more used • by you • by us
used to provide • Business templates • small additional actions • simple ECM oriented applications • We will improve this way of contributing • more features in Nuxeo Studio • direct publishing from Studio to Marketplace
contributing • editor now provides several access levels – Presets – CSS – Complete layout and structure configuration • theme engine now supports Theme Banks – library of presets and themes accessible via http • We will leverage those new features • to provide more themes • to setup a public Theme Bank server
define what is generic and what is not – we can help via Support / Jira / Mailing list / Forum ➔ we can not integrate code that is too much specific • Communicate on what you want to do • so that we know what you want to do • so that we can guide you (existing addons, ongoing development, design, ...)
ticket with attached diff • explain what issue you want to resolve • provide test case and test data if applicable • check you don't break the tests ! • provide additional unit tests if needed • Nuxeo Support manages • bug fixes (of course) • but also small convenient evolutions ➔ adding an extension point ➔ adding a system parameter ➔ small refactoring to make override easier
your module • to the community and to Nuxeo • before you start having too much code • We can provide • help and design guidance • tools and infrastructure – issue tracking (Jira) / code repository (Mercurial) – Quality Assurance & Continuous Integration (Hudson) – deployment service (Nexus & Marketplace) ➔ future Nuxeo Forge waiting for volunteers !
maintenable code ! • Nuxeo guide lines • English only (Javadoc, comments, variable and method names, …) • follow coding standards • pay attention to your dependencies • write unit tests (TDD) !!! • align on the last version or on Snapshot • Constraints depends on the type of contribution • Sandbox (low) => Core (high)
• Forums • Jira Tickets ➔ Great places – to explain requirements – to discuss design • We can arrange direct communication • eMeeting to quickly solve design issues • Face to face when possible and needed