EDF Energy
Consultancy, Drupal website development, platform deployment and support.
The Challenge
The client had an existing website which was running on a legacy platform that they wanted to move over to Drupal. There was a key requirement that multiple websites would need to sit on the same code base, so that the client could benefit by reusing functionality across a number of different websites, and we needed to develop with this in mind.
There were also requirements for a sophisticated workflow process to allow content to be properly moderated before it made its way onto the live website accessible by normal users. In addition to this there were a number of backend integrations that would be required to get everything working in the way the client wanted.
Our Solution
ComputerMinds were involved with this project from an early stage, which allowed us to properly drive the direction of the project to maximise efficiency when it came to development of the core platform on which a number of distinct websites would sit.
ComputerMinds got involved with this project right at the beginning and we worked with the client to assist in the initial requirements gathering stage. We helped the client form their case to secure funding for this project and at every stage of the project since then. After the initial consultancy period was finished we worked in an agile fashion to deliver the build which was then followed up by some training to get everyone to grips with the new way of working.
With this particular project we wanted to maximise what content editors could do on their own without the need for lots of technical training to get to grips with the new system. To aid in this we built the website around the concept of 'tiles' which are essentially distinct blocks of content that could be used to build up a rich, dynamic page whilst giving the content editor much greater flexibility over what elements were used and how these got rendered. This had the huge advantage of meaning that with minimal additional training content editors could create engaging content without the need for lots of technical know how.
When it came to implementing the frontend designs we leveraged modern web development techniques, using things like SASS to keep the style nice and tidy and reduce the amount of repetition in our code.
With this particular project we wanted to maximise what content editors could do on their own without the need for lots of technical training to get to grips with the new system. To aid in this we built the website around the concept of 'tiles' which are essentially distinct blocks of content that could be used to build up a rich, dynamic page whilst giving the content editor much greater flexibility over what elements were used and how these got rendered. This had the huge advantage of meaning that with minimal additional training content editors could create engaging content without the need for lots of technical know how.
When it came to implementing the frontend designs we leveraged modern web development techniques, using things like SASS to keep the style nice and tidy and reduce the amount of repetition in our code.
IBM Datapower Integration
The first major development stage of this project was to create the main EDFEnergy.com website. In order to allow us to talk to the client's other internal systems we had to make use to IBM Datapower as an abstraction layer to these services.
Robust Testing
On this project a robust method of testing was required and we had a team of dedicated testers performing the QA process on each sprint before it was delivered to the client. As we worked in an agile way this meant we could concentrate on a subset of the overall set of deliverables allowing a much more focused approach to development and testing.
Each sprint was tested in isolation with any bugs being fed back into the development cycle to be fixed making extensive use of our internal issue tracking system. This approach meant that we were only ever testing a specific subset of functionality meaning it was less likely issues would be missed and they could be quickly fixed without having a huge impact on timescales or budget.
In addition to the robust process of manual testing, be that QA or UAT we also constantly sanity check our code using a suite of automatic tests such as unit tests, which make sure that nothing breaks as we add more code.
Each sprint was tested in isolation with any bugs being fed back into the development cycle to be fixed making extensive use of our internal issue tracking system. This approach meant that we were only ever testing a specific subset of functionality meaning it was less likely issues would be missed and they could be quickly fixed without having a huge impact on timescales or budget.
In addition to the robust process of manual testing, be that QA or UAT we also constantly sanity check our code using a suite of automatic tests such as unit tests, which make sure that nothing breaks as we add more code.
A Platform Solution
From the off we knew that the client wanted to have multiple websites all sitting on the same codebase, so that common functionality could be easily shared between websites without a huge development overhead as we could simply just reuse functionality!
Sophisticated Workflow
In order to give the client total control over what content made its way to the live website a sophisticated workflow process was implemented allowing content editors to create content that didn't automatically get posted to live before being moderated. This process allowed users to create and edit content without these revisions being made visible to normal users before it had been properly moderated.
A traffic light system was implemented to allow content editors to clearly see what stage of the workflow process a particular piece of content was in at any given time. Once content moderators were happy with the content then they could authorise it to be published on the live, end user facing website.
A traffic light system was implemented to allow content editors to clearly see what stage of the workflow process a particular piece of content was in at any given time. Once content moderators were happy with the content then they could authorise it to be published on the live, end user facing website.
Agile Development
This project followed a proper agile development lifecycle in which ComputerMinds were involved right from the beginning. Working in this way has the huge advantage of meaning we could be much more adaptive to change. By working in distinct sprints of work with daily standup meetings we were able to keep everyone involved in the project up to speed on where things were at any point in time, clearly explain what was currently being worked on and what was being delivered to the client at the end of each sprint.
Sprints could then be tested in isolation allowing us to incorporate any bug fixes or changes to the original requirements in subsequent sprints. The result is that at every stage we are moving forward, so for example we don't have to halt development whilst we wait for previous deliverables to be tested and fixed.
Sprints could then be tested in isolation allowing us to incorporate any bug fixes or changes to the original requirements in subsequent sprints. The result is that at every stage we are moving forward, so for example we don't have to halt development whilst we wait for previous deliverables to be tested and fixed.