Logo
Distributed Genetic Programming Framework
Home | Documents | Downloads | Source | Team
print print

Joining the DGPF-Project

This page contains instructions which might help you if you want to join the dgpf-project. We will explain how to create a SourceForge-account, how to contact the DGPF-team to add you as project member, and how to prepare your SourceForge-account so you can use the project's CVS and other services when once became a project member.

Create SourceForge account

To create a SourceForge-account, goto http://www.sourceforge.net and click on the "create account"-button. (see image 1).

A form equal to the one illustrated in image 2 will be displayed. Fill in the fields and click "Create Account".

After this is done, log into your new account.

Join the DGPF-project

After your SourceForge-account has been set up, you can join the DGPF-project. Visit therefore the DGPF-project's website http://sourceforge.net/projects/dgpf/ and click on a project admin, as illustrated in image 3.

You will get to the user page of the admin you've select, click on "Send this user a message", like it is shown in image 4.

Fill in the form now appearing as shown in image 5 with a short message that you want to join the DGPF-project and what you want to contribute to it, and click on "Send Message". Your message will be received by the project admin of your selection, and he/she will process it as soon as possible and inform you after you've been added.

Set up your SourceForge-account for CVS

Our project uses SourceForge's CVS services. To access our CVS-repository you need to set a public-key for your account. For Windows users, we recommend to use PuTTY/PuTTYGen, available at http://www.putty.nl/download.html and included in common Windows CVS-clients like TortoiseCVS and WinCVS.

To create a private/public key pair with PuTTYGen, follow these steps:

  1. Execute the PUTTYGEN.EXE program.
  2. Select the desired key type, "SSH2 DSA", within the "Parameters" section.
  3. Click on the "Generate" button like shown in image 6.
  4. Follow the instruction to move the mouse over the blank area of the program in order to create random data used by PuTTYGen to generate secure keys. Key generation will occur once PuTTYGen has collected sufficient random data.
  5. Enter USERNAME@shell.sourceforge.net for the key comment, depending on what host the key is for, replacing USERNAME with your SourceForge.net username as illustrated in image 7.
  6. Enter the desired passphrase in the "Key passphrase" and "Confirm passphrase" fields. If the key will be used for automation of operations (i.e. as part of a script), you may choose to omit this step from the key generation process.
  7. Click on the "Save private key" button. Use the resulting dialog to save your private key data for future use. You may use a filename such as "SourceForge-Shell.ppk". The .ppk extension is used for PuTTY Private Key files.
  8. Keep the PuTTYGen-window open.

Now go to the home page of your account ("My Page") and click on "Preferences", as demonstrated in image 8.

Scroll down to "Host Access Information" and click onto "Edit SSH Keys for Shell/CVS", like it is done in image 9.

Go back to the PuTTYGen Window. Copy your public key data from the "Public key for pasting into OpenSSH authorized_keys file" (shown in image 10) section of the PuTTY Key Generator, and paste the key data to the provided form on the SourceForge.net site. Click on the "Update" button to complete the posting process. (Illustrated in image 11.)

Exit the PuTTY Key Generator.

Key data sync to hosts from the SourceForge.net site occurs on regular intervals. Your key data will be synchronized to the designated server (shell and CVS) after a short delay.

Software Requirements

To work with our project properly, you should install the following software.

Java

Our project is based on Sun's Java Technology. To be precise, we use the Java 2 Platform, Standard Edition (J2SE) in the version 1.5.0.

Using Java makes our project platform independent, you may run it on any sort of machine where there is a Java environment available for. Our project might migrate to newer versions of Java if it looks useful to us.

To find out which version of Java you've installed, type java -version into your command line. If the command is unknown, an error is displayed or it states a value < 1.5.0, you need to download and install the Java software.

If you are a developer who wants to modify or work with the code of our project, you need to install the J2SE Development Kit (JDK). If you only want to run our project's applications without working on the sources, the J2SE Runtime Environment (JRE) will do. Both can be downloaded from http://java.sun.com/j2se/1.5.0/download.jsp.

Eclipse

Eclipse is not required to work with our sources - but it is a convenient and useful developing environment. The source code in our CVS is grouped into Eclipse projects, so it might prove useful for you to work with Eclipse too. Currently, we're using Eclipse SDK Version 3.1.1, with newer versions, problems could arise since the compilers may be incompatible. Our project might migrate to newer versions of Eclipse if it looks useful to us.

You can download Eclipse from http://www.eclipse.org/downloads/.

SCP/SSH Client

Developers that directly contribute to our project may also need a SCP/SSH client to access the sourceforge directories where the website of the project is stored. Normally, only the project administrator will do so, but it is always a good idea to have the tools at hand.

For Windows users I recommend WinSCP. You can download it at http://winscp.net/eng/download.php.

CVS

You can access the contents of your project via CVS. This utility allows multiple developers to work together on one project cooperatively. If you want to contribute to this project, you should use the project's CVS repository.

For Windows users I recommend the usage of TortoiseCVS.
You can download this utility at http://sourceforge.net/project/showfiles.php?group_id=48103.

You can browse our project's CVS repository with SourceForge's web-based CVS client here.

Configuring Eclipse

If you want to contribute to our project as developer, you should use Eclipse as SDK since the DGPF's packages are placed as Eclipse-projects into our CVS repository.

Download Eclipse

