Answer the question
In order to leave comments, you need to log in
Is there any resource that introduces the concepts and structure of cms?
When studying various articles on how to do cms correctly, a rather fragmentary understanding of this process has developed. There are, here, routers, template engines, there are controllers. Usually, in various articles, these concepts, if they are described, are very atomic, and each of the tools is not dealt with in detail anywhere. Moreover, no one talks about some best practice for using all this, or at least does not give examples of how all this is implemented in large commercial solutions, or at least some classification of different approaches.
How to figure it out? Are there any resources or a community of people who, among other things, write cms and describe some concepts?
Answer the question
In order to leave comments, you need to log in
Routers, template engines and controllers are not related to CMS, but to software design in general. And to a lower level of abstraction. Actually, the development of CMS is not fundamentally different from the development of anything else, there is simply no special sacred knowledge for this area. Well, the ability to design comes through reading relevant books and years of practice.
I can't say if I did the right thing, but I can say how I did it.
There is an anecdote. It means that a person is coming. He sees a fork and a sign - "If you go to the right - you will get n @ rides! If you go to the left - you will get n @ rides!" Man, let's turn around and stomp back, and look - there is a sign "If you go back - you'll get a ride!". The man stopped and began to think what to do. And then such a voice from above - "THINK FASTER! OR YOU WILL GET P @ RIDE!"
In general, the main rule, which should remove all anxieties and various thoughts on the topic - where to go, sounds like this - YOU NEED TO SOLVE PROBLEMS AS THEY APPEAR. Everything. This is the main thing.
Do you want to create SMS? Well, just create anyhow. As you like - naked, on frameworks, take apart wordpress piece by piece - as you like, as you like faster.
Why do you want to create a CMS? I had to create it, because. In 2008, SEO was raging. The people caught the wave, they say who jumps out in search, he immediately gets rich. I had 10 (!!) SEO friends in Moscow. They all wanted slap slap and done, while each of them wanted to be able to ANY changes to the engine core, while they wanted the dviglo to be updated. In those harsh times, Joomla and WordPress did not experience updates. The site had to be redone. The engines themselves were incredibly leaky, incredibly slow. I potyrkalsya pomyrkalsya and had to do dviglo most. At first it was simple - in the admin panel there was no trace of Ajax. Primitive tree. Pages have primitive properties, the main thing is that the SEOs would be happy with everything.
Then they began to torment me with stretches of individual designs. And the layout in those years was difficult because of IE6. I got into typesetting with my hands and programmed a design system - any designer could upload pictures through the admin panel, he cut these pictures himself, he generated CSS and html. This is something like Artisteer but built into the engine itself.
Then there were orders for Internet stores - I had to do something so that mini-cards and large cards could be filed individually, and again without programming.
In general, 10 years have passed. A lot has been done since then. Highly!!! Dglo turned from a self-propelled gun into a real studio engine. There were about 200 introductions. The global turnover of money that clients have earned on my engine ... well, probably a billion scars, that's for sure.
Where am I moving this project now? I implement everything possible and impossible to work on the site IN TEAM. I do this because I have had a team of 4 programmers for 3 years now. And accordingly, the development of CMS already has serious differences from the period when I was alone. I wrote all this in confirmation of the fact that it is necessary to solve problems as they become available. Only this approach allowed us to move forward in the development of the project. Every time when I tried to solve problems with some ultra-fashionable-modern-canonical method, I sewed up, burrowed, got stuck, skidded, hung up, didn’t give any value to the client, and as a result I didn’t earn anything - but this is the main thing !! !
In general, the advice is - DO, JUST DO! Architecture, best practices - complete crap! When you solve a lot of problems, you will see everything for yourself. Or if you work in a team under the guidance of an experienced team leader, you will not be soaring over the question of "where to go." All responsibility will be taken by the team leader. If you yourself become a team leader, then you will set the very practice that your samurai subordinates will be guided by.
To set a goal to write something without even understanding how it works is bold, but with a probability of 99, 9999% it will turn out to be nonsense.
First you need to study the existing CMS in practice, understand what are the shortcomings in one of them or in all CMS in general, and then decide whether to write your own CMS from scratch (to eliminate some global problems inherent in all CMS , which you have studied), or join the huge developer community of one of them to offer your advanced solutions to improve the existing CMS.
Although, judging by the author's question, his problem lies in the unwillingness to study existing CMS. Like "I'm the smartest, now I'll make my own CMS on my knee and the whole world will shudder, start using my CMS, say - what a fine fellow I am and bring me money." Yes, we've all been through it. And from the height of experience it is clearly seen how childish this thought is :)
The author just got confused in unfamiliar letters, not cms, but MVC.
If you search by the correct letters, then the information of the world, including on the toaster
1) The main, main, I don’t know how else to say, the idea of CMS is to separate the content from the way it is presented and provide an admin panel so that the teapot can manage it. Everything else - the choice of language, database, project structure, MVC, etc - is the decision of a particular developer!
2) It seems to me that in our time writing a CMS is strange. If you need a CMS - take a ready one, if you need a base for a more serious and flexible project - take one of the modern frameworks!
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question