Writing about being too busy to write

The last couple of months have been pretty busy, and the updates to this site have suffered as a result of that. When I'm not working I'm in the middle of migrating all of my personal data (including this site) off Domino. I've got most of the work done towards migrating over to SubText, but I'm having trouble finalising a site design. The fact that I'm pretty average when it comes to designing layouts is a bit of a hindrance. I'm finding SubText pretty nice to work with from a skinning perspective - however I'm pretty easily sold - whenever you can develop a skin using mostly Notepad then I'm happy. For some reason it just seems to be a lot cleaner and simpler than DNN skins were when I tried them. I'm about 90% complete doing my skin for this site, at which point I can run the migration and shut down my Domino server.. forever.

On a work note, I've recently been working on a project which had some pretty tight timelines. The actual application required was pretty simple (about 2-3 weeks of work maybe), but the timeline was pretty tight. Developing it has been an interesting exercise in terms of rapid development, because the tight timelines and small scope of work allows you to really easily see where your time estimates were accurate vs where they were way off the mark. It got me to thinking (again) about developing some simple templates and libraries of reusable code, to try and speed up certain things without going overboard and developing a full on framework. I sort of started something like this a while back, but questioned it's value, so I stopped. Now I'm thinking about ways of revising the approach based on lessons learned.

I used LLBLGenPro for this project, and the amount of time it saved was quite incredible. I've used LLBLGenPro before, but it really came into it's own here - not having to write a single stored procedure really did speed things up, as well as enabling the development process to be incredibly agile. Obviously LLBLGenPro isn't going to be suited for every project, but it really is a great tool that's incredibly easy and powerful to work with.

