close

Work on content management system CMS is full of wonders. Under the cut instructive story of Petr Palas. If you are doing well with English, then the original text can be read here . Enjoy!

Writing your own CMS is like keeping an elephant at home. 
For most people, it is much easier to go to the zoo.


In 2000, I studied at the university and worked as an Intranet developer: I published content written in static HTML to the Intranet. This was my first "programmer" work, and I enjoyed it. Couple of weeks. 

Then it became obvious how my duties are monotonous and non-automated. And I started writing an application in classic ASP, which would allow users to independently manage content. I had no idea about the existence of such a thing as the Content Management System, and therefore I invented the bicycle. At that time there were only a few commercial CMS, often costing hundreds of thousands of dollars. Given the prevalence and price range of this category of software, it is not surprising that I was not the only one who tried to reduce my inconvenience and improve efficiency by creating my own CMS. 

By 2004, almost every Internet agency created its own CMS , often customizing for specific customers. This led to the emergence of dozens of modifications - a nightmare in terms of management. "It is meaningless," I thought. By that moment I had already written several specialized CMS and got bored again. “What if I write a CMS that can be useful for any website?” As a result, I organized Kentico Software, whose mission was very simple: to create a CMS that any developer in the world can use to create any website .

Surprise: people still write their own CMS!

13 years later, I am amazed by the number of people who write their own CMS. There is a mass of mature products for all types of projects: from open source to commercial systems of the corporate level, from the best in its class to universal all-in-one. 

So why does anyone still need to write their own CMS? 
The answer is simple: people do it because of frustration . 

Traditional web-based CMS are fraught with limitations and limitations. But the truth is that all these disappointments have already lost relevance . I know that sounds hypocritical. After all, it helped me to write my CMS, so why it does not help others? 
Let me explain.

Self-written CMS outdated due to headless architecture

Over the past 15 years, the CMS and technology market has begun to keep pace with changes in the digital landscape and user expectations associated with numerous diverse devices. 

And today, a new generation of CMS technologies - cloud-based, with headless-architecture - will soon make a revolution in the field of content management. Unlike traditional solutions, headless-CMS focuses only on content management and on making it available to any application through an API. Since such products do not have a “head” (head), which usually dictates how to display content, headless-CMS leaves the design issue entirely at the mercy of the developers.

Therefore, it is not very reasonable today to write your own CMS - unless you want to become a vendor of such products. But it's easy for me to talk. After all, I'm not the only one who is faced with numerous shortcomings and found many reasons why a self-written CMS can be the way out. 

So let's look at the main reasons for developer dissatisfaction and find out why they are outdated.

Reason # 1: Standard CMS limits my creativity.

The first thing frontend developers complain about is the intervention of the CMS in their HTML code and the need to find workarounds. 

But this is done: headless-CMS gives you complete freedom and does not affect the resulting HTML code. To extract content from the repository, all you have to do is call the appropriate REST API using your favorite programming language. 
And what's more, you completely decide how this content will be displayed!

Reason # 2: Standard CMS interfaces are too complicated.

Many traditional CMS in the past ten years have grown significantly. Although they all began with the idea of ​​providing a great content management solution, most could not avoid “creeping improvement” because they got into e-commerce, marketing automation, booking systems, email marketing, and so on. Although it is convenient for someone to have everything in one place, but new users find it difficult to learn such CMS . Most need only manage the content, an excess of options reduces productivity. 

New headless-CMS are created on the basis of another prerequisite: this is just one of the fragments of the microservice mosaic, and therefore these products have a user interface ,optimized for content management . At the same time, modern CMS provides a content management API that allows you to create your own editing interfaces on top of their content repositories. This is useful if you want to create a more specialized interface or integrate content editing capabilities into an application, rather than redirect users to another interface.

Reason number 3: standard CMS is too expensive

" We did not want to pay X rubles for a commercial CMS, so we decided to write our own ." If you don’t need something much simpler than a real CMS (such as managing a news list), in the long run you won’t be able to save money with a custom CMS

Today, you can choose from the mass of free open source CMS , or take advantage of a cloudy headless-CMS, whose pricing policy takes into account the characteristics of consumption , which will always be more profitable than developing and using your own system.

Reason # 4: Standard CMS are not secure.

For many organizations, securing CMS is a nightmare. Therefore, some developers think: “ If we write our CMS, then hackers will find it harder to find bugs in it ”. 
Classic security through obscurity . 

Yes, hackers can take advantage of known security holes, but widely used CMS are usually thoroughly tested. And usually the main source of problems is the non-use in the companies of fresh fixes of various applied plug-ins. 

With cloudy headless-CMS you will always have the latest version. CMS is hosted directly by the vendor, who is well aware of both the code and the infrastructure, and can pay appropriate attention to security issues.

Reason # 5: Standard CMS do not fit into my architecture.

In certain situations it was a fair comment. The most traditional CMS were intended to be used as a central platform on which everything should be built. This meant that your application code was closely related to the CMS, as illustrated above. You were limited by your CMS platform, programming language, update cycles, scalability and security. 

Not surprisingly, many software architectures could not follow this path! You had to create a proxy layer between the CMS and the application, or - a surprise! - write your own CMS. 

Fortunately, headless architecture makes it easy to access content using the API and write your own applications the way you want .

Reason # 6: Many customers still use our CMS.

Many digital agencies continue to support their CMS for the sake of customers. Some do it deliberately in order to bind clients to themselves who cannot easily switch to another agency. 

In general, the use of agencies own CMS does not give any advantages. If they do not seek to become CMS-vendors, then it is better for them as soon as possible to abandon the samopisnyh systems. Fortunately, many agencies already have an understanding that this is a dead-end path and that they cannot be competitive with proprietary systems. But they are afraid to jump into the unknown and transfer customers to standard CMS. In some cases, it is an emotional or political decision.. For example, if CMS was written by the company's founder many years ago, or it is the brainchild of the best developer, who, among other things, is also the only one who knows how it works. 

My advice: take this bold step until your agency has lost! 
Choose a modern CMS and highlight the main advantages that will attract your customers to it. Finally, give your developers a new toy! Tip: most of them will fall in love with headless-CMS very quickly.

... and two reasons for using self-signed CMS

Honestly, there are still situations where using your own CMS is either advisable or is the only possible option: 

• Content management is the foundation of your business : if you are a company like Medium, then you certainly need absolute control over the content management system. If you are a large publisher with dozens of publications, and you need a fully customized workflow, then you may also need your own CMS (or at least a custom editing interface). However, there are very few companies in the world that belong to these categories and for which such investments are justified. 
• Unique security or compliance requirements: Again, there are few organizations that have to adhere to specific rules when it comes to content storage, security, software architecture or infrastructure, and these rules do not allow the use of standard CMS. 

If something from the above is about you, then remember that every hour spent on creating your own CMS is an hour that you could spend on creating a competitive advantage, and not on inventing a wheel .

Do not write your CMS until an obvious business case arises.

People ALWAYS underestimate the amount of work to create a real CMS. 

Perhaps at the first moment you thought: “ What is so complicated about CMS? I'll just take the documented database and screw the editing interface on top . ” This is an easy start, but not yet a real CMS. When you start adding levels, such as content modeling, language variations, workflow, permissions, content delivery, search, and so on, you will find that you are developing and managing a truly complex solution. 

Hopefully now it has become obvious to you that writing your CMS is a lousy idea. This is a great programming exercise, but not the foundation of your business - unless you are a CMS vendor.

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 DN 的頭像
    DN

    davidN

    DN 發表在 痞客邦 留言(0) 人氣()