Tuesday 27 October 2009

Setting up Axosoft Ontime with SQL Express & Subversion

Having just gone through setting up Ontime2009 with SQL Express 2005 (for evaluation) and Subversion running on VisualSVN server there were a few blogs and hints I found very usefull:

In order to be able to access the SQL Express 2005 database from a client running on another machine you have to enable TCP-IP access on SQL Express (it is not enabled by default), this blog describes the steps:

http://blogs.msdn.com/sqlexpress/archive/2005/05/05/415084.aspx

Once this is done you should then be able to access the ontime database from any ontime client, not just the ones running on the machine with SQL Express installed!

To give Ontime access to your Subversion repository you have to enable anonymous read access on your subversion repository (as ontime browses your repository tree structure before logging in a user). Without doing this whenever you try to connect to your repository you will get an error similar to the one below:

an unhandled exception occurred:


System.NullReferenceException: Object reference not set to an instance of an object.
at Axosoft.Common.SubversionProcess.List(Boolean refresh)
at Axosoft.Common.SubversionWrapper.List(Boolean refresh) (etc...)

This blog describes the steps for VisualSVN server, although the steps with be very similar on a apache server with subversion installed seperately:

http://west-wind.com/Weblog/posts/480534.aspx

With this done you should then be able to browse your Subversion repository from the SCM tab in ontime.

This blog then describes a way to include links into Ontime with your Subversion commits:

http://www.webapper.com/blog/index.php/2009/03/26/axosoft-ontime-to-subversion-svn-hooks-via-tortoisesvn/

However I preffered this approach as it did not invlove modifying primary key generation in the ontime SQL database, you just have to be a little bit more formal in your commits (prefix id with a 'd', 'f' or 't'):

http://brandonbehrens.blogspot.com/2009/04/integrating-subversion-with-axosoft.html


When you have done this you just need to add the ontime properties into your existing subversion repositories. The only thing I found that wasn't obvious was you have to check out a local copy of the entire repository from the root (branches, tags & trunk... the whole lot all in one go!) then for the root folder use the properties window from Tortiose to set up everything as described in the blog above. For each property you must also check the 'Apply property recursively' box so that the properties are added to all your existing files and folders (if you are using the properties box on the repository directly, NOT on a working copy, this option is greyed out). Any new ones you create will automatically have these properties added but the existing ones will not unless you ask them to have:




Once you have done this for each property you then just have to commit the whole lot back again. The next time you check something in or browse the repository you will see the following in Tortoise, Subclipse, or whichever subversion client you are using:












 


 
The nice thing about using these new features within Eclipse is that when you click on the 'OnTimeID' link it opens up OnTime in a web browser inside Eclipse which makes cross-referencing very quick & easy.

Will post some more as I have more problems...