Something I used to do, when browser differences were almost ridiculously difficult to manage, is use the worst browser as my primary browser. Winner of the “Worst Browser” award changed hands often, but these days it’s championed by the corporately entrenched yet sorely outdated IE 6. The fastest way (for me) to test IE CSS layout and rendering issues, is every-step-of-the-way, locally, and as I build. As a Mac-based developer, my development time is greatly sped up if I can review work locally via Parallels (or some other Windows emulation). The problem: Parallels is a guest operating system, intended to have it’s own identity on your network. Locally served sites are not automatically accessible via Parallels right out of the box.
The good news is that it’s not hard to make your locally served websites accessible, it’s just a matter of choosing the method that suits your needs. Unfortunately there’s a lot of information on this topic out there that doesn’t quite give a complete solution, and I think some of the solutions out there are based on an older version of parallels.
So, without further ado, here’s how I’ve setup Parallels 3.0 for Mac with a guest OS of Windows 2000 and a series of websites served locally on the mac via MAMP Pro.
Please don’t hesitate to leave a comment on this post about your own experiences, this is by no means exhaustive and does not account for firewall settings, and probably many other factors. I am by no means qualified to do more than just report what works for me, and would welcome expertise on the subject here.
Update
Parallels 4.0 is out now, I managed to get the setup above working there too, however there are some modifications.
This is a continued story from previous posts, all tagged web app dev.
Ah, this is getting cleaner now. I’m really enjoying the scaffolding feature of Code Igniter. It’s a little set of controllers and views that are purely for providing a web interface to administrate your database tables. Yes, I can interface with the database directly (I use the Sequel Pro GUI app), but having these web interfaces auto-created just feels easier.
I’ve added on to the scaffolding by creating a little menu page so that every table can be accessed from a single starting point. It’s like an adhoc admin tool for initial data entry. Of course this is only meant for local development, the scaffolding will be removed prior to going live since it’s a wide open door to the database. Meanwhile, the open door is making things so much simpler!
This is a continued story from previous posts, all tagged web app dev.
The last couple days I’ve had the privilege of being able to share my database schema and intentions with a real application developer. He pointed me towards some simple, yet important conventions - perhaps most critically, a logic for database table creation that included the use of relationship tables to associate bits of information with other bits of information (especially where the relationship is one to many or many to many). For example if I have a page table, and multiple slots can be on a page - it’s best to setup a page-slot relationship table that is solely used to associate page ids with slot ids and perhaps sorting numbers. This is a shift in approach that prompted to me step back and diagram my schema again. I broke out the OmniGraffle and used a Rails database stencil (it looked nice) to map my tables. I now have 10 content tables and 5 relationship tables.
This in turn reminded me how new I am to all of this - and so I’ve decided to archive my pre-existing code (it would have to be re-written anyway), and start with a fresh install of Code Igniter (CI). The complications I created previously by trying to subvert the way CI handles URLs seemed not worth-while now, especially given the benefit of doing things cleanly and with as standard a method as possible.
So I feel rejuvenated by a fresh slate, cleaner approach - but much work is needed. I do feel that this is now more “portable”, and less hackish. Lets see if I can keep it that way.