cogear - site management system

    Good day,% username%.
    Quite a long time ago I did not contact you by name, but, waking up on this pleasant and winter-like snowy autumn morning, I decided to bring back to you information about the cogear site management system being developed .
    So, so that you have information for consideration, I recommend that you familiarize yourself with the topics of the announcement and release of the engine.
    What has changed since then? That’s what we’ll talk about today.

    The first question that will probably visit you after switching “under the cut” is why do you need to create your own CMS- ku, when you can choose from a variety of existing solutions?
    I often ask myself the same question. In fact, I get the answer - it's more convenient. Over 10 years of working as a webmaster, he managed to pay attention to almost all publicly available engines. Many of them are cute today - Drupal , Wordpress , Joomla , however, you yourself know the names, no worse than me.

    History tour

    Man has always been marked by a craving for knowledge. They say it right - live a century, learn a century. I live and follow this rule. Therefore, it’s not enough for me to simply study and supplement the existing engines, I had to understand everything that happens “from and to”, study all the processes of the system, decompose everything “by the bones”, and then assemble the gears and screws, and more precisely, gears , to assemble its own engine, in which there would be everything that was so lacking in other systems.
    In addition, quite often I want to customize the CMS used in my own way , but the deeper you get into how a particular site management system works, the stronger the feeling that everything could be done more simply or more competently. That is why two years ago, quitting the wonderful company Spb Software House, started creating his own engine. If you are interested in the first experience in developing 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 started developing cogear , taking as a basis the time-tested CodeIgniter framework . In the spring of 2009, he put a “piece” for collecting invites, and in mid-June a release took place .

    Since the development was conducted alone, I want to note several key mistakes that were made at that time.
    • Before the release, it is necessary to arrange closed testing so that its participants can identify those bugs that the developer will not see.
      It turned out to be very funny when, due to a fatigue error (instead of get_where, I wrote a get request in Active Record CodeIgniter ), as a result of which everyone was automatically logged in under my account :-) The result was a temporary chaos created by the trolls. Gathering his strength, he corrected the error, and everything fell into place.
    • Until the system has become stable, be sure to indicate on the site about beta / alpha / gamma testing.

    The most important thing for me in cogear development is a colossal experience. Yes, you 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 in fact everything will turn out that way. There is always a thousand and one little things that you don’t think about when you are using a ready-made software product.


    Let me remind you of the main points that I consider the most important with respect to cogear :
    • Powered by CodeIgniter .
    • A fully modular system with a flexible hook system . Turn on / off modules (gears) in one click.
    • Detailed documentation . Including in PDF format.
    • A version control system that allows you to easily and simply update, as well as track all changes in the code.
    • "Gluing" 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 monitors file updates on its own, adding a suffix of the form “? 1234567” to the address of the “glued” files at the output to update information in browsers in a timely manner. The ability to define different stylesets and scripts for different browsers by adding suffixes.
    • Automatic loading of libraries, classes and models. You simply put the file in the desired folder, and when you call the class, it connects itself .
    • Free GPL Second Edition License . 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 an empty sound prefer the GPL more .
    • Own template engine , syntax similar to Smarty , but much faster than it. This is actually just a PHP wrapper that looks toward the latter.
    • The use of subdomains for any purpose.
    • Installation video is for beginners.
    • A large number of useful modules (gears) included in the distribution:
    • Internationalization. Ability to use multiple forms.
    • Demo .
    You can learn more about everything in more detail by reading the documentation .
    cogear - site management system
    Of course, the engine is not perfect, so I’ll note the most significant disadvantages:
    • Departure from the MVC concept towards HMVC and, accordingly, the ideological distance from CodeIgniter . After reading the documentation of the framework and the engine, you will understand what it is about.
    • A modest community at the moment .
    • The longer I move away from specific development stages, especially the earlier ones, the more often there is a desire to return and do everything more competently. But current tasks, as well as other life circumstances, do not allow this to be done yet. As a result, I am slowly writing my own kernel, without involving CodeIgniter , but preserving all the principles and cogear developments .


    With this topic I want to convey to you a fraction of the experience gained, because I know that many Habrovsk people also make their great, just do not make them public.
    I repeat, for me, developing an engine is akin to building a house. Of course, there will always be someone who prefers to buy a finished house, instead of building it yourself. Each has its own way, and for me, developing your own engine is, first of 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 the new heights of web development. Step by step, adding up the mistakes made to the piggy bank for years, I am learning to do my job so that it does not cause complaints.

    I want to thank all the people who somehow helped me in the development for the past six months.

    In this topic, I did not give screenshots, as I did before, since the official cogear website and demos work in full mode and are ready to satisfy your interest at any moment.

    Also popular now: