Phil Lowles


Nature Journal website

I worked at Macmillan Publishing for six years in a web production and development team. Read more about the daily tasks I undertook for the Nature Journal website including xBuilder maintenance, journal redesign projects, and learning new skills and technologies.

Web Production Editor

I started at Macmillan in June 2008 as a Web Production Editor working in the Academic Journals publising team based in Basingstoke. The job role focussed on the publishing of content on when one of the journals I was responsible for was published. Initially I took on about five journals, most of which were published monthly, one of which was fortnightly (British Journal of Cancer shown below), and eventually this number rose to over ten journals. Responsibilities included checking all of the web pages for code and display errors and getting them fixed, logging bugs in JIRA, ensuring the publication process fully completes including the sending of citation data to external sources, and sending out email alerts to subscribed users.

I was also involved in several large projects including the redesign of the European Molecular Biology Journal (EMBOJ) and the European Molecular Biology Reports (EMBOR) web pages for, and the set up of new journals including archive conversion from the previous publisher's format to

Web Production Developer

In late 2010 I was encouraged to develop my skills and undertook a training course in XSLT with a view to eventually moving from Web Production to Web Development. Throughout 2011 I slowly began picking up development work and in February 2012 I transitioned fully to the Web Development team. My main responsibilities included maintaining xBuilder (the platform that builds the web pages for the journals published by NPG), setting up new journals on xBuilder, creating processes for new functionality and adapting existing processes upon request from the web production team.

I took redundancy from Macmillan in June 2014 following the company's decision to move operations from Basingstoke to it's newly expanded Kings Cross, London office.

Table of Contents for an issue of British Journal of Cancer

xBuilder maintenance

xBuilder is the name of the platform that builds the web pages for the journals published by Nature Publishing Group. Articles are initially typeset as a PDF by the publishing team and then converted to XML format by the typesetting team based in India. The XML is transformed into HTML using XSLT. The config and property files within xBuilder control the transformation process. My job was to edit and maintain the XSLT, config and property files to ensure the correct output of the web pages.

The xBuilder files are maintained in a Version Control System. At first this was using the SVC client application, but soon after I moved to the Web Development team this was updated to Mercurial via Tortoise client. Then in 2013 the xBuilder repository transitioned to GIT. During my time in the team we introduced Unit Testing on the xBuilder repository. This was performed locally within Eclipse and globally using Hudson.


When I was in the Web Production team my role involved logging new bugs and development requests in JIRA and then as the reporter signing off the job when it was successfully complete. As a Web Production Developer I became the one who picked up the jobs and carried out the task of fixing the error or creating the requested change or new functionality. We used JIRA to log our time spent on each job and record comments on the work carried out including solutions to problems that might be useful to other members of the team.

New journal set up

During my time at Nature I worked on many aspects of new journal set up. As a Web Production Editor I took on the tasks of physically creating the journal directory, the home and about pages, and logging job tickets in JIRA to get the necessary development work completed in xBuilder, and also product set up within the eCommerce and search platforms. Then as a Web Production Developer I was responsible for picking up jobs for new journal set up in xBuilder and ensuring that content built successfully.

Citation exports for Palgrave Journals

Citation exports project for Palgrave Journals

One of the new functionality projects I worked on as a Web Production Developer was the creation of several new citation export files for Palgrave Journals (a sister site of Nature focussed on social sciences and humanities). One of the most interesting uses of XSLT is that from a single XML source you can output files in many different formats, not just HTML. For this project we output files in Word and Text format, including a number of different tagging formats used in specific citation applications.

In the example shown here you can see a section of the right hand article navigation with links for the different formats available. Here is a link to an example article on the Palgrave Journals website (this is an Editorial which is freely accessible to all). Click on "Export citation" to display the list of available formats. This show/hide functionality was also part of the project.

BJC Open Archive

The British Journal of Cancer elected to make all of their content free 12 months after it's initial publication under a Creative Commons licence that they call BJC Open. Articles made free under this initiative needed to be marked with the BJC Open logo throughout the archive page, table of contents and every individual article and its associated pages. This created a challenge for us because we did not want to be continually rebuilding archived content in order to display the BJC Open logo.

I took on the task of developing this new functionality and devised some server side code ( uses velocity server side code) that would test the current date against a date code set one year after the publication date, and then display the BJC Open logo if the current date is greater than the date stated in the test.

Please see the BJC archive for more details.

Graphical Table of Contents for Polymer Journal

Polymer Journal Graphical TOC

