I’ve got an internal customer running my WSS RSS feed generator (perhaps Scoble will be next?) and I’ve discovered a common issue with most news aggregators. They don’t handle feeds that require authentication. Windows SharePoint is designed to be a team collaboration tool. Obviously, part of team collaboration is not allowing non-team members access. I checked through the source code to RSS Bandit and discovered that while it handles many HTTP errors, including redirection and moved permanently, it doesn’t handle unauthorized. I was able to add support for credentials via one line of code (request.Credentials = CredentialCache.DefaultCredentials;). Of course, what I want is to try the default credentials first, then pop up a dialog to allow the user to enter alternative credentials. XP provides some of this plumbing, but I’m not sure how much is exposed via BCL.
Cool SQL Tool
I just added SqlBuddy to my tool list. It’s an IDE for SQL/MSDE. I’ve been looking for a low-impact replacement for SQL Server’s client tools that handles the >20% of features I need >80% of the time. As Mike @ Larkware mentions, it’s pretty immature at this point. However, it does have one (potential) killer feature – support for source control. Any changes to code – including changes to the DB – need to be in source control. The reason I say it’s a potential killer feature is that so far, it looks like it only has an option dialog for specifying your VSS location – nothing that I see in the IDE supports source control…yet.
XML Is Not Just a Deserialized Object Graph
One of the things I did in my latest version of WSS RSS was add a configuration file. I didn’t just use web.config since WSS has a tendency to overwrite it when you upgrade a new virtual server to support WSS. However, I didn’t go the usual route of parsing the XML configuration information into objects via serialization or some other mechanism. Instead, I just loaded up an XmlDocument and queried it with XPath whenever I need to read configuration information. I do this multiple times per web request (once per web and list in the feed).
This leads me to my point – I’m beginning to think the whole idea of XML serialization is off base. Given an object graph, I can serialize it into XML and then deserialize it into an identical object graph. However, I don’t think I can take an arbitrary XML document and always be able to deserialize it into an object graph. XML concepts like derivation by restriction are difficult to model in a strongly typed object model like CLR’s. And since I have XPath, I don’t think I want to always deserialize my XML into objects – it was much simpler to execute XPath queries than it would have been to manually traverse the object graph or build my own query mechanism.
The Matrix is Reloading
Picked up The Matrix Reloaded Soundtrack today. Haven’t given it a full listen, but it’s 2 CD’s and so far I like what I hear. Also includes the Animatrix trailer, Final Flight of Osiris trailer, the Superbowl trailer and a documentary on the making of Enter the Matrix. Day job stuff tomorrow means I wont be able to see the movie until Friday. So what will that make me, the last Microsoft employee in Redmond to see it?
Support for Web Services
To answer your question though, I am building WebService support into the [bug tracking] system.
[Jesse Ezell Blog]
Great! Looking forward to seeing the code or the app (depending on what you release)