CNI Legacy Site Proposal

I have been asked to help move CNI’s legacy web site to the new CNI web server in such a way that it can still be used to fulfill requests for pages that are not on the new site. This will allow for graceful failover of legacy URLs so that web browsers can still find CNI pages with links that users may have stored as bookmarks or included on their own pages.

This project was approved on 7/13/2011 by Diane Goldenberg-Hart for CNI.

The Task

The vast majority of such links are to which will, of course, resolve to the new website anyway. But in some cases deeper links to CNI content will have been stored or shared. Those requests will still be to the “” webserver, but that server will often not have content for those requests. Instead of presenting a “404 file not found” error in those cases, I will help configure WordPress in such a way that these requests are sent on to the “” site. The site at will be set up to wrap its pages with an alert that helps users realize they are looking at legacy content and navigate to the new site. However, the original page content will still be served through this wrapper so that browsers can still present the content the original link was intended to retrieve.

CNI can decide whether and how much this legacy site gets indexed by search engines through the use of the robots.exe “exclusion file” for the pre-2010 site. Any time CNI wishes to remove a page or a directory or even the whole site from well-behaved indexes, all it has to do is add references for those resources to the exclusion file. Note that doing so will also prevent searches from CNI’s own Google custom search engine from retrieving that content.

CNI can also decide later to winnow the legacy site of particular content. However, it should be noted that whenever a page is actually removed from the legacy site then all requests for that page based on older URLs will be doomed to fail with a “file not found” error.

This task should only take a few days, though the work may be spread over a couple weeks in order to accomodate participation and feedback from CNI staff. I anticipate that Angelo will provide access to the new CNI webserver hosting the pre-2010 content and will move the content to that server as needed (he has already done this once, but depending on other decisions, we may need to do this again). I will stay in close contact with him about the technical aspects of the task and be sure he understands the scripts involved. I expect Diane will want to provide input on the visual design of the wrapper itself. I will provide a rough cut at this design and then ask for her feedback and incorporate that into a revision of the wrapper.

The wrapper will be designed with JavaScript, HTML, and CSS in such a way that once the legacy site and wrapper are in place, Angelo or other technical staff at CNI will be able to modify the design of the wrapper at any time.

In addition to the wrapping, the legacy site will also have to include a “file not found” error page that refers users back to the new site. This is because every bad URL sent to the new site will be automatically bounced to the legacy site and thus any malformed URL will also bounce to the legacy site. Since all “file not found” errors will be handled by the legacy site, we will have to make sure the error message there assumes people were addressing the new site and directs people back to it. I won’t spend too much time on this, I will just provide a rudimentary page that serves this purpose. CNI staff can later build on this foundation to create whatever sort of “file not found” response you prefer.

The Deliverables

(1) Devise, test, and deploy JavaScript scripts to add a wrapper <div> to an HTML page.

(2) Devise, test, and deploy Perl, PHP, or shell scripts to insert a call to (1) on every HTML page of the legacy site.

(3) Devise and test WordPress and Apache configuration to facilitate the failover from the new site to the legacy site.

(4) Devise, test, and deploy CSS stylesheet to simplify the maintenance of the wrapper.

(5) Revise the HTML and CSS provided by the wrapper after feedback from CNI staff.

(6) Devise, test, and deploy a rudimentary “file not found” error page on the legacy site referring users back to the new site.


Work would start immediately upon receipt of approval of this project by CNI. I will aim to conclude the work by 8/8/2011. While we may get started sooner, most of the work will likely be done between 7/25 and 8/5.


As a consultant, I do not charge by the hour. The services above will cost $3,000. I will submit an invoice for $3,000 in August 2011.


Anyone reading this document is still welcome to leave comments below and I will respond as I can. Thanks! …Eric

Diane Goldenberg-Hart / 13 July 2011 / 09:24

This all sounds right on to me, Eric. The one issue I’m reminded of upon reading your proposal has to do with naming of the ‘legacy’ site, which Angelo has tentatively named (and to which you make reference herein). My personal preference is to call it pre-2011, since the cut-over to the new site will be in the 4th quarter of 2011. Do you have any thoughts on this? I will pass along your proposal to Clifford & Joan, and I will discuss with them this naming issue, too.

Diane Goldenberg-Hart / 13 July 2011 / 11:03

Just to be clear, and apologies for asking about what may be already be present in this document (but not obvious as such to my untrained eye!): you will implement the solutions outlined above and test to ensure their full functionality?

efc / 13 July 2011 / 15:25

Diane, yes, I agree that pre-2011 would be a better name. Actually, I’d even suggest getting rid of the punctuation and going with “pre2011” to make it easier to share.

As for the implementation and testing, yes. I have revised the text above to make that clearer.