28
December 2009

Navigator Alchemy

Written by Tim Blair White
avatar

In my previous post, Navigator Product Launch, I detailed the project scope and features of the new Navigators from a high level.  This post will detail the technical alchemy used to pull the whole system together.

The new Navigators were completely re-designed and re-built from the ground up on the in-house developed proprietary CMS and API – the Node Mesh – which is an object relational database running on MS SQL Server.  The middle-wear was written in PHP5 to take advantage of the Node Mesh and our deep repository of PHP5 objects.  The presentation layer and CMS were both built from scratch using advanced CSS, Ajax, Ext JS library, JSON, Flash and XML.

Node Mesh Implementation

The Node Mesh provides a very flexible database structure which can be accessed using lazy reads from PHP5 without writing a single line of SQL code.

Given the overall complexity of the database schema for the Navigator project, having the Node Mesh greatly assisted moving the project along as the schema expanded and became more complex.  Here is a diagram of the Node Mesh in use for the Navigators:

Navigator Node Mesh
Navigator Node Mesh – Click for Larger Image

The mesh structure of the database provides an extremely flexible system without the necessity of re-writing large areas of the code base to accommodate new changes in the future.

System Overview

The Navigator system is actually comprised of a number of different components:

Navigator System
Navigator System – Click for Larger Image

Clickability is the company’s Web Content Management (WCM) platform which was adopted earlier this year to power all of the company’s websites except the Navigators.  The Marketing and IT teams have successfully rolled out four websites on Clickability this year (see image above).  Clickability is used as the content platform for News, Blogs and CIO Interviews which are consumed by the Navigator system using the Clickablity API.  This allows those content items to be shared with any other web property powered by Clickability.

Web Services is used to connect to a 3rd party Grants database for exposing grant information within the Navigators.  Simple HTML fetches are used to consume 100s of eRate bids daily (a type of education id) and display them as well.

SalesForce was rolled out as the company’s CRM standard this year across all sales units and is used in the Navigator system as follows:

  • Account Management – all Navigator accounts are just SalesForce Accounts with custom fields for contract information.  Custom workflows were created to move Navigator Accounts into “renewal” and “expired” phases and to alert the appropriate sales staff.
  • User Management – all Navigator users are simply SalesForce Users with custom fields for Navigator user information.  New user emails can be generated and sent, as well as the management of trial users with automatic workflows.
  • Support Cases – when Navigator users submit support requests they are pushed up to SalesForce and automatic cases are created and then dealt with by the Member Services team.  Automatic emails are generated and sent to the end-user and support staff.
  • Custom Research Cases – when Navigator users submit custom research requests they are pushed up to SalesForce and automatic cases are created and then dealt with by the Research team.  Automatic emails are generated and sent to the end-user and support staff.

The communication with SalesForce utilizes triggers within SalesForce to initiate requests within the Navigators which in turn use the SalesForce API for effecting changes within SalesForce.

The Navigators use a custom C# application running in-house to manage the hourly, daily or weekly e-mail pushes to Navigator users who wish to receive news, blogs and bid information, based on their exact preferences, by email.  The email gateway used is the PowerMTA system from Port25.

A custom Cron synchronizing system was built using PHP5 to manage the syncing of data between the Navigators and Grants, eRates and Clickability.

Summary

The Navigators are very sophisticated, data centric web applications which provide a vital service to the clients of the Center for Digital Government and Education.  I am very excited about the new platforms as they were designed to allow the rapid extension of new features without the headache of “complexity creep”.

Leave a Reply