- home
- Hacker's guide to dradis
Hacker's Guide to Dradis
If you are contributing code to the Dradis Framework project, please read this first.
[ Note: there is lots to be added here regarding system design, architecture, dependencies, coding style, etc. The main reference creating this page has been: Hacker's Guide to Subversion. ]
Table of Contents
- Participating in the community
- Contributing code
- Subversion repository: Everything you need to know
- Commit access to the Dradis repository
- Coding style
Participating in the community
Dradis is an open-source project published under a GPL v2.0 license.
The community exists mainly through mailing lists, a user forum and a Subversion repository. To participate:
- Join the dradis-devel and dradis-svn
mailing lists.
The devel list is where almost all discussion takes place. All development questions should go there, though you might want to check the list archives first. The svn list receives automated commit emails.
- Get a copy of the latest development sources from the
repository.
New development always takes place on
trunk/. Bugfixes, enhancements, and new features are backported from there to the various release branches.
There are many ways to join the project, either by writing code, or by testing and/or helping to manage the bug database. If you'd like to contribute, then look at:
- The feature requests and the bug tracker.
- The roadmap which contains some of the forthcoming features to be implemented.
Contributing code
If you are considering contributing some code, please finish reading this guide (specially the coding style section).
Checkout the instructions on how to get the code from our subversion repository.
If you want your code to be included in the project please let us know. Please note that all contributed code will be distributed under the project's license. In order for your code to be included in the projects repository, you need to asign the copyright ownership of your code to the project.
To submit code, simply send your patches to the dradis-devel mailing list.
If you have created a plugin, consider posting in the User extensions and plugins forum to get some community feedback.
Subversion repository: Everything you need to know
The truth is that everything you need to know about the repository is captured in the README.svn file. However, there here are a few useful tips:
- The repository is broken down in modules for the different Dradis components:
- If you want to learn how to work with the latest development release, read this.
- We try to follow a Branch-When-Needed system.
- Disruptive functionality and experimental branches are developed inside
branches/experimental/.
Commit access to the Dradis repository
This is best explained in the How to become a committer page.
Coding style
The code in the Dradis Framework follows The Unofficial Ruby Style Guide coding guidelines. A brief summary:
- Indent your code with two spaces per logical level. No tabs.
- The maximum length of any line of your code should be 80 characters.
- Use one whitespace around the assignment operator, except then assigning default values in method argument lists.
- Stick to do and end, except when the entire iterator block fits on a single line.
- Above all, be consistent.
- Exercise common sense.