Eclipse is not required to work with our sources - but it is a convenient and useful developing environment. The source code in our CVS is grouped into Eclipse projects, so it might prove useful for you to work with Eclipse too. Currently, we're using Eclipse SDK Version 3.1.1, but any newer version will do as well. Our project might migrate to newer versions of Eclipse if it looks useful to us.

You can download Eclipse from http://www.eclipse.org/downloads/.

Download Eclipse Preferences

The source code contributed to our project follows some simple coding rules. It is much easier to comply to this rules when Eclipse reminds you to do so. For that, you can download the default Eclipse preferences for the project. They are included in the "Auxiliaries" package in the framework's download section. Download them here. If you don't know how to import them, just follow these steps: Step 1, Step 2, Step 3.

The most vital part of the coding rules are the Eclipse compiler settings. These will be set automatically if you load the preferences, but you also can set the manually under "Prefereces...", like this graphic demonstrates.

Coding Rules

The source code contributed to our project follows some simple coding rules. These are specified here. If all developers of our project follow these rules correctly, the produced code will not only look the same in all classes and sub-packages, but will also comply to some basic primitives of software engineering, like being documented properly and consistently.

Configuring TortoiseCVS

The DGPF-project uses a CVS repository. This page describes how Windows users can set up a Windows CVS client called TortoiseCVS. Before setting up your CVS client, you should've followed the instructions provided in Join the DGPF-project, especially those according the setting of a public key for your SourceForge-account.

Download TortoiseCVS

TortoiseCVS is not required to work with our sources - but it is a convenient (as far as this is possible with CVS) and useful (as far as this is possible with CVS) tool. All data of our project is stored in the repository, from the sources, this website, to all available documents.

You can download TortoiseCVS from http://sourceforge.net/project/showfiles.php?group_id=48103.

After downloading, install the software.

Using Pageant with you private key

In the TortoiseCVS-directory, you can find an utility called "pageant.exe". This program makes your private key (as created in Join the DGPF-project) accessible for TortoiseCVS.

Start Pageant. A new symbol will appear in the Task Bar Notification Area (bottom right part of the task bar) looking like this: Pageant Icon.

Right-click on the image and lick "Add Keys", as illustrated in image 1.

In the dialog emerging select the private key you've stored earlier (see Join the DGPF-project) as shown in image 2, confirm. You'll maybe be asked for a pass-phrase, if so, enter it and confirm again.

Checking out the DGPF-project

Before you can do this, you must've been added to the DGPF-project by an DGPF-admin.

Select the folder you want the DGPF-contents to be placed in. Right click, and in the context menu appearing select "CVS Checkout", as shown in image 3.

In the following dialog fill in as illustrated in image 4:

Confirm with "OK". Now the project's content will be checked out. This might take a while.

Coding Rules

The source code contributed to our project follows some simple coding rules. The precise application of this rules helps others to understand and to work with our code.

Documentation Rules

The source code of our project is fully documented. This means, there are JavaDoc-tags for all elements.

Java-Element JavaDoc-Element to be applied
sub-project's root-package A sub-project's root-package must contain an "Overview.html"-file. Additionally, there must be a folder in the Releases-folder named like the sub-package containing the files "change_log.txt", "Manifest.MF" and "release_notes.txt" with the change log, the jar-manifest to use and the release notes of the sub-project.
package Inside ever package folder (also sub-packages) there must be a file called "package.html" containing information about the package. Each package is described with at least two sentences.
class-file Every class file starts with a specific header, stating when it was created, who works with it and such and such, as well as the license agreement. See the already existing files to find out how this header must look like.
class For every class (and sub-class) there must be a JavaDoc comment stating what the class is used for and what it does. For main classes (these which have the same name as the file they're included in) there is a @author-tag stating its author.
member variable For each member variable, there is a JavaDoc-comment stating what the variable is used for.
method For each method, there is a JavaDoc-comment stating what it does. For each parameter (if any) of the method there is a @param-tag stating its meaning. For the return value (if any) there is the @return-tag stating its meaning. Exceptions possible thrown will be explained by using the @throws-tag.

These documentation rules can be enforced by using the predefined Eclipse preferences, see Configuring Eclipse for more information.

Naming Rules

If you get used to the naming rules, they will help you to identify the elements more quickly and easily.

Java-Element Naming-convention
package Package names are all lowercase and consist of only one word.
class Name starts with an uppercase letter, the rest is lower case. If the name is a concatenation of some words, each single word starts with an uppercase letter.
static, final member Each letter is uppercase, words are separated by the underscore character ("_").
static, non-final member The name begins with "s_", each other letter is lowercase, words are separated by the underscore character ("_"). You should try to avoid such members as much as possible and try to replace them with non-static members.
non-static member The name begins with "m_", each other letter is lowercase, words are separated by the underscore character ("_").
method Each letter is lowercase, words are separated by the underscore character ("_").
parameters The name begins with "p_", each other letter is lowercase, words are separated by the underscore character ("_").
local variables The name begins with "l_", each other letter is lowercase, words are separated by the underscore character ("_").

Additional Rules


statistics online since 2006-01-02.   RSS Feed
Contact us by sending an email to tweise@gmx.de to receive further information, to report errors, or to join our project.
All content on this site (http://dgpf.sourceforge.net/) is LGPL-licensed.
http://dgpf.sourceforge.net/developers/index.php last modified at 2015-07-22 04:10:51 GMT+0000 served at 2017-03-27 18:24:32 GMT+0000.
Valid CSS Valid XHTML 1.1
Valid RSS SourceForge.net Logo