views:

1954

answers:

9

This is going to be a bit of an essay. Here’s the background.

We design content managed web sites for graphic designers as you can see at http://www.yart.com.au/Our-Work.aspx

We code these sites from provided artwork, we don't graphically design them.

For the last 7 years we have used our own ASP/ASP.NET hybrid CMS and it seems to be time for a change. The CMS is difficult for staff to code, unheard of in the outside world and looks dated compared to others. It has been coded without refactoring (yeah I know smack smack) and is now quite difficult to modify.

We are starting to get criticisms that our technology is unknown by other companies. Although we give full access to source code, practically speaking it would be difficult for a coder in another company to maintain our sites if we were hit by a train. Also, if we were using a known CMS, our business would increase when client's looks for maintenance in existing site built on some known CMS.

However, our CMS does certain things really well.

Because our clients are graphic designers, every site we code tends to be totally different. So we start coding from HTML, not a standard layout.

Since it is our source and we understand every line we can customize to any level.

Integration of custom modules is very easy for clients.

Here is an example:

Custom houses selected from a drop down http://www.zuccalahomes.com.au/gallery.aspx?price=From+%24130%2c000+-+%24150%2c000

House details when you click on a house http://www.zuccalahomes.com.au/house-details.aspx?IDDataContent=40&prev=gallery&price=From+%24130%2c000+-+%24150%2c000

These are edited by the client here http://www.yart.com.au/junk/houses/default.aspx

This CRUD functionality in the CMS takes about 1 hour to add because of our APIs. Plus we have seamless CRUD functionality on the front end of the site if need be. The CMS interface is impossible to misunderstand for non technical clients as you can see from the simple menu. This extends to adding pages and so on.

We are thinking of using a cheap (less than 1000 USD) or open source system but are very scared of moving to a new CMS.

Our main fears are:

  1. To fully understand a new product takes 20-40 hours. Thus to comprehend the suitability of Joomla, Umbraco, DotNetNuke, Kentico (not open source but reasonably priced), SiteFinity, Expression Engine, Drupal....(the list is endless) would take weeks of time.

  2. Will there be the ability to base the CMS on our HTML rather than starting with a preset template?

  3. How difficult will it be to add custom CRUD behaviour that integrates clearly into the CMS interface and doesn't end up being buried in an obscure menu item thus confusing the CMS editor?

  4. Will our non technical clients be able to understand the CMS or will it have so many features that we will get constant phone calls about how to use it?

  5. Will a large code base from another product be difficult to customise at source code level when we really have to?

  6. It is hard to know the basis by which people are recommending a particular CMS. There is a big difference between say throwing up a simple blog and saying:

“I wrote a site with xxx CMS it was great”

and far longer term evaluations that showed support, customization, developer training, backward compatibility with yyy CMS worked over 50 sites for 3 years.

I was wondering if there were any professional CMS developers who have hit this problem.

What CMS do you use?

Are our fears justified?

Help!

+2  A: 

My guess is that there will not be a single answer that will give you enough data points to make a decision that considers all the products in your list.

And there may also not be a single answer.

I just went through a similar decision process, and we ended up with Joomla, knowing that it may not satisfy all requirements for sites that we will encounter in the future.

Joomla is great, because it gets you started quickly and has a reasonably designed administration interface (I find my mouse cursor travelling a lot across the screen, though)

It is very straight-forward to create a template from scratch. Most simpler sites will require exactly one PHP template page and one CSS that goes with it.

I found that Joomla extension components are easily installed and integrate well with the rest of the CMS.

What you cannot easily do in Joomla is adding custom content types, with custom attributes (easy is relative, but I mean not as easy as doing the other things that I mentioned). So, if you have a lot of standard page/article type of content, it is a safe bet. If you have to manage other things (events, bios, ... ?) that require additional attributes, Drupal or Silverstripe may be a better choice. Drupal is more of a framework, and Silverstripe has this extensibility designed in from the start.

Another weakness, probably Joomla's biggest one, is that there is no concept of a page. Your site structure is defined through the menus. This means that you cannot have pages that exist independently of a menu item, because the menu type that is assigned to the menu item defines the page structure and content. Not very intuitive, and not very flexible. But I can work with it.

In order to build the confidence that you will be in a good place with your selected product, you will have to do some prototyping. I suggest that you collect information from answers here and in other places, then pick one product that you think may be a good match, and convert one of the sites that you have. If you are happy with the process and the result, stick with it. If not, repeat with the next-best choice.

cdonner
Thanks for that answer. By "custom content types" do you mean something like my house module http://www.yart.com.au/junk/houses/default.aspx?
Petras
Yes, exactly. This is another example:http://www2.standardandpoors.com/portal/site/sp/en/us/page.managementbios/mngmnt_bios/4,3,3,0,0,0,0,0,0,0,0,0,0,0,0,0.html?lid=us_topnav_bios
cdonner
A: 

I use phpwcms (if only php is supplied)! It's easy and straight forward.

If I have the chance to choose what appserver will be available, I'll choose java and Apache Lenya. It's enterprise prooven and easy-to-use. Otherwise it's based on XML, so your apps can easy interact with it.

Martin K.
Don't suppose you've compared Drupal with phpwcms, particularly when there are a lot of custom modules?
Petras
I've used phpwcms a few years ago. My own homepage is only based on JavaScript ;) Maybe Drupal is much better, but i've had the feeling it's a big/bloated system (nothing is as bloated as typo3). Maybe it has changed over the years?!
Martin K.
+2  A: 

I will answer your last question first, since it is one that I myself have come across while working various contract jobs.

Yes, your fears are justified. It does not matter what CMS you choose you will have to find their way of adding new modules, how they integrate into any website and how to build upon what already exists in those frameworks.

