George Whitcher

Dad, Web Developer, Software Engineer, Graphic Artist, Snowboarder, Musician, Gamer, Nerd

New England and New York Real Estate Journal

New England and New York Real Estate Journal

Posted in Publication
April 21, 2017 06:32:27 PM
Published by
Leave your thoughts

Client: New England & New York Real Estate Journal
Domain: http://nerej.com & http://nyrej.com
Date: 2017
Overview:

NEREJ and NYREJ is a commercial real estate news publication.  The largest in New England and one of the largest in New York.  Originally they were on a custom developed platform built in Zend.  I was able to reverse engineer what they did and implement new changes and a redesign many years ago.  A few years later they decided to move to WordPress.  They kept the old websites up and I assisted in setting up 301 redirects and the new WordPress sites on a subdomain effectively merging the two.  WordPress is great for small websites and blogs but not so well for large websites.  It didn't work out for them and they gave me a call.  My brain instantly started working and I thought of all the content they have all the way back to 2005.  We were gonna get ALL of it until the day they go live.

So I needed to rip the story table from the Zend and WordPress sites and write a custom script to import them into the new sites database so it could be done on the fly.  I chose XML for this task as it is easily ripped from PHPMYADMIN and WordPress.  I custom wrote all the import scripts for each platform in raw basic PHP.  This required not just importing but cleaning all the XML as well.  This was great for the Zend website but WordPress XML is terrible.  This meant I needed to fix encoding, convert shortcodes and any variation of them, and change image links and any variation of them.  After what felt like a ridiculous amount of time I was done with the story table.  When all was said and done between NEREJ and NYREJ I imported and cleaned a total of 72,278 stories using my scripts.  Wow!!!

It wasn't limited to just stories though.  They have a custom built directory, professional profiles, advertising platform, PayPal integration for subscriptions, founders message (blog), and other various pages.  All of this needed to be integrated into the new website with administration pages to manage them all.  All the imports were done with custom written import scripts using XML and PHP.  The administration was written in CakePHP and Bootstrap 3.  PayPal was integrated using the REST API (https://github.com/paypal/PayPal-PHP-SDK).

The new website was done in my favorite PHP framework CakePHP (http://cakephp.org) and my favorite CSS framework Bootstrap 3 (http://getbootstrap.com).  This made the development and design process quick and easy.  Also any changes they had quick and painless.  The frontend design was done by one of there artists and I was provided a PDF and JPG's to work from.  The backend is the Bootstrap 3 "dashboard" page with some adjustments.  Originally I integrated TinyMCE along with a custom upload manager plugin.  This proved to complicate things when they went to add captions on the test site I gave them.  I reported the bug to TinyMCE but waiting was not an option.  I chose to use CKEDITOR (http://ckeditor.com) for a WYSIWYG editor and quickly researched how to make a plugin.  It wasn't that complicated and with some quick javascript I was able to make a custom plugin to open the upload manager in a window in CKEDITOR.  Some other things I included was FPDF (http://fpdf.org)to instantly make PDF files of stories, JQUERY, JQUERY-UI, and a javascript lightbox.

Finally they wanted to take down the subdomain but have the links foward you to the new website.  This required reverse engineering WordPress permalinks.  For some reason I found out WordPress throws everything into the wp_posts table.  I'd never do this but there must have been a reason to this.  I just find it messy and this probably the reason WordPress doesn't work so well for large websites.  MySQL can only handle so much on a large database table.  Anyways I was able to pull the slug from the wp_posts table.  Then I took my scripts slug script and integrated it so it will look to the wp_posts table for the slug and when it finds it's match it will forward it to the new url with the new slug.  Instant WordPress to new site fordwarding software.

Overall this was the most challenging project I have ever done.  Building a news website is one thing.  Converting 2 existing platforms into one, cleaning all the data, forwarding any existing links to the new sites, for not one but two websites, is a whole different story.  I mean 72,278 stories is a ridiculous amount of data entry!  I don't think I want to see another WordPress XML file for a VERY long time after this.

Article written by:

Hi! My name is George Whitcher and I am a developer from the South Shore of MA.  When I am not busy being a dad I like to play video games, play/write music, snowboard, and skateboard.