Move YouTrack to another Server

Whilst in the midst of moving over to another server, one of the challenges facing us was to move our TeamCity and YouTrack instances over as well.

TeamCity couldn’t really have been easier!  The database can easily be backed up and restored through the GUI and worked first time.

YouTrack however is a completely different story!!!!!  Whilst you can easily backup the database, there is no GUI for restoring the backup!  Quite why JetBrains have to this day omitted this functionality from such a great product is completely mystifying!  However, they are resources in their documentation on how to restore a database…….but they don’t work!!!  I won’t go into the details why, but will point to you to the webpage that helped me identify and fix the problem.

Restoring YouTrack Backups

In essence though the process to restore a backup should be (changes from the JetBrains documentation are in bold)….

  1. Logout of YouTrack
  2. Stop the YouTrack service
  3. Remove the existing 00000000000.xd file from your YouTrack database directory (your file name maybe slightly different)
  4. Copy over your backup *.xd files into the database location – mine were called (00000010g00.xd, 00000010o00.xd, 00000011000.xd)
  5. Copy over your blob directory into the existing blob directory
  6. Leave all the other files in place and untouched
  7. Restart the YouTrack service
  8. Login under the root account
  9. You should now see your restored issues

Thanks JetBrains for creating some fantastic products, but please fix your documentation and please supply a GUI to restore a backup just like you have for TeamCity.

Biggest thanks of all though go to Jammer for solving it 🙂

System.ServiceModel.FaultException in IIS

Had a very strange error the other day when migrating a project from using the Visual Studio IIS Express to the local IIS.

The project was a WebAPI that interfaced down to a Microsoft Dynamics CRM 2015 instance on the same box and had been working well within the Visual Studio environment.  However, as soon as the project was deployed to the local IIS instance the connection to the CRM was failing with a rather obscure System.ServiceModel.FaultException.  Unfortunately, there was little else in the exception details to go on and an initial Google search yielded little help aswell.

After many different tests to try and isolate the issue I finally found the reason for the failure which was the authentication was failing.  Again, after a few more tests I still couldn’t get the authentication to work, but eventually came across one guys answer to a similar problem on Stack Exchange (http://stackoverflow.com/questions/5981167/error-message-the-request-for-security-token-could-not-be-satisfied-be).  Scroll down to the first answer (Sixto) and he mentions that you need to change the AppPool identity!  Voila!  The default Identity setting is ApplicationPoolIdentity which is great if you are simply reading and running the code in ASP.NET pages, however this won’t allow access to databases etc… and you need to change the identity to a user that has been granted access to whatever resource your webpage is trying to gain access too.

Here is a page with some more details on the different web servers Visual Studio can use along with the advantages and disadvantages of each.

https://msdn.microsoft.com/en-us/library/58wxa9w5%28v=vs.120%29.aspx?f=255&MSPPError=-2147217396#iisexpressdisadvantages

 

 

 

Asset Editor

In a previous post, we mentioned one of the many challenges we faced when implementing this product for the client.  At this stage the product is under trial to prove the concept for management in order to progress to the next stage of roll-out.

The next stage of the product would be to essentially clean up, fine-tune and hopefully re-engineer the product to better suit it to the environment that it will ultimately live in.  At the start of the project, the client didn’t have some necessary things in place for connecting to ArcGIS, so a different method was used to implement the mapping and linear referencing system.  Unfortunately this older system required WinForms to be used when we would have preferred to implement in WPF as the tablets that were to be used were using Windows 8.1 (comparison: old but still valid).

As is the case with many initial projects that are under time constraints as well as technology constraints, we reflect on the past work as we progress and see ways of improving.  Given all of the initial technological hurdles have been resolved and the product works, the re-work of the application will result in a more robust and cleaner application for the client.  Thankfully with our application architecture, we built it using an MVP pattern, so the majority of the business logic code is separated from the view therefore making the transition to a WPF application will be so much easier.

Corridor Tracker

During some work on a new project for a client we needed to be able to define boundaries for physical map areas (e.g. rail corridors).  Given that the project was for rail vehicles, there was only certain areas on the map where the vehicle could enter and exit these boundaries.

We used Google Earth to define these boundaries using polygons that covered the boundary positions for both entry and exit (separate ones for each).  The polygons were structured in Google Earth to provide a simple hierarchy that would provide extra information where needed (e.g. corridor name, owner, operator etc…).  The polygons were then exported to the usual KML file.  Given that the KML file is a standard and the format is in XML we then simply imported the file into our project to generate data type classes that could read in the file.  Understanding of course that a change to the KML specification and therefore a potential change to the format would break the import!!!  This particular case would be handled externally to these generated classes.

With all of this in place we were able to easily provide the client with a configurable definition of their rail corridors that could be read in and subsequently viewed in the applications Google Maps window and processed according to the vehicles current position.

GitHub, YouTrack and TeamCity

After using Subversion, TeamCity and Trac for some time, I decided that it was time to investigate whats new in the work of source control, automated builds, support for agile etc…  After previous work with TeamCity, I was excited to see that JetBrains had come up with their own issue management system called YouTrack that comes complete with all the bell and whistles, Agile, TeamCity integration, backing up, ability of handle multiple repository types… and the list goes on.  I have to say that this is an excellent product and smashes all of the competition out of the water (in my humble opinion).

Following from this it was also time to move to a more future proof source control.  I’ve been using Subversion for some time now and yes it hasn’t missed a beat, but I’ve always found to awkward to setup, maintain, backup etc…  With this in mind I finally moved over to GitHub and it’s been great.  Easy import of the Subversion repositories, easy integration into Visual Studio and the stand-alone GitHub windows app if you need.  Support in both TeamCity and YouTrack is just the icing on the cake 🙂

Subversion, TeamCity and Trac

A while back aftermoving house, I thought it time to revisit our source control and Continuous Integration setup. We had been using CSV, CruiseControl and Bugzilla for the best part of about 10 years without any major issues, but we guessed you can’t improve yourselves if you don’t try new things, so here we are!

After much searching we plumped for the combination of Subversion, Jet Brains’ TeamCity and The Trac Project. First off the installation of each was quite a breeze compared to when we did this 10 years ago. Yes things have moved on, improved, Google etc… but it was nice for installations to go without a hitch. Having said that a few sites did help along the way.

For installing and setting up Subversion, we found this site extremely useful. Also, for any out there new to Subversion or indeed source control, this site here is a good resource

TeamCity (continuous integration), well there isn’t too much to say other than simple! We’ve been using ReSharper since about 2004 and have always loved it and once again Jet Brains have delivered.

Trac is a wiki and issue tracking system and as with the others, this was simple to setup and use.

Administrator User missing from Logon Screen

Just a quick one here!

A project that I am working on in Australia has numerous computers that auto-logon and I needed to logon as Administrator to sort some stuff out.

Now, these computers were all running XP but there isn’t an option to select the Administrator user at Logon!

Easy… just press Ctrl and Alt then press Del twice. Up pops the normal Windows logon screen where you simply change the user to Administrator 🙂