Choosing between a CMS (with a REST API) and Contentful

Contentful is a competitor to CMSes like WordPress, Drupal and Joomla. In fact the company specifically targets the classic CMS market directly on their website:

Like a CMS… without the bad bits.

How well does this statement hold water? First of all you have to consider the limited scope that Contentful targets. They only provide a CRUD and an API for their proprietary Content Repository.

For many use cases this is enough. If you’ve got an iOS/Android API that you want to complement with FAQs, for example then this is what Contentful works very well for. The provided APIs, SDKs and Documentation are top notch – and as a centrally controlled Commercial Entity they are arguably more stable than an Open Source effort which can lack direction.

Where Contentful does nothing is website management.. There are no tools for creating menus, no tree like structure to visualise your site’s information architecture. In simple cases it’s fine just to push content to a repository and pull it out with Angular 2 front end of a Metalsmith site generator.

But if your business needs focuses heavily Content and managing the the experience visitors get – then you’ll likely be better off with a Content Management System (CMS), which provides a lot of the tools you need to work on a site / web application on a daily basis. Managing content lifts, layouts, site languages and more dynamically is an effort that you’ll need to do manually then. And this is potentially a lot of work.

So Contentful is useful, but it’s hardly the only thing you’ll need to run a content based business like a Media Portal. You’ll need to add custom features, which will eat on the promise of simplifying and focusing on content.

Learn more about CMSes, Contentful and other options:


HHVM or PHP 7 for Drupal 7?

The year 2015 marks a significant milestone for the popular PHP language as it progresses to version 7. Another project, long time in the making is Drupal 8. Drupal 8 will get support for PHP 7 soon enough, but the schedule for support for it in Drupal 7 is still unknown.

For a few years now there has been a viable option for the PHP runtime. This is the HHVM virtual machine from Facebook. It is a credible method for running PHP code, in addition to the separate language known as Hack. PHP 7 improves performance and is in many cases even faster than HHVM. But for Drupal 7 HHVM remains as the best option for performance until the support gets backported from Drupal 8.

PHP 7 improves performance, but also introduces new language features. Some of these are not available in HHVM through PHP, but the Hack language. Hack can be transpiled to PHP, but for projects such as Drupal this is not a viable option. The alternative way is to go forward with PHP compatibility polyfills that enable some features of PHP 7 in HHVM.

Does the Technical Debt of WordPress Matter?

WordPress values backwards compatibility and user experience. For years WordPress users have enjoyed a constant stream of new features in the core product as well as plugins. This all adds up a technical design and implementation that is not architectonically as sound as it could be.

But does this matter? WordPress has continued provide functionality and constant stream of releases where many other PHP CMSes like Drupal 8, Typo3 and eZ Publish have started major restructuring efforts with various level of success – mostly still left to be seen.

The WordPress REST API is equivalent to the one REST API in Drupal 8, for example. Does it really matter multilingual content and application data is stored “wrong” in a relational database (MySQL) that was originally built for blog posts and a a few info pages? What advantage does a blogger really get from switching to a platform powered with Node.js and MongoDB?

There is little immediate business or editor value in major change undertaking done in Drupal 8, other than being “better”. Front end technologies such as Relay, Flux and React look like a better investment for Automattic than a complete rewrite of an old backend platform to do the same old thing.

The fact seems to be that WordPress is good enough for the majority of content management needs. Barring any catastrophic security issues and as long as they can keep the user experience ahead of other options I can’t see this changing – WordPress is good enough as is.

In the meanwhile the WordPress-based eCommerce platform WooCommerce is kicking ass and taking names in in the online commerce market. Decoupling WooCommerce from WordPress is very hard, so any kind of rewrite of WordPress seems like a monumental undertaking.

Time will show whether the technical debt WordPress has accumulated is similar to that of the United States – it needs not be paid.

Bugs in Web Development; How to improve quality with Software Components

Software bugs are familiar to both the developers and users of software. Matthew A. Telles offers the following definition for a bug: “Bugs are behaviours of the system that the development team (developers, testers and project managers) and customers have agreed are undesirable.” Due to human errors and bad specifications, bugs will continue to be a part of software development projects.

Tracking bugs is important for several reasons. Business wise bugs are considered expensive since they damage the company’s reputation and delay projects: “In 1994, Capers Jones conducted a survey of approximately 4,000 software projects. The survey asked the participants for reasons for schedule overruns. One of the most common reasons reported was poor quality.”

In addition, the survey also showed that many projects are simply cancelled due to an overwhelming amount of problems. From the human point of view, the people involved in projects with numerous problems get frustrated, demoralized and lose interest.

While web application development is a relatively new branch of software engineering, many of the traditional software engineering practices apply to it: “Following proper software engineering techniques (or modifying them for web development) can have a substantial impact on overall system usability primarily because it enables developers to achieve higher quality.”

One way to improve quality is introducing common, battle tested software components like Symfony in Drupal

Automatic Content Migration from Drupal to WordPress?

There are many options for transferring content from one CMS to another. All of this is not rocket science, but you need to have a good partner to help you transfer content from one system to another that is most sensible.

Read this article f you need to migrate content from Drupal to WordPress to eZ Platform

Comparing implementations of Symfony in different CMS (Bolt, Drupal 8 and eZ Platform)

You have heard a lot of talk about Symfony in the last PHP events such as Drupalcon events starting from 2012 – the year Drupal announced that they will be embracing Symfony. To many it is not quite clear what this means.

I found a good article that explains this: Learn how Drupal and other content management tools use Symfony