Own CMS engine - is it worth?

Started by jessepeterson, Aug 27, 2022, 01:05 AM

Previous topic - Next topic

jessepetersonTopic starter

The topic has certainly been raised more than once for various reasons and from different angles.
I'll try to raise it not as a developer who has nowhere to go, but as a user who has a dozen projects on different ones, ranging from commercial to self-written CMSs.

The idea is to combine all existing projects on one engine and create new ones on it.
Forces of course third-party developers, myself at the initial level.

Given the diversity of projects (billing, info sites, exchangers, stock exchanges, etc.) as well as the diversity in end users (language, host countries), we need an engine that already has multilingualism, multidomain (different functionality on different domains with common base), multi-locality (from the country of residence, the functionality in the same modules should also be determined, for example, registration requirements or the availability of payment systems).

So please tell me, is there something ready in nature?

Multilingual-Multidomain I was told to eat on WordPress and Bitrix.
The first - I think it is not suitable for serious projects, and there is a doubt about the correctness of the multilingualism of different modules.
The second one is generally evil for me, in my opinion, and besides, it makes no sense to take a paid one, if you still have to invest in writing paid modules.

In my understanding, there is only one thing left, to invest in writing your own engine that meets the following requirements:
Multilingualism - should be incorporated in the core itself and easily picked up on any modules. A simple mechanism for adding local text in the desired language to the engine and modules.
Multi-domain - any composition of modules and their settings for different domains

Deep modularity - the core should be completely empty, only module processing functions, everything else on modules that could be easily replaced / connected / disconnected without any breakdowns, installs, uninstalls (simple initialization).
Deep localization - depending on the country, it should be possible not only to display certain modules or their settings, but also to use data storage in separate databases (observing the requirements of some countries about storing confidential information in the local country)

API for interaction between different sites on the same engine.
And of course, the engine must meet all modern requirements, these are: the minimum load on hosting, fast work, security, SEO optimization.
generally, I basically made a decision, I need it, I just can't decide from a blank sheet or take any open source as a basis, since I haven't found 100% suitable open source. But I think not every programmer will be able to competently develop a structure, but I'm definitely a layman in that.

So, I'm doing (by proxy) open source and waiting for your advice.

I honestly liked it according to the description, but I haven't felt it with my hands yet, and what should I feel, I need to compare performance, other parameters, but I can hardly handle it. The project itself is abandoned and not maintained

Also an interesting project https://max-3000.com/, positioning itself as a lighter analogue of WordPress, but it is on a flame fork and less mobile.
Do you have any advice on what structure to build, what developments can be taken as a basis?

Maybe someone wants to join as a hired programmer or even a partner?

SE Ranking

IMHO that is the creation of a bicycle.
There is Bitrix - this is its own world.
There is Drupal. There is WordPress. And if a person needs Bitrix, he needs it - why does he need your engine?
Simply put, you need to answer the question: how will your engine be better?
More flexibility = more files = more code = harder to maintain.

Or can you put all the functionality of Bitrix into your system? Something I doubt...
As an option - to develop something in the cloud, a product that would be available as a service .. but this is a completely different budget.
In addition, all control systems are constantly updated, as well as plugins for them. The development of such a global product is not a quick business .. and certainly requires a lot of investment. But will they pay off?


Okay, create your own "frostbite from the web world". Then the programmer decides to become a monk, what will you do?
Who will pull to finish the engine? Offices will either offer to transfer to their own (which is most likely), or they will beat such a price that you yourself will refuse. Loners .. well, again, someone sprinkles the module with grief in half, then either raises the price at times, or refuses, citing deeds.

Comparison with frostbite is not accidental. Electronic Arts also wanted to cut all the games on their engine. Only now a problem arose: there were not enough specialists for all projects. As soon as someone "comprehended Zen", he was transferred to Dais. In the end, even such a large company could not.
You can, of course, hire several programmers on a permanent basis so that they purposefully saw and develop the engine to suit your needs. But it's expensive. And 1-2 people, IMHO, are not enough for the long life of the project. Maybe you'll be lucky, but where there is money, in case of hope - this a thing.


Writing your own engine is quite difficult and takes a lot of time. The product will have to be constantly corrected, it is guaranteed to contain many errors and shortcomings. So, popular CMS confidently lead by this criterion.
Of course, you will have to modify the system to suit your own needs, but the labor costs are not comparable to the first option. Another plus of ready–made solutions is that there are a huge number of plugins for them. You don't have to reinvent the wheel if you need to add new functionality to the site.

Despite the extensive capabilities of each of the control systems, it is quite problematic to reveal the full potential of the resource in them. Hand-written code gives the developer complete freedom of action and is limited only by the imagination and skills of the latter. But, the code generated automatically by the program allows you to avoid the mistakes that are often made when writing manually.
In total, we get that the first method is labor-intensive, expensive, but more effective.

Ease of use
A public CMS allows you to automate many processes. There is no need to create pages similar in content (for example, blog articles, products in an online store) from scratch. It will be enough to fill in the appropriate fields, and the system itself will generate a new page.
the advantage is that a person who does not have layout and programming skills can do this. Automation of routine processes makes life much easier for developers themselves.

In security matters, it should be said that ready-made CMS, especially free ones, are more often subjected to virus attacks. The reason is the open code available to everyone. But there are a few simple rules, observing which you can secure your web site.

Update the selected management system in a timely manner. In recent versions, as a rule, existing vulnerabilities are "patched up".
Regularly check the site for malicious code detection. You can do this with the help of special services, such as google Search Console, etc.

Install an antivirus on your computer.
Set a complex password consisting of upper and lower case letters, symbols, numbers. Such a password is harder to crаck.
Entrust moderation to professionals.
Important! Search engines immediately take sanctions measures against infected websites, up to the exclusion of all pages from the search results!
Summing up, I would like to note that ready–made engines are the most rational and stable approach to site management.
When developing your CMS, the cost of the project will increase several times. This will not bring a tangible effect in the work of web site. The solutions offered by modern management systems fully satisfy any needs of the client.