// you’re reading...

Best practice

How to avoid finding yourself in the middle of a RedDot project apocalypse

After reading a thread on the RedDot Google Group today, the first thought that came to my mind was “If I had to administer this project, I would shoot myself right in the head”:

  • 70 hosted websites in 1 single CMS project
  • 21,000 web pages (5.75 GB) / 13,266 images (4.01 GB)

Say good-bye to performance: This is a complete standstill system. I know, projects are often growing and evolving, but it’s always a good idea to plan a bit ahead – just in case.

Don’t jam everything in one single project

License fees are money, I know. Same is true for the nerves and overall mental state of you CMS administrator. As your demands are growing for your web projects, it also may be a good idea to have a little more scope than the “three projects basic license”.

Share resources wherever you can

Create a technical master project for the development process. Your “live” website should be a child project using shared content classes from the master project. This also allows you to develop and test content classes without playing around with your live website where the editors are working. If the development of a new feature is finished, you can update your live project with a single click. For several similar projects (like country specific websites) I also create an empty template project with basic settings (e.g. resources, project setup, publication settings, common workflows). So setting up new child projects really becomes a snap. What’s good for content classes can’t be wrong for assets: If your projects all use the same look and feel, you can also share parts of the assets like layout pictures (e.g. icons, background images, images used in CSS files), mood and teaser images or common downloads. This reduces redundancy, increases clearness of the file structure and editors can easily re-use files. If you are hosting projects as ASP, you can apply these methods as well: Share common content classes and files as described above and store only the differences in the child projects:

  • Content classes like teasers, download modules, FAQs and image galleries often stay identical whereas only their design is adapted using style sheets.
  • Create customer specific templates in the child project
  • Plan ahead: Which templates you have already build can be adapted for other projects? Maybe one or two additional fields have to be applied or you can use some Active Scripting to make content classes more flexible.

Check your server hardware

Running projects on a single virtual server with your database stored on the same machine will get you in trouble way faster than you can say “Smart Edit” – trust me. The same setup on a physical machine won’t do a good job either. So keep track of your CPU horsepower and RAM. For large projects a server cluster is always a good idea: You can have several editorial servers and/or publishing server. This is also important if you have editors from around the world working on your CMS server: A full publication just before closing time in your U.S. office can be the reason for the massive frustration of your colleagues in Europe. With a cluster you can also avoid performance issues due to user peaks by assigning them to different editorial servers. This can also be changed on already running servers, which brings me to the last point:

Already in a mess and now hell breaks loose?

It’s never too late to hope for salvation – most of the tips above can also be applied to already running projects. Of cause then you’ll have to be extra careful, so you don’t blow up everything. (Hint: Backups of projects and databases are your friends!) For example you can split an existing project while using content class sharing quite easily:

  1. Create a copy of the project (make sure all editors are logged of and all tasks are closed).
  2. Choose one project to be the master
  3. Share all needed asset folders and content classes to the newly created project (check for folder dependencies!)
  4. Create the shared folders in the child project – you should have by now two versions of the asset and content class folders: one local version and a shared one.
  5. Go through all local content classes, pick an instance (select the content class in Smart Tree, choose an instance from the list and click “Show in project structure”) and exchange the content class with the identical shared version. This can be a bit fiddling if you preassigned content classes on links or containers.
  6. When you’re done, check if no instance remained and delete the content class afterwards. If you deleted all local content classes from a folder, you can remove the folder completely.
  7. Check you project, do a test publication, etc.

Set you plan first, check all the steps necessary, do all the backups (and make sure everything can be restored) and remember to communicate maintenance windows early to the users. Always calculate some extra time so you can restore a backup state in the worst case.

Share and Enjoy:
  • Print
  • email
  • Twitter
  • Digg
  • Reddit
  • StumbleUpon
  • Google Bookmarks
  • del.icio.us
  • MisterWong
  • Facebook
  • LinkedIn

No related posts.

About the author:

Frederic Hemberger Frederic Hemberger lives in Cologne, Germany where he works as a technical consultant and senior RedDot developer. After years of studying the ancient and mysterious ways of content management, he acquired the black belt of RedDot-fu. After teaching many students in the weird ways of the Dot, he retreated to the old misty mountains to meditate. Legends tell that he finally reached the mysterious state of IoRangeNoRedDotMode.


One comment for “How to avoid finding yourself in the middle of a RedDot project apocalypse”

  1. Nice post, and extra thanks for posting it in English!

    Posted by Ezra | July 16, 2008, 3:29 pm

Post a comment

Stay up to date! - Get notified about followup comments

If you don't feel the urge to comment but wish to stay in the loop:
Just enter your email and subscribe to new comments.

Subscribe without commenting

Recent Tweets

  • RT @AirKraft: Transport Canada breakout: they manage 80K pages and 300K assets with WSM(RedDot). Wow! #OTCW 2010-11-11
  • The RedDot usergroup session 'Future of WCM' is in National Harbor 7, now. See you there! #otcw 2010-11-11
  • RT @yttergren: @AirKraft: Calling all WSM(RedDot) devs: share your solutions on http://bit.ly/bgPIof EVERY solution can win an iPad #OTCW 2010-11-10
  • Come to the Solution Exchange session. Enhance your (#reddot) CMS project! Chesapeake 12, 3:20pm #otcw Looking forward to see you there! 2010-11-10
  • More updates...