Building Magento around Booksonix

Practical Action Publishing approached FLUID7 to redesign their Development Bookshop. It was an exciting opportunity to move them off of an ageing OSCommerce site and into a shiny new Magento instal. To really spice things up we wanted to connect their shop with their book management software, Booksonix. Creating a slick solution that pulls new and updated titles from Booksonix into Magento automatically, cutting out the need for the team to manage titles in both applications independently.

You can check out the new bookshop here: http://developmentbookshop.com/

 

Redesigning the Bookshop

The new design pulled in core styles that had been created for the recent group site redesign for Practical Action. Presenting enough similarities in the layout and navigation to enhance the group connections, whilst also creating a unique colour scheme and content elements that would let it stand out from the group and allow it to stand alongside its bookshop peers.

The Magento store offers Practical Action Publishing a firm ecommerce platform to promote and distribute their titles from. It includes specific listings for each of the publishers that they sell titles on behalf of, such as Oxfam. Not only can titles be viewed exclusively by Publisher but standard category listings can also be filtered by publisher allowing the visitor to navigate the site in a number of different ways, to find the titles of interest.

With the designs in place we turned our attention to the build. Anyone working with Magento knows it’s a real beast to wresstle, but once tamed yeilds exceptional results. After developing a number of Magento sites for our clients we’ve already overcome the hosting issues. Magento is very large and requires a hefty server to allow it to run quickly, so we’ve got a sweet server over at Amazon specifically tuned for our Magento sites. Yet the challenge of importing and managing data from Booksonix was to proove pretty tricky.

 

Importing data from Booksonix

Early on we discovered that booksonix didn’t have a live XML feed, instead they ftp an XML to your server on a nightly basis. So instead of being able to use a nice XML module already created for Magento imports, we had to write a custom importer that would pick up any un-imported xml files (and their associated jacket images) and push all that data into Magento.

Booksonix XML consists of a range of shortcodes to represent all the fields managed by their book management software. It took some time to determine what fields were relevant to the clients store-front requirements and with a little processing we were able to format the data and assign it to fields in our Magento site. Probably the hardest challenge was developing a way for the client to manage the store categories from within Booksonix. We were able to utilise the custom fields of Booksonix to allow the client to assign titles to categories. When the importer runs it will now create a new Magento category (if it doesn’t already exist) and assign all coresponding titles to it.

It took a little time to run the first few imports given the sheer volume of data (and image files) that had to be processed, but after a lot of tweaking our importer now runs daily, reading the files from Booksonix and importing anything that is new into Magento.

 

Managing the Magento Store

Whilst the importing of data into a Magento store dramatically enhances the efficiently of the site, there’s still a fair amount that needs to be handled manually within the Magento environment. Core Manageo features allow the client to select featured titles and title of the month, leaving bestsellers to be driven by sales. Practical Action Publishing are also responsible for Managing offers and processing sales, but the beatify of this solution is that now they can focus on selling the titles with reduced time managing the data behind the products.

 

This article doesn’t do the coding behind this solution any justice. We ourselves certainly underestimated the challenge of connecting Booksonix with Magento but we are extremely proud of our achievements (and grateful to the client for bearing with us as we worked through the issues). The benefit of managing data in one place (booksonix) and having other systems (Magento) use that data automatically is a model we try and replicate wherever possible, using technology to simplify the work of our clients (and ourselves).