Archive for July, 2006
See you in a week!
I will be gone for the next week, as it is now my turn to take my vacation. I will be up in the copper country (as my grandfather used to say) for the next week, hanging out on Lake Superior.
See you next Tuesday.
Jason Mauss moving to Arizona
For the past several months, Jose Lema, Jason Mauss, and myself have been meeting in Stockton once a month for lunch. Unfortunately though, Jason is moving to Arizona on Friday, breaking up the original trio.
Wish him the best of luck in Arizona, and hope he doesn't burn up in the heat… he certainly isn't moving there for the cool weather.
Heatwave
Been quite hot out lately… temperature gauge on my car hit 116 today just on our way home from lunch.
Earlier in the week, had rented a lens I was going to use on my vacation this coming week, and it came yesterday. The ever beautiful Canon 70-200 2.8L IS. Yesterday, Trish and I went out for a drive along the delta and stopped to take a few pictures.
Beautiful lens, though has trouble focusing in low light sometimes, seems to get a bit of CA, and the IS is kind of noisy (though it might just be this one).
Windows CardSpace Sandbox on Community Server
I forgot to post about this a couple of days ago when it was launched, but wanted to mention that the CardSpace Sandbox went live a couple of days ago. It showcases the Windows CardSpace functionality in the .NET Framework 3.0.
If you have IE7 Beta 3 installed and the July CTP of NetFX3, you should definitely check it out. Or if you have a spare virtual machine sitting around, install it on there and check it out.
Very excited to see the first implementation of CardSpace is a Community Server based site! Eventually, we will be making some of the code public and releasing the authentication module once the framework RTMs. The CardSpace integration with Community Server is one of the things I will be showcasing and discussing at my talk at the Sacramento .NET User Group.
Qgyen.ExtendedUrlMapping for CS v2.1
Qgyen.ExtendedUrlMapping v2.1.60714
With the release of Community Server v2.1 Beta1, I’ve now packaged up a new version of my extended url mapping add-on. This add-on allows you to very easily map one URL within Community Server to another. For instance, it allows you to safely and easily move a blog in CS to the root of your site. You simply map / to match up to /blogs/myblog/. Or you can use it to move your photos to /photos/ from /photos/mygallery/. This allows for a quick and easy way to get CS from its default multiple blog, multiple gallery configuration to a single blog or single gallery setup, with a lot of flexibility.
This new version doesn’t contain any new features, but the API for how it works changed just slightly with Community Server v2.1. So, the previous release will not work on CS v2.1, and the new build of this module will not work with CS v2.0. Additionally, with CS v2.0, we’d found an issue with the ASP.NET 2.0 framework where pages were redirecting improperly, causing sites to disappear from search engines like Google and MSN. The work around to this was a different overload of a method in the .NET 2.0 framework, and this was implemented in CS v2.1. However, this module takes over that piece of code. To resolve this, the new release contains both an ASP.NET 1.1 build and an ASP.NET 2.0 build that correctly addresses the problem.
Download here (Updated the download URL)
This contains both a compiled binary for ASP.NET 1.1 and ASP.NET 2.0, as well as the source code/solution files for ASP.NET 1.1 and ASP.NET 2.0.
Community Server v2.1 Beta 1 released!
The moment everyone has been waiting for… Community Server v2.1 Beta 1 is now available for download. We've also posted Beta 1 builds of the News Gateway, Mail Gateway, and FTP Gateway add-ons in both .NET 1.1 and .NET 2.0. So download them too. There is also a Beta 1 release of the Security Modules (Windows Authentication, Forms Authentication, and Cookies Authentication), though the only notable change since v2.0 is to Windows Authentication… there is a fix to allow internal trackbacks to work properly (must have CS v2.1 for them to work, the new release won't completely solve the issue for CS v2.0).
Lightbox2 JS for Community Server
Qgyen.Lightbox v2.0.60712
Last week, I had blogged about my updates to the Lightbox module. Tonight, I finally got the chance to update it to be ready for release, and I also realized that it is compatible with CS v2.0, so I figured I release it now rather than sit on it.
This includes the regular lightbox module for any link, the Gallery specific module, and my new Flickr module.
For more information, please see the readme.txt file included in the download. Use of the module is the same as it was before, however now you can also assign the images to be in a set using rel="lightbox[setname]" as opposed to just rel="lightbox". Or for the Gallery module, you can add an additional piece to the call, so it looks like [ photo:1234:set=myset]. And with the Flickr module, you can assign a set, change the thumbnail size, and change the larger image size. For instance, you can use the following:
[flickr:http://flickr.com/photos/qgyen/168746763/
:thumbsize=square:detailsize=large:set=test]
Update regarding FlickrNet: I forgot to mention something about FlickrNet. It is not incredibly web friendly (hopefully can email the author and get a few changes made), but you need to override where it looks to store its cache. In your root web.config, you need to add the following section to the configSections part, or if there is no configSection piece, add it to the top of the web.config, right after the configuration section starts:
<configSections> <section name="flickrNet" type="FlickrNet.FlickrConfigurationManager,FlickrNet" /> </configSections>
And then add this line within the configuration section:
<flickrNet cacheLocation="e:\domains\qgyen.net\temp" />
There are a few other issues. First, if you are running under medium trust, with the default configuration, you cannot define configuration sections. Second, if you are in medium trust, the cache location will need to be somewhere within your application's directories. Medium trust often doesn't let you read or write outside of the application. Third, I am not sure if the cacheLocation can take the a string like "~/temp" or not. It would be worth a try, but I am not sure if it will work. So you may need to know the full path. I'm going to see about making a few tweaks to FlickrNet to make it more web-friendly.
Yet another odd .NET 1.1 and .NET 2.0 quirk
Tonight, we discovered a slight issue when using FeedBurner's click tracking along with Community Server v2.1. After digging into it, I quickly saw the issue, but then as I went a little deeper, realized it was more deceiving than I'd thought.
There seems to be a slight difference in the Uri class between .NET v1.1 and .NET v2.0. One new property in 2.0 is the "OriginalString", which gives you the original value that was used to construct the Uri.
FeedBurner's click tracking works by using URLs like this: http://feeds.qgyen.net/~r/krobertson/~3/http%3A%2F%2Fqgyen.net%2Farchive%2F2006%2F07%2F11%2FSome-changes-around-here.aspx
The part that gets screwed up is the "%3A%2F%2F", which when url decoded is "://". In .NET 2.0, the Uri class will collapse this to ":/", which is not the valid url.
To illustrate the issue with a simple, three line code sample, open up both Visual Studio 2003 and Visual Studio 2005, create a console application in both, and paste the following code. Set breakpoint, and you'll see the difference:
string orig = @"http://feeds.qgyen.net/~r/krobertson/~3/http%3A%2F%2Fqgyen.net%2Farchive%2F2006%2F07%2F11%2FSome-changes-around-here.aspx";
Uri uri = new Uri(orig);
string back = uri.ToString();
When you run this code, you'll find the the value of back is as follows:
.NET 1.1 = "http://feeds.qgyen.net/~r/krobertson/~3/http://qgyen.net/archive/2006/07/11/Some-changes-around-here.aspx"
.NET 2.0 = "http://feeds.qgyen.net/~r/krobertson/~3/http:/qgyen.net/archive/2006/07/11/Some-changes-around-here.aspx"
One of these is not like the other. So, is this expected behavior? Common sense tells me no, which leads me to think this is a bug in the .NET 2.0 framework.
So basically, as the code is now, it'll work under ASP.NET v1.1, but not ASP.NET 2.0. The fix for ASP.NET 2.0 uses a property that isn't in ASP.NET 1.1, the code isn't providerized, and using reflection to handle it could break medium trust compatibility. Ahh, the joys of version incompatibilities.
Some changes around here
Since Scott already kind of mentioned it, I guess it is ok for me to kind of mention it. Anyone who has been around Community Server for our past few releases might come to know that once Scott updates his site to the latest source, then that probably means a public release isn’t too far off in the future. Unfortunately, that is all I can say.
Have made a few changes around here though…
First, I’ve started using FeedBurner. I’m not doing much with it, but it is nice to use it to track some statistics and what not. Since Scott did it, I figured I’d try it out. For the basics, there isn’t a huge advantage, but you can do some things like extend your feed with their “flare,” or can get some good stats on subscribers and clicks. So for the record, my new feed URL is: http://feeds.qgyen.net/krobertson/.
Second, I’ve updated the build on my site again. I try to keep it fairly up to date, as actually using the software live is the best way to flesh out bugs and annoyances. The latest batch includes a series for fixes for CS in ASP.NET 2.0 under Medium Trust. We now have a built in emails job that uses System.Net.Mail instead of System.Web.Mail, fixed a few bits of code that were causing SecurityExceptions under medium trust, added full support for site-wide proxies and web.config defined proxies, and fixed a few issues with reader/roller when running under Medium Trust. Will likely be doing a write up on how to configure a server for Medium Trust with CS soon.
Third, updated my Qgyen.ExtendedUrlMapping library for single-blog sites in CS v2.0. This update is dependent upon CS v2.1, so will release it once v2.1 goes public. The update is related to an issue with CS and ASP.NET 2.0 causing sites to disappear from Google and other search engines. The bug was actually in ASP.NET, but there is a workaround that has been applied to CS v2.1, and I’ve updated the library to leverage it as well.
And finally, you may notice my site’s skin changed and is no one of the default skins from v2.1. Yes, I dropped my previous skin. To get it to work right (ie, skin the blogs, galleries, and files), I had to make changes to the root, side wide skin. Since I do fairly regular builds to my site, I don’t always keep up to date on skin changes. I know all about the pains of updating skins with new versions, trust me. A lot of skinning improvements will be made with v2.2. But for me, I update my build frequently, and skinning issues hinder that. Perhaps after v2.2, if we reach some of our goals, skinning issues will go away. In the meantime, one of the stock (but still very nice) skins is what I’ll have.
You never know what you’ll find in California
Today, we had our annual Family A's Game, where we all go, tailgate, and enjoying a good A's game. After the game, when we got back to the cars, we saw one of the most interesting vehicles I have ever seen.
Yes, a car covered in fur. You can find all sorts of odd things in California… especially in the Bay Area. This car is definitely one of a kind. Not sure what kind of fur it is, though we thought it might have been ostridge or something. Either way, it kind of smelled like wet dog around the car.
Interestingly enough, we were a small ways behind the car on our way home and the person exited in Berkley… kind of fitting.









