I have already talked about my new venture - OpenJS.com. I created the design and the backend myself. I thought long and hard about using third party tools like Mambo or Drupal or even WordPress. But at the end I decided to make one of my own.
My Own CMS
The advantages of using a custom CMS tool are many...
- You are very familiar with the underling code.
- It is easier to implement a new feature than in a third party tool.
- Better suited for my personal use - I can create all the features that I want the most.
- No known vulnerabilities ;-). Nobody knows the vulnerabilities of my system(not even me). They don't know where I store my configuration. They don't know where my admin area is. So there is a small security advantage.
Another more pressing problem is content entry. I will have to depend on a Web based WYSIWYG editor to create my content. I hate WYSIWYG editors - I hate WYSIWYG editors - even if they have a lot of features. I don't have to tell you how much I hate an online WYSIWYG editors with just limited features. I don't mean that I hate using them - they are very useful for people who don't know HTML - but there are very limiting for a web developer.
Yes, I know that I can key in the HTML code from these editors - but I want more. I want my editors - I want Kwrite. I want Quanta Plus. I want syntax highlighting, auto complition and more. I want all the features available in my desktop editor.
So now I have a backend that don't store the contents of a page in the Database. All the modern CMS does that - but not mine. My CMS tool stores all the details of the page - like title, description etc., in the database but the actual content is in a file - so I could use a editor when editing the file.
So I have most of the advantages of storing the data in the Database - like easier retrieval of data from other page - like for creating the RSS feed for the site - and still keep the advantages of a file based content system. It is a bit clumsy - having to juggle the static files and the dynamic backend, but I got what I wanted.
Third Party Tools
But I have to admit that there is many advantages to using a third party tool...
- You can save a lot of time by using a already existing system.
- Bigger tools will have a huge community that will create plugins, templates etc. that you can use.
- More quality and features - the products are the result of years of coding and upgrading.
- More stable - most of the vulnerabilities it had have already been found and fixed.
- And more...
Have you ever encountered a similar situation? How did you solve it? What do you think of my decision - good or bad? Why?