CCNetConfig

Continuous Integration, Simplified Configuration

Home | Wiki | About | Login | Contact |
subscribeSubscribe
Subscribe
CCNetConfig
Releases
Beta Releases
Stable Releases
Work Items
Discussions
CPRP
Releases
Beta Releases
Stable Releases
RSS Builds Publisher
Releases
Beta Releases
Stable Releases
Current Release
0.5.0.120
Sun, Jan 20 2008 at 10:02 PM
All Releases
CCNetConfig Build Status
  • Build StatusSuccess
  • Label0.6.420.32915
  • Last Build4/28/2008 6:43 AM
  • Next Build7/24/2008 12:00 AM
Recent Work Items
  • Automated: Unhandled exceptio…
  • Automated: Object reference n…
  • support for SvnRevisionLabell…
  • Automated: Uncommon behaviour…
  • Automated: create a new confi…
  • Copying and pasting a task do…
  • Automated: Invalid URI: The U…
  • Automated: Cannot import a nu…
  • Remove support for plugins in…
  • Show splash screen on initial…
Legend: Proposed Active Fixed Closed
Tag Cloud
  • A Little Class
  • Automation
  • C#
  • CCNet
  • CCNetConfig
  • codeplex
  • CodePlexAPI
  • Continuous Integration
  • CruiseControl.NET
  • feedburner
  • google
  • JSON
  • LOLCode
  • MSBuild
  • RssBuildsPublisher
  • Sandcastle
  • subtext
  • subversion
  • SvnLabeller
  • tfs
  • twitter
  • Visual Studio
  • Wix
  • XML
  • xna
more tags...
Archives
  • July, 2008 (2)
  • May, 2008 (3)
  • April, 2008 (5)
  • March, 2008 (8)
  • February, 2008 (6)
  • January, 2008 (7)
  • December, 2007 (11)
  • November, 2007 (7)
  • October, 2007 (5)
  • September, 2007 (8)
  • August, 2007 (5)
  • June, 2007 (7)
  • May, 2007 (5)
  • April, 2007 (23)
  • March, 2007 (27)
  • February, 2007 (12)
  • January, 2007 (9)
  • December, 2006 (2)
  • November, 2006 (12)
  • October, 2006 (17)
  • September, 2006 (8)
  • August, 2006 (30)
 
Image Galleries
  • Screenshots
  • A Little Class
Post Categories
  • Announcements
  • Automation
  • Beta
  • Beta Marker
  • C#
  • CCNetConfig
  • CCNetConfig.BugTracking
  • CCnetConfig.CCNet
  • CCNetConfig.Core
  • CCNetConfig.GUI
  • CCNetConfig.Updater
  • CCNetConfig.Updater.Core
  • CodePlex
  • CodePlex Release Publisher
  • CodePlexAPI
  • Continuous Integration
  • CruiseControl.NET
  • Extending CCNetConfig
  • MSBuild
  • MsBuild Extended Tasks
  • News
  • Nightly
  • Orcas
  • Project Extension
  • Rant
  • Reflector
  • Release
  • RssBuildsPublisher
  • Sandcastle
  • SubText
  • SubVersion
  • TFS
  • TFS Plugin
  • Tools
  • TortiseSVN
  • Vista
  • Visual Studio
  • Wiki
  • Wix
  • XAML
  • Xbox Live
  • Zune
 

Blog Statistics
  • Posts219
  • Articles0
  • Comments36
  • Trackbacks5
Home
Download
Screenshots
Support
License
Source

June 2007 Entries

Exporting CodePlex WorkItems to Xml
I have been working on the build of SubText that I am running to add additional content like release information, ccnet build status and syntax highlighting. While I was writing the code to display some of the most recent
  <CodePlex.WorkItem.Cacher.Configuration>
    <Projects>
      <Project Name="MyProject">
        <Server>https://tfs01.codeplex.com/</Server>
        <Username>username_cp</Username>
        <Password>codeplexP@ssword</Password>
        <CacheFile><![CDATA[Z:\redist\{0}\workitems.cache]]></CacheFile>
      </Project>
    </Projects>
  </CodePlex.WorkItem.Cacher.Configuration>
