Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

As an intermediate to advanced level PHP web-developer and a young one at that (

ID: 649964 • Letter: A

Question

As an intermediate to advanced level PHP web-developer and a young one at that (15yrs.), should I build an entirely new CMS for my website or rely on pre-made software such as WordPress or Drupal?

I don't exactly feel that WordPress is powerful/scalable enough to be able to handle what I'm trying to do and after tinkering with Drupal quite a bit over the last few days it just doesn't seem up to par for my liking and also isn't well documented so I'm having a bit of trouble getting it to do certain simple tasks. I would love to use something such as ExpressionEngine, but I don't have the money to dish out for a commercial license which is currently at around $300, so that's a no-go.

I originally started coding my site as a temporary system so my users could purchase upgrades and other things such as in-game currency until I could get a new website up, but after I started on it I quickly realized that I needed to make it scalable, so from then on I coded with the thought of making it a full-functioning website in mind. It only took a couple of days but all of the basics are there (register, login, account modifications, etc.) and I believe it would be a great start for a private CMS.

The last thing I want to add is if I were to build my own CMS, should I make use of a PHP framework such as CodeIgniter, which I have quite a bit of experience with?

Maybe others developers could clue me in as to what I may be getting myself into.

Explanation / Answer

It totally depends on your situation. Great sites has been made with CMSs out there. I think we'd better first understand two concepts, CO, and TCO.

CO (Cost of ownership)

When you buy something, the amount you pay for that is CO. In case of WordPress, it's nothing, cause WordPress (or many other CMS software) are free of charge.

TCO (Total Cost of Ownership)

Imagine that you buy a PC for 10000 dollars. Then what? You should spend time for installing software on it (time is a valuable resource, thus you're kind'of still spending money on that PC), then you might purchase a webcam, another DVD writer and some extra cables. Then you need to learn how to use installed software. In other words, Total Cost of Owning a PC is not $10,000. It's much more than that.

In case of CMS software, their CO is really nothing to very low rates. But many experiences show that their TCO is not low at all. Big companies spend almost thousands of dollars to get a good site in Joomla, or WordPress.

Another factor is the level of customization. Sometimes you want to use a software as is without any change. In that case, WordPress, Joomla, Drupal or any other CMS could be a very good candidate, and you shouldn't write your own CMS. But there are times that you need a high level of customization. In that case, you really become frustrated to customize a ready-to-use CMS to suit your requirements.

I actually wanted to use ready CMS software, but after a spending a valuable time on learning different CMSs and finding weaknesses of each one, I ended up creating my own CMS. Thought Results is my personal site and is built via this CMS. I'm gonna publish it soon, so others can also use it.

Still another factor is extensibility. Believe me, it makes you old to take a CMS from static state to extensible state. Templates, modules, plugins, providers, database and storage, routing mechanisms, and almost any part in a Good CMS should be extensible.

At last, my personal suggestion is to start building a CMS, so that at least you learn some of the most fundamental concepts behind it. But also try to use existing ones. Good luck.