Good day,% username%.
For a long time I didn’t contact you by name, but, waking up on this pleasant and winter snowy autumn morning, I decided to bring you information about
cogear’s site management system
again .
So, so that you have information to think about, I recommend to get acquainted with the topics of the
announcement and
release of the engine.
What has changed since that time? That's what we'll talk about today.
The first question that will surely visit you after the transition "under the cat" - why even create your own
CMS , when you can choose from a variety of existing solutions?
I often ask myself the same question. In fact, I get the answer - it is more convenient. Over 10 years of work as a webmaster, he managed to pay attention to almost all publicly accessible engines. Many of them are cute today -
Drupal ,
Wordpress ,
Joomla , however, you yourself know the names, not worse than me.
History tour
Man has always been marked by knowledge. They say it is true - live and learn. I live and follow this rule. Therefore, it is not enough for me just to study and supplement the existing engines, it was necessary to understand everything that happens “from and to”, study all the processes of the system, decompose everything “by bone”, and then from the resulting gadget and cogs, or more precisely, the
gears , assemble its own engine, in which there would be everything that was so lacking in other systems.

In addition, quite often you want to customize the
CMS used in your own way, but the deeper you go into the structure of this or that site management system, the stronger is the feeling that everything could be done more simply or more intelligently. That is why two years ago, resigning from the wonderful company
Spb Software House , began to create its own engine. If you are interested in the first development experience of the engine, I advise you to read the
topic , written in hot pursuit of the summer of 2008.

Let me remind you that in the fall of 2008 I began to develop
cogear , based on the time-tested
CodeIgniter framework . In the spring of 2009, he set up a piece for collecting invites, and in mid-June a
release was made .
Since the development was carried out alone, I want to note a few key mistakes that were made at that time.
- Before the release, be sure to arrange a closed testing, so that its participants can identify those bugs that the developer will not see.
It came out very funny when, due to the mistake made by fatigue (instead of get_where, I wrote a get request to Active Record CodeIgniter 'a), with the result that everyone who wanted to automatically logged in under my account :-) The result was a temporary chaos created by trolls. Gathering his strength, he corrected the mistake, and everything fell into place. - While the system has not become stable, be sure to point out the beta / alpha / gamma testing site.
The most important thing for me in developing
cogear is a great experience. Yes, we can say that you thoroughly know how
Drupal or any other engine works, but if you try to create your own system, it is unlikely that everything will turn out that way. There are always a thousand and one little things that you do not think about when you use a ready-made software product.
')
Features
Let me remind you of the main points that I consider most important with regard to
cogear :
- Powered by CodeIgniter .
- Fully modular system with flexible hooks . Enable / Disable modules (gears) in one click.
- Detailed documentation . Including in PDF format.
- Version control system that allows you to easily and easily upgrade, as well as keep track of all changes in the code.
- "Gluing" of all javascript and css files into separate files. Pay attention to the fact that the files are picked up automatically - you just need to put them in the appropriate gear folder. The engine also keeps track of the file update itself, adding to the address of the “glued” output files a “? 1234567" suffix for timely update of information in browsers. The ability to define for different browsers their own sets of styles and scripts by adding suffixes.
Example:
scripts.ie7.js
styles.opera9.6.css - Automatic loading of libraries, classes and models. You just put the file in the right folder, and when you call the class, it connects itself .
- Free GPL license of the second edition. Until recently, there was a Creative Commons Attribution-Noncommercial-ShareAlike 3.0 Unported , but time has shown that those who do not consider the license to be an empty sound prefer the GPL more .
- Own template engine , syntax similar to Smarty , but much faster than it. In fact, this is just a PHP wrapper looking in the direction of the latter.
- Use of subdomains for any purpose.
- System installation video for beginners.
- A large number of useful modules (gears) included in the distribution:
- Internationalization. The ability to use multiple forms.
- Demo .
You can learn more about everything by reading the
documentation .

Of course, the engine is not perfect, so I will note the most significant disadvantages:
- Avoiding the concept of MVC in the direction of the HMVC and, accordingly, ideological distancing from CodeIgniter . After reading the documentation of the framework and the engine, you will understand what it is about.
- Modest community at the moment.
- The more time I move away from specific stages of development, especially early ones, the more often there is a desire to return and make everything more competently. But current tasks, as well as other life circumstances, do not allow this to be done so far. As a result, I slowly write my own kernel, without involving CodeIgniter , but with the preservation of all the principles and developments of the cogear .
findings
With this topic I want to convey to you a fraction of the experience gained, because I know that many habrovchane also make their own great, but they don’t take them out to the public.
Again, for me, developing an engine is akin to building a house. Of course, there is always someone who would prefer to buy a finished house, instead of building it on their own. Everyone has his own way, and for me, developing my own engine is, above all, experience and incomparable pleasure.
Yes, let those who know more than mine say that my code is not perfect, but every day I comprehend new heights of web development. Step by step, adding up the mistakes made in years, I learn to do my job so that it does not cause censures.
I want to thank all the people who somehow helped me in the last six months.
In this topic, I did not give screenshots, as I did before, because the
official site cogear and
demo work in full mode and are ready to satisfy your interest at any moment.