Archive for July, 2008

Brevard user group meeting time

Brian LeGros | July 26th, 2008 | programming  

Well, this week I’ve gotten one step close to organizing a Brevard RIA/web developer user group. I hope to have our first meeting on August 21, 2008. I’d like to have the meetings every 3rd Thursday of the month starting @ 8:00 PM, lasting for about 1 to 2 hours based on the topic. Short of finding a place beachside or near 95 that is open in the evenings and has wifi, we’re going to stick with House of Joe for now on 192, next to the Melbourne Mall. Initially it looks like it’ll be a small group of us, so I’m not too worried about space being available. The new Florida Creatives group for Brevard looks like they are going to meeting on the 3rd Tuesday of the month, so that may cause some conflicts initially, but since I have little visibility for the group as of yet, we’ll see how it goes.

Now we need to just work on a name/acronym so I can get a domain and blog up. Here are some of the suggestions we have thus far:

  • Brevard Area Developer of Rich Internet Applications (BADORIA)
  • Brevard Network of Developers and Enthusiasts (BNODE)
  • Brevard Developer Web Group (BDWG)
  • Brevard Area Rich Internet Application UG (BARIA)
  • Brevard Rich Internet Application UG (BRIA)
  • Brevard Rich Internet Application Developers (BRIAD)
  • Rich Internet Application Techies (RIAT)
  • Web Brevard User Group (WEBBUG)
  • Brevard Area Web Developers (BAWD)
  • Beachside Developers (BSDEV)
  • Rich Internet Application Brevard User Group (RIABUG)

I’d like to have Brevard and something like Web or RIA in the name, but I’m still undecided. Does anyone has any suggestions? I’m open to ideas.

ASP.NET MVC URLs in IIS 6 using Ionic ISAPI Rewrite Filter

Brian LeGros | July 24th, 2008 | programming  

Ok, so I am totally swiping this from Ben Scheirman's blog post, but I thought I'd consolidate my comments on his post into a summary post. I've been working with ASP.NET MVC for a month now and everything has worked out as expected when I run my applications from the built-in IIS instance in VS2008. When I deploy to my local development environment, however, I run into the well know URL issue associated with using IIS 6.0. I dug into scraping the interwebs and found Ben's post as well as a post from Steve Sanderson. Both posts did the trick to help me fix the problems I was experiencing. Please keep in mind, since this is a PoC project, I have no budget, but I was able to find a solution using OSS.

+1 Ionic Isapi Rewrite Filter

Here are the steps I went through to get things working:

  1. Install Ionic's ISAPI Rewrite Filter into IIS
    1. Download version the file IonicIsapiRewriter-1.2.14-bin.zip and unzip it.
    2. Copy the IsapiRewrite4.dll file under the /lib folder to C:\Windows\system32\inetsrv.
    3. Create a file named IsapiRewrite4.ini and copy it into the C:\Windows\system32\inetsrv folder.
    4. Use the following template for the INI file. This will be used to rewrite URLs to include a .mvc extension so that incoming HTTP requests will be routed to ASP.NET:

      1. # empty URL gets mapped to home controller
      2. RewriteRule  ^/$  /home [R]
      3.  
      4. # needed for URLs one token deep
      5. # map controller parts of urls to .mvc, ignoring the content directory
      6. RewriteRule  ^(?!/Content)(/[A-Za-z0-9_-]+)$   $1.mvc  [I]
      7.  
      8. # needed for URLs more than one token deep
      9. # map controller parts of urls to .mvc, ignoring the content directory
      10. RewriteRule  ^(?!/Content)(/[A-Za-z0-9_-]+)(/.*)?$   $1.mvc$2  [I]

      NOTE: We need two rewrite rules to account for URLs one token deep that do not have a trailing slash. For example, if we excluded the 2nd rewrite rule, the url "/home" would be rewritten internally to "/home$2". I'm not sure if this is intended behavior (PCRE rules don't seem to agree when I try rule 3 here with the previous example), but adding the 2nd rewrite rule prevents this from happening.

    5. Under "Properties" on the website you've created in IIS (via the IISAdmin), select the "ISAPI Filters" tab, and click the "Add" button.
    6. Use "Ionic Rewriter" for the value of the "Name" field, browse to C:\Windows\system32\inetsrv\IsapiRewrite4.dll for the file, and click OK.
    7. Stop the IISAdmin service then start the World Wide Web Publishing Service on the machine.
    8. NOTE: There are more detailed installation instructions in the download with more options, these are just the steps I took.
  2. Create a mapping for the ".mvc" extension in IIS to instruct ASP.NET to service these HTTP requests.
    1. Under "Properties" on the web site you've created in IIS (via the IISAdmin), select the "Home Directory" tab, and then click the "Configuration" button.
    2. Under "Wildcard Application Maps" click the "Insert" button, browse to the file C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll for the value of the "Executable" field, uncheck the box "Verify File Exists", and click the "OK" button.
  3. Add the following method to your web application's globals.asax.cs file in the Globals class:

    1. protected void Application_BeginRequest(Object sender, EventArgs e)
    2. {
    3.    HttpApplication app = sender as HttpApplication;
    4.    if (app != null)
    5.    {
    6.       if (app.Request.AppRelativeCurrentExecutionFilePath.Contains(".mvc"))
    7.       {
    8.          app.Context.RewritePath(app.Request.Url.PathAndQuery.Replace(".mvc", ""));
    9.       }
    10.    }
    11. }

  4. Restart IIS just to be neurotic, like me.
  5. Build, publish, and load your application up in a web browser to give it a try.