One of the areas I found took up an overly large amount of time was messing about with GridViews. GridViews are one of those things I've not used a large amount of. Previous projects I've worked on have used DataGrids, but have used them in a way which was less than ideal. Those implementations always felt like they were too manual, and there was too much messy work going on in the codebehind. This was compounded by the fact that due to the nature of a lot of what was going on there (accessing drop down list controls, using FindControl on rows, etc), it couldn't really be seperated out into the Business Logic layer. Less than ideal. The way to reduce the manual nature of these things seemed to lie partly with the various GridView DataSource controls, however the SqlDataSource always felt like it was breaking good 3 tier architecture, and the ObjectDataSource looked from a distance like it needed a bit too much work to get it going (I don't think this needs to be the case, but I've seen a few implementations of it, and they all vary a lot - in size, features, and complexity). Enter the LLBLObjectDataSource. I didn't even know this existed, so I was quite amused and pleased to discover it. So far it looks like it does the business, and does it well. I was able to throw together a Grid with all the functionality I needed without needing to write much code at all - best of all, the Data Access components require absolutely no use of FindControl or the need to bind primary key ids to CommandArguments (not that the latter is bad, it's just not needed). The result is a much tidier code behind file, and a load of data functionality without much work at all - it also has built in support for paging (server side) and sorting, again without the need to write a single line of code. Unless of course you want to change the functionality, in which case, go ahead. All in all it's a neat thing to have in the Developers toolbox to cut down the amount of time you spend working with Gridviews.

Taking it one step further, I'm keen to check out the Web Client Software Factory at some point. I browsed through a quick article in MSDN Magazine which covered the way it handled removing as much code as possible from the codebehind file, and it looked like it did a good job of it. After experiencing the Web Services Software Factory I know in advance that I'd definately not want to use their data layer generation code, however if it'll let me use their UI/BL seperation and combine it with LLBLGenPro's Data Access then I'll be happy indeed.

Technorati tags:

 Print | Posted on Monday, August 06, 2007 10:26 PM | Filed Under [ Miscellaneous Me ]


Feedback

No comments posted yet.

Post Comment

Title  
Name  
Email
Website / Url
 

Your comment

   

Due to excessive comment spam, all comments are moderated. If you're a comment spammer, then you're wasting your time. Your comments will not be published - ever.

Please add 8 and 1 and type the answer here:

About me

My name is Ross Hawkins and I'm a developer, consultant, business owner and writer based in Auckland, New Zealand (pictured below!). My current work revolves around ASP.NET, C#, jQuery, Ajax, SQL Server, and a mix of other Microsoft development technologies.

I also have about 15 years of experience with IBM Lotus Notes/Domino and associated technologies. While Notes/Domino is no longer my primary focus I still like to dabble and keep my skills up to date.

I own and run 2 businesses - Hawkins Consulting Services, and Ignition Development.

Bethells Beach, located in sunny West Auckland, New Zealand


Subscribe

Subscribe to this feed


Search




Popular Content

Troubleshooting WebResource.axd

The .NET 2.0 framework changed the way clientside JavaScript is delivered to the browser. Previously, ASP.NET 1.1 used the aspnet_client directory whereas now 2.0 uses WebResource.axd.

Published on October 8, 2006

Microsoft AJAX Extensions: Sys.Debug is null or not an object

One of the breaking changes which was made with the 1.0 release of the Microsoft Ajax Extensions was the renaming of the 'Debug' class to 'Sys.Debug' for reasons of compatiability with other frameworks. Breaking changes like this can often be a source of frustration..

Published on May 22, 2007

Simple ASP.NET Character Counter

A textbox character counter is a pretty simple piece of functionality, and there's a lot of different ways to apply one to your application. The following method is nice and simple, and can be done using only clientside JavaScript if required, or combined with server side code in order to create a more dynamic effect

Published on December 4, 2006

Simple ASP.NET Character Counter - with Master Page Support

A quick update to my previous character counter article adding some changes for those using it with Master Pages.

Published on February 7th, 2009

Adding Tooltips to Gridview Headers

As the title says, this is a very simple but dynamic way of achieving tooltip text on a header column. It's not overly flash, but it's lightweight and quick to implement.

Published on April 15, 2007

SQL Server Web Report Viewer Issues on Windows 2008 Server/IIS7

A fix for another AXD related issue, this time with the SQL Server Web Report Viewer Control which was being served up via IIS7 on a Windows 2008 server.

Published on June 2, 2007
Updated on April 10, 2008




Archives

August, 2010 (11)
July, 2010 (12)
June, 2010 (8)
May, 2010 (8)
April, 2010 (4)
March, 2010 (8)
February, 2010 (6)
January, 2010 (12)
December, 2009 (13)
November, 2009 (11)
October, 2009 (12)
September, 2009 (12)
August, 2009 (2)
July, 2009 (7)
June, 2009 (12)
May, 2009 (9)
April, 2009 (9)
March, 2009 (9)
February, 2009 (8)
January, 2009 (7)
December, 2008 (6)
November, 2008 (7)
October, 2008 (9)
September, 2008 (12)
August, 2008 (9)
July, 2008 (6)
June, 2008 (24)
May, 2008 (13)
April, 2008 (16)
March, 2008 (8)
February, 2008 (10)
January, 2008 (1)
December, 2007 (14)
November, 2007 (11)
October, 2007 (11)
September, 2007 (13)
August, 2007 (11)
July, 2007 (5)
June, 2007 (15)
May, 2007 (11)
April, 2007 (9)
March, 2007 (9)
February, 2007 (10)
January, 2007 (8)
December, 2006 (18)
November, 2006 (11)
October, 2006 (14)
September, 2006 (9)
August, 2006 (10)
July, 2006 (4)
June, 2006 (4)
May, 2006 (6)
April, 2006 (3)
February, 2006 (6)
January, 2006 (10)
September, 2005 (2)
August, 2005 (4)

Post Categories

ASP.NET
AJAX
Amusing
NZ
NZ Trains
Notes/Domino
Visual Studio
Web Development
Miscellaneous
Me
Rugby
C#
SQL