CMS News From Tech Ed
posted on 2005-06-08 at 00:38:06 by Joel Ross
I attended both of the CMS sessions at Tech Ed, and there was some very good information provided, but better yet, both sessions had some big news announcements.
I was going to write up a post, but instead, I'm just going to point you to Andrew Connell's posts:
1. Skelta news (this is very cool!)
2. CMS SP2 and vNext.
I got a chance to finally meet Andrew. For those that don't know about him, he's one of a very few MCMS MVPs and he's working on a book right now.
Categories: ASP.NET
RossCode Weekly
posted on 2005-06-06 at 11:18:16 by Joel Ross
Biggest news came out at the end of the week - There's a world wide developer conference next week and there'd been no rumors about Apple - until Friday. Then the biggest rumor of them all - on Monday, Apple will announce they'll support Intel processors and drop the Power PC chip. Will Apple finally give up
Longhorn not built on .NET? Is this really news? Yes, apparently there were plans to have more managed components, but the way it's been spun, it sounds like people expected the whole OS to run on the framework. How would that work? What would the framework run on? DOS?
Microsoft will eliminate the "My" from folders. Now, how will I know who's folder it is?
It's not technical, but "Deep Throat" outed himself this week. The Washington Post wouldn't confirm or deny it, but it seems pretty likely that this is Deep Throat. But wait. In the movie, wasn't Deep Throat a woman?
Yahoo! released Mindset to beta. It allows you to search, and then modify how the results are sorted by your intent. For example, search for asp.net blogging software, and you'll get a slider to change your intent from shopping to research. Shopping highlights Community Server, dasBlog and .Text. Research shows you lists of blogging software comparisons. Now, where's Google's answer?
There's a new open format for Office documents based on XML. Most people are looking this as "About time!" but not all feel the same way.
There's a new top level domain - xxx. They're hoping to get porn sites to move over to it, so everyone knows it's porn.
Longhorn eliminates the BSOD. Now, we get the RSOD - it's red!
Dave Koch is missing in Vancouver and the call has gone out to the blogosphere to help. If you can, help how you can, even it's spreading the word.
The latest start.com aggregator is up, and you have to answer some trivia to get to it. It's pretty cool. I'm still not sold on online aggregators, but this one has some very cool features.
Last, but not least, I'm in Orlando for Tech Ed! I'll be taking notes and posting them at some point. I'll probably be posting information about the sessions I attend as well as some of the people that I've met here.
Categories: RossCode Weekly
Automatically Adding Projects To CruiseControl.NET
posted on 2005-06-04 at 01:02:56 by Joel Ross
I recently set up a build server for my personal projects that includes CruiseControl.Net, Vault, and Dragnet. I'll be putting my blogging tool on there, as well as a few other things I have been putting together.
Anyway, one of the pains of setting up a continuous integration server is adding new projects. Most of the time, I have to TS into the server and change the ccnet.config file to include the new project and I usually end up leaving the file checked out on the build server, and never check it in. That means I never get the latest version under source control. I know - I should just check it in, but I don't.
I also don't typically have a nice editor on my build server to manage the editing of the config file. Notepad is nice, but VS.Net is better! So, my idea was to create a project in CruiseControl.NET that would monitor the ccnet.config file, and reload it if the file changes. Thus, I can change how a project is watched, add projects, or remove projects.
First, I configured CCNet to use a ccnet.config file in my source control tool. I put it in the $/BuildProcess folder. The first project I added was my build process project. It watches the $/BuildProcess folder and when something is changed, it calls my build file. Here's the build file contents:
<project name="BuildProcess" default="Go">
<target name="Go">
<exec basedir="." program="vault.exe" commandline="GET $/BuildProcess/ccnet.config -host [host] -username admin -password [pwd] -repository [Repository] -destpath C:\Source\BuildProcess\"/>
</target>
</project>
Basically, all I do is get the latest version of the ccnet.config file. The CCService reloads this file and you have any updates you added, so if you add a project, you can have it start being monitored remotely!
One word of caution: If you screw up the config file, you're done. You'll have to go onto the build server and fix the problem there, since CruiseControl.NET can't load it's config file.
Categories: Development
Generic Collections in .NET 2.0
posted on 06/04/05 at 12:07:26 am by Joel Ross
I'm starting to dig into Generics and collections for the Tourney Bracket Control. We have a number of collections that we use, and before, we had a lot of (generated) code wrapped into those collections. With generics, we can eliminate most of that code.
Each of our collections has an "Owner" property, which allows us to walk the bracket hierarchy - go from a round to it's containing group, or from a match up to it's containing round. Based on these requirements, I need to have a custom collection and can't use a generic list, but I still want the maintainability of generics. Well, it turns out you can inherit from a generic collection and make a typed collection:
MyTypedCollection : System.Collections.Generic.List<MyTypedObject>
You can inherit from a generic collection, specifying a particular type when you do so. Now I can add my methods and properties that I need for each collection. I cut my collections down from a few 100 lines of code to less than 20. Nice!
Categories: Blogging
The Polymorphic Podcast
posted on 2005-06-03 at 22:59:04 by Joel Ross
I've started listening to quite a few podcasts lately, but The Polymorphic Podcast is different than most I subscribe to. While shows like DotNetRocks and The Microsoft Developer Show are technical in nature, the Polymorphic Podcast is technical. He gets into code samples and really discusses implementation details. It's a great podcast, and if you're a developer, you might want to check it out. The podcasts are short (15-30 minutes each) and I've listened to the whole archive over the past two days.
Thanks to Jason Salas for pointing this one out in his June 2nd episode of Digital Pontifications.
Categories: Podcasting
Learning BizTalk Server
posted on 2005-06-03 at 22:55:56 by Joel Ross
In a sudden change of events, I'm now learning BizTalk Server. This changes my planned Tech Ed sessions a little bit!
Anyway, I spent the past two days going over the Tutorials. They're pretty good at teaching you the ins and outs of setting up schemas, mapping schemas from one to another, setting up orchestrations, defining ports and messages, etc., but I don't think I'll truly Get It until I have a real-world problem to solve, which is coming after I get back from Tech Ed.
I don't tend to pick up things quickly following directions. I'd rather have to design the orchestration myself and then use the tutorial instructions as a guideline for telling me how to do what I need to do. That's how I learn the best.
I will say that so far, I'm surprised by how manual the deployment process is. I'm used to ASP.NET, where you code, build and use. With BizTalk, you code, build, deploy, enlist, and start. And you have to enlist and start in order.
I'll probably post updates as I come across some "ah has" along the way.
Categories: Software
AJAX, Revisited
posted on 2005-06-03 at 22:47:14 by Joel Ross
I've been thinking about a couple of things with regard to AJAX lately, and I'm starting to change my tune on the whole thing.
Remember, first I said I didn't think it was worth using, and even highlighted a couple of posts about the problems of using it. But after some reflection, I'm reconsidering that stance. Why? The two biggest downsides I see with AJAX are cross-browser/platform support and the inability to use standard browser functionality to navigate pages, such as the back button, bookmarks, etc.
First, the cross-browser/platform support. This can be alleviated by frameworks built by companies that have the resources to make sure the framework works across browsers and platforms and is flexible enough to adapt to the current configuration. Microsoft, Google, and Sun should have those resources. We just have to wait for the frameworks to mature.
Second, the ability to navigate pages using standard browser features and bookmarking. But is this an AJAX issue, or is this a lagging technology issue? Why aren't people saying that browsers are behind the times in supporting AJAX-type navigation? Should we limit our ability to develop interactive web applications because the browsers aren't up to speed? Yes, I know there's more to it than that (how do you "undo" a javascript call to a server), but shouldn't we let technological advances in web technology push browser development further?
Maybe I'm off base here, but I think we'll see more and more AJAX-type applications in the future (I'll even be working on one in a week or so). If I'm right, then the tools surrounding it will have to start advancing!
Categories: ASP.NET
Hosted Visual Studio
posted on 2005-06-03 at 22:40:15 by Joel Ross
Gux over at sqljunkies has a link about using a hosted service to try some hands on labs with Visual Studio. If you want to try out some new products, you can log on and give them a test drive without having to install the software or get a VPC image with it.
A client of ours is trying out BizTalk Server this way, and he said it's been a great experience. I'll have to give these a whirl someday.
Categories: Software
Open Source Development With Sourceforge
posted on 2005-06-03 at 22:37:41 by Joel Ross
Phil Haack has a great post about getting set up to do open source development using Sourceforge. He's starting up SubText, a branch from the .Text source, and is using Sourceforge to do so, so it's pretty fresh in his mind.
The only thing I would add is to use the CVS SCC Plugin to do development in VS.NET and be able to check in and check out seemlessly.
Categories: Development
Screencasting as UI Testing
posted on 2005-06-02 at 11:03:20 by Joel Ross
I got the chance to listen to the return of the Gillmor Gang today, and it was pretty good. The guest was Adam Curry, and he did an OK job of keeping up with the intellect of the Gang. I did notice one thing though - either I'm getting smarter or this episode was more down to earth. I understood it better - maybe because the topic was something I am familiar with - podcasting and aggregators.
Anyway, I forget who mentioned it, and forgot to look at my Pocket PC to see what time the comment was made, but my guess is it was around the 35-40 minute mark. Anyway, they got to talking about screencasting, and Adam mentioned how they used it with Cast Blaster to watch users install it. Now, that's a very cool idea.
We talked about bringing in some outsiders and having them walk through the mortgage process to see how they interacted with the site, and see what things they didn't quite get. This would have been hard to do with more than two people, as we had one person who would be watching them, but with screencasting and a high level script for them to follow, we could have gone back and watched where they struggled.
On top of that, we could use that for testing. Instead of writing down the steps to reproduce an error, you just record a screencast (potentially with sound even) of how to reproduce the error, and attach it to your bug tracker.
Categories: General