SlideShare a Scribd company logo
1 of 29
Download to read offline
Contributing to Nuxeo EP
Rules and advices for contributors

Julien Carsique / Thierry Delprat




                                     1
Agenda
●   Contributing to Nuxeo EP
    ●   what it 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

                                          2
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
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
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
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



        ...
Area where you can help
●   Translations
    ●   we 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 !

                                                  7
Contributing to Nuxeo EP
Why contributing now ?




                           8
Contributing is easy
●   Nuxeo platform makes contribution easy
    ●   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                       9
Time for contribution
●   the Nuxeo platform is ready
    ●   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 …
                                                                   10

➔
    don't be shy,   contribute your work !!!
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
Contributing to Nuxeo EP
User contributions




                           12
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
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
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
Contributing to Nuxeo EP
Studio and NXThemes user contributions




                                         16
Using Studio to contribute
●   With Nuxeo Studio you 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                            17
Using Studio to contribute
●   Nuxeo Studio can be 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


                                                       18
Nuxeo Theme Editor
●   The new Theme editor ease 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
                                                                19
Contributing to Nuxeo EP
Developer contributions




                           20
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
Patches and small evolutions
●   Create a detailed JIRA 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   22
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
        –   issue tracking (Jira) / code repository (Mercurial)
        –   Quality Assurance & Continuous Integration (Hudson)
        –   deployment service (Nexus & Marketplace)

➔   future Nuxeo Forge waiting for volunteers !
                                                                  23
Coding rules
●   Why?
    ●   we can only maintain 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)                        24
Contributing to Nuxeo EP
Keeping in touch with the community




                                      25
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
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
Engage !
●   Useful links
    ●   Contribution guide :
        http://doc.nuxeo.com/display/NXDOC/Nuxeo+contributors+welcome+page
    ●   Forum : http://www.nuxeo.org/discussions
    ●   Documentation home : http://doc.nuxeo.com/
    ●   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
Thank you!




             29

More Related Content

What's hot

2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGETDaniel Fisher
 
NixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBloxNixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBloxRob Vermaas
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Maarten Balliauw
 
Ceph: A decade in the making and still going strong
Ceph: A decade in the making and still going strongCeph: A decade in the making and still going strong
Ceph: A decade in the making and still going strongPatrick McGarry
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svccMaarten Balliauw
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG PresentationDerrick Bowen
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputePatrick McGarry
 
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedEngage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedPaul Withers
 
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014Patrick McGarry
 
Understanding NuGet implementation for Enterprises
Understanding NuGet implementation for EnterprisesUnderstanding NuGet implementation for Enterprises
Understanding NuGet implementation for EnterprisesJ S Jodha
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...Puppet
 
OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...
OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...
OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...Naoki (Neo) SATO
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesChanghwan Yi
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterJulien Dubois
 
Anaconda and PyData Solutions
Anaconda and PyData SolutionsAnaconda and PyData Solutions
Anaconda and PyData SolutionsTravis Oliphant
 
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Frédéric Aatz
 
Visug - organize your chickens - nuget for the enterprise
Visug - organize your chickens - nuget for the enterpriseVisug - organize your chickens - nuget for the enterprise
Visug - organize your chickens - nuget for the enterpriseXavier Decoster
 

What's hot (20)

2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET2011 - Dotnet Information Day: NUGET
2011 - Dotnet Information Day: NUGET
 
NixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBloxNixCon Berlin 2015 - Nix at LogicBlox
NixCon Berlin 2015 - Nix at LogicBlox
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
 
Ceph: A decade in the making and still going strong
Ceph: A decade in the making and still going strongCeph: A decade in the making and still going strong
Ceph: A decade in the making and still going strong
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svcc
 
GWT HJUG Presentation
GWT HJUG PresentationGWT HJUG Presentation
GWT HJUG Presentation
 
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamComputeIn-Ceph-tion: Deploying a Ceph cluster on DreamCompute
In-Ceph-tion: Deploying a Ceph cluster on DreamCompute
 
Engage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-RedEngage 2019: Introduction to Node-Red
Engage 2019: Introduction to Node-Red
 
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
Ceph, Open Source, and the Path to Ubiquity in Storage - AACS Meetup 2014
 
2014 Ceph NYLUG Talk
2014 Ceph NYLUG Talk2014 Ceph NYLUG Talk
2014 Ceph NYLUG Talk
 
Understanding NuGet implementation for Enterprises
Understanding NuGet implementation for EnterprisesUnderstanding NuGet implementation for Enterprises
Understanding NuGet implementation for Enterprises
 
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
 
OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...
OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...
OSS on Azure - Microsoft Open Technologies の Ross Gardler さんを囲む会 改め 『Microsof...
 
Drupal Best Practices
Drupal Best PracticesDrupal Best Practices
Drupal Best Practices
 
Developing NuGet
Developing NuGetDeveloping NuGet
Developing NuGet
 
