Reply to Re: Whether to use CMS or to build from scratch?

Your name:

Reply:


Posted by JM Ivler on 02/14/07 04:43

white lightning wrote:
> I've been thinking lately about whether to use opensource CMS such as
> Joomla or to build something from scratch.
>
> I am good with PHP/ MySQL but only little bit familiar with Joomla.
>
> I want to know when to use CMS and when to code from scratch? How do I
> make such a decision? Need some expert advice.

I'll do one better than most replies, I'll explain why I use a package
and why I don't.

For my clients who want storefronts I generally use OSC (actually and
OSC derivative called OSCMax that we have further modified). It does
about 95% of what I need done and it is VERY stable. That's the biggest
issue. The last thing I want is something as a base that is going to
undergo a massive change or require a massive fix. Why? Because when I'm
done making the modifications I need to make my customers happy (and
every version of anything open source will need modifications to make
your customers happy) and for adding features I can mostly keep away
from the primary tables making it easy to update. ***and that's the
key*** See every piece of open source, sooner or later, will have to be
upgraded, and the more you have messed with the base code, the more pain
there is in the upgrade. A great example of painful upgrading is PHPbb
which lacks the structure to gracefully be modified.

Okay, now back to CMS and why we created SiteControl rather than use
open source. Every client has a set of CMS needs that are core, and then
they have a set that are unique to their specific cases. The problem is
that most CMS systems create massive projects that try to reach the
largest user base. 99% of my clients don't need a calendar system. In
fact, only one out of all my projects does and they needed only a simple
announcement calendar. So why have a massive system that has tons of
stuff in it to handle and manage calendaring?

So, we built ourselves so we could create a system that has "packages"
that our user community can pick and choose from. Some of these are open
source packages that we have modified into the product. Others are built
specific to our clients needs. Every client wants a "contact us" page,
so that is a core module that we include in every package. On the other
hand, only those that need a links page will buy the links module.

In addition, we offer a multiple number of "navigation" modules that we
can integrate. So a client can have "top navigation" "side navigation"
"footer navigation" expanding navigation or static. Mouseover navs or
dhtml navs or image navs, all with the simplicity of just changing one
module.

The best part is that clients that host with use all have "common
elements". That means that when we add feature sets to a component that
they have, we roll the component out across the server and all clients
get the upgrades and updates. Since we control the components the
components degrade gracefully for clients that want to maintain the site
as it was, but those that want to use the new features can start to at
any time.

An example of this was the "contact us" module. It had the ability to
include a pull down "reason" that the client could update at will. One
client wanted to be able to have the system send an e-mail to a
different person based on the reason code. So, we updated the code and
the database to allow e-mail addresses to be associated to reasons in
the selection list. When we pushed the code out to all the clients we
saw some immediately start to take advantage of the new feature. One
created multiple contact us pages (allowed and supported in SiteControl)
for each different project. This allowed them to have people in "Project
A" be listed by title and have web-users send them e-mail, and do the
same thing for "Project B" where as before all e-mail went to one
"Project" box for each project and then someone forwarded it to the
right person based on the reason code. Other clients did not want to use
the new feature, and their code degraded with no issues to the same as
it was before the code upgrade. They didn't see any difference except an
optional field on the backend that they could ignore.

So, the question you ask is best answered by what you want to maintain
and manage. If you want to have a large CMS system out there (the more
code there is out there, the greater possibility that it will break) or
do you want to be able to build to suit?

A shopping cart system like OSC is VERY different than a CMS system. In
a shopping cart system there are a set of very common tasks that almost
every cart will have to perform. In a CMS system each clients needs are
far different and in some cases 75% of an open source project will be
unneeded (yet will have to be maintained).

So, that sort of covers the process I went through in making a
determination on what would be open source and what would be hand built.
And yes, when we use open source we do give back (I wrote the initial
recover carts program for OSC). But, even when you look at what we give
back, it follows our philosophy of not messing with the core tables of
an application :-) Some open source applications are built so that can
be done, with ease, those are the ones I recommend that you consider if
you do consider open source.

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация