Foreach is not a Drupal only company; we have almost 10 years of experience in Drupal, but we did our first large Drupal project (>200 mandays) only 2 years ago. Although we had some struggles in the beginning of the project, we quickly saw some benefits of building solutions with Drupal. Since this first project, we have selected Drupal 7 for several new projects and one of our teams is continuously working in Drupal/PHP.
A few weeks ago we were preparing to kick off a new big project for a major pharmaceutical company based in the Netherlands. We were asked to build a web platform to manage multiple sites. The choice for Drupal was made very quickly, but would we build the application in Drupal 7 or try out Drupal 8?
We know Drupal 7 pretty well, we know what it can do but we also know what its limitations are.
- Poor configuration management. Even with the Features module
- Incomplete entity system
- Lack of separation between content and configuration
These are elements that Drupal 7 lacks in our opinion to be a great solution for enterprise projects. So we were thrilled to see that Drupal 8 tackles these problems and that this new and unreleased version of Drupal is a major step in the evolution of the Drupal CMS towards a development framework. Obviously we can’t wait to get started.
At the moment I am writing this, Drupal 8 is not yet released and is currently in Beta with around 20 critical issues left for the first release candidate. However, after evaluating these and taking into account both project requirements and project timeline, we decided to dive into the future by going forward with Drupal 8.
The main reason of course is that we see Drupal 8 as a better platform to develop large and complex projects. We believe this because of a few reasons:
1. Entity API
- The entity api is almost completely rewritten and the contributed entity module is now part of the core.
2. Object Orientation
- At Foreach we do a lot of projects in Java, so Object Oriented programming runs through our veins.
- Symfony respects the existing programming standards for PHP with PhPunit, naming conventions. It also brings some big design patterns to Drupal like dependency injection. Symfony will help to make Drupal better, easier to read, and more maintainable.
At Foreach, we firmly believe in open source. Apart from open sourcing some of our own tools and libraries (https://foreach.be/open-source), we try to contribute to existing community projects as well. As such, we look forward to contribute to the Drupal 8 core as we wander into problems or opportunities on our adventure.
We are in the early stages of our project, but firmly intent on sharing our Drupal 8 experience from the getgo. In the following weeks we will post more about our progress, the problems we come across and the solutions we find. We’re embarking on an adventure and welcome you along for the ride.