Well, spending 12 years on PHP-Nuke the main goal of site upgrade was to keep things as simple as possible. You know all those first generation CMSs, they were a real pain. That is why we rejected Drupal, WordPress, MODX, Joomla during selection process. I was fed up with systems where you only allowed to toss some blocks and an actual page code is generated under the hood. ProcessWire kind of reverse the whole development process. Here you start with a blank page. You write a neat code and turn to CMS only when needed.
There are only few templates serving the whole site. For example all lists are the same, differing only by a line of CSS code:
The same is true for a story page:
When needed pages are linked through tags. For example, here all right side bars are built by tags:
There is only one code base. Smartphones, tablets and desktop versions are maintained through responsive CSS. You can check how the site will look on a phone or on a tablet just by shrinking browser window.
We didn't use any UI scripting. All visual effects are done with animated CSS. Flexes and columns are used widely through the whole site. In fact, one and half year ago only Chrome and Firefox Developer Edition supported all CSS features we needed. Nowadays the site is rendered correctly in all current browsers except for some quirks in built-in browser of Android 5 and earlier.
We wanted to save all old links to hundreds of articles from our old website. So, we imported all article id and made a special template which could deal with old URL, parse it, extract old id and find a matching page in the ProcessWire database. A single line in .htaccess file does the redirect:
RedirectMatch permanent ^/gs/modules\.php(.*)$ http://gsbelarus.com/pw/redirect/$1
Also, a desire to save all old topics and links determined that we chose a PHPBB3 for a web site forums. Actually, 70% of development time were spent on seamless integration of PHPBB with ProcessWire.
We integrated some Google services. Such as map:
As of ProcessWire features table repeaters are used on Contact page:
They define form fields you could see switching radio buttons.