P
P
Petrusha Ukropov2012-08-15 20:19:36
CMS
Petrusha Ukropov, 2012-08-15 20:19:36

How do you start writing cms?

Whenever it was necessary to make a website, I took some ready-made engine and made a website on it. Rewrote, wrote various modules or plugins.

Now I wanted to write my own CMS, rather for experience. But I realized that I have no idea where to start)

Answer the question

In order to leave comments, you need to log in

13 answer(s)
I
Ivan Goncharov, 2012-08-15
@SilentBrain

Write a better framework. Will give more experience than CMS. CMS is essentially a monotonous creation of forms for adding / editing / deleting content.
And there will be more interesting tasks in the framework, try to implement your own ORM, think over routes, controllers, helpers, try to implement an interpreter for the Slim language (slim-lang.com) or HAML, etc.
This will be a really useful experience that you can even share later with others.

H
hell, 2012-08-15
@hell

If for experience, then you should move something like this:
1) Think hard and hard about whether you need it (because if it suddenly starts to work out, the process itself is addictive and distracts from making money, personal life, and life in general)
2) Estimate what you don’t like about those ready-made engines on which you made sites
3) Make a short list of what your CMS should be able to do (in verbs, preferably)
4) Study frameworks (in different languages) and choose the best, or, making sure that their authors are goats, the full possibilities provided by the frameworks are redundant or not sufficient - go to the next paragraph
5) Based on the list in paragraph 3, select a data store. The selection criterion - surprisingly - is not its prevalence, but rather the ability to select the required data with a minimum number of simple queries.
6) Based on the choice of data storage, choose a framework / programming language
7) Choose a hosting that has everything you need
8) Go through the list from point 3 and quickly write everything. If necessary, specify and expand this list. If necessary, return to point 4.
Something like this.

O
OnYourLips, 2012-08-15
@OnYourLips

In one vacancy I saw the line: “You didn’t write your CMS, or it was a very long time ago.”
This is just advice.

E
excalibur, 2012-08-15
@excalibur

Start with a selection of frameworks. Personally, I use Zend Framework (i.e. php).

V
Vitaly Yakovenko, 2012-08-15
@Xazzzi

With index.php :)
And no kidding, it will put everything else together and make it work the way I need it to. From the core, if you will.

B
Boris Syomov, 2012-08-15
@kotomyava

With the idea that for experience it is better to thoroughly understand a couple of large projects, and understand why it was done that way, than trying to start writing your own CMS without understanding where to start.

S
Sergey, 2012-08-16
Protko @Fesor

Well basically...
> composer.phar install
> app/console generate:bundle
etc.
That is, some powerful framework is taken as a basis, which allows you to create a flexible structure of components. I like Symfony in terms of flexibility. It is fashionable to write some kind of bundle and use it in other projects without any problems, spending a minimum of time on improvements. Due to the possibility of writing aggregators, it is possible to implement an admin panel and the ability for each module to write a part of it and collect everything under one roof. You can take another framework as a basis, and start doing on it.
There is no point in doing it completely from scratch, except for self-education.

V
Vladimir Chernyshev, 2012-08-15
@VolCh

From drawing. Draw ways of turning typical requests first into data, and then data into a response, thinking where it may need to be embedded (change, replace, decorate) according to some conditions and figure out how to implement this implementation and check the conditions. So get the schemes of interaction between the kernel and modules.

N
Nazar Mokrinsky, 2012-08-15
@nazarpc

From an empty folder, then index.php, then a design sketch, then I hook internal functionality to design elements and add new files in subfolders, then the design is separated into separate components (themes, skins, call it what you want) that are connected by the core, and so everything alternates , multiply, rewritten.
Only hemorrhoids are still the same, for almost 2 years I have been sawing CMS / CMF, if I were now offered to start writing from scratch, I would probably refuse such an undertaking, it’s too long and difficult to do something worthwhile.
It's worth starting if you have a list of things that you cannot conceptually implement in other CMS, or it's too complicated. Otherwise, it is a waste of a VERY large amount of time with little benefit.

U
un1t, 2012-08-16
@un1t

In general, theoretical projects in a vacuum are not needed by anyone. Choose a real problem that interests you. For example, it can be, for example, a blog, an online store, or even a business card site. All the functionality together in cms is still not worth shoving right away. Beginning to write. Of course, it’s worth thinking about, but don’t spend too much time on plans. After writing the first version, it will become clear what and how best to do differently, improve.
A framework is better than a CMS in terms of flexibility, yes. I personally use one of the popular frameworks and a number of applications have been written for it. It turns out such an under-cms. But this thing is more flexible and adapts to real projects.

B
bluefox, 2012-08-16
@bluefox

First of all, from the writing of Tech. Tasks (TK). It is necessary to clearly know what the CMS should be able to do and how it should look like. And only after that, based on the TOR, the necessary tools (languages, platforms, etc.) are selected. It is necessary to clearly know the goal where to move, otherwise you can not come anywhere at all.

C
chegor, 2012-08-16
@chegor

Probably from architecture.

S
softm, 2012-08-18
@softm

From copying the files of the standard empty structure, and the latest version, which contains a set
of classes, functions, a lot of js, an empty template, a cache directory and a couple of files for setup and index.
Next comes the indication of this ^^^ FTP to the backup script and checking the creation of an empty backup.

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question