Blush











{October 19, 2008}   What is blush

Introduction

Now I have a bare (very bare) bones release deployed I should explain a little about what im trying to build and why.

First of all : What is it ?

Blush is intended to be a tool that supports a particular flavour of agile development based upon 5 years of experience working in companies such as Thoughtworks and Elateral and also for smaller SME environments.

Why : What is wrong with all the current tools that have lots of money spent on there development ?

I think tools such as Mingle And Team Foundation Server are excellent in every sense of the word and i have delivered high value projects using both. So what you may think motivates me to build something different as a one man band ?

The products mentioned above i find to be excellent for larger development  teams working on high value products with full understand agile. These teams classically have  the capabilities to make informed decisions about what bits of the product they want and what bits of the product they don’t want to use, I have worked as both a team lead, agile coach and developer on many such teams and we slice and dice the tool set and its features till we get just the right mix.

The problem comes when you try to implement agile in an environment with low budgets and no exposure to Agile practices , then you need more simple basic tools that guide you in your adoption and present less options. TFS and to a lesser extent mingle are not ideal even with all the excellent help and guidance packages supplied, a lot of SME’s just turn up there toes and stick with waterfall or whatever they have been using before or worse still come up with some devil bred combination of the old and the new which eventually leaves them with a bad taste in there mouth and less than impressed with Agile.

So what does blush do differently: what do intend to do about it ?

1. I intend to provide a product that is as simple as chips (1 2 3) to roll out and implement

2. I intend to provide a fixed way of dong things but i intend to provide the source and a easy to use set of services so should other people want to provide a different flavour they can.

3. I intend to supply Wizard based support for common tasks walking users through a (1 2 3) step based model.

4. I intend to supply context help on each task.

5. I intent to keep the overhead of work required to get from requirement to code to a minimum.

6. I intent to develop a product that can be used by none technical stake holders.

7. I intend to implement tools to help with the generation of Nbehave and other BDD tool sets.

8. I pledge to keep the code set open source and although i intend in time to bill for the product there will always be a free version.

X ME X

Link to product : Development Server

Link to code drops : http://codequbedevelopments.net/blush/release.htm

Link to Licence : http://codequbedevelopments.net/blush/licence.txt



{November 8, 2008}   Code goes into public SVN

So i feel now that i have made some commitment to the project its time to put the code under OS source control so it can be found in the googlecode repository at :

http://code.google.com/p/blush/

to check out read only

Use this command to anonymously check out the latest project source code:

# Non-members may check out a read-only working copy anonymously over HTTP.
svn checkout http://blush.googlecode.com/svn/trunk/ blush-read-only

If anyone would be intrested in becoming project member please drop me a line.

X Me X



{November 5, 2008}   Release 1.4

Added Editing Card support demo live on server , also trying out a new colour scheme, still looking for a designer.

Release server : http://www.codequbedevelopments.net/blush

Source : http://www.codequbedevelopments.net/blush/releases/Blush_1_0_4_5th_Nov_08.zip

XX ME XX



This release contains the following :

1. The ability to create a Card Containing HTML, via the TinyMCE Editor.

2. Adjustments to the CSS to support IE 7

3. Unique Numbering on the cards using integers

4. REST Style routing

It can be found here:

 www.codequbedevelopments.net/blush

Latest Release:

http://www.codequbedevelopments.net/Blush/releases/blush_release_1.3_29oct08.zip

X ME X



{October 26, 2008}   Release 1.2.1 (Update Release)

Having managed to find some extra time i have implemented a unique card ID for each card this is in the Daywall view prefixed to the name and surrounded by brackets. i have also implemented a REST routing pattern and moved away from using the Query string. Adding the ID has required quite a big refactor across the system not least of which was the Db4Objects Data layer as this has very little support for unique ID across objects and in the end i ended up delegating responsibility to the repository layer.

Development Server : http://www.codequbedevelopments.net/Blush/Cards/ViewCard/2

Release Source : http://www.codequbedevelopments.net/Blush/releases/release.htm

Licence : http://www.codequbedevelopments.net/Blush/licence.txt

XXMEXX



{October 26, 2008}   Release 1.2

With the release of ASP MVC Beta I decided to update the code base as this has introduced a few breaking changes.

Issues

1. New assemblies needed referencing and old assemblies including GAC copies needed removing . I found this blog to be very helpful : http://www.adamjcooper.com/blog/post/Migrating-to-ASPNET-MVC-Beta-from-Preview-5.aspx

I also as recommended in the post above set my assemblies to copy local which took away a step I normally have to perform in my deployment.

2. Strongly typed ActionLink stopped working so all of a sudden you could not do this :

<%=Html.ActionLink<CardsController>( t => t.ViewCard(c.Name), "[ View Card ]")%>

It turns out that this functionality has been moved to the futures assembly and you need to download the zip and reference it and then hay presto you get this back. The zip can be found here :

http://www.codeplex.com/aspnet/Release/ProjectReleases.aspx?ReleaseId=18459

3. The methods for Html.Textbox seem to have changed and i had to modify my code so that when i didn’t have a value to write out i had to include null as my second param like so :

  <%
        var formattingObjects = new Dictionary<string, object> 
{ { "border", 0 }, { "MaxLength", "300" }, { "class", "CreateCardCardName" } };
    %>

    <%=Html.TextBox("cardName",null, formattingObjects)%>

 

But apart form these few gotcha’s it seemed to be quite painless.

CSS still a creating problems for me but im resisting dealing with it as i want to get features hammered out and im hoping i can get a web designer to join me in this little project.

Note:

Another fantastic resource that saves me from having to list a load of links , is this blog entry i have found it a stunning resource: http://weblogs.asp.net/stephenwalther/archive/2008/10/17/a-guide-to-learning-asp-net-mvc-beta-1.aspx

XXMEXX



I have just pushed up the first dev release of Blush.

It contains

1. The ability to add a basic card

2. The ability to transistion state of the card

3. The ability to view the card

4. The ablity to view all cards in a card wall

It can be found here: www.codequbedevelopments.net/blush

I hope to update this release before the end of the a month.

XX Me XX



et cetera