Everyone is welcome to help out, so feel free to join the development google group and I'm sure we can find something for you to do. If you want to make changes to CIT you should create an account on github and fork the main development branch there: http://github.com/ari/jobsworth/tree/master
You can get the source from several places.
1. Grab it from the github repository. This version is much more cutting edge and contain a range of new features. It is in production in some sites, so it is stable. It was forked in December 2008 and more recently given a different name (“Jobsworth”) to differentiate it. This code is released under the GPL version 3.
git clone git://github.com/ari/jobsworth.git
2. Download the source as a zipped bundle from here. We recommend you grab one of the nightly snapshots since they are stable and the other versions are too far out of date. These are quite close the version currently running on the hosted environment.
3. Grab it from the main git repository:
git clone git://repo.clockingit.com/cit
This should be the same as the version currently running on the hosted environment. This code is released under the MIT/X Consortium License.
At this time, option 1 is the recommended choice for those wanting all the new features since options 2 and 3 have not been updated since December 2008. If you are moving from the hosted CIT offering to your own installation, you must first restore your backup to a local installation created from option 3, before upgrading to 1.
You need to be running some type of Unix: OSX, Linux, Solaris, BSD. Windows will probably not work.
Install the following packages. Under FreeBSD this can be easily done using 'portinstall' and then each of these ports:
Under Debian you will need to install the following packages using aptitude: libssl-dev zlib1g-dev build-essential mysql-server mysql-client libmysql-ruby libmysqlclient-dev imagemagick libmagick9-dev librmagick-ruby librmagick-ruby1.8 libxslt1-dev. If you plan to run Apache with Passenger (recommended) then you will also need the following packages: apache2 apache2-prefork-dev libapr1-dev libaprutil1-dev. Once all those packages have been installed follow these instructions to install Ruby/Rails/Gem/etc.
Under other operating systems use your favourite package manager to ensure you have Ruby 1.8.x, rubygems, Imagemagick, Rake and the Ruby mysql driver installed.
Then install Phusion Passenger from http://www.modrails.com/install.html You can also run CIT with Mongrel, but it tends to be a little easier with Phusion to set up. Make sure you set up the appropriate virtual host in Apache.
There are a bunch of gems which are needed for running CIT. If you cd into the top of your clockingIT installation, then type:
That will tell you what you need to install.
git checkout db/schema.rb git pull
rake db:migrate RAILS_ENV=production rake asset:packager:build_all
Depending on which environment you are updating, you can change the RAIL_ENV value to “test” or “development” and the appropriate database will be updated.
Find the daemons running with
ps ax | grep ruby
then kill each of the three running daemons.
cd /usr/local/www/clockingit nohup ./script/push_server & ./script/ferret_server -e production start apachectl restart
Quoting Erlend from a forum post - “You need to setup your email solution so that it sends all emails for a subdomain to your rails user, and setup the alias so that it runs the mailman script.”
Assuming that you already have your DNS and MX set correctly, we'll configure sendmail to pass all emails sent to domain.com to ClockingIT so that replies can go back to the task. See http://www.freebsd.org/doc/en/books/handbook/sendmail.html for more help on configuring sendmail on FreeBSD systems.
* Add an entry to /etc/mail/local-host-names to contain your domain
* Add an entry to /etc/mail/aliases to create an alias that will hand off emails to the mailman script
cit: "|/path/to/cit/script/runner -e production 'Mailman.receive(STDIN.read)'"
* Add an entry to /etc/mail/virtusertable to redirect all emails to your domain to the above alias
* run “make” in /etc/mail
* run “make restart” in /etc/mail