Content Managment System debate will never end any time soon. Each Content Managment System users see that they are while using best CMS, no matter the facts are. I am not very to that also, but no less than I have used several cms, and I am trying around I can becoming a cms agnostic. I used the major three PHP CMSs available, Joomla, Drupal, WordPress in that arrangement. Now i have agreat web design experience. In this article I let you know my story and my personal experience in this area, also I will try to list my own notes concerning the three CMSs (Remember this is my own, personal list & opinion).
First Things First
The new I heared about word CMS (not the precise term but the meaning), i became shocked. I have never heared about such a thing that can let you build your website without any coding (that’s what i was told, and it is both true and false). Back then the only way to make your website without coding was some static website builders, we were holding very poor, and didn’t meet my website requirements (a free ad. website),
I went home extremely fast to search about this concept (remeber i was told concerning the concept only, not the CMS term). I used google and tried a lot of search phrases like Dynamic website builder, Build Dynamic Websites, and some more generic searches, and I discovered Joomla website. After reading lots of information on their site, i needed badly to use this revolutionary concept. I have downloaded Joomla v1.0, and begun to read concerning the installation & creating my first website. The documents were inadequate (yet still), but I managed to setup an operating localhost installation website.
Creating and managing my first dynamic website was unforgetable experience. After I have finished my website on my local server, i desired to move it to the online space. I visited bluehost and bought my domain name, and a hosting package. Quickly i have installed Joomla again, but this time around I coudn’t migrate my website from my localhost to my new live server. My friend (the one who told me about CMS) informed me that you are able to’t migrate it, you’ll have to build it again over completely from scratch (he was using Drupal in addition).
After i and my partner have built it again from the scratch (she solved the problem a lot), i came across that I love building websites, and seriously considered working in websites building. I thought that I can build any site with Joomla without any coding knowledge.
I started to build a variety of sub-domains, and building any web site was taking about 2-3 months. I was building them with no technical/code knowledge, towards the degree anytime one of my websites have got PHP error (be it easy, or tough to solve the issue), i rebuild the whole website from scratch. I knew nothing about any code (apart from some basic HTML tags).
After some time i was asked to build a website for among my friends for entertainment only, i thought i should learn PHP and change my career into building websites, i have learned some fundamental PHP code, and installed Joomla again for the first time. This time i created that website in one month only. I have solved lots of PHP errors, and finding out how to backup my site. In short, I have become a professional Joomla user, that i’m using it till now (v3.1 may be the latest version I have used) near the other two CMSs.
Joomla from my experience
From my experience, Joomla is an extremely powerful, easy to use CMS. It could be extended quickly, modular CMS, have a huge list of useful extensions, and may create any website (yes any website whatever it’s complexity), but (Yes often there is a BUT).
New Joomla users could have a very expensive way learning with all the system, solving problems, and issues. Joomla documentations are bad. You will be forced to find the entire internet a good deal. Joomla is extremely slow, with plenty of less than optimized database queries. The Page cycle of Joomla is extremely complex that may be very slow on multi thousand articles/users websites.
Joomla system has some serious issues with third party extensions (with few exceptions), not in functionality, infact it is going to work adequately with any 3rd party extension (most of these), but rather in allowing any extension to utilize the system just as if it is alone there. Extensions always interfere, they’re not integrated in any way. It took me very long time to integrate a membership extension with an eCommerce extension, plus a forum extension.
Joomla Php Code Mess
I are making this special section because of this special subject, before I continue listing my knowledge about Joomla from v1 to v3.2, i would like to tell you what’s my web development experience at this time. I have dealt with PHP & Mysql in excess of 7 years, have used almost all pobular Php frameworks, have a really good experience with Object Oriented Programming & Design Patterns, but badly my english isn’t so excellent (doesm’t have anything with web design, but I wanted that you not judge me from my english writting skills). With that said, i’ve never seen any Php code like Joomla, Yes i love OOP & Design Patterns, nevertheless for sometimes they could negatively affect assembling your shed if assembling your project doesn’t need such architecture.
Joomla system uses OOP & Design Patterns extensively,somtimes they actually do so for not one other reason than writting object oriented code, and design patterns only!!!!!. OOP has a great deal of levels, so you must apply the proper level for almost any given task. Simple tasks in Joomla that may be done with an easy to use/understand OOP, are written in an extremely very hard style, even experinced OOP developers can lose there ways easily. Take component development as an example, before you begin coding, you should do some nonsense work, from using the strict and uncomfortable naming conventions, to creating plenty of dumb files which will do nothing apart from allowing that you start your component development!!!!. Why wasting time and resources???
WordPress alternatively handle it might be quite easily (will get to that particular in details later), name your plugin because you see fit, write 5 lines of code at the start of your main plugin file (any file name will work perfectly), and you also are ready to go. Your plugin caused any problem?? well, just delete it’s folder and your site is working perfectly again.
How often your website gets broken simply by installing an extension cord???!!!!, Did you notice how any extension can cause a great mess in your database, which might leave you with one option only, Restore a vintage backup!!!!!!
Drupal: Users fear you!!!
Now to my second cms during my little website building experience, Drupal. After using Joomla for a while, i desired to try other CMSs, and I wanted to test probably the most advanced one (Drupal), WordPress was from my equation, because it was fashionable as a blogging system only. I attended Drupal website, and grabbed the most up-to-date version (can’t remember the fact that was the version), installed it, and went on the admin area without reading any documentation, i was thinking I wouldn’t read any, as I am a seasoned Joomla user, but I was totally wrong. The admin area was packed with new terms, and words like nodes, taxonemies, modules (equivilant to Joomla extensions).
My Drupal website with very simple out of the box, i found one menu item, and 1 paragraph onto it!!!. That was a large shock to me. I pointed out that this isn’t an average CMS, it can be much like a framework with some CMS features, where all you need is a strong base that you simply can build any type of sites on top of it. I began to find out how to develop websites with Drupal, and have built some, however didn’t have much time to master anything new, so after 6 months, i went back to my well-knows Joomla CMS.
Drupal from my experience
Drupal is an extremely solid CMS/framework, it is quite stable, fast, and optimized. You can build about anything on top of it, not having useless features which could slow your website down. You can have your project requirements only, since you are building assembling your shed nearly yourself, unlike Joomla, and that means you are in control.
Drupal code is clean, and optimized. I think it will be the most optimal code, without an excessive amount unneeded complexity.
The downside of Drupal is when you want a willing to publish website you’ll be able to go either Joomla, or WordPress. If you want a strong, solid base that you can build anything on top of it yourself, choose Drupal. Drupal admin area has some terms, that will make new users feel uncomfortable, i believe Drupal can replace these terms with something more friendly, specially the concepts behind these terms are extremely simple.
WordPress from experience
Now to the latest a part of my little CMS story, WordPress. I have never get excited to use WordPress because it was common as a blogging system, but since 2010/2011, i have discovered too many great websites, through looking at the source code, i used to be shocked when I found that 90% from the well designed websites where WordPress!!!!. I declared that I will do this CMS, whatever other medication is saying regarding it. so when I first installed it, it was very basic, didn’t have much features. I decided to leave it without ever looking back. One day I have found a wonderful WordPress theme, it had been the reason I tried WordPress again, but on this occasion i told myself that I must use WordPress just as if it will be the only CMS, to ensure I can spend more time it.
After my second WordPress installation, io realized that I (and most people) was wrong. WordPress can easily build my clients’ type of websites, 98% of my clients just want a web site to represent their services, as well as a blog section. I have built plenty of websites with WordPress, and they’re fine. In fact, I am using WordPress now as my primary CMS choice, unless the project is very complex.
WordPress is a great CMS, simple to use (for my clients), fast, can be extended. It has the most fantastic themes from the 3 CMSs (due to it’s business). WordPress code is extremely easy that any new PHP developer are able to use, and extend, but perhaps you need more solid/advanced code.
WordPress uses procedural code, that is fine for new developers, but could be very limited for the more experienced ones. You can extend WordPress in many ways, but also for some complex projects, you may need to consider certainly one of the other CMSs.
WordPress has been known to be insecure, which is true. I found myself forced to change the entire file structure for more security, which will make the auto updates an impossible task, but i can deal with that.
Now my final conclusion:
WordPress is extremely good for just about any small-medium website (which represent about 90% with the internet websites, so that you can put it to use in almost 90% of your projects.
Joomla is extremely good for medium websites, you will have lots of features away from the box, which can cause some side effects if you don’t need any of these features, and editing the device requires plenty of time, and work.
Drupal is extremely good for complex websites only, you may have the minimum volume of features beyond the box. nevertheless it may replace a number of frameworks out there. if you discovered any projects that can’t be done without PHP frameworks, you would better use Drupal as it’ll save you a lot of time.
web development egypt