# How to contribute

To start, is important to mention that we keep all EEA pacakges under EEA Organisation
on GitHub (https://github.com/eea) and we fork them to Collective so everyone can
contribute to them. We keep the repositories from Collective and EEA in sync.

We want to keep it as easy as possible to contribute changes that
get things working. There are a few guidelines that we
need contributors to follow so that we can have a chance of keeping on
top of things.

## Getting Started

* Make sure you have a [GitHub account](https://github.com/signup/free)
* If you need to submit a ticket do it under EEA Organisation area (https://github.com/eea)
  under the respective package, e.g. https://github.com/eea/eea.daviz/issues
* Submit a ticket for your issue, assuming one does not already exist.
  * Check that issue/feature is not already reported under EEA official issues register for Zope/Plone at http://taskman.eionet.europa.eu/projects/zope
  * Clearly describe the issue including steps to reproduce when it is a bug.
  * If case state the browser and operating system used.
* We also keep a discussion lists for most of the public packages under Google Groups.

Please note that adding a bug report or feature request in the EEA github does not
automatically mean that EEA will work on them, since there are budget implications.

The issues/features registered in github are regarded only as community requests and
here to facilitate the Plone community contributions.

EEA will work directly on the Plone community's requests when they coincide with
EEA's planned projects. In this case we will transfer the ticket to the EEA
official issue register.

EEA sprints are managed at http://taskman.eionet.europa.eu/projects/zope.

## Making Changes

* The pull requests and changes must be done on packages found on Collective
  e.g. https://github.com/collective/eea.daviz
* Fork the repository from Collective not from EEA (as stated above they
  will be synced in automatic)
* Make sure you added an entry under HISTORY.txt describing your changes
* Make sure you have added the necessary tests for your changes (do not forget major browsers).
* Make sure you have updated and added documentation when necessary.
* Run _all_ the tests to assure nothing else was accidentally broken.

## Submitting Changes

* Push your changes in your fork of the repository.
* Submit a pull request to the repository in the Collective organization.

# Additional Resources

* [General GitHub documentation](http://help.github.com/)
* [GitHub pull request documentation](http://help.github.com/send-pull-requests/)
* [EEA packages](http://eea.github.com/)
