Global Changes

Changed the DAL and BLL to return generic lists in stead of an IList interface. This should of required no other changes since the generic list implements IList, but sadly there were some places were teh IList was being cast back to an ArrayList :(.

Removed all instances of ILists being cast to ArrayLists

Made the DomainHelper Generic.

Converted entire project to .net 3.5 so I could take advantage of C# 3.0 language features.

Other Changes I cant list them all but there were quite a few small changes that have been made over the last week such as adding the due date / calendar to the add issue page and making the user/role screens in the edit project pages support multi select.

Subversion Integration

Although this is not done, it is very usable for us. I believe that it would take a bit of work to make it as generic as you would want for a release in this project.

Add Subversion section to the Application Settings
In the application setting section I added some subversion related options that are saved as HostSettings. They are: Enable Administration: Currently this allows/disallows creating new repos, but the idea is that it wouldd allow/dissallow any action that I decide to add that operates on a local svn install (requires svnadmin or svnlook).


Ithink the other stuff can be explained with a screenshot (see below). I have not implemented anything with the backup, yet, but the thinking was that before I allowed a user to do anything with the repository, I would do a hotcopy first.

Project Admin


In the project administration I added a subversion section (see screenshot below). The only item that I added to the project object ist the subversion url. This can be any subversion url as it is currently used only for the repsository browser and for creating tags, which do not require admin to be enabled.

Repository Creation
The most interesting thing I added (to me anyways) is the repository creation. This feature creats a new repository for your project, creates the default structures trunk, branche, tags, trunk/src, trunk/docs, adds all of the needed properties for TortoiseSVN integration (See screenshot), and creats a batch file that references a custom post-commit hook script that will detect bug ids on the commit and add the commit comment to the bug's comment section (See screenshot). The bug ids in the comment are links in case a commit references multiple bugs.

My post-commit application is a separate project that is a .net console application, whixh is referenced by the repos with a batch script. Currentlly my code uses a hard coded path to this exe. It needs to be added to the HostSettings area.

Tag Creation
I thought that it would be useful to give teh user the ability to create a tag from within the application. I amy ad more features like this later, I haven't decided.

Repository Browser
I added a repository browser tab. This was pretty simple because we host sunversion in apache so teh repository is browsable, I simply added an iframe that points to the selected projects repository url and it was done.