Another new functionality I developed was for the creation of a Graphical Table of Contents, first introduced for Polymer Journal. Up until this point the TOC had been purely text based but the editors wanted to include an image for every article. The display of the image was of course very simple, the harder task was to implement the right workflow so that the correct figure was selected, resized for display on the TOC, stored in a separate directory and that the new GTOC xBuilder process would not interfere with the main TOC builder process.

Please see this example issue for the full display.

Kidney International KDIGO Chapter Style format

Another extensive development project I took on was for some very specific display requirements for a Kidney International supplement called KDIGO. One of the tricky aspects of this task is that not every supplement would be in this format so we needed to test for specific volume and issue details in the set up.

Rather than following the traditional science article format they wanted the issue to be set up like a book with each article as a chapter and then a separate article for the appendixes and references. This required a lot of tweaking of xBuilder to accept this radically different format, and also involved front end HTML and CSS to display properly. One of the reasons for this was the output of multiple article title headings on the same page. The builder was set up to only ever output one article title (using an ID) but the editors wanted the option of including several headings on a single page with the same display size. Therefore I inserted a test in the XSLT to output an article title class for additional headings and created the relevant style in the CSS.

Reference format for KDIGO

The references also proved a problem because they used a numbered format but the numbering continued throughout the entire issue rather than individually for each separate article. This meant that the references would not necessarily begin with number 1 (which alone would not have been so much of a problem) but then some numbers in the sequence would be skipped if the reference did not appear in that chapter. The problem was that the existing reference builder HTML output was set up as an ordered list <ol>. To solve the problem I developed a new reference builder process that output the references in a definition list format <dl> with the reference ID as the definition term <dt> and the reference details as the definition data <dd>. This required some clever CSS to display in the same format as a normal reference list.

I used the same trick with the definition list to display recommendation lists and glossaries that appeared throughout the article.

Please see this example issue of KDIGO (which at time of writing is available with FREE access to all articles).

Learning new skills and technologies

As part of my role I was encouraged to learn new skills and technologies. I undertook two training courses with an external company, PTR Training based in Wokingham. My first course with them in December 2010 was on XSLT and paved the way for my transition to the web development team. I returned to PTR in November 2012 to undertake a course in Fundamentals of Computer Programming using JAVA. A wealth of training materials was also made available to me and I learned many new technologies including jQuery, Ruby, Python and PHP.

CSS training programme

Our web development team instituted a monthly training session that would allow us to share our skills with other team members. Together we attended training sessions on various subjects including User Experience and Interface design, creating an XML DTD, and my contribution was a presentation on CSS. All of my other team members were back end coders and had no experience with front end at all so this was incredibly useful for them to learn how the code they were creating would eventually be implemented on the web page.

The presentation actually turned out to be really huge so it covered three of our monthly sessions in 2013. I covered the basics of text formatting, box model, positioning, psuedo classes and selectors. I included some CSS3 elements that were new to me at the time so I learned quite a bit through taking this on myself. The training sessions also included time for everyone to do some hands on CSS coding which wasn't easy because one of my team members was in the New York office, but through teleconferencing and screen sharing we were able to pass on and share our knowledge.

Journal redesign project for EMBOJ and EMBOR

The biggest project I took on during my time as a Web Production Editor was the redesign of the European Molecular Biology Journal (EMBOJ) and the European Molecular Biology Reports (EMBOR) web sites for This was a ten month project during which I was heavily involved with liaising with the development team to build the pages and creating the CSS that would ensure correct display to match the wireframes supplied to us by EMBO. During those ten months I also had my regular duties to attend to, but during the crunch time that led up to the website launch I was solely focussed on fixing bug and display issues throughout the main pages of the site and the conversion of the archive to the new display format.

Archive conversion projects

When Nature takes on the publication of a new Academic Society journal we need to convert the existing archive from the old publisher's website to the format. I worked on several archive conversion projects for new journals that we took on including Polymer Journal, Nutrition & Diabetes, and Light: Science & Applications.

Email distribution via SilverPop

Part of my duties as a Web Production Editor was to send out email alerts to subscribed members when a new issue is published. The issue builder includes the output of the email alert in HTML and Text formats. The email alerts are sent out using SilverPop which handles all of the mailing list subscription data including format preferences. My role was to ensure the correct display and content was included and to fix any errors before sending via SilverPop.

When SilverPop was first introduced I was tasked with documenting how to use it. I created a Word document with step by step instructions and screenshots to ensure my other team members, including those based in India, would be able to use SilverPop to send out email alerts and fix errors in the code.