tags:

views:

495

answers:

14
+11  Q: 

CMS: Build or Buy?

This question is a little subjective, however, it aims to give me a bit of information about whether it is better to build or buy.

My company is looking to enter the world of CMSs for our clients websites, do we provide an open source one, or do we build our own model from scratch?

If you buy, which do you use?

If you build, how does your architecture differ?

EDIT: The CMS we are looking to use isn't to maintain our own website, it is something we can offer our clients and pinned onto websites we are custom building for them, it needs to be something that we adapt and manipulate easily for many different website designs and purposes.

+11  A: 

How about using opensource one? :-)

Today the only reasons to develop new CMS are:

1) non-usual requirements (deadly rare)

2) You just like to code "your own CMS" (c)

If none is the case, take opensource one.

Personally, I have my own CMS for all my private & commercial purposes, but this was mostly just for programming fun. If you need to deliver, you have to use existing products.

BarsMonster
There are a lot of drawbacks to using a premade CMS though. The biggest one I can think of right now is that if you have a custom design, compare the effort it takes to customize an existing one versus the effort to make it from scratch. For lots of sites I have made, I am almost certain it would have been less work to make from scratch. For that reason alone I consider this decision a gamble.
tenfour
@tenfour - Having just transitioned a scratch built web site to Drupal I can say that the initial learning curve and setup of Drupal was a pain. It took longer than the scratch built to get "just right". But now that it is going it is much easier to maintain and to add new content. The OP would be very well-served by starting with an existing CMS for use in their business.
Mike Chess
@tenfour: I suppose it really depends on whether you're developing custom web apps or standard brochure-type business sites. If they want a blog with some separate pages for company info, then a blogging CMS makes perfect sense. If they want a brochure-type site with some minor custom features, then a CMS framework like Drupal or Joomla works best. But if they want a highly customized intranet application or similar web app, then it makes sense to just use a framework.
Lèse majesté
However, most types of web apps have open source solutions already available (Magento for e-commerce, Pligg for link aggregators, phpBB for message boards, Wordpress for blogs, etc.).
Lèse majesté
Yes, learning curve is a pain. But in the long term, you are getting updates with nearly 0 efforts. You WILL save alot of that. Also, you may swap developers, and all your sites will remain healthy. This is also important in long term.
BarsMonster
+1  A: 

This depends heavily on what you need, but many CMSs are a platform that you can build upon, getting the best of both worlds.

  • Wordpress has a very rich plug-in framework.

  • If you are ok with Windows servers, SharePoint has an extensive plug-in/extension architecture.

I don't think there's any reason to build from scratch unless you are planning to compete in the CMS market.

Lou Franco
Really, we want something to give our users certain control over the website - we are a Design Agency and every website we create has a different design and architecture so we need something that can be easily adapted but keep all the data on our secure server.
Daniel Hanly
I know some of the developers who worked on this http://tierra-innovation.com/wordpress-cms/ it shows what you can do with WordPress. They provide web design/dev services and use this WP based CMS to deliver them.
Lou Franco
+3  A: 

Hey Daniel,

The company I work for wrestled with this same question recently. This depends a lot on your client's expertise and needs. It's generally not advisable to build your own CMS unless you're using it to offer something very novel.

Drupal has lots of plugins available giving a great deal of customizability. It's handy in the same way that most CMSs are in that you can use PHP files as your templates and code them outside of the CMS.

Wordpress has the best user interface of all the CMS's I've used (Drupal, EE, Wordpress, Joomla). If you need to program plugins it's also very well documented and (when the plugin is finished) provides a drag-and-drop interface for the client to make changes to their own web site easily.

I'm currently in the process of moving our site from EE to WP.

akellehe
+1  A: 

Do not reinvent the wheel. It takes really a lot of time and money to make a CMS.

If I were you, I would go with an open source CMS, start building custom stuff and contribute back what you can (this is how the company works where I work).

My choice is Drupal, because of the rich set of contribs, excellent flexibility/extensibility and good security.

Yorirou
The CMS is going to be a very condensed, simple one. We need to allow the user to add and update content on their website but we also need a way to control the users website. We are a design agency so every website is different and the front end will need to be adapted to suit the user. What we are aiming for is a CMS that we can roll out to all our clients and it needs to have the same architecture to cover many, many different designs
Daniel Hanly
Check out for Aegir and installation profiles. There are also very good base themes for Drupal (for instance zen_ninesixty), and with these, you can build themes really fast.
Yorirou
+1  A: 