Using these steps, I was able to get ASP.NET MVC URLs working on IIS without having the change my routes, which was ideal for me. When the upgrade for IIS7 comes hopefully I won't have to do anything too involved.

I hope these steps are helpful to those who want to try to the same thing. If I left anything out, please let me know. Best of luck!

More updates about the new Brevard user group

Brian LeGros | July 20th, 2008 | programming  

Well, after some searching, I've decided to give House of Joe on 192 next to the Melbourne mall a shot for the first meeting of the Brevard user group I'm trying to start. It's open until 11:00 PM on weekdays and has free wifi, so hopefully it'll work out. Thanks to Sebastian for the suggestion.

I've been doing some thinking about the focus on the group. I've decided that rather than focusing exclusively on Adobe technologies, I'd like to shift the focus to rich internet technologies (RIA) including Flex, AIR, AJAX, and possibly Silverlight. I've been messing a lot with jQuery recently, and just like the rest of the masses, I can't get enough of it; I'm sure there are others that feel the same way too. There are other cool APIs that'd I'd like to mess with including the spread over at Google (Data, Charts, Maps, etc.) that can fall under the umbrella of the RIA buzzword as well.

Based on the audience I've seen in Brevard and the types of jobs I see advertised on the job boards, I think this type of group will have a better chance at growth than just an Adobe focused group. My next goal is to pick a day and time that we can meet, then the first meeting's topic, then a hopefully a domain and website. Initially I'm going to focus on just meeting up with people and hacking away at code, but if we get more people joining us, then maybe we can start doing presentations too.

Keep a look out for more info as I continually try to get my act together, and fail at doing so. ;)

Anyone interested in an Adobe group in Brevard?

Brian LeGros | July 7th, 2008 | programming  

As the Adogo has grown over the last year, I've noticed that a few people, like myself, make the trek from the Space Coast into Orlando for our monthly meeting. In an effort to bring the work of the group to Brevard County, I was wondering if anyone would be interested in participating in an Adobe group locally? Initially I'd be interested in just getting together a local coffee shop or pub and doing hackfests with Flex, ColdFusion, AIR, and whatever else we can get our hands on. As attendance grows, maybe we could get into presentations, but until then, I'd like to keep it layback. I'm still looking to stay involved in the Adogo, but who can turn down getting away and coding for a few hours each month.

I'm looking for spots to have the meeting still, but things close pretty early in the Melbourne area; does anyone have any ideas about good joints that could support us? I'm looking into Charlie and Jake's in Suntree or possibly the Sun Shoppe Cafe (coffee shop) in downtown Melbourne. I'd love find something beachside, but I'm not sure where to look. If people are interested we also need to come up with a name, date, and time. Any suggestions?

As I put together more information, I'll post about them here. Please comment and let me know if you would attend. Check back soon for more details.