Friday, January 16, 2009

WCF, .Net 4.0 and Dublin + A Big Kickin the Teeth for BizTalk users

http://msdn.microsoft.com/en-us/magazine/2009.01.net40.aspx

WCF And WF Services In The .NET Framework 4.0 And "Dublin"

And I quote...

What about BizTalk Server?
 
Another common question is how "Dublin" relates to BizTalk Server. In a lot of ways, BizTalk Server inspired many of the features you see in "Dublin" today. Although both technologies provide similar management capabilities, there's a big difference between the two in terms of their focus. "Dublin" adds hosting and management extensions to Windows Server designed specifically for WCF and WF applications, whereas BizTalk Server is focused on application integration with non-Microsoft systems using a variety of different message formats, transports, and mapping techniques.
The primary focus of BizTalk Server has always been and will continue to be integration with non-Microsoft systems (line-of-business applications, legacy systems, RFID devices, and business-to-business protocols). BizTalk Server will remain focused on these core strengths in the years ahead. In general, you'll want to continue using BizTalk Server when you're focused primarily on these types of enterprise application integration (EAI) scenarios.
However, since many WCF and WF apps don't need these kinds of integration capabilities, BizTalk Server can often feel like overkill. This is precisely where "Dublin" fits into the picture—as a simpler alternative that provides similar management capabilities. In the end, "Dublin" will be more cost-effective for these scenarios than BizTalk Server since the "Dublin" extensions will ship as a core part of Windows Server and won't require you to buy integration adapters you don't need. It's likely that a future version of BizTalk Server will build upon the "Dublin" extensions in order to leverage the core management investments being made to Windows Server.
A special thanks to Eileen Rumwell, Mark Berman, Dino Chiesa, Mark Fussell, Ford McKinstry, Marjan Kalantar, Cliff Simpkins, Kent Brown, Kris Horrocks, and Kenny Wolf for their helpful assistance with this article.

Tuesday, January 13, 2009

SQL Server 2005 Database Diagrams After RESTORE Operation

Sql 2005 Database diagram support objects cannot be installed because this database does not have a valid owner

Problem

After a RESTORE of a database with SQL Server 2005 database diagram creation & access is often disabled, with the following error message.

Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects.

Solution

1. Right Click on your database, choose properties
2. Goto the Options Page
3. In the Dropdown at right labeled "Compatibility Level" choose "SQL Server 2005(90)"
4. Goto the Files Page
5. Enter "sa" in the owner textbox.
6. Hit OK

Friday, January 09, 2009

Blogs!

Steve is a cool guy and very, very smart.  Read his blog!

http://blogger.forgottenskies.com/

It will make you ... wonder what a "Forgotten Skies" is but you will forget once you see all the software engineering goodness.

Microsoft MVC Beta Upgrade

I was having a lot of problems with

Html.ActionLink("LinkText", "Action", "Controller")

after I upgraded from Microsoft MVC Preview 5 to Microsoft MVC Beta 1.

The error message I got was

Compiler Error Message: CS1928: 'System.Web.Mvc.HtmlHelper' does not contain a definition for 'ActionLink' and the best extension method overload 'System.Web.Mvc.Ajax.AjaxExtensions.ActionLink(System.Web.Mvc.AjaxHelper, string, string, System.Web.Mvc.Ajax.AjaxOptions)' has some invalid arguments

This partially related discussion brought to my attention changes between Preview 5 and Beta.

http://stackoverflow.com/questions/211493/asp-net-mvc-beta-1-where-is-html-renderpartial

I had to add this to my web config instead of what I started with from Preview 5.

            <namespaces>
                <add namespace="System.Web.Mvc"/>
                <add namespace="System.Web.Mvc.Ajax"/>
                <add namespace="System.Web.Mvc.Html"/>
                <add namespace="System.Web.Routing"/>
                <add namespace="System.Linq"/>
                <add namespace="System.Collections.Generic"/>
            </namespaces>

Wednesday, January 07, 2009

CodeDemon -- Open Source Code Reviews -- Collaborative & Web Based

I have a new CodePlex project!

It is called CodeDemon and is open source.

CodeDemonis a collaborative, web-based code review system that enables online reviews of changes made in Subversion or other revision control. Integration with other SCM and Issue Trackers planned.

Using CodeDemon for your reviews eliminates paper work, ensures that defects, comments and decisions are recorded in an audit-friendly database, and provides a high performance (AJAX) workspace for actually performing code inspections.

Sunday, December 14, 2008

Google Getting P0WN'D By PWO

Google's News, Alerts and E-Mail systems are getting totally pown'd on by a French company called "PWO" or PotterWorldOnline.

I am getting spammed like crazy via all my alerts by a company that Google knows distributes spyware.

I am this close to disabling Alerts because I cannot find a way to get Google to understand they've been tricked/hacked/beaten.

Thursday, October 30, 2008

SlickSpeed, From The Makers of MooTools

It compares the performance of various CSS selector implementations found in the various JavaScript web development libraries of the day (jQuery, ExtJS, MooTools, ect.)

http://mootools.net/slickspeed/

Wednesday, October 29, 2008

Good Blog To Read

http://blog.objectmentor.com/

Could not load type 'System.Web.Routing.StopRoutingHandler' from assembly 'System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

If you have upgraded from ASP.Net MVC Preview 3 to ASP.Net MVC Preview 5 and are recieving this error:

Could not load type 'System.Web.Routing.StopRoutingHandler' from assembly 'System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

The solution I found was from this ASP.Net Forums Post, about a Runtime error after upgraded to preview 5

Solved!

I had to remove and re-add the updated DLLs to my GAC:

C:\Program Files\Microsoft ASP.NET\ASP.NET MVC CodePlex Preview 5\Assemblies>gacutil -if System.Web.Routing.dll
C:\Program Files\Microsoft ASP.NET\ASP.NET MVC CodePlex Preview 5\Assemblies>gacutil -if System.Web.Abstractions.dll

Wednesday, October 22, 2008

Code Cohesion, Inappropriate Intimacy and Other Dirty Sounding Architecture Principals

Who said software architecture wasn't exciting? 

Take a look at this great MSDN article that my boss at work linked me to, Patterns in Practice: Cohesion and Coupling and another one, I found on my own with Google, about Inappropriate Intimacy, which is defined by the author as "classes become far too intimate and spend too much time delving in each others' private parts."

Software Organization, a common topic of discussion among my technical architect peers, is a critical important component of good implementations.  The platform's future capabilities for reuse, refactorability and maintainability are all set down early in the design and development as cohesion and coupling are either defeated, accepted or ignored completely.

Thursday, October 16, 2008

Apache 2.0 Configuration Redux

I was also reading this related post about creating secure Apache configurations.  Some background on my "Limit 0" is bad.

Security is paramount with public web servers and this article will give you a head start locking down your Apache2 config.

Error "XML request body is larger than the configured limit of 1000000" -- Subversion 1.5, Apache 2.0 and LimitXMLRequestBody 0

Recently, I started getting this error when doing Subversion "update" on a large folder in my repository called "branches"

XML request body is larger than the configured limit of 1000000

This is following up Subversion 1.5.2 upgrade and is occurring in Apache 2.0

The fix, for me, was to remove the limit on the XML request body by setting the following:

LimitXMLRequestBody 0

and the error was fixed.  Limit XML Request Body should not be set to 0 for public web servers, as that will open you up to Denial of Service (DoS) attacks, however, my SVN system is private to my development team and this setting was appropriate for my deployment.

Host Name:                 *** SUBVERSION SERVER ***
OS Name:                   Microsoft(R) Windows(R) Server 2003, Standard Edition
OS Version:                5.2.3790 Service Pack 1 Build 3790
OS Manufacturer:           Microsoft Corporation
OS Configuration:          Member Server
OS Build Type:             Multiprocessor Free
Registered Owner:          Distributed Computing
Original Install Date:     8/4/2005, 2:50:21 PM
System Up Time:            225 Days, 13 Hours, 26 Minutes, 37 Seconds
System Manufacturer:       HP
System Model:              ProLiant DL380 G4
System Type:               X86-based PC
Processor(s):              2 Processor(s) Installed.
                           [01]: x86 Family 15 Model 4 Stepping 1 GenuineIntel ~3400 Mhz
                           [02]: x86 Family 15 Model 4 Stepping 1 GenuineIntel ~3400 Mhz
Input Locale:              en-us;English (United States)
Time Zone:                 (GMT-05:00) Eastern Time (US & Canada)
Total Physical Memory:     2,047 MB
Available Physical Memory: 295 MB
Page File: Max Size:       876 MB
Page File: Available:      1,606 MB


Friday, October 10, 2008

Existing ASP.Net MVC Starter Kits

ASP.Net MVC Starter Kit Ideas Of Mine

A short list of ASP.Net MVC Starter Kit Ideas of mine:

  • ASP.Net MVC AJAX with Pure jQuery
    • Page Regions
      • On Load
      • On Click
    • Modal / Normal AJAX Dialogs
    • AJAX Form POST to MVC Controller
  • ASP.Net MVC AJAX -- The Three Approaches (Postbacks Do NOT Count)
    • XHTML
    • XML
    • JSON
  • ASP.Net MVC ITEM Starter Kit
  • ASP.Net MVC LMS Starter Kit