I think it depends on how many clients are supposed to use the CMS.

We have only one client and built a proprietary CMS which we heavily customize to the client's specific needs. It also gives us a strategic benefit since this client can hardly migrate his web sites to another company now.

If you have a couple (> 2) of clients who are supposed to use the CMS, IMHO an open source CMS would be the best choice.

Alex
This is a similar situation to ours, we need something that can give the users control over their content but not too much control that they can migrate. As harsh as it sounds, they pay us a great deal of money for the initial design and development, why should another company reap the rewards?
Daniel Hanly
This is why I would call you and a_____e, Alex. If you have to scrounge for clients, you deserve to be out of business.
sims
+1  A: 

Can you develop a new CMS as good as some other ones that have been around for years and hundreds of people have worked on it's development?

That's a question I always ask myself at the start of every website buliding project. There is surely a good open source platform that meets your requierments and that you can improve.

I suggest these:

Liferay : for large organisations and advanced projects it's written in java. I personally love this CMS. Big places like NASA use it and my company used it for a project, it was great.

Plone : Same as above - language = Python

EZPublish for large organisations but not as advanced as Liferay - language = PHP

Joomla and drupal for normal websites.

Auxiliary
It's not a case of asking such a question as we are looking for something we can easily adapt to many different websites for our clients. The question we've been asking is "Can any of the other CMSs be adapted for our needs?"
Daniel Hanly
I still believe liferay is very adaptable to different needs as long as the client has a dedicated server or a liferay host. If not I suggest you take a look at EZPublish.
Auxiliary
Ooo yes, if NASA uses it so must we. Let's use rocket fuel and fly to Uranus as well. Hold a second, there are more and more smaller space companies doing better than NASA these days using leaner solutions.
Yehonatan
Yehonatan, What I meant was, the fact NASA uses Liferay could mean that it's probably reliable.
Auxiliary
+1  A: 

Well I can build a simple CMS in less than a day (and everybody can do that with any good web framework). So it depends on how complex it is and how much the open source solutions can do what you want your CMS to do. I generally avoid to use open source CMS because it is usually an overkill compared with my usual client's needs but that's me. Most open source CMS (drupal, joomla, wordpress) have many features that most people simply don't care and they clutter their user interface, so I prefer to build my own as far as it is simple instead of using an open source and struggling to add a new feature and make it scalable.

JohnDel
this is the precise reason we are considering a build. We dont want to offer our users so much control that they offer. We need to tightly rein our clients and only give them the control they NEED, not Want
Daniel Hanly
Overkill? You haven't seen some of the "Lite" CMSes then...
sims
@sims what you've touched on there is part of our hesitance toward buying (or using open source) there are so many variations and potential minefields with CMSs that by the time we've analysed, compared and decided on a solution, we may as well have built it.
Daniel Hanly
Yeah, if you have a whole coding team up for the task, then go for it. Or you could take something that suits you 95%, and add the rest of the 5% and make a contribution to FOSS. My main point to consider when doing that is the code quality and style.
sims
A: 

A very important reason why you may want to choose something that is already made (FOSS or commercial) is that someone else may be able to support it.

PS

I've used CMSMS on various projects. It has enough user control to let them edit, but not mess with the layout and stuff.

sims
you mean should we run into problems? because if thats the case, we probably wouldn't run into the problems to begin with if we build, it'd be 100% our own code so we could be better than anyone at weeding out faults.
Daniel Hanly
No, just in case you want to dump some PITA client, or if a client wants to move away. However, it seems that you want to keep a good grip on the clients. I make a selling point out of, "You can leave anytime and keep all of your site, etc."
sims
+1  A: 

As a design agency, presumably with a number of customers with live websites that constantly need to change that are taking manpower away from new projects,

My first question would be if I intend to migrate my existing customers to the CMS based version of their site

Then, What are the commonalities/differences in your customer sites?

If there is a lot of commonality (in the back end code as opposed to the front end design), then maybe integrating a basic article editor is all you need?

Look at how a CMS is going to affect your design flow, Your designs will then be CMS 'Themes', that'll be a learning curve.

I'm not trying to discourage you from Buying or Building a CMS, but the decision will be completely decided by your companies situation.

Personally I use Joomla and DotNetNuke. I'm a developer not a designer, so I buy off the shelf themes and modify them. I also had no existing clients when I started out. I decided to use a CMS specifically because I could buy themes, and secondry to that was the client modifying the articles.

