Wednesday, May 4, 2011

Overriding Internet Explorer Compatibility Mode for intranet sites

Many corporate environments (including my own) have the "Display intranet sites in Compatibility View" setting enabled. This means that, even if you use the new <doctype html> tag, your intranet site will render in Compatibility Mode. This means that Internet Explorer 8 will render your site in Internet Explorer 7 mode.

I found a fantastic summary of the decision tree that Internet Explorer uses when deciding how to render a page. Using this information, I tried adding the following tag to each page:

<meta http-equiv="X-UA-Compatible" content="IE=Edge"/>

This tag will override the Compatibility Mode settings and the browser will render in the most standards compliant way.

The downside of this tag is that it is not standard HTML, and will fail HTML validation.

Monday, May 2, 2011

Setting up a Google App Engine development environment on Ubuntu 11.04

  1. Install Ubuntu 11.04.
  2. sudo add-apt-repository ppa:fkrull/deadsnakes
  3. sudo apt-get update
  4. sudo apt-get dist-upgrade
  5. sudo apt-get install eclipse python2.5
  6. Launch Eclipse and install PyDev from http://pydev.org/updates
  7. Download Google App Engine from http://code.google.com/appengine/downloads.html
  8. Expand app engine code into source code folder
  9. Create a new PyDev Google App Engine Project (Ctrl+N)
  10. Set up run configuration
    1. Name your run configuration.
    2. Under "Project", add your Google App Engine Python project.
    3. Under "Main Module", enter the location of the "dev_appserver.py" script.
    4. Change to the "Arguments" tab and enter "${project_loc}/src" as first argument. After this argument, you may add all available additional arguments listed on the Dev Webserver documentation page. (Here, for example we changed the port where GAE is listening to 9999.)
  11. Run the project.
  12. Optionally use lib/django_1_2/django/bin/django-admin.py to create a new Django project. You will need to install Django first by running sudo python2.5 setup.py install