Jiplet Container Home
Building from Sources Howto
Eclipse Setup Howto
CafeSip.org Contributor
Howto
CafeSip.org
Java Coding Conventions
|
Contributor Howto
If you are considering adding some features to the jiplet container and
contribute the code back to us, you must read this howto document to
understand how you can contribute your code back to the jiplet
container project. You may also want to read this document if you plan
to make changes to the jiplet container code even if you do not want to
contribute the code back to us.
Topics:
- What doI
need to know
before deciding to contribute code to the jiplet container project?
- What
kind of
technical skills do I need to have in order to contribute to the jiplet
container project?
- What
kind of
contributions are you looking for?
- How do I
learn about the
jiplet container internals?
- What do I
need to get started?
- What
kind of reference material do I need to have handy?
- How
do I build the jiplet container from the sources?
- How
do I setup the Eclipse project for jiplet container development?
- How
do I actually submit my code?
- How
do I make documentation changes?
What do I need to know
before deciding to contribute code to the jiplet container project?
- First, please read the CafeSip.org
contributor FAQ. This document talks in details on what kind of
contributors we are looking for, who can
contribute, what kind of copyright issues are involved, howto become a
regular contributor, legal issues, ethical issues etc.
- Next, please read the coding
conventions document that explains the coding standards and
conventions followed by the CafeSip.org projects. You will need to
follow the conventions in order for us to take your code.
- Finally read all the
documentation for the jiplet container project, especially the Jiplet
Developers Guide. It will give you enough information to get you
started. Visit the jiplet
container home page, follow the documentation index and read all
the
documents. This is a very important requirement.
- Finally contact us (info@cafesip.org)
to discuss your ideas. We will be able to orient you and even get in
touch with other interested developers.
What kind of
technical skills do I need to have in order to contribute to the jiplet
container project?
- You must be a strong Java programmer with a solid
understanding of the Java 1.4 API, especially, in the areas of Java
threads, network programming and container libraries.
- You must be thorough with the JAIN SIP API.
- You will need to understand the Ant tool and the technology. We use Ant for
building the package as well as from the jiplet container application
for managing files and directories using Ant tasks.
- You must understand the Java servlet architecture
because we are following it quite closely.
- For descriptors and configuration files, the jiplet
container uses XML parsing. Therefore you need to understand concepts
of XML, Java API
for XML Processing(JAXP) and Java Architecture for XML binding
(JAXB).
- The jiplet container uses LOG4J for logging and tracing. You
will need to know the API.
- You may need to understand Java Management
Extensions (JMX) if you are contributing towards the management
aspects.
- If you are working in the JBOSS area, you will need to
understand J2EE
concepts and the JBOSS
server architecture.
- If you are contributing in the areas of the jiplet console
application, you will need to understand Java servlets, Java Server
Pages (JSP), JSP Standard Tag Library
(JSTL) and Google Web Toolkit (GWT).
You will need to use a servlet container to deploy the jiplet
console web application. We use Tomcat.
- If your contribution also requires documentation changes,
you will need to understand how to create HTML documents. We use the Mozilla Composer to create our web
pages. For creating diagrams, we use Dia and GIMP.
- We use the Eclipse IDE for developing,
managing and debugging the code. Although this is not entirely
necessary for you in order to contribute, we encourage you to use the
same tools.
- We use Subversion for managing the
source code. The subversion repository is managed by SourceForge. If
you are a regular contributor, we will give you access
to our Subversion server. Before using Subversion, you will need to
know the Subversion basics.
What kind of
contributions are you looking for?
We have some particular projects in mind. You can take a look at it here (see the TODOs and Long-Term TODOs
section). If you would like to contribute for these projects, please
contact us by sending an email to info@cafesip.org.
However, you do not have to follow our plans in case you have better
ideas. If you would like to contribute for a project that you have
thought of on your own, please contact us first to make sure that
someone
else is not already working on it, whether we would accept your
contribution, etc.
How do I learn about the
jiplet container internals?
The Jiplet Developer Guide
explains the architecture from a high level. Also read the javadocs. However, your best bet is to
read the source code. We have tried to keep the architecture as simple
as possible so that developers can pick it up quite easily.
What do I need to get
started?
You will need to have a Windows or a Linux system. The systems must
have 512MB+ RAM, 100MB+ hard disk space and a 2GHz+ processor.
You need to download and install the following software:
- Java 1.4
SDK or higher.
- Ant 1.6 or
higher.
- Eclipse
3.0 or higher.
- If you are a first-time contributor, download the latest Jiplet Container source package. To
install the software, just unpack the ZIP file you downloaded using
unzip (Linux), winzip (Windows) or jar (part of the Java SDK). If you
are a regular contributor, you will have access to the CafeSip.org
Subversion
repository.
- JBOSS
4.0.5.GA.
- Tomcat
4.1.30 or higher. You will need this if you are contributng to the
jiplet console application.
What kind of reference
material do I need to have handy?
From your browser, bookmark the following web pages:
- Java 1.4 API javadoc.
- Ant Manual.
- J2EE API javadoc
(for the jiplet console).
- GWT
reference.
- JSTL
reference (for the jiplet console).
- JAIN-SIP
API javadoc.
- SIP RFC.
- JBOSS
documentation.
How do I setup the
Eclipse project for jiplet container development?
It is an involved process. We have a separate howto for it. Click here to access the howto. If you
do not like Eclipse and would like to use command line tools instead,
use this howto instead. It explains
how to build the jiplet container distribution from the sources.
How do I actually
submit my code?
If you are a regular contributor, you will have access to the
CafeSip.org Subversion repository. You can directly commit your changes
for
the project that were already agreed upon. If you are a casual
contributor, please submit your changes by following the steps below:
- Before starting the project, please make sure that you have
communicated with us regarding what you want to do.
- Download the source distribution from the CafeSip.org
download site. You will find a .SVN directory under every directory.
Please do not delete these directories.
- Make the necessary changes to the code. Make sure that your
code works and that you have not broken anything. There are automated
tests for testing the JMX functionality (and more will follow soon).
Run the Ant target "test" to run all the tests. They must pass before
you submit.
- Create a file called SUBMIT.README in the root directory of
the jiplet container. List the following:
- Describe the feature you added.
- Describe the base jiplet container version number where
your code is based.
- Describe the nature of changes you made.
- List any part that you want us to check for possible
errors.
- List any third-party libraries that you have included
including their license. As stated in the Contributor Howto, please do
not include any library from projects that cannot be freely
re-distributed.
- When you are ready to submit the code, run the "clean"
target on Ant to remove all binary files. ZIP or tar.gz the entire
source distribution with your changes.
- Upload the packed distribution to a location that we will
provide you.
- We may ask you to make certain changes, please make the
changes and upload again.
- Once we incorporate the changes into our codebase, we will
inform you and you can download and check out the changes and verify
the code. If you want to make further changes, re-package the source
distribution and send it to us.
How do I make
documentation changes?
When you add a new feature that requires documentation changes, you
will need to make them yourself. First go through the project
documentation links and find out what you want to change. Make sure
that you understand the HTML code style and conventions that we are
following. The HTML pages are stored in the CafeSip.org Subversion
server and
is versioned.
If you are a regular contributor:
- Please communicate with the mainitainer of the
web site before you make any changes. THIS IS VERY IMPORTANT. Specify
the directory that you want to modify and the nature of the
modification.
- Check out the web site repository from Subversion.
- If you are creating new pages - Each directory has a file
called template.html. Copy the file and rename it to the file name you
want. Make sure that the file name is lower case, has no spaces and
contain no blank spaces, punctuation characters and no international
character. The file name must have a .html extension.
- Make the necessary changes.
- Upload your changes to the CafeSip.org web site
(instruction will be provided to you on request).
- Check in your changes to the Subversion.
If you are a casual contributor:
- Request us for a zipped version of the cafesip.org web
site. You will find a .SVN directory under every directory. Please do
not delete these directories.
- Make the necessary changes.
- If you are creating new pages - Each directory has a file
called
template.html. Copy the file and rename it to the file name you want.
Make sure that the file name is lower case, has no spaces and contain
no blank spaces, punctuation characters and no international character.
The file name must have a .html extension.
- Pack the entire directory that we sent you into a
ZIP/tar.gz file and upload the file to a specified location.
- We may ask you to make changes to the documentation. Please
make the necessary changes, create ZIP/tar.gz file and upload.
- Once we incorporate the changes into our codebase, we will
inform you
and you can download and verify the documentation. If
you want to make further changes, upload your changes
again.
|