DCPengine — Digital Content Publishing Engine

About

DCPENGINE: A NEW BEGINNING, DECADES IN THE MAKING

𝘖𝘯𝘦 𝘗𝘳𝘰𝘫𝘦𝘤𝘵. 𝘖𝘯𝘦 𝘍𝘰𝘤𝘶𝘴. 𝘛𝘸𝘰 𝘙𝘦𝘴𝘶𝘭𝘵𝘴.

DCPengine, short for Digital Content Publishing Engine, is the culmination of several decades of experience developing and working with content management systems. Its roots go back to a time when building and maintaining a website often required specialized knowledge, and content management systems were beginning to change how information was published online.

The journey hasn't always followed a straight line. Along the way, there were successful projects, changing technologies, lessons learned, and eventually a realization that sometimes less really is more.

𝗪𝗵𝗲𝗿𝗲 𝗜𝘁 𝗔𝗹𝗹 𝗕𝗲𝗴𝗮𝗻

My involvement began with DCP-Portal, an open-source content management system I selected for a particular project. Although it provided a solid foundation, it didn't quite meet my needs. Because the software was open source, I was able to develop a derivative project called ttCMS.

Over time, ttCMS grew in popularity, eventually surpassing DCP-Portal. A few years later, recognizing the challenges of maintaining an increasingly popular project as a single developer, I contacted the owner of DCP-Portal and purchased the project.

For approximately 12 years, both systems continued to evolve. Development was driven by two objectives: meeting the changing needs of users and maintaining a leadership position in the competitive CMS market.

Both were worthwhile goals, but they came with an unintended consequence.

𝗪𝗵𝗲𝗻 𝗠𝗼𝗿𝗲 𝗕𝗲𝗰𝗼𝗺𝗲𝘀 𝗧𝗼𝗼 𝗠𝘂𝗰𝗵

As new features were introduced, the systems became increasingly sophisticated. Users wanted more capabilities, and remaining competitive meant continuing to innovate. Unfortunately, each additional feature also brought more complexity.

This is commonly called 𝘧𝘦𝘢𝘵𝘶𝘳𝘦 𝘣𝘭𝘰𝘢𝘵. Even when individual features serve a useful purpose, their combined weight can eventually overshadow the original reason the software was developed.

After approximately 12 years, I decided to discontinue both projects. That didn't mean abandoning content management altogether. For another eight years or so, I continued using a version of DCP-Portal for client websites.

During that period, I experimented with several approaches to developing something simpler. Some worked, but none quite accomplished what I wanted. Finding the time to bring everything together was another challenge.

𝗥𝗲𝘁𝗶𝗿𝗲𝗺𝗲𝗻𝘁 𝗮𝗻𝗱 𝗮 𝗗𝗶𝗳𝗳𝗲𝗿𝗲𝗻𝘁 𝗣𝗲𝗿𝘀𝗽𝗲𝗰𝘁𝗶𝘃𝗲

Retirement changed things. I no longer needed to develop a content management system to compete in the marketplace. What I needed was a practical tool to build websites, maintain supporting pages, and publish a blog.

The requirements hadn't changed dramatically, but the focus had.

I had been working with two separate approaches: one for the website itself and another using a subdirectory for the blog. Both served their purposes, but maintaining them separately wasn't the solution I wanted.

DCPengine brings those two approaches together.

𝗢𝗻𝗲 𝗽𝗿𝗼𝗷𝗲𝗰𝘁. 𝗢𝗻𝗲 𝗳𝗼𝗰𝘂𝘀. 𝗧𝘄𝗼 𝗿𝗲𝘀𝘂𝗹𝘁𝘀.

The objective is straightforward: provide a unified publishing engine that supports both traditional website pages and an integrated blog, without recreating the complexity of earlier content management systems.

𝗔𝗻 𝗢𝗹𝗱 𝗖𝗼𝗻𝗰𝗲𝗽𝘁, 𝗥𝗲𝗶𝗺𝗮𝗴𝗶𝗻𝗲𝗱

Only one concept from ttCMS, which I later introduced into DCP-Portal, has carried forward into DCPengine: widgets.

Two examples demonstrate the new approach.

The first is a polling and survey widget. In ttCMS, this functionality came from a third-party product. DCPengine's version is entirely new, developed without relying on third-party widget code.

The second is a weather widget, representing a more significant change in thinking. Traditionally, weather widgets were supplied by commercial services, often free in exchange for displaying promotional links to the provider.

DCPengine's weather widget is built from the ground up. Although weather information can come from external data sources, the code responsible for retrieving, processing, and displaying that information is original.

The distinction is important. Using external information doesn't require surrendering control over how that information is presented.

𝗟𝗼𝗼𝗸𝗶𝗻𝗴 𝗙𝗼𝗿𝘄𝗮𝗿𝗱

DCPengine isn't an attempt to revive ttCMS or DCP-Portal. It's a new project shaped by the experience of developing, maintaining, and eventually retiring those earlier systems.

There will undoubtedly be new features as development continues. But this time, the objective isn't to lead the CMS market or accumulate capabilities simply because they're available.

It's to build something useful, maintainable, and focused on its purpose.

After decades of developing content management systems, perhaps the most valuable lesson has been knowing not just what to include, but what to leave out.

𝗗𝗖𝗣𝗲𝗻𝗴𝗶𝗻𝗲 𝗶𝘀 𝗮 𝗻𝗲𝘄 𝗯𝗲𝗴𝗶𝗻𝗻𝗶𝗻𝗴, 𝗯𝘂𝗶𝗹𝘁 𝗼𝗻 𝗱𝗲𝗰𝗮𝗱𝗲𝘀 𝗼𝗳 𝗲𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲.

Latest Posts

Perspective

The original DCP-Portal project was the inspiration for my first venture into content management systems. The result was ttCMS. I ended up owning bot…

Read more : Perspective