Nuxeo World 2010 — Contributing to Nuxeo

197 views
128 views

Published on

Rules and advices for contributors to Nuxeo EP

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
197
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
3
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Nuxeo World 2010 — Contributing to Nuxeo

  1. 1. Contributing to Nuxeo EP Rules and advices for contributors Julien Carsique / Thierry Delprat 1
  2. 2. Agenda ● Contributing to Nuxeo EP ● ● ● what it means ? why should you do it ? Small contribution guide ● ● for studio and NXThemes users ● ● for end users for developers Keeping in touch with the community 2
  3. 3. What is contributing ? ● Contributing to Nuxeo means 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 3
  4. 4. A win / win deal ● The platform gets 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 ! 4
  5. 5. Contributing ? ● Contributing can take several paths ● testing and reporting problems ● giving improvement ideas ● submitting translations ● helping us improving existing modules ● building new modules ● making Marketplace packages 5
  6. 6. Some examples of contributions ● Translations and Tests ● Additional modules ● Theme Editor (Chalmers University) ● OpenSocial integration (Leroy Merlin) ● Scenari integration and SDS (Kelis) ● User Settings (Vilogia) ● Preview initial implementation (Yerbabuena) ... ● Patches and code improvements ● Vilogia (notifications, NTLM ...) ● Gagnavarslan ... (WSS and hopefully more soon) 6
  7. 7. Area where you can help ● Translations ● ● Desktop integration ● ● we only speak English and French 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 ! 7
  8. 8. Contributing to Nuxeo EP Why contributing now ? 8
  9. 9. Contributing is easy ● Nuxeo platform makes contribution easy ● Externalized translation files ● Extension points and event bus systems ➔ ● Modular platform assembly ➔ ● easy generation of business templates and addons Marketplace package distribution system ➔ ➔ can add features without modifying all Nuxeo Studio generated plug-ins ➔ ● can build clean extensions easy to package and distribute Contribution is easier than ever 9
  10. 10. Time for contribution ● the Nuxeo platform is ready ● ● the Nuxeo team is ready to help ● ● 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 ● ➔ we will invest more time on this :) we know a lot of people have done small addons ● ● it is tested in a lot of configurations and environments embedded Nuxeo Server, Django bridge, portal integration … don't be shy, contribute your work !!! 10
  11. 11. Don't wait ● A lot of contributions come from 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 ! 11
  12. 12. Contributing to Nuxeo EP User contributions 12
  13. 13. Helping us with the translations ● The current way ● 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 13
  14. 14. Report ideas or problems ● You may ● find 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 …) 14
  15. 15. Report ideas or problems ● Support can help you ● 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 15
  16. 16. Contributing to Nuxeo EP Studio and NXThemes user contributions 16
  17. 17. Using Studio to contribute ● With Nuxeo Studio you can ● ● define custom actions ● define custom operation chains ● define custom looks ● define new filing plans ● ● define custom types and forms … Nuxeo Studio is more and more used ● by you ● by us 17
  18. 18. Using Studio to contribute ● Nuxeo Studio can be used to provide ● ● small additional actions ● ● Business templates simple ECM oriented applications We will improve this way of contributing ● more features in Nuxeo Studio ● direct publishing from Studio to Marketplace 18
  19. 19. Nuxeo Theme Editor ● The new Theme editor ease contributing ● editor now provides several access levels – – CSS – ● Presets 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 19
  20. 20. Contributing to Nuxeo EP Developer contributions 20
  21. 21. The right approach ● Specific vs Generic ● carefully 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, ...) 21
  22. 22. Patches and small evolutions ● Create a detailed JIRA ticket with attached diff ● ● provide test case and test data if applicable ● check you don't break the tests ! ● ● explain what issue you want to resolve 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 22
  23. 23. Building new modules ● You should really talk about 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 – – Quality Assurance & Continuous Integration (Hudson) – ➔ issue tracking (Jira) / code repository (Mercurial) deployment service (Nexus & Marketplace) future Nuxeo Forge waiting for volunteers ! 23
  24. 24. Coding rules ● Why? ● ● we can only maintain maintenable code ! Nuxeo guide lines ● English only (Javadoc, comments, variable and method names, …) ● ● pay attention to your dependencies ● write unit tests (TDD) !!! ● ● follow coding standards align on the last version or on Snapshot Constraints depends on the type of contribution ● Sandbox (low) => Core (high) 24
  25. 25. Contributing to Nuxeo EP Keeping in touch with the community 25
  26. 26. Keeping in touch ● Async communication ● Mailing Lists ● 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 26
  27. 27. Keeping in touch ● Nuxeo Sprints ● next Sprints will be open to external developers ➔ come coding with us ➔ come merge your code with us ➔ come help us fixing issues 27
  28. 28. Engage ! ● Useful links ● Contribution guide : http://doc.nuxeo.com/display/NXDOC/Nuxeo+contributors+welcome+page ● ● Documentation home : http://doc.nuxeo.com/ ● ● Forum : http://www.nuxeo.org/discussions Source repository : http://hg.nuxeo.com/ Useful addresses ● Dev mailing list : nuxeo-dev@lists.nuxeo.com (http://lists.nuxeo.com/mailman/listinfo/nuxeo-dev) ● User mailing list ecm@lists.nuxeo.com (http://lists.nuxeo.com/mailman/listinfo/ecm) 28
  29. 29. Thank you! 29

×