LegalStaffingGroup – Database Integration Complete

We just completed the integration of the LegalStaffingGroup.com front-end website with their back-office eEmpACT database.  As with many integration projects, the biggest challenges involve configuring the database and hosting servers to communicate with each other.  Once the connection can be established, it is a relatively straightforward task to perform basic queries and display specific content.

Jobs Directory pulled from eEmpACT database

Sample Job profile page, with content from eEmpACT database

PHP-MSSQL on Linux: Easier Than You’ve Heard

We’ve integrated in-house Microsoft SQL Server databases with public PHP web sites a number of times, now. Until today, this meant dealing with Windows VPSes for even modest sites, simply because we were unable to find a Windows shared hosting plan which permitted access to remote databases, and all the research I could find suggested connecting to MS SQL from PHP on Linux was an absolute mess.

Those days appear to be over.

yum install php-mssql

That, my friends, is all we had to do, thanks to the atomic rocket turtle repository and our earlier efforts to modernize our server.

GeoTol.com – Redesign Launch

Working with Malowany Associates, we just deployed GeoTol.com V2.0, an comprehensive, expansive website redesign for the Boulder-based tech training and consulting company, Technical Consultants Inc. The redesign is a huge upgrade from their 2004 site, and includes more than 80 content pages, a large product database, interactive quizzes, video demos and some fancy javascript interface design.

GeoTol.com V2.0

GeoTol.com V1.0

In the next couple weeks, we will be adding a full shopping cart and e-commerce functionality to the site.

Branding, branded website design, and content created by Malowany Associates. GeoTol.com is built on the WordPress platform.

LiveAnswerColorado – Website Launch

We just launched the new a new website, LiveAnswerColorado.com, to promote the answering service packages offered by parent company, Office Evolution.  The site features an original logo design and custom layout which conforms to the OE graphic standards.

LAC homepage

LAC homepage w/ Slideshow

LAC Plan Comparison Page

LAC Plan Comparison Page

LAC is built on the WP3 platform and employs many of the new custom post type features and functionality.

Radish Systems – Site Launch

We just launched RadishSystems.com, a custom, WP3 website for the Boulder-based iPhone app developers.  In addition to the standard site features (brochure-style pages, integrated blog), we developed a custom e-commerce system that fully integrates with their back-end application digital delivery system.

Radish Systems Homepage

Radish Systems Homepage

Store to be activated on formal product launch.

301 Redirects on IIS 6 with ISAPI_Rewrite

We just launched a new site for one of our clients, and one small improvement we made was replacing all the old and ugly (and not especially SEO-friendly) URLs like /cand_jobs.shtml with shiny new ones like /jobs. The catch here is that Google’s existing index refers to all the old URLs, and we risk serving up 404′s and losing Google juice if we don’t implement 301 redirects from all the old URLs to the new ones.

On Apache, the normal way to handle this is to add lines like this to your .htaccess:

redirect 301 /old.htm http://www.example.com/new

Unfortunately, in this case we aren’t using Apache–we’re using IIS 6. I could set up redirects from within IIS itself, but as far as I can tell that would require creating dummy files for each of our old URLs, and telling IIS to redirect each to their new URL, and I’m not interested in having a bunch of dummy files lying around waiting for someone to accidentally delete them. Instead, the smart way to approach the problem is via ISAPI_Rewrite, an IIS module which mimics some parts of Apache’s configuration, which we happen to already have installed.

Long story short, add this to your httpd.conf:

RewriteCond ^old\.htm$ new [R=301,L]

Why is such a trivial solution worthy of a blog post? Because it took me more than an hour trying different combinations of options to find one that would work. Why? Because ISAPI_Rewrite 2′s documentation has better Google juice than ISAPI_Rewrite 3′s, and I wasted my hour scouring the wrong one and following the advice of others running that version.