20th January, 2014 ✭ by Iain Urquhart

Overall we’re really happy with how the project has turned out and it’s been a privilege to work with ExpressionEngine on a project that provides so much benefit to our region here in New Zealand. is the official promotional website for the Whangarei District in Northland, New Zealand. The site’s main purpose is to showcase the district nationally & internationally and to provide information about what a fantastic place Whangarei is to visit, live & work, and do business.

The site last received a refresh in 2007 so all the templates were fixed width and the user experience was quite dated. The brochure/page content was very ‘wordy’, static and derived from print marketing material developed some time ago. My brief was to bring the front-end up to speed with a responsive layout to work across multiple devices, integrate the site with some external web services and give publishers the tools they need to go beyond static pages when authoring content to the site.

To free up the client’s limited resources going forward, we decided to source as much content as we could from available APIs. For example we fetch and synchronise the ~300 accommodation, activity and transport providers in the district via the Tourism New Zealand web API (which powers The events calendar is powered by the Eventfinda API and all the external information is provided real time and cached at our end.

For integration with Tourism New Zealand’s API, we’re using the ExpressionEngine Channel Entries API which allows us to take incoming data and store it using around 70 fields comprised of first party and third party field types. Every 24 hours we fetch, categorise, insert new data, update existing data and close out any expired listings - autonomously.

The client was previously manually managing these listings and things would get out of date pretty quickly. Now that the client doesn’t have to maintain that anymore, they are freed up to work on content and marketing the site through Facebook and other channels.

For publishing and maintaining content, I developed a number of custom Fieldtypes and Modules to help make static content a little less ‘static’. For example if a page describes a subject such as ‘Culture & History’ or a certain Destination in the district - content publishers can dynamically select Categories and/or Place tags and embed feature ‘widgets’ within the page. The widgets are passed by reference into content areas which gives publishers freedom to place widgets wherever they are relevant on the page - as opposed to displaying them in a fixed predefined area.

A good example of this is the Tutukaka Coast page - here we have a Local’s Tips widget, Accommodation and Activity widgets (showing random listings only from that area), an Image widget calling a resource from the image library (click to enlarge to see the ajax call) and a video widget using the YouTube API. If you’re a developer interested in the widget fieldtype/module, the project is on GitHub so fork away!

The project in total was around 10 weeks in the making, so I had to proceed very quickly with the design and build out. ExpressionEngine allowed me to be extremely flexible with design and go through iterations extremely efficiently with the client. As soon as the wireframes were delivered and signed off, I integrated the backend immediately to those wireframes and gave the client access to ExpressionEngine to begin the content review. Design and content ran in parallel which meant we could launch on time and on budget. Any issues we faced were quickly resolved using third party add-ons, or by rolling my own custom solution extremely rapidly.

Overall we’re really happy with how the project has turned out and it’s been a privilege to work with ExpressionEngine on a project that provides so much benefit to our region here in New Zealand.

ExpressionEngine is truly a platform that, as EllisLab says - “enables the cottage developer to stand toe to toe with Goliath, sling armed with our stone”.

.(JavaScript must be enabled to view this email address)

ExpressionEngine News!

#eecms, #events, #releases