Drupal and Joomla are the two main CMS systems that I have used in the past with great success. Drupal is very easy to customise, and is extremely well documented. Joomla is something I have recently been introduced to and I am new to it. It is very heavy on the administrative side and I find that it took me a while to figure out where everything went and how it worked together.

As for which choice is the best for you? There is no definitive answer to that, you will indeed have to experiment and take the time to figure that out for yourself. Your fears are justified in that regard, however if you are making money in the end it is best if you feel comfortable with whatever choice you end up making. You and your development team will need time to learn how the new system works and what makes it tick.

The answers you are looking for you won't be able to get from third parties, such as myself or other posters, instead it will have to come from within. Do any of the other developers have any experience with any of the other CMS systems?

This all comes down to the need to experiment! Get comfortable and make a decision based on usage!

X-Istence
From the two answers above, I see a push towards Drupal for our scenario. Something I suspected in the hallway conversations I have heard on other forums.
Petras
I will mention again, what others on the internet post should not replace personal experience. You have fears regarding a system that is complicated and not easy to extend, make sure you know what it takes to extend Drupal, make sure your team is comfortable with it as well!
X-Istence
Before embarking on Drupal, I think you should look a little bit at Silverstripe. I did a few large Fatwire (OpenMarket) ContentServer implementations, and Silverstripe in some ways feels more like such a high-end system. Installing it and doing one or two tutorials will only take a couple of hours.
cdonner
+3  A: 

I would definitely recommend N2 CMS if you're using ASP.NET.

I'm biased as I'm a contributor to the project (it's open source), but also as I've used DNN and Umbraco for projects, and N2 CMS is a lot more polished (but less designer/setup friendly so often gets overlooked).

Some features:

  • Runs off NHibernate - SQL Server, mySQL, SQL Lite, Oracle support and no flakey custom DALs.
  • Uses Windsor for its IOC (you can define any number of properties for a page/item)
  • Uses JQuery for all client side scripting
  • Features validation, roles and a lot of built in items in its Template namespace.
  • Publish/unpublish.
  • Versioning.
  • Locale support
  • Works very well with existing websites, has high performance and obviously reaps the benefits of NHibernate and ASP.NET caching.
  • Good starter guides on the website and support on the codeplex forum.
  • Very active checkins
  • ASP.NET MVC support

It also has WMD (the editor used on stackoverflow) support now, something I added recently. If you don't like this it has built in support for other text editors.

If you download the templates example, it may initially put you off with its complexity - particularly if you're looking for something that is turnkey. My advice is stick with it and try writing something for it.

Chris S
Got it - Data Access Layer
Petras
+2  A: 

Hi Petras.

As others already mentioned, you probably won't get an answer that describes all you need to know about a CMS. Indeed trying out different options is the best way to go about choosing a product. Personally I woudn't worry too much about how long it takes you and your team to learn the CMS - after all this is a decision that would affect your whole business. You woudn't want to save on time when choosing a product you're going to use for at least several years.

Anyway, I'm not going to directly answer your question. Instead, I'll provide several scenarios you can follow if you choose Sitefinity. And note that I'm biased and this is not an independent review.

  • You can port your whole codebase as a module into Sitefinity with minor adjustments. This would give you the benefit of not losing a huge amount of time once, but rather gradually make changes and make the transition. Virtually 90% of the work can be done by your existing code and you can use the CMS only as a base that would provide you the flexibility you would need in the future.

  • You can develop a Sitefinity module from scratch. Do all the custom work you need depending on your preferences. Do it the Sitefinity way and benefit from all out-of-the-box features (search/indexing, metadata, categorization, tagging, localization) for your content. A little bit more time-consuming, but much much less than building everything from scratch without a CMS.

  • You can scrap anything you have and use the CMS functionality for everything you need (very possible). This is probably not what you want, though, and it would also be the most rigid and hard to maintain way. But, most user-friendly and easy to understand.

I'm not going to go into details about the different features, developer friendliness and API, you can see those from the Sitefinity website. I just advise that you take the time for this decision, do your research and make sure that the team is happy with the product they work with. It is going to pay off.

Slavo
+3  A: 

Umbraco, Some Quick Stats,

  • I have been using it for 3 years since v1, very stable!
  • No Html junk, clean html output.
  • I have thrown a truckload of visitors at some of these websites, with no effect on performance as it's highly cache-able
  • Teaching the end-user to enter/publish content has taken me under 20min.
  • Development can be fast, as everything is extensible, and controlled with xslt
  • I have seen websites scale over 500k pages easily, and can be easily load balanced
  • Rolling development cycle
  • Pro support is fantastic

As I see your in Australia, quite a number of design agency's are adopting umbraco. one of them being Next Digital.

Elijah Glover
Completely agree definitely Umbraco!! Especially now they are redeveloping it to be MVC as well.
Aim Kai
A: 

My CMS of choice for a professional firm would be dotCMS (www.dotcms.org). It’s written in Java and it is open source, plus it has a very intuitive user interface. The new 1.7 release has a plugin architecture that allows you to extend its functionality without touching the source code, but the main reason I use it is because the templates are written in HTML. This allows you to implement any design. I have even created 100% flash sites in it. It’s also designed around the concept of structured content (custom forms for contributing content) which makes it very user friendly for non technical staff to add content. Take a look at some of the websites using it at http://www.dotcms.org/products/who-is-usingcms.dot. Hope this helps.

+2  A: 

My 2 cents

20/40 hour to fully understand a full fledged CMS seems a heavy underestimation Whichever you choose, get a real expert with proven history in that particular CMS and pay to get professional support. It will save a lot of time and headache.

Csaba Kétszeri
A: 

Hello. What's your final decision?

We are writing our own. It has been a day/night project for the last year. I think you will be impressed. But the world needs to wait a little longer!
Petras