Under <CacheFile /> you will see {0}, This is replaced with the name of the project.

I have also included in this post the source code to deserialize the cache file. I am using the deserializer within SubText to display the information. There are methods that allow you to get work items based on specific criteria or all work items.

Here are some of the ways you can filter the work items:
  • By State - Active, Fixed, Closed, Proposed
  • By Type - Feature, Issue, Task
  • By Rank - Low, Medium, High
  • By Release Name
  • Only Open Items
  • Only Closed Items
  • By WorkItem ID
There is also a collection of fields in a work item. You can filter the work items based on the value of a specific field or you can base it on a Regex pattern for the field value. Using these fields allows you to get information like how many votes a work item has on CodePlex.

I will probably be added some other ways to filter as well, but for now this is about it. I can't wait to get these modifications and the skin I am working on completed so I can role them out on the production site.

Enjoy!

CodePlexWorkItemCacher (1,975 KB)
CCNetConfig.Tfs.WorkItems (9 KB)
Technorati Tags:[subtext] [tfs] [codeplex]
Filed Under [ C# CodePlex SubText TFS ]
Ryan Conrad posted @ Saturday, June 23, 2007 2:31 PM | Comments (1)
CruiseControl.NET 1.3 Released
The release of CruiseControl.NET 1.3 was announced last night. One of the biggest changes is that it is now built with .NET 2.0 so it now requires the .NET 2.0 redistributable to run. Simone Chiaretta posted some of the main features in 1.3 and indicates that he will be updating the CC.NET Monitor to take advantage of the changes.

Here is the list of fixes and changes directly from the 1.3 release notes:

Release Notes - CruiseControl .NET - Version 1.3

Bug

  • [CCNET-441] - Daylight Savings bug-fix for PVCS 7.5.x causes time to be wrong in PVCS v8.x
  • [CCNET-673] - Dashboard plugins in /bin not successfully loaded
  • [CCNET-709] - Attempting to use the Email Logger results in an EmailPublisher exception: System.Web.HttpException: Class not registered
  • [CCNET-736] - Perforce Invalid changelist/client/label/date error
  • [CCNET-744] - The system path is ignored when launching pcli.exe and probably other executables - (The PVCS get command seems to have some problem)
  • [CCNET-749] - Spaces in temporary file name cause problems for cmd.exe at ThoughtWorks.CruiseControl.Core.Sourcecontrol.Pvcs.ExecutePvcsGet -> "NonPvcsFunction"
  • [CCNET-826] - MKS Integration - Unused Node reported in Console
  • [CCNET-827] - Mks provider fails if modified file is in the root folder
  • [CCNET-828] - Html/Xml contained in the server log dashboard plugin is not properly encoded
  • [CCNET-829] - Svn checkout does not checkout to the working directory
  • [CCNET-831] - Svn checkout should also handle _svn folders (support for the ASP.NET hack)
  • [CCNET-837] - Shortcut to Configuration Link is not deleted from Programs group on uninstall
  • [CCNET-839] - INTERNAL ERROR: String was not recognized as a valid DateTime.
  • [CCNET-842] - Problems with Checkout operation if there is space in trunk URL
  • [CCNET-871] - White spaces in cvs history paths causes regex to create empty filenames for modification
  • [CCNET-880] - WebDashboard responds very slowly to requests from CCTray
  • [CCNET-907] - CCNetRequestSource always returning "reloaded from state file"
  • [CCNET-924] - XmlIntegrationResultWriter writes locale-dependent date

Improvement

  • [CCNET-6] - Modification logger doesn't handle subversion encoding
  • [CCNET-836] - Documentation should be accessible through the web dashboard
  • [CCNET-838] - Installer should not overwrite ccnet.config file if it already exists in installation directory
  • [CCNET-840] - Dashboard should show which build is currently selected in Recent Builds list
  • [CCNET-891] - Dashboard: set content-type for xml API requests to text/xml to better support javascript

New Feature

  • [CCNET-401] - Create new email publisher that uses SMTP instead of CDO
  • [CCNET-770] - Add integration queue support for controlling project build serialization
  • [CCNET-812] - AccuRev sourcecontrol support
  • [CCNET-813] - New labeller: LastChangeLabeller
  • [CCNET-889] - How to realise Process Encoding Support (solution)

Most of the new features are already supported in CCNetConfig. The integration queue is not yet supported, but I will be working on getting that supported in the 0.5.x release. The 0.4 final will be out by the end of next week and a 0.5 build shortly after that.
Technorati Tags:[ccnet] [cruisecontrol.net] [ccnetconfig]
Filed Under [ CCNetConfig CruiseControl.NET ]
Ryan Conrad posted @ Friday, June 22, 2007 8:36 AM | Comments (1)
Use Subversion client with TFS
The SVN Bridge allows you to use a subversion client with TFS. It converts calls made by the Subversion client to API supported by TFS. This project is still in alpha stages but this is a much needed tool. This tool answers the number one feature request on CodePlex, Subversion Support. The project was just created so there are not any release yet, but there is source available.

Some of the features that will be supported with this tool:
  • SVN Checkout
  • SVN Update
  • SVN Commit
  • Show log
  • Repo-browser
  • Check for Modifications
  • Revision graph
  • Resolved
  • Update to revision
  • Revert
  • Clean up
  • Get Lock
  • Release Lock
  • Branch/tag
  • Switch
  • Merge
  • Export
  • Relocate
  • Add
  • Rename
  • Delete
  • Create Patch
  • Apply Patch
  • Anonymous Access to CodePlex source control servers

Technorati Tags:[subversion] [codeplex] [tfs]
Filed Under [ CodePlex SubVersion TFS TortiseSVN ]
Ryan Conrad posted @ Tuesday, June 19, 2007 7:04 AM | Comments (0)
Twitter Publisher Support
I was made aware of a Twitter Publisher plugin for CruiseControl.NET today thanks to Simone Chiaretta's post. While the publisher itself is very simple to configure, my goal of CCNetConfig is to never to actually have to manually edit the file.
... CC.NET task which announces new build results on Twitter. The project manager creates a special Twitter account and configures CC.NET to post build results as updates for that user. The developers then just have to add that user to their friend list, and will get the announcements in the Twitter front-end of their choice.

This is the only change to this release. CruiseControl.NET just finished building 0.4.11.1 as I was typing this post, enjoy.
Technorati Tags:[twitter] [ccnetconfig] [ccnet]
Filed Under [ Continuous Integration CruiseControl.NET ]
Ryan Conrad posted @ Sunday, June 17, 2007 10:04 PM | Comments (0)
Getting Applications To Run Below SubText
I have a couple asp.net applications that run below SubText. Since they run below this application, asp.net wants to use items from the SubText web.config. I had this issue when running dasBlog as well. This was causing errors in the sub-applications because the SubText web.config uses assemblies that are not located in the sub-apps bin directory. One solution that I really wanted to avoid was to have to copy all the assemblies from the SubText bin directory to the sub bin directories because this application is fairly simple in nature and there is no need to clutter up the directory with assemblies that it wont need.

There is an alternative to this. You can remove or even clear items added to a parent web.config from being referenced in your web.config. This is exactly what I did when I was running dasBlog. Well I spent the good part of 2 days trying to get this same method to work with SubText. I managed to get everything removed except a reference to system.web.extensions.dll in pages->controls. In the MSDN documentation it states that you can use <remove tagPrefix="prefix" /> or <clear /> but attempting to do so was causing parser errors. After getting in touch with Simone Chiaretta, he suggested that I just copy the system.web.extension.dll to the application bin directory. Although I really didn't want to have to do this, I can handle having 1 extra file. I copied the file and now the sub-applications are working.

There are a couple of sections in system.web that you have to remove items from. The first is the httpHandlers section.

<httpHandlers>
<remove verb="*" path="*.asmx" />
<remove verb="*" path="*_AppService.axd" />
<remove verb="GET,HEAD" path="ScriptResource.axd" />
<remove verb="GET" path="WebResource.axd" />
<remove verb="GET" path="FtbWebResource.axd" />
<remove verb="*" path="*/images/IdenticonHandler.ashx" />
<remove verb="*" path="*CaptchaImage.ashx" />
<remove verb="*" path="OPML.aspx" />
<remove verb="*" path="MainFeed.aspx" />
<remove verb="*" path="Install/*.aspx" />
<remove verb="*" path="Providers/*/*.aspx" />
<remove verb="*" path="SystemMessages/*.aspx" />
<remove verb="*" path="HostAdmin/*.aspx" />
<remove verb="*" path="HostAdmin/*/*.aspx" />
<remove verb="*" path="Logout.aspx" />
<remove verb="GET" path="rsd.xml" />
<remove verb="GET" path="rsd.xml.ashx" />
<remove verb="*" path="*" />
</httpHandlers>

The next section is the httpModules

<httpModules>
<remove name="SubtextAuthenticationModule"/>
<remove name="InstallationCheckModule"/>
<remove name="BlogRequestModule"/>
<remove name="ScriptModule"/>
</httpModules>

The last section is the assemblies defined in compliation section.

<compilation defaultLanguage="C#" debug="false">
<assemblies>
<clear />
</assemblies>
</compilation>

Since I didn't need any of the assemblies that were loaded, I can just clear this out. After all of this, the last thing to do is to copy the system.web.extensions.dll to the bin directory.
Filed Under [ SubText ]
Ryan Conrad posted @ Friday, June 15, 2007 8:47 PM | Comments (0)
Made the move to SubText
I have made the move from dasBlog to SubText. I have been planning to do so for a while but didn't have the motivation to do so. Last night, early this morning, I got that motivation when dasBlog decided to not show any content in the 'main' section of the page. dasBlog is a great blog engine, and I was happy with it while I had it. I didn't feel like trying to figure out why it wasn't working any more and I didn't want to install it again.

I was able to import all of my posts using a tool that exports dasBlog content to BlogML. I think dasBlog has a utility that will do this as well but I wasn't sure if it was in the administration pages or not since it wouldn't load anything but the shell.

I have to customize some things still, like the syntax highlighter, but everything else should be working.
Filed Under [ SubText ]
Ryan Conrad posted @ Sunday, June 10, 2007 1:46 AM | Comments (3)
CCNetConfig 0.4.9.1
A new beta build was published this evening to CodePlex and the Beta/All builds Auto-Updates if your using a 0.4.x version. You now have the ability to copy triggers, tasks, publishers and prebuild items right to your clipboard. You can then paste them in to other projects or in to a text file because it copies these items as the configuration xml. You can also cut these items as well. Copying is allowed on the project and configuration levels but you can not cut them. The ability to "clone" a project still exists as well, which if you want to copy things like source control info to another project, this is the only way to do so. Not only can you cut/copy individual tasks, triggers, projects and prebuild items, you can copy the entire block of these items and paste them in another project.

Currently, the cut, copy and paste tasks can only be performed by right clicking on the items in the tree. Keyboard shortcuts, toolbar buttons and edit menu will be coming shortly.

I found a bug with updating of 0.4.x builds, and could also affect 0.3.x builds as well. The updater is incorrectly parsing out the command line arguments. I just finished correcting this a few minutes ago so this will be corrected in the next build. The fix eliminates the ability to pass unnamed arguments to the updater utility but since the arguments are created by CCNetConfig and are all named, this wont be a problem.

It seems there is still a bug with running CCNetConfig on x64. I am trying to locate the issue but this is a difficult task since I don't have an x64 machine. The issue is with the Version File Dialog. It seems that x64 machines do not capture the name of the selected file so it causes the application to crash when opening a configuration file. If anyone that has an x64 machine wants to figure out exactly what is causing this error, you would be helping out the project and all x64 users.

It is getting late (or early) so I am heading off to get some needed sleep.

 

Technorati Tags:[ccnet] [ccnetconfig] [codeplex]
Filed Under [ CCNetConfig CCNetConfig.Updater CodePlex ]
Ryan Conrad posted @ Saturday, June 09, 2007 7:11 AM | Comments (0)
Powered by Subtext - Version: 1.9.5.176
Copyright © 2006 - 2008 Ryan Conrad. All Rights Reserved. Privacy Policy