W3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 gamesW3C HTML5 KIG-The complete guide to building html5 games
W3C HTML5 KIG-The complete guide to building html5 games
 
Devoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipsterDevoxx Belgium 2017 - easy microservices with JHipster
Devoxx Belgium 2017 - easy microservices with JHipster
 
Anaconda and PyData Solutions
Anaconda and PyData SolutionsAnaconda and PyData Solutions
Anaconda and PyData Solutions
 
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
Linux on Azure - Session TechDays 2014 par Blaise Vignon (Microsoft), Julien ...
 
Visug - organize your chickens - nuget for the enterprise
Visug - organize your chickens - nuget for the enterpriseVisug - organize your chickens - nuget for the enterprise
Visug - organize your chickens - nuget for the enterprise
 

Similar to Nuxeo World Session: Becoming a Contributor: How to Get Started

Nuxeo World 2010 — Contributing to Nuxeo
Nuxeo World 2010 — Contributing to NuxeoNuxeo World 2010 — Contributing to Nuxeo
Nuxeo World 2010 — Contributing to NuxeoJulien Carsique
 
Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012Nuxeo
 
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...Nuxeo
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!ddrschiw
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Per Henrik Lausten
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software houseParis Apostolopoulos
 
How to Choose a Deep Learning Framework
How to Choose a Deep Learning FrameworkHow to Choose a Deep Learning Framework
How to Choose a Deep Learning FrameworkNavid Kalaei
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Jody Garnett
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachNicola Ferraro
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Giovanni Toraldo
 
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoftBhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoftAnkitaJaggi1
 
Pentester++
Pentester++Pentester++
Pentester++CTruncer
 
Docker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsDocker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsLenses.io
 
Building and testing a desktop application written in Python
Building and testing a desktop application written in PythonBuilding and testing a desktop application written in Python
Building and testing a desktop application written in PythonNuxeo
 
Eric tucker - Eliminating "Over the Fence"
Eric tucker - Eliminating "Over the Fence"Eric tucker - Eliminating "Over the Fence"
Eric tucker - Eliminating "Over the Fence"Maritime DevCon
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Nir Yungster
 
[Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part [Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part Nuxeo
 

Similar to Nuxeo World Session: Becoming a Contributor: How to Get Started (20)

Nuxeo World 2010 — Contributing to Nuxeo
Nuxeo World 2010 — Contributing to NuxeoNuxeo World 2010 — Contributing to Nuxeo
Nuxeo World 2010 — Contributing to Nuxeo
 
Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012Nuxeo Roadmap June 2012
Nuxeo Roadmap June 2012
 
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
Leveraging OSGi-based Architecture, GWT, and Eclipse to build a large ajax-ba...
 
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
Ad101 - IBM Lotus Domino Designer: Full Speed Ahead!
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
 
Services, tools & practices for a software house
Services, tools & practices for a software houseServices, tools & practices for a software house
Services, tools & practices for a software house
 
How to Choose a Deep Learning Framework
How to Choose a Deep Learning FrameworkHow to Choose a Deep Learning Framework
How to Choose a Deep Learning Framework
 
Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...Everyone wants (someone else) to do it: writing documentation for open source...
Everyone wants (someone else) to do it: writing documentation for open source...
 
Cloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps ApproachCloud Native Applications on Kubernetes: a DevOps Approach
Cloud Native Applications on Kubernetes: a DevOps Approach
 
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
Nuxeo World Keynote: Roadmap - What to Expect from Nuxeo in 2011
 
Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pages
 
Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)Continuous Delivery: 5 years later (Incontro DevOps 2018)
Continuous Delivery: 5 years later (Incontro DevOps 2018)
 
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoftBhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
Bhopal mule soft_meetup_17july2021_azuredevopsintegration_mulesoft
 
Pentester++
Pentester++Pentester++
Pentester++
 
Os Lamothe
Os LamotheOs Lamothe
Os Lamothe
 
Docker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatternsDocker for business: How I stopped worrying about antipatterns
Docker for business: How I stopped worrying about antipatterns
 
Building and testing a desktop application written in Python
Building and testing a desktop application written in PythonBuilding and testing a desktop application written in Python
Building and testing a desktop application written in Python
 
Eric tucker - Eliminating "Over the Fence"
Eric tucker - Eliminating "Over the Fence"Eric tucker - Eliminating "Over the Fence"
Eric tucker - Eliminating "Over the Fence"
 
Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...Data Science in Production: Technologies That Drive Adoption of Data Science ...
Data Science in Production: Technologies That Drive Adoption of Data Science ...
 
[Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part [Nuxeo World 2013] Roadmap 2014 - Technical Part
[Nuxeo World 2013] Roadmap 2014 - Technical Part
 

More from Nuxeo

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesNuxeo
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureNuxeo
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicNuxeo
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoNuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportNuxeo
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM ContinuumNuxeo
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021Nuxeo
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteNuxeo
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoNuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationNuxeo
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Nuxeo
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionNuxeo
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Nuxeo
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMNuxeo
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...Nuxeo
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondNuxeo
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMNuxeo
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesNuxeo
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsNuxeo
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceNuxeo
 

More from Nuxeo (20)

Own the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage CompaniesOwn the Digital Shelf Strategies Food and Beverage Companies
Own the Digital Shelf Strategies Food and Beverage Companies
 
How DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain FutureHow DAM Librarians Can Get Ready for the Uncertain Future
How DAM Librarians Can Get Ready for the Uncertain Future
 
How Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a PandemicHow Insurers Fueled Transformation During a Pandemic
How Insurers Fueled Transformation During a Pandemic
 
Manage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and NuxeoManage your Content at Scale with MongoDB and Nuxeo
Manage your Content at Scale with MongoDB and Nuxeo
 
Accelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to SupportAccelerate the Digital Supply Chain From Idea to Support
Accelerate the Digital Supply Chain From Idea to Support
 
Where are you in the DAM Continuum
Where are you in the DAM ContinuumWhere are you in the DAM Continuum
Where are you in the DAM Continuum
 
Customer Experience in 2021
Customer Experience in 2021Customer Experience in 2021
Customer Experience in 2021
 
L’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovanteL’IA personnalisée, clé d’une gestion de l’information innovante
L’IA personnalisée, clé d’une gestion de l’information innovante
 
Gérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et NuxeoGérer ses contenus avec MongoDB et Nuxeo
Gérer ses contenus avec MongoDB et Nuxeo
 
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluationLe DAM en 2021 : Tendances, points clés et critères d'évaluation
Le DAM en 2021 : Tendances, points clés et critères d'évaluation
 
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
Enabling Digital Transformation Amidst a Global Pandemic | Low-Code, Cloud, A...
 
Elevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the CompetitionElevate your Customer's Experience and Stay Ahead of the Competition
Elevate your Customer's Experience and Stay Ahead of the Competition
 
Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience Driving Brand Loyalty Through Superior Customer Experience
Driving Brand Loyalty Through Superior Customer Experience
 
Drive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAMDrive Enterprise Speed and Scale with A Cloud-Native DAM
Drive Enterprise Speed and Scale with A Cloud-Native DAM
 
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
The Big Picture: the Role of Video, Photography, and Content in Enhancing the...
 
How Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and BeyondHow Creatives Are Getting Creative in 2020 and Beyond
How Creatives Are Getting Creative in 2020 and Beyond
 
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAMDigitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
Digitalisation : Améliorez la collaboration et l’expérience client grâce au DAM
 
Reimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof TechnologiesReimagine Your Claims Process with Future-Proof Technologies
Reimagine Your Claims Process with Future-Proof Technologies
 
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifsComment le Centre Hospitalier Laborit dématérialise ses processus administratifs
Comment le Centre Hospitalier Laborit dématérialise ses processus administratifs
 
Accelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial IntelligenceAccelerating the Packaging Design Process with Artificial Intelligence
Accelerating the Packaging Design Process with Artificial Intelligence
 

Recently uploaded

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 

Recently uploaded (20)

Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 

Nuxeo World Session: Becoming a Contributor: How to Get Started

  • 1. Contributing to Nuxeo EP Rules and advices for contributors Julien Carsique / Thierry Delprat 1
  • 2. Agenda ● Contributing to Nuxeo EP ● what it 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 2
  • 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. 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. 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. 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. Area where you can help ● Translations ● we 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 ! 7
  • 8. Contributing to Nuxeo EP Why contributing now ? 8
  • 9. Contributing is easy ● Nuxeo platform makes contribution easy ● 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 9
  • 10. Time for contribution ● the Nuxeo platform is ready ● 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 … 10 ➔ don't be shy, contribute your work !!!
  • 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. Contributing to Nuxeo EP User contributions 12
  • 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. 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. 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. Contributing to Nuxeo EP Studio and NXThemes user contributions 16
  • 17. Using Studio to contribute ● With Nuxeo Studio you 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 17
  • 18. Using Studio to contribute ● Nuxeo Studio can be 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 18
  • 19. Nuxeo Theme Editor ● The new Theme editor ease 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 19
  • 20. Contributing to Nuxeo EP Developer contributions 20
  • 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. Patches and small evolutions ● Create a detailed JIRA 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 22
  • 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 – issue tracking (Jira) / code repository (Mercurial) – Quality Assurance & Continuous Integration (Hudson) – deployment service (Nexus & Marketplace) ➔ future Nuxeo Forge waiting for volunteers ! 23
  • 24. Coding rules ● Why? ● we can only maintain 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) 24
  • 25. Contributing to Nuxeo EP Keeping in touch with the community 25
  • 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. 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. Engage ! ● Useful links ● Contribution guide : http://doc.nuxeo.com/display/NXDOC/Nuxeo+contributors+welcome+page ● Forum : http://www.nuxeo.org/discussions ● Documentation home : http://doc.nuxeo.com/ ● 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