Saveen Reddy has posted a new version of his Export Visio to XAML tool on CodePlex. This tool is an add-in for Visio 2007 that exports the document to XAML for rendering with WPF. The tool uses Thierry Bouquain's svg to xaml converter.
I haven't tried it out yet but this could come in handy.
Today I went to view a webcast from Microsoft and realized I haven't watched one since using my new computer (I really should blog on that one. hah). I had to install the Live Meeting client, no big deal. While waiting for the download to finish I noticed one of the bullets in the terms of service. As with most of Microsoft's free stuff it included the standard "As Is" notice. But this one had an addition to the normal stuff. Here is the bullet full wording:
"The software is licensed "AS IS" without any warranty. You can recover from Microsoft only direct damages up to the greater of the amount you paid for the software/service or one dollar (US $1.00)."
So what's up with the $1.00 thing? If I could actually get $1.00 for every item I've downloaded from Microsoft over the years I bet that would actually add up to a pretty decent amount of cash. Hmm. I might have to keep this in mind for Christmas money next year. :)
“Done-done, as a client defines it, means that the development team is done with the feature (specified, designed, coded, unit tested), and the customer is done with the feature (acceptance tested).” source
One of my favorite Agile terms. And always a good state for a feature to be in.
Simone Chiaretta has a survey up for .NET developers. He is trying to gather some data on Ajax usage among .NET Developers. It's a short survey so fill it out if you have a minute. This is being done based on a previous survey that targeted all types of web developers. Go fill it out so we can get some more sample data.
My team has been using one of the "other" categories for AJAX so I'm interested to see if it makes the list. We have been using Tibco GI lately and have been very happy with it (Ahh, to live in a world with no PostBacks... how bliss). I'm hoping to find some time to start to integrate ASP.NET MVC with Tibco GI to see what that looks like. Not promising anything but hopefully I'll get some blog posts about it in the next month or so.
Peace
Kyle
Over the weekend Microsoft released the ASP.NET 3.5 Extensions Preview (direct download). For those that haven't been following this is a pretty highly anticipated CTP. The major components of the CTP include:
- ASP.NET MVC
- ASP.NET Dynamic Data
- ASP.NET AJAX
- ADO.NET Entity Framework
- Silverlight Controls for ASP.NET
The most exciting items in this release for me are ASP.NET MVC and the ADO.NET Entity Framework. Now if someone could only tell me why the hell this was included in something that is called ASP.NET Extensions!! ADO != ASP people!
ASP.NET MVC
For those of you that have been living under a rock for the last 3 months and haven't heard of the ASP.NET MVC framework here are some links to get you going.
- Scott Guthrie's Awesome MVC Series
- Fredrik Normén has a number of good posts.
- Scott Hanselman
- Rob Conery has several good posts
Once I can find some time I hope to dive into the MVC bits. I'm looking forward to seeing how I can combine Tibco GI and ASP.NET MVC. I assume it will be similar to Brian Walsh's approach with AJAX and the Spring Framework with Tibco GI.
ADO.NET Entity Framework
This is one I've been excited about for a while but haven't had much time to dive into the previously releases. I'm not sure what is different with the bits included with the ASP.NET 3.5 Extensions compared to the Entity Framework Beta 3 release. The download page on MSDN says that the ASP.NET 3.5 Extensions download contains the Entity Framework runtime so not sure what that is exactly. I should be diving into both of these very soon and if I can get some time I'm going to try to post some blogs on both topics.
For more info on the ADO.NET Entity Framework here are some links:
Hopefully I'll have some time to start working with both of these soon. And if possible I'd like to get some blog posts up on both topics.
Happy Coding.
Cheers. -Kyle
As most of you know Service Pack 1 for Visual Studio 2005 is a bit of a beast. I personally think it is the worst update for any Microsoft product I have seen in my 10+ years working with Microsoft products. The problem with the install is that it is a culmination of multiple product SKU updates in a single large file. Also because of the installation process the 430MB install requires upwards of 3GB of free space to install (see VS 2005 SP1 Requires a lot of Disk Space for more details). There are solutions to reducing the size of the installation process such as Disabling the Patch Cache or extracting the .msp from the .exe that is downloaded, but still the process of installing causes much problems in some situations.
I have one of those situations. I do all of my development in a Virtual PC environment. I use a modified setup of differenced disks in order to save space and reduce time to stand up a new development environment. See Andrew Connell's HOWTO: Use Virtual PC's Differencing Disks to your Advantage blog for details. Because there isn't a way to compact disks which are differenced from another disk it is important to reduce the size of the VHD which has my development tools installed. (If anyone knows a way to compact difference disks please tell me.)
Because the Visual Studio 2005 Service Pack 1 installation requires so much room to simply install my second level VHD file grows far larger than it should. I attempted to install the update using several methods and usually ended up with a VHD that was almost 4GB in size. Keep in mind this VHD should only contain the installation of Visual Studio 2005, not including the MSDN libraries. In my opinion this wasn't acceptable. Luckily Heath Sterwart posted instructions on how to slipstream Service Pack 1 into the Visual Studio 2005 Installation, here is the post. Since I spent a few years as an NT admin (props HPS) before focusing on development I was pretty familiar with the process. One note though, Heath's steps are not all that clear, Richard Rudek posted a clearer break down of the process.
After using the slipstreamed installer my differenced VHD, which contains VS 2k5 with SP1, is only 1.7GB in size. So this little trick saved me over 2GB in completely wasted space, I would say that is a pretty significant improvement. I did however run into one problem. Since I work with Team Foundation Server I need to install the TFS Client (Team Explorer). Team Explorer is not included in Visual Studio 2005, however Service Pack 1 for Visual Studio applies to Team Explorer (amongst others, see the Patch Applicability Browser to find out what will be updated on your machine by the SP). This creates a situation where in order to install Team Explorer and have the Service Pack applied to it you must run VS 2k5 Service Pack 1 (yes, the 400+ MB file that requires 3+ gigs of space!). This in my opinion was unacceptable and completely negated the effort of slipstreaming SP1 into the Visual Studio 2005 installation. Luckily there is a solution.
Slipstream Visual Studio 2005 sp1 Into the Team Explorer Installer
The process is very similar to the process for slipstreaming sp1 into the VS installer. Here are the steps:
1. Make sure you have the official release of Team Explorer.
It can be downloaded free from MSDN or copied from the TFS install CD.
2. Download and unpack the .msp patch for Service Pack 1 from the .exe wrapper if you haven't already.
C:\>VS80sp1-KB926601-X86-ENU.exe /extract “%TMP%”
3. Create an Admin install for Team Explorer (Note, this is the vs_setup.msi from the .img file from MSDN or the TFS CD).
C:\>msiexec /a vs_setup.msi TARGETDIR=\\Server\Share /L*vx "Install.log"
4. Apply the Service Pack to the network install.
C:\>msiexec /a "\\Server\Share\vs_setup.msi" /p VS80sp1-KB926601-X86-ENU.msp /L*vx "patch.log"
5. Install Team Explorer from the network path by running setup.exe.
You may be prompted to insert the original Team Foundation Server CD during the installation. This is the original setup folder without the service pack slipstreamed into it.
6. Done!
This little trick saved me a ton because I kept running into a bug in the TFS Client that was fixed with SP1. Next I'm going to try to slipstream the TFS Client directly into the VS 2k5 installation. This would let me have only one installation point for Visual Studio 20005 to maintain for future service packs. Hope this little trick helps someone out there. And hopefully updates for VS 2008 will be much better than this experience.
-Kyle
This is my first post from my new work machine. It seemed appropriate to post about the little bit of struggle I had to go through to actually get it done. :)
First off, if you aren't using Live Writer yet check it out. I've been using it for a while and have been pretty happy.
So what's the issue with getting Live Writer running on x64? If you check the release notes you'll see that "64-bit is not supported for beta 2." This isn't entirely true. The Live team is using an installer package that doesn't run on x64. If you get your hands on the actual MSI packages for the individual live installs they work on x64 (at least the ones I've tried).
I first found the post from Ed Bott's talking about a work around. He basically gave some more details of the post on LiveSide.net. This seemed like a bit of work but I figured I could use a Windows XP VPC install to get the MSI packages (since the VPC is running as x86). This all seemed fine and good but when I went to install the app the Windows Live download service was down (AARGHH!). So after looking around a little more I found yet another way to get the MSI, and this one was much simpler! On one of the MSN groups forums someone posted info on how to get the Live Writer MSI directly from the live.com site. I guess this is a different URL then what the WLinstaller.exe installer uses.
To make it even easier for others I put together all the links for the individual Live installer packages (I'm sure these will change but it works for now).
This should save you a bit of time for getting the installers downloaded and installed.
Enjoy.
-kf
Update: Well, looks like they've fixed this. A coworker sent me the URL to the new installer. I tried looking for it on the Live site but it wasn't there. Here is the URL if you're looking for the newer installer that works on x64. Cheers.
I was doing some searching for ASP.NET Page Event Life Cycle stuff and came across John Sheehan's page. He's got a few PDFs of all those little things we forget like string formatting or what the shortcuts are for built in snippets. They're handy if you need a quick reference.
.NET Cheat Sheets
If you haven't seen this yet check it out. Scott Guthrie has announced that the source code for the .NET Framework Libraries will be available with the release of .NET 3.5 and VS 2008.
This will allow you to debug the .NET Framework libraries within your application. Pretty freakin sweet if you ask me! Check out his post for more info.
So Tech Ed 2007 has started and I'm lucky enough to attend again this year. It's been a little slower day then I had hoped. Woke up to chilly rainy weather in Boston. Then as usual was running super late for the airport, got there with about a few minutes to spare. No real issue though because the flight was already delayed at that point. Only bonus was I got bumped up to first for the flight (Yeah Status!).
After a major delay I finally made it to Orlando around noon. After waiting for about a half hour for my kite bag I finally made my way over to the convention center. After making it to the convention I hooked up with my buddy Jeff and Matt. Hit one session on K2.net and workflow, unfortunately this was pretty much a marketing show with no real content. Last session of the day was Database Design Patterns. Good session. Speaker was good and learned some new stuff.
Hitting the Jam Session tonight after dinner so should be a good time.
Microsoft has released some great Visio documents covering a ton of SharePoint 2007 topics. These are poster-sized documents that cover everything from overviews of the various technologies used in a SharePoint 2007 deployment to flowcharts breaking down deployment and upgrade scenarios. So far my favorite one is Model: Office SharePoint Server Application Security
. This document breaks down the nitty gritty of SharePoint security.
For any interested in security topics here is a good presentation over IPv6 security. The talk discusses some of the known vulnerabilities in the new version of IP and highlights the THC-IPV6 Attack Toolkit which assists in creating attacks on the new protocol. Looks like fun stuff. :)
http://www.secguru.com/link/attacking_the_ipv6_protocol_suite_video
The other day I ran into a situation that I'm sure is pretty common these days.
How do you keep .NET XML proxy classes up to date for web references across projects in a team development environment?
My situation was even worse because the project which currently contains the web reference is actually used in a Visual Studio 2005 solution. Which means I can't even use the Update Web Reference option from Visual Studio if the service changes (I should have a post out soon explaining this setup).
So after giving this some thought I realized we could just generate the proxies outside of Visual Studio using the wsdl.exe utility whenever the service contract changes. (This is basically what I'm doing now but I'm using VS 2k3 to do the generation / updating). So since we can do this from a command line we have a few options.
- Include a call to Wsdl.exe in the build process
- Integrate the creation into the check in process
Obviously I like option two better but since the client I'm at currently doesn't have a full fledged Continuous Integration setup in place option one is our only choice.
So, how do we do this? It's really pretty easy. Since we are using NAnt for the build process we can just hook in some calls to generate the proxies inside the build script before the assembly is compiled. Conveniently enough this scenario has already been dealt with by the folks working on NAntContrib included the <wsdl> task. This was included to handle this exact scenario.
Here's an example of using the <wsdl> task:
<wsdl path=".....\myservice.wsdl" language="CS" namespace="MyCompany.MyService" outfile="MyService.cs" urlkey="WebServiceLocation">
Path can be a URL or a file path.
I've been pulled in another direction this week so I'm not working with that team anymore but I'm going to recommend they use this approach. If they run it it I'll grab a more complete example and post it.
If you're not familiar with the Wsdl.exe utility here are a few links from Microsoft.
Creating an XML Web Service Proxy
Web Services Description Language Tool (Wsdl.exe)
I always forget this so just posting to remind myself later. :)
SELECT SERVERPROPERTY('productversion'), SERVERPROPERTY ('productlevel'), SERVERPROPERTY ('edition')
Also the this command will get a the basics.
SELECT @@VERSION
Sources:
Q321185 HOW TO: Identify Your SQL Server Service Pack Version and Edition
SQL Server Service Packs and Versions
So these days I've been doing a lot of work with authentication and authorization with Reporting Services 2005. I've found out some interesting things lately (blog posts coming soon). Just wanted to ge thes links up for now.
Introducing Reporting Services Security Extensions: Good overview of what's going on.
Authorization in Reporting Services: Good detail on what happens when a user hits the Report Server to access an item.
Cheers
-K