473,383 Members | 1,870 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,383 software developers and data experts.

Whether to use CMS or to build from scratch?

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.

Thanks

Feb 13 '07 #1
8 3059
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.

Thanks
You may want to try pmWiki. This will give you a realy nice base. I
happen to use it for my site once I had to give up my JSP\Servlet based
website.

I find that it is very flexible. It has a lot of add on modules
(recipes) to enhance your site. You can also easily add on your own
modifications (php).

Main link is here:
http://www.pmichaud.com/wiki/PmWiki/PmWiki

Link for all of its recipes from their cookbook:
http://www.pmwiki.org/wiki/Cookbook/Cookbook

All of the Themes (skins) you can use
http://www.pmwiki.org/wiki/Cookbook/Skins

--
Thanks in Advance... http://weconsultants.prophp.org
IchBin, Pocono Lake, Pa, USA http://ichbinquotations.awardspace.com
__________________________________________________ ____________________
'If there is one, Knowledge is the "Fountain of Youth"'
-William E. Taylor, Regular Guy (1952-)
Feb 13 '07 #2
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.
Much depends on how soon you need things up and running, even if a CMS can't
do exactly what you want, you can in most cases write a module that will do
what you need to have done.

It's only if you need to do things that are really special and which you can't
do with a module in a already made CMS, then start to think of making
something from scratch.

Of course if there are things you need to test when it comes to your coding,
then you can start from scratch too, but usually it's enough to just make
something small for testing something new instead of writing a new CMS.
--

//Aho
Feb 13 '07 #3
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.

Thanks

That depends on the problem you're trying to solve.
If you want to have a CMS package that's your own - build it.
If you just want to know CMS inside and out - build it.
If you want to learn every aspect of LAMP - build a CMS.

But if you're like an IT guy somewhere, and you just need to get
a website going, then reinventing the wheel might not be your
best choice.
Feb 13 '07 #4
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.

Thanks
What are your motivations?

In purely business terms, an established package lets you deliver to
customers faster. You accept a small learning curve, because its still far
smaller than trying to establish a familiarity with the problem domain by
responding one-by-one to customer demands, especially if the customers are
expecting slick up-to-date sites.

The other common motivation is simply that programmers like to code, so we
code. Why take a 3 hour flight to LA when I can walk there myself in only
4 months!

--
Kenneth Downs
Secure Data Software, Inc.
(Ken)nneth@(Sec)ure(Dat)a(.com)
Feb 14 '07 #5
On Feb 14, 1:31 pm, Kenneth Downs <knode.wants.t...@see.sigblock>
wrote:
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.
Thanks

What are your motivations?

In purely business terms, an established package lets you deliver to
customers faster. You accept a small learning curve, because its still far
smaller than trying to establish a familiarity with the problem domain by
responding one-by-one to customer demands, especially if the customers are
expecting slick up-to-date sites.

The other common motivation is simply that programmers like to code, so we
code. Why take a 3 hour flight to LA when I can walk there myself in only
4 months!
That's exactly what I was trying to find out. I personally like to
code. I feel that's more challenging and I feel like I'm in full
control of what I am doing. But if I start coding things from scratch,
as you said, it might take me 4 months to build a fairly complex site
whereas if I use Joomla, that'll probably do the same job in a week.
If someone uses Joomla to create a website, they can do it quicker and
cheaper. If I start coding, it'll be slower and expensive. Something
made with Joomla may cost $2000 whereas if I code from scratch, the
same thing would have to be charged no less than $8000.

So does that mean, is pure coding a thing of the past with the
introduction of powerful CMS such as Joomla? What are your thoughts?

Feb 14 '07 #6
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.
Feb 14 '07 #7
white lightning wrote:
On Feb 14, 1:31 pm, Kenneth Downs <knode.wants.t...@see.sigblock>
wrote:
>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.
Thanks
What are your motivations?

In purely business terms, an established package lets you deliver to
customers faster. You accept a small learning curve, because its still far
smaller than trying to establish a familiarity with the problem domain by
responding one-by-one to customer demands, especially if the customers are
expecting slick up-to-date sites.

The other common motivation is simply that programmers like to code, so we
code. Why take a 3 hour flight to LA when I can walk there myself in only
4 months!

That's exactly what I was trying to find out. I personally like to
code. I feel that's more challenging and I feel like I'm in full
control of what I am doing. But if I start coding things from scratch,
as you said, it might take me 4 months to build a fairly complex site
whereas if I use Joomla, that'll probably do the same job in a week.
If someone uses Joomla to create a website, they can do it quicker and
cheaper. If I start coding, it'll be slower and expensive. Something
made with Joomla may cost $2000 whereas if I code from scratch, the
same thing would have to be charged no less than $8000.

So does that mean, is pure coding a thing of the past with the
introduction of powerful CMS such as Joomla? What are your thoughts?
I find CMS's don't save me much time at all. I still have to write all
the PHP, ASP or whatever code. I still have to write the HTML.
Something that takes me 2 weeks to write for a CMS generally would take
me about 2 weeks to write myself.

CMS's are nice in that they allow you to design the page once and
continue to use them. But you can do the same thing with templates and
include files.

Now I'm not saying CMS's are bad. They aren't. They're just a
different way of doing things. If they work for you, by all means go
for it. They just don't do anything for me except complicate things.

--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attglobal.net
==================
Feb 14 '07 #8
white lightning wrote:
I want to know when to use CMS and when to code from scratch?
To paraphrase Kelly Martin (SecurityFocus.com), using a third-party CMS is
like drilling your own teeth: it's sometimes scary not being able to see
what's going on, in case something goes wrong.

--
Toby A Inkster BSc (Hons) ARCS
Contact Me ~ http://tobyinkster.co.uk/contact
Geek of ~ HTML/SQL/Perl/PHP/Python*/Apache/Linux

* = I'm getting there!
Feb 15 '07 #9

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Alex | last post by:
Bottom line: would like to get a weblog and bulletin board going. Would like to use phpBB2 and movabletype. I have movabletype working using mysql. Apache and php were on my linux red hat 7.2...
10
by: Hung Jung Lu | last post by:
Hi, Does anyone know whether there is any generic GUI-based build system around? (Python-based would be great. Also, for now I am only looking for Windows OS.) By "build system" I mean something...
1
by: fernandestb | last post by:
Hi People, I'd like to know if exist the possibilite to build an email server with socket and Mime ? Tks FX
8
by: Mav | last post by:
Hi, all I wonder is that any way to estimate the build time from VS.net(C++ project). We have a lot of projects(40) under one single solution. We use the command line (devenv.exe...
5
by: john_williams_800 | last post by:
Hi; I am just starting to use the DOM to do some more advanced javascripting so please be patient with my question if it is an ignorant question. I would like to use the DOM to dynamically...
0
by: pcgxk | last post by:
Due to some bugs in .NET SP1 which we are currently review with MS under separate cover, I am having to regress the patching levels of several of my desktops to rebuild and retest several versions...
4
by: Dave Diehl | last post by:
Has anyone heard of a problem with a rebuild of one application causing a problem with another app on the same server? I have two asp.net applications on the same Win2000 server, each with it's...
5
by: Jon | last post by:
I am constantly getting reports in my task list like these: * 'someObjectName" is not a member of 'someOtherObjectName' * Handles clause requires a WithEvents variable. * Name 'someName' is not...
1
by: Johnny Jörgensen | last post by:
Can anybody please clarify to me what the difference between Build and Rebuild is in Visual Studio 2005? Cheers, Johnny J.
1
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: ryjfgjl | last post by:
In our work, we often need to import Excel data into databases (such as MySQL, SQL Server, Oracle) for data analysis and processing. Usually, we use database tools like Navicat or the Excel import...
0
by: taylorcarr | last post by:
A Canon printer is a smart device known for being advanced, efficient, and reliable. It is designed for home, office, and hybrid workspace use and can also be used for a variety of purposes. However,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.