Linkstation and Vista

by Jim Jan 26, 2008 2:21 PM

I write about solutions to random computer problems here in the hopes that someone will run across them on Google and save some time. Here's one that would have saved me some time if I had written about it the first time I had to fix it.

NotAccessible

I couldn't access folders with access restrictions on my Buffalo Linkstation from my new Vista machine. I had my user set up, and the multiple connections stuff didn't seem to apply.

I found this article that rang a bell for me. Vista has different ways of negotiating permissions over the network. Basically it doesn't use the old, less secure XP method, and the Linkstation doesn't support the new one. The steps in the above link (which didn't work for me, perhaps because I'm not logged in as administrator,) just change a registry setting.

Buffalo actually has a "patch" under the utility section of their downloads page (choose the linkstation option in the droplist.) This is just a registry key file which changes a single key:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\LmCompatibilityLevel

Change the value from 3 to 2 and restart. Presto, explorer logs in with the current user and password, as expected. Assuming that this has previously been set up on the Linkstation.

Facebook Case Sensitivity

by Jim Jan 22, 2008 10:17 AM

I just found out that the canvas page URL for a facebook application is case sensitive.

So if the application is at http://apps.facebook.com/myapp, then the URL http://apps.facebook.com/MyApp will not work. Be careful when sending out links to your application!

Tags:

VS2008 Web Project Conversion

by Jim Jan 20, 2008 12:05 PM

I just got a new machine, and when I tried to load my website project to VS2008, I got a COMException from the conversion wizard for the web project.

I found some references to this - apparently it's caused by the user account not having access to IIS. The workaround was to run Visual Studio with administrative privileges, but this didn't work for me - presumably because I'm running Vista Home Premium, which doesn't have IIS installed at all.

My solution was to switch the project over to Visual Studio's built-in web server on another machine, check in the changes, then open it on my personal machine. If you're upgrading to 2008 on a single machine, I guess the solution is to switch over before trying to convert the solution.

API Key & Secret

by Jim Jan 18, 2008 5:04 PM

I'm setting up the various versions of my facebook application and just discovered that the API key and secret strings don't have to correspond to the application!

The dev application can callback to a server that is set up with the security information from the production application, and facebook doesn't complain one bit. From facebook's standpoint these are two different apps, even if they have the same developer.

Since the developer(s) control the callback URL through the app configuration, I don't see a way to take advantage of this - or even a reason to have the keys to begin with. But why have them if they aren't enforced?

Tags:

Facebook.NET Dev / Production

by Jim Jan 18, 2008 11:42 AM

I'm writing my FB app for work, and I want QA to test it on the test server, not my dev box. Eventually, this will go to production, but we'll want to be able to continue developement and test updates and changes before they go live.

I'm guessing this would be a common scenario for all but the very simplest applications, even if you don't have a QA department. Who wants to test code on the live site?!

Because dev, production, and QA are all on different servers, it seems like the only way to hit them through facebook is to have different facebook applications set up for each scenario, with each pointing to a different callback URL. Of course each one has to have a different name: MyApp, MyAppDev, MyAppQA.

In order to set this up I want to rely exclusively on the web.config file for the application name, rather than putting it in the aspx file (as the example does,) or hard coding it in the code-behind. So I'm doing this in my page base class, in the OnPreLoad method:

protected override void OnPreLoad(EventArgs e)
{
    // If there's only one facebook application in web.config, use that by default
    if (fbApplication.ApplicationName.Length == 0)
    {
        FacebookSection section = (FacebookSection)
            System.Web.Configuration.WebConfigurationManager.GetSection("facebook");

        if (section.Applications.Count != 1)
            throw new InvalidOperationException(
                "Unable to load the application name from configuration.");

        fbApplication.ApplicationName = section.Applications[0].Name;
    }
    base.OnPreLoad(e);
}

Tags: