Esko Artwork Consolidates onto One Helix Server
EskoArtwork leveraged Perforce Professional Services to merge and upgrade their disparate Helix servers to increase efficiencies and collaboration between their distributed developers.
The Benefits for Esko?
Honest, efficient consultants
Getting additional features after migrating to latest release
A system that scales to Esko's needs
Sven Erik was very honest with us and although he presented choices, he made it clear what the best solution would be."
At a Glance
- Company name: Esko nv
- Headquarters: Gent, Belgium
- Industry: Packaging, commercial printing, professional publishing
- Perforce customer since: 2001
- Number of Helix users: 150
- Number of development sites: Six (Belgium, UK, Czech Republic, USA, India, and China)
- Data managed: 300GB
- Client platforms: Windows and Macintosh
Migration, Migration, Migration: Reasons to Use the Skills of Perforce Consulting
Many development teams who have gone through any kind of merger or acquisition process can relate to the challenge that EskoArtwork faced: integrating legacy version control system (VCS), based on different platforms and operating systems. Due to the scale and complexity of the task at hand, EskoArtwork decided to call in the consulting arm of Perforce Software. Perforce orchestrated the amalgamation and cleaned up the existing systems to give EskoArtwork a solid and scalable VCS for the future, which supports a development team spread across different locations worldwide.
EskoArtwork is a global supplier and integrator of innovative solutions for packaging, commercial printing, and professional publishing. Employing around 1,000 people worldwide, EskoArtwork provides designers and printing companies with software tools that ensure the final appearance matches the designer's original intent, enabling artwork to be turned into print-ready files as cost-effectively as possible.
Not surprisingly, software development is one of the core elements of EskoArtwork's business. Around 150 developers are currently spread across offices in Belgium, the UK, Czech Republic, USA, India, and China. Different geographic teams tend to have their own areas of expertise — for instance, the Czech team focuses on prepress software solutions — but the whole team needs to be able to access much of the same source code.
Utilizing Version Control
Version control is integral to the way EskoArtwork manages large volumes of different code projects, as Wim Van Hoecke, Technology and Quality Engineer, explains, "We have multiple applications that re-use multiple libraries, but not necessarily the same versions. For example, when we are developing new functionality, we want to be able to exclude those changes from our maintenance releases. We have many product lines and so to maintain order, we like to keep our approach to development as structured as possible.
Says Wim, "We like Helix because it has a good interface to Macintosh and Windows, which is important for us as we develop tools and applications, which run on both Mac and Windows, with a need to cross-compile for both. Also, employees already using Helix were happy with its speed and functionality, so it was logical to carry on using Helix."
EskoArtwork's relationship with Perforce dates back to 2001, when a merger with another company meant two different Helix servers were being used: one Linux Helix server and one Unicode-enabled Helix server running Windows. EskoArtwork managed the situation by carrying out manual code drops between the two servers.
However, having two different Helix servers was obviously not an efficient way for developers to collaborate, particularly since the repository was growing fast (by the end of 2010 it stood at approximately 300GB). "We also wanted to add new users, so it made sense to get everyone onto the same server. Also, by moving to the latest version of Helix, we have access to the new features that have been added in the past couple of years," says Wim.
The decision to consolidate onto one server was made. "However, we could see consolidating onto one Helix server was going to be a big project: not all the documentation and back-up scripts for the legacy servers were available. Also, Windows is case-insensitive and Helix was running in Unicode mode, while Linux is case-sensitive and Unicode was not enabled. So when synchronizing, it would be easy to inadvertently lose the right version and make file branching very messy. This is why we contacted Perforce for advice, which led to us using their consulting services for the integration."
Sven Erik Knop, one of the principal consultants at Perforce, says, "As companies evolve, we're seeing an increased need to amalgamate version control systems. We're not just being asked to integrate Helix systems — in many instances, we help companies migrate from other vendors' legacy systems to Helix. And it's not always because of separate companies coming together: sometimes it can be two or more different departments within the same organization. It's possible for companies to do the integration in house but it can be complicated, which is why legacy VCS migrations is one of the consulting services Perforce offers."
Managing Project Timescales
The original plan was for the project to take just four days. However, as Sven Erik explains, "When we started looking at what was on the servers, it was clear that this was a bigger task than anyone could have predicted."
Adds Wim, "At the start of the fourth day, we decided we wouldn't be able to complete the exercise, so we discussed with Sven the best way forward. As a result, we decided to book an additional four days of consultancy. Friday was spent preparing, which left Saturday and Sunday for the actual merge, and Monday to carry out any clean-up work. By the end of Monday, everyone was on the same Perforce server." Says Wim, "We were very happy with the service that Perforce provided. Sven Erik was very honest with us and although he presented choices, he made it clear what the best solution would be."
Reaping the Benefits
"We've also been able to take advantage of some of the new features of Helix that were previously unavailable to us because we were using an older version. We particularly like shelving, which works in both Windows and Mac environments." Shelving enables users to store copies of open files temporarily on the Helix server without checking them in. Shelving is useful for a variety of purposes, including taking and restoring snapshots of in-progress work and reviewing other users' code before it's checked in.
Wim concludes, "Our version control platform is in much better shape than before. We now have a system that will scale to meet our needs in the future. Integrating the two Helix platforms was challenging but using the consultancy services offered through Perforce made it far more straightforward than if we'd attempted it ourselves."