Important Information for Contributors
GiantDisc is an open source project. You are encouraged to download the source code and adapt it to your own needs. If you believe that your code might be useful to other GD users please contribute it in a posting in the discussion forum, or send it by email. Your contributions are welcome!
Here are some wishes to contributors:
- Before you begin to program a feature, please announce your intention in the discussion forum (Feature Request section) and post a request on the Feature Request Tracker on the SourceForge project page. This helps us to coordinate the different development initiatives, discuss different implementation approaches for the new feature and adapt the GD architecture if required.
- My time resources for GD are limited, and integrating your contributions is time consuming. I'd be grateful if you could
- submit one feature or patch at a time, and
- document the source code as well as possible (I'm never blindly pasting code into the project - I need to understand it beforehand).
- A developer's environment has been set up. It is kindly hosted by SourceForge.net.
- main site: https://sourceforge.net/projects/giantdisc/
- mailing lists for developers: https://sourceforge.net/mailarchive/forum.php?forum_name=giantdisc-developers (subscribe here)
- If you have a GiantDisc developers account, you can also directly work on the source code. All sources are managed by Subversion. But please talk to the other developers through the mailing list and keep them up to date about what you are doing.
Nightly Builds - getting the latest version of GiantDisc
There are two ways to get the files of the latest version in the subversion repository, even if it has not been released as beta or stable version.
Method 1: browse for files online. Go to the link below and download individual files:
http://giantdisc.svn.sourceforge.net/viewvc/giantdisc/
Method 2: check out the the entire project or parts of it. Anybody can anonymously check out the entire project from the repository:
svn checkout https://giantdisc.svn.sourceforge.net/svnroot/giantdisc/trunk
... or to check out a part of it:
svn checkout trunk/Server https://giantdisc.svn.sourceforge.net/svnroot/giantdisc/trunk/Server /home/music/bin
Be aware that the code in trunk might not work as you expect it and might require manual modifications to work on your system. You should therefore not use this code on your regular ("production") GiantDisc server.
Managing Client Packages
The core of GiantDisc consists of the server and the Palm client package. The architecture of GiantDisc allows to add other client programs, that control a server. Many such client packages have been developes so far and they are available for download. The core package and the client packages are released independently, and they all have their own version numbers.
Here are some conventions and hints that should be respected if you want to add your own client package
- get a GiantDisc developers account at SourceForge.net
- using subversion, add a new directory <yourproject> in the directory trunk/
- manage the files of your client in this directory only
- also add the follwing items in trunk/<yourproject>:
- makerelease.sh: a shell script that packs all required files into a tar.gz archive file and copies it to the local installation of the GD website
- website/: a directory, that contains all files that describe the package on the GD website
- website/index.php: a mandatory description of the package, download link, installation instruction, manual, change log etc. More php, image or other fiels can be added to website/ if required.
- whenever a new version of a client package is ready to be released, send an email message to the giantdisc-developers mailing list. It will then be uploaded by one of the website administrators.