Thursday, October 09, 2008

Some AJAX Items On Bugzilla

I was looking at this page (https://wiki.mozilla.org/Bugzilla:UE) and thinking about the improvements I deploy with Bugzilla and how they might be generally useful to all Bugzilla users.

A lot of this is inspired by my obsession with AJAX and jQuery, but more so, with the fact that I have deployed Bugzilla to hundreds, if not thousands, of users in my career and I have always been pleased -- both with the system as a platform and with my ability to customize it.
  • Client-Side Table Sorting -- Many tables today in Bugzilla cannot be sorted and are not Zebra'd
    • Bug List
    • User List
    • Classification / Product / Component Lists
    • Request Queue
    • Flags
    • Custom Fields
  • AJAX Content Hovers
    • These can replace links to "fields.html" and allow the user to get immediate information about products, components, resolutions and status
  • Search-As-You-Type and Revise Search From Search Results with an AJAX 'ctype' 
  • AJAX Hovers for "Defect #" or "Bug #" auto-linking.  Dynamic, beautiful and far more informative AJAX hover could display assignees, current status and (configurable?) information
  • Replace attachment iFrames with jQuery .ajax()

General Stuff I Change
  • Switching "Saved Searches" Into Drop-Down Menus to support large numbers of shared queries
  • Many Additional Bug Entry Templates
  • Customized Index.cgi
    • Include Index of Saved Searches
    • Canned Reports
    • Links To New Defect Forms
  • Add "Clone Defect With Same Product" Link
  • Reverse Blocks/Depends On for Clones
  • Add "Clone Defect To Same Product" Link to All Dependency Tree Bug Tree Nodes
  • Add a Knob "Assign & Accept This Defect Into My Queue"
    • This may be a function of my SVN and CVS hook scripts that require this state for defects to be used for commits.  This feature is probably only as useful as the Assigned/Accepted status is for the user
  • Increase the Whiteboard to a Textarea

ASP.NET MVC CodePlex Preview5 and Visual Studio 2008 SP1

As you have read in the Release Notes for ASP.Net MVC CodePlex Preview 5
the new release of MVC is not compatible with Service Pack 1 Beta. You must install SP1 (a long process) starting with a download from Microsoft.

The Preview 5 Release Notes say that you must install SP1 before you install ASP.Net MVC Preview 5, however, I found that installing SP1 on top of Preview 5 seems to work as well.

I am not certain that this is just the machines I was upgrading or all machines, but it did work for me.

jQuery'd Bugzilla

I have been working on re-doing Bugzilla's UI and my AJAX enhancements in jQuery.

Is anyone else working on this?

Upgrading From ASP.Net MVC Preview 3 to Preview 5

As you know, ASP.net MVC Preview 5 is on the streets.

Busy using Preview 3 to produce awesome web applications, I missed the upgrade to Preview 4.

I am upgrading two big MVC application built on Preview 3.  Here are the issues I found:

Html.ActionLink() Behavior Changed
  1. On This ActionLink and Preview5 Forum Post I found a Solution
  2. The fix is to change this:
     Html.ActionLink("Title", "Action", "Controller", new { id = this.ObjectID } );
to this:
     Html.ActionLink("Title", "Action", "Controller", new { id = this.ObjectID }, null );


Html.Hidden() Behavior Changed
  1. On this MVC UI Helper Article I thought I found a Solution, but no such luck
  2. My fix was to change this:
   Html.Hidden("ReviewId", this.ID);
to this
   Html.Hidden("ReviewId", this.ID.ToString());


Wednesday, August 13, 2008

TDD: Test-Driven Development with Visual Studio 2008 Unit Tests

Test driven development is a powerful concept and once you get it (aka, "Test Infected" [no, not like zombies!]) you'll never go back.

Nice page here with a break-down on how to get it running for Visual Studio 2008.  I am not exactly in love with MSTest so I'm really glad they're supporting NUnit (for the time being [it is Microsoft] at least.)

http://weblogs.asp.net/stephenwalther/archive/2008/03/19/tdd-test-driven-development-with-visual-studio-2008-unit-tests.aspx

Programming Environment, Now In Color

Theming and fonting your Visual Studio 2008 environment is very important to being a happy and productive programmer.

Here is some help for you ...

http://www.hanselman.com/blog/VisualStudioProgrammerThemesGallery.aspx