New Ticket

TICKET_CREATE privileges are required to perform this operation. You don't have the required permissions



Login Close


Version 7 (modified by gjm, 6 years ago) (diff)

--

Getting Involved with Apache Bloodhound

You are probably here because you are interested in getting involved in this project but you do not know where to start. Here are some suggestions:

Community

The most important first step to getting involved is joining in with the discussion. You should join the bloodhound-dev mailing list - it is always great to hear from people who are interested in the project and discussions there are the main way of influencing the project. To subscribe, send a message to bloodhound-dev-subscribe@…. There's also a public archive of the mailing list.

Once you have signed up, you will be able to provide feedback, discuss ideas for improvement and tell us that you would like to help.

Getting the Source Code

Apache Bloodhound is written in Python and so, if you have already successfully installed Bloodhound, you will probably have all that you need to develop it too.

BloodhoundInstall and BloodhoundDetailedInstallation both provide information about installing but, if you already have Python, python-setuptools, python-pip and python-virtualenv, installation can be achieved as follows:

svn co https://svn.apache.org/repos/asf/incubator/bloodhound/trunk/ bloodhound
cd bloodhound/installer
virtualenv bloodhound
source bloodhound/bin/activate
pip install -r requirements-dev.txt
python bloodhound_setup.py --database-type=sqlite --admin-user=admin --admin-password=adminpasswd

after which you can run the standalone server:

tracd -r --port=8000 bloodhound/environments/main

With this method of installation, the source code for Trac, TracAccountManager and BloodhoundMultiProduct packages (along with future modules that are installed by default) will be found in bloodhound/src/.

You should find that when you make changes to the associated source code, when using the -r option on tracd, the server will reload and the edited code will be run instead of the original. In order to get templates to reload after modifications are made, you can edit bloodhound/environments/main/conf/trac.ini}} and add the following line to the {{{[trac] section:

auto_reload = true

Contributing Code

We are more than happy to see people contributing code to the Apache Bloodhound project. These are usually expected to take the form of a patch that can be tested and commented on. For now, such patches should be posted to the bloodhound-dev mailing list.

If you are unsure of whether the code you wish to contribute is good enough, feel free to ask. In general we expect code to conform to the PEP-8 Python coding standard but we also prefer to see people discussing code than holding back because it is not yet perfect.

Contributing Designs

This project has a strong focus on usability. How to use the application should be obvious, even for novice users. We believe that the application can go a long way towards helping people become intermediate users quickly too.

UI Designs and usability questions are regularly discussed on the bloodhound-dev mailing list - please do join in with any constructive comments. We generally expect screens to looks as in our default Ui/Layout.

Mockups can be found in the code repository too, including an explanation on how to edit them to make suggestions using Balsamiq Mockups.

After the mockups were discussed, we frequently create HTML templates to further improve the clarity of the suggestions and to allow for usability testing to be carried out. We have adopted the CSS and some javascript functionality from the Bootstrap project.