As a server developer,
you can work at the following modules:
- The graphical interface
: any changes made here will affect all the servers, because
all of them are using this unique interface (this is one of
the things that make PVF Server special!)
- Server modules
: you can write new server modules for different protocols or
you can improve the existing ones.
- Web based configuration
: you can improve the web based configuration module by changing
its appearance or by adding new features (wizards, syntax checking,
- Environment modules
: these modules are responsible for linking together all the
servers and the graphical interface. These are core components
and if one of them fails then the entire server environment
will fail, so you must work very careful here.
If you are not a
programmer, you can still work as a server developer in the following
- Translator :
you can translate the interface messages and the existing documentation
in as many languages as possible.
- Tester : you
can test the PVF Server on different operating systems and with
different configurations and send me some reports. This will
allow me to see on what systems it behaves normally and if there
are some bugs.
- Security Tester
: you can try to find security holes in the existing server
modules. For this you can try the following exploits available
on the Internet for different protocol types, or you can try
to find new ways of exploiting a server. If you find such security
problems please send me a report immediately (please specify
in your report if you want your name to be included on this
site in the bug reports section).
As you have probably
noticed, the source code for the PVF Server is included in the Jar
file for the current distribution. The API documentation can be
generated with "javadoc" or you can browse it online
here. Also you can visit the download
section of this site and you'll find there a zip file containing
the API documentation.
Before you start
working on a new feature, you should join the discussion lists and
see if there isn't already someone who is working on a similar feature.