Component-based vs. customized web sites
If not can you [...] try to find an existing tool because from what i know there are so many that it would be a waste of time to program one ourselves
What do you reply to a statement like that from a client?
I see two extremes: the component based website, where all functionality (messageboard, calender, blog, etc.) is found in existing open source software, which each work seperately and independent of each other. The other extreme is the customized web application, where everything is customized to fit the exact needs of the entire website.
The main benefit of component based websites is low cost. When just adding “off-the-shelf” components, only few programmer hours are needed – and these don’t come cheap. Another benefit is speed: things are up and running in short time and the component can do many things.
The main flaw of this approach is poor integration between each component. The approach can seem appealing in the short term as the site can get to be up and running fast, but in the long term, the different components needs to be connected to eachother to make reasonable use of the functionality between the components.
If your client chooses to just pick components of software for their site, the result will be a site with no red line, the same elements appearing multiple times but in different components and in different ways. Each component may have a lot of features, but are these features actually needed? Are these features constructed in a way so that they work seamlessly together with the rest of the components on the website?
If not, the features needs to be connected by aftermath programming. The backlash: the components will need to be deconstructed to fit the vision of the finished site.
The client needs to be aware of why he wants the feature he wants and what role the feature has on existing features. How should a feature be implemented and work with other features if it should fit the vision of the finished site?
UPDATE: Found this rather old blog post about the same topic.