Overflow
our CMS would be for new clients only, as we don't currently have many clients and those that wanted to change information were build a very basic system. We are looking for a solution that we can roll out to new clients that would be the same for all clients.
Daniel Hanly
From your other comments, it would seem that a 'themeing' system would be restricting your design choice, and that your 'very basic system' you mention above would be the perfect starting point for your own CMS. The main features you allude to are simplicity and for it not to restrict your design. While you can certainly get simplicity, Most CMS's do affect how you design.
Overflow
+1  A: 

I cant think of an open source CMS that doesn't provide everything that most companies would need. you get the benefits of bug fixes, little deployment time and ease of documentation. When selecting the CMS try to use one that is not too bulky or not too popular. most CMS allow for easy expansion so if a client has special needs then its easy to add functionality.

codewrath
+1  A: 

We have identified 17 Best opensource Content Management System in languages Java, CSharp, Python and PHP. http://www.findbestopensource.com/tagged/cms

Decide on the technology and pick a one. There are lot more PHP and Java based opensource CMS available.

solidstone
+1  A: 

First, to address your build or "buy" questions - you would be crazy to build. The resourced needed to support code you write as it changes to meet each clients needs will end up costing you a fortune in the long run. It's hard to beat the resources of thousands of developers that many of the big projects have. Does your firm have a security specialist? How about a QA team that constantly searches for ans squashes bugs? Unless you are trying to do a one off, highly specialized application, pick a CMS and go with it.

Next, as far as being able to implement the CMS across many types of sites, that is entirely dependent on your firms developers. If your developer knows XYZ CMS, then he should be able to take any design and make it work for the CMS. Any good CMS has the design layer completely separated from the content and code so the design should not be limited by the CMS in any way. It's just a matter of learning the particular templating system employed by the CMS of your choice.

Last, I am surprised that no one has mentioned the solution to your wanting to limit the amount of control your clients have over their sites. As mentioned you can go the SaaS route and never give the client access to the administrative back end of the site. Any of the good CMS projects offer front end editing. This will allow your client to add/remove/edit the content on the site without giving them access to anything structure or design related. You can completely control the admin, layout, and functionality while the client simply controls the content only, which seems like what you are trying to accomplish.

Brent Friar
thank you for your answer, we are a small web design company of seven people, we don't have a developer team or a security specialist, we have me - the resident coder. I believe what I have constructed in the past two days is perfect for our needs and earlier I asked an out of company friend of mine(security guy) to try and break it, and he couldn't. Our solution is hosted by us and so is all the supporting data so all the users need to do is log in, change something and then see the results on their website. Its worked very well so far, I've still got lots of testing and cleaning to do though
Daniel Hanly
We are also a small firm, I am the only code jockey, but we are hiring another now. Another advantage of using a CMS is that there are other developers out there that work on the big projects. If you need to outsource something for Wordpress/Drupal/Joomla you will have no problem finding someone to do it. If you need to outsource something on a proprietary system it will take a lot longer and cost a lot more. Not to mention that it makes it harder to hire developers as you grow since you can't make knowledge of your system a requirement of the applicant.
Brent Friar
A: 

A reason that you start to build you're CMS could be because the landscape of CMS systems is big (and you can't make up your mind on one system to put in all you're energy).

Do you want a simple CMS for a website, an integrations framework or personalization / social media. As there are a lot of OS CMS out there, I wouldn't recommend you to start from scratch. Check for research EG: http://www.slideshare.net/OpenSourceCMS/451-group-future-of-web-content-management-open-source-cms Also check the OS license of products and how this could affect your projects.

Good luck!

Tjeerd Brenninkmeijer
A: 

Lots of good responses already, but I don't see anyone talking about the real users, the customer who is paying for this site.

One reason a CMS product is often better is that it can give you a lot of help material, usability refinements and add-ons that you won't get when you build it yourself. More importantly for the end-users, it can mean they extend and add to the site without needing to get IT to give them permission (and the run-around on budget/resources) to do so.

Another issue is that if you build it yourself, then that is the only copy of that software that is being security tested and probed. A product will have been through more penetration tests and probing.

On the other hand there are a wealth of CMS' out there and it can be confusing if you do not know what you want. The CMS Matrix is a good site for comparing all sorts of CMS' to find one that suits your needs.

I work for a CMS vendor, Elcom Technology, so I am slightly biased - but I have also used WordPress, SharePoint, DotNetNuke, Joomla and Drupal to various levels of degree and they all offer a big step up over something home-built.

Falkayn