Version 2


    So you are willing to contribute ? Awesome !

    If you don't know where to start here are some info. There are tasks waiting on you in the various Jiras and ideas can always come directly from you. Willing to contibute a translation ? Some doc ? Some code ? Please start by letting everyone know

    by hanging out in the #gatein IRC room and tell your intentions on the developer forums so we can know about it and have a better collaborative work.

    You will find some info about contributing at but here you will find information specific to GateIn projects.

    How do I contribute ?

    There are several ways to contribute, it can be code contribution obviously but docs, improvment on the build mechanism, translations, feedback... are also very well appreciated. If you are willing to participate in the project, it would be helpful to hang out the #gatein IRC room.

    Any code or doccontribution should start by creating a account and .

    The first contribution usually are patch files attached to Jira tasks or GIT pull requests, those patches will be applied by the developers team to check its quality, that it doesn't introduce a backward compatibility, that it follows the conventions... After a few patches that didn't require any editing we will gladly open the repository so you can directly write your changes.

    Looking for ideas, check out our "specifications" here.

    Contributor agreement

    Before we can accept any code, transation or doc contribution, you will need to 'sign' the contributor agreement located here.

    This is a mandatory step before we can include any patch or open the repository with write access.



    Before opening a Jira, please use the user forum to validate the idea or bug, this will help us keeping the Jira clean.


    Portlet Container component:

    Common component:

    MOP component:

    WCI component:

    WSRP component:

    If you want to be notified about all issues and all their updates you can subscribe to the mailing list:

    If you don't subscribe to the list you will still receive notifications if you opened the issue, subscribed to watch the issue or are assigned the task.


    There is a user forum for people to try to get their issue resolved, this is not a forum to receive support but a place for the community to help each other and share tips:

    There is also a forum for contributors, to discuss contributions or propose new ideas, the developer forum is located here:

    If you want to be notified about all forum entried and their updates you can enable notifications on those forums (in the right column)


    To discuss and participate to the development of GateIn:

    To receive all Jiras notifications:

    To receive all Hudson notifications:


    We host project on github:

    Here are our GIT usage guidelines:


    #gatein on freenode


    All the documentation is using Docbook as the input format for documentation, it allows us to easily publish HTML in a single page, HTML in multiple pages, PDF and Eclipse Help file documentations.

    The main documentation sources (docbook) can be found here.


    GateIn uses the resource bundle mechanism of Java. To add a new language you would have to translate and add files into the various /locale/ directories of the portal.

    • ./web/portal/src/main/webapp/WEB-INF/classes/locale
    • ./portlet/web/src/main/webapp/WEB-INF/classes/locale
    • ./portlet/exoadmin/src/main/webapp/WEB-INF/classes/locale
    • ./portlet/dashboard/src/main/webapp/WEB-INF/classes/locale
    • ./gadgets/eXoGadgets/src/main/webapp/locale
    • ./sample/application/map/src/main/webapp/WEB-INF/classes/locale

    You can either use the properties syntax such as:  Resource.Key=My Translationif you use this syntax do not forget to encode the file using native2ascii.

    You can also use the XML syntax (see the Arabic translation)  <?xml version="1.0" encoding="UTF-8"?> <bundle> <Resource> <Key>My Translation</Key> </Resource> </bundle>

    New languages must also be added in the descriptor of supported languages located at:

    • /web/portal/src/main/webapp/WEB-INF/conf/common/locales-config.xml


    See: For more details.


    Reformat only if really necessary

    Please don't commit bug fixing and reformatting at the same time (Hard to stop what really fixed the issue)

    When committing, use the following format as GIT message:

    GTNPORTAL-xxx: Title of the Jira
    - Check for NPE
    - Throw InvalidArgumentException