English
Developer quick start
Preface
So, you want to venture into the realm of openthinclient development? Welcome! Great to have you here. But before we start, let us get something off our chest: openthinclient has been opensourced only recently, having been an essentially closed-source thing until then. Before you complain - yes, parts of it, the OS namely, have always been based on GPL components, and therefore sourcecode has been provided earlier. But going from there to a full-scale open-source model, isn't a walk in the park. So, what you should know, is that taking part in the openthinclient development won't be a piece of cake. We intend to make it easier, but we're not quite there yet - and painfully aware of that. So, now that we've got that out of the way, let's get started (we haven't scared you off, have we?).
The openthinclient code base is divided into two parts:
- The openthinclient OS itself (essentially a specialized Linux distribution)
- The openthinclient manager suite, which is java-based and consists of
- The openthinclient server which provides the thin clients with essential services and
- The openthinclient console which is the GUI you use to configure the system.
openthinclient OS
If you want to build your own packages you will need a development system. As the openthinclient OS is based on Ubuntu 6.06 (Dapper Drake) it is strongly recommended that you use the same base platform. Whether you use an entire computer or just a virtual machine is up to you, we suggest that you use about 10 GB of free hard disk space and about 512 MB of RAM.Quick setup guide
- install Ubuntu 6.06
- add archive.openthinclient.org to apt sources.list
- insert openthinclient.org gpg key
- update apt database
- install development packages
- install web server of your choice
- choose an installation to test your package
In some more details
Install Ubuntu 6.06
Nothing really special, a standard desktop installation will do. Just think about some hard disk space for your development requirements, whether you choose to use /home or another dedicated partition is completely up to you.Add openthinclient.org gpg key
Ubuntu packages provided by openthinclient.org are cryptographically signed and installing the openthinclient.org gpg key will make that signing key known to your system. It can be downloaded from http://archive.openthinclient.org/key.gpgwget http://archive.openthinclient.org/key.gpg -O - | sudo apt-key add -
sources.list
openthinclient.org provides two repositories for packages, one for the developer support packages and one for the source packages of the OS. They can be found at http://archive.openthinclient.org/openthinclient/devel/update apt database
To activate the new repositories you will then have to update the apt database by issuing "apt-get update".install development packages
We are providing developer helper packages which prepare the build system to build your own packages. At the moment there is just one: tcos-dev. Please install it, it will provide build scripts for the openthinclient OS and make sure that the basic standard developer packages are installed.install web server of your choice
To be able to install your freshly built openthinclient packages, you need a web server. You can use an external system for that task or install one locally on your development system. A simple web server like webfsd is sufficient for the task.cut'n'paste for the lazy folks
sudo -s wget http://archive.openthinclient.org/key.gpg -O - | apt-key add - cat << EOF >> /etc/apt/sources.list deb http://archive.openthinclient.org/openthinclient/devel/ ./ deb-src http://archive.openthinclient.org/openthinclient/manager/ ./ EOF apt-get update apt-get install tcos-dev
Create your own packages
- tcos_genpackage <packagename>
- change directory to <packagename/packagename-0.0.1> and work on the sources
- tcos_buildpackage
deploy your package
- use tcos_upload-debs to publish your package on your installed webserver
choose a installation to test your package
- use an already existing openthinclient installation or install one on your development system. We recommend the latter for initial testing.
- add the URL to your webserver as an additional source as described here
- start the openthinclient manager
- search for new updates
- install your new package
Manager Suite
Installation prerequisites
You will need a few prerequisites in order to work with the openthinclient source code:- A subversion client (see our instructions for working with the source code)instructions for accessing the source code
- Apache Maven 2.0.7
or higher, which is used to build the system, or the m2eclipse
if you intend to work with eclipse
- Java 6
- A Java IDE. Any IDE should do (even vi :-), although the source code comes only with eclipse project meta-data.
Checking out the source code
The openthinclient source code is hosted at sourceforgeBuilding the source code
We use the Eclipse IDE in this example
After you checked out the source tree there are many dependencies which are not resolved yet. Not to worry, you need to let maven do its work first to sort this mess out.
Choose the openthinclient project and right click the context menu:
Project -> Maven -> Enable Workspace Resolution
and then
Project -> Enable Nested Modules
Then restart eclipse. All dependecies should now be resolved.
Starting the manager to debug an test code
FIXME
Deploy and test code for the server side
To test changes on the server side you need a working OpenThinClientServer Installation. If you do not have already an running installation use the Install Guide to install one.
Hot deployment
To activate hot deployment open the file "jboss-service.xml" and go to line number 654. There change the attribute name="ScanEnabled" to "true"
