Get the highlights in your inbox every week.
Improving CMS development with open source
Open source is key to the future of CMS development
Content management is a mix of development, design, marketing, information architecture, user experience, and more. In the past 15 years, content management has evolved, but its foundation—how users create, manage, and deliver content—has remained relatively stable.
Websites are still a core asset of most businesses, which means the CMS has become increasingly important. For developers who are building on top of a CMS, how the systems have changed is apparent.
Made for builders
Content management systems help developers create unique digital experiences, so they can't be turnkey solutions. They must be platforms on which to build. They need to provide toolkits, frameworks, and development infrastructures for designers and developers.
One factor in the evolution of content management systems is open source development, which has contributed to the transformation in several ways, including:
Opening up source code This enables developers to work faster and gives them more control. Simple things like not having to wait for the license key from a vendor to start working or having the ability to try a product before buying have helped streamline development.
Opening up APIs: One of the main things developers do when customizing and extending a CMS is connect applications together. To picture what a distributed world we live in, think of the evolution from distributed ORB to the first generation of web services using SOAP, and now to the latest standardization of RESTful communication. The programmatic interfaces of applications has dramatically improved, making it easier to mash applications together.
Simplifying development processes and tools: Solutions such as GitHub and other developer-created tools help increase efficiency. Continuous integration techniques and tools to help automate and streamline the whole process from coding, testing, and deploying add to developer efficiency. Another more recent example is the progress in virtualization and deployment systems, including Docker, which promises to improve developer lives.
Efforts and investments in the next few years will help modernize the most forgotten and outdated part of CMSs: the end-user editorial and marketing user experience (UX). CMSes will remain platforms that we build on, and possibly even more of a development platform. Developer expectations will continue to grow and developer experience will remain key.
When thinking about future needs and expectations, there are still a lot of areas where platforms will have to evolve and improve. More decoupled approaches, like the one David Bachmann recently wrote about, may develop further.
Client-side technology—whether it's browser based or application based—will have more impact on the platform. Content storage technology will keep developing, as will development practices.
Open source will remain the best way to achieve a better developer experience, and as it grows in popularity, engaging with neighbor technology will become easier. Reusing existing components and becoming more distributed will be less complex. Thanks to open source, developers are able to work faster and more efficiently, which is good for business. But this is just the beginning. Open source has taken the CMS development experience to a whole new level, and it doesn't look like it's slowing down anytime soon.
This article is part of the The Open CMS column coordinated by Robin Muilwijk. Share your stories about working with open source content management systems (CMS) and platforms like Drupal, Joomla, Plone, WordPress, and more.