I have been working with WCM & ECM for over 7 years. Designing and developing solutions for my customers. I have worked with customer of all sizes from large corporate and fortune 100 companies, to Federal Agencies, and smaller companies. This blog will be dedicated to helping others in the CMS industry find solutions that are sometimes outside the box. Having worked for a large ECM vendor for several years it has been nice to not be as restricted in the solutions that I provide.

About Me

Wednesday, January 24, 2007

What is the best way to do headers and footers in a CMS system?

What is the best header and footer method? I have had this question put to me in various ways in my CMS career, and have answered in as many ways that supported the CMS vendor I was working for at the time, but I never though of it from the purely non vendor related CMS solution. Other customers would already have a method in place and simply want to make sure that the CMS system that they had just purchased would support their current method. I am proud to say that we were able to satisfy the clients requirements when this did come up, but still what is the answer?

What is the best header and footer method? Perl! That's the answer...

Ok a little humor there, and by no means do I believe that this post will solve this question, but rather give us all something to think about the next time the question comes to us so that we can better analyze the requirements.

Size Does Matter

Small

If you have a small site, in my opinion you do not need to separate the header and footers. This is assuming that your site is small, and will not change or grow very much or often. Believe it or not I have seen customers use Enterprise level CMS systems for 20 pages, granted that was way back when, but I'm still sure some of them are around. So if you have something with less that 10 pages and it will not change very often simply creating a static html page that you use as a template will suffice.

Medium & Beyond

Once you get beyond the 20 or so pages it often becomes a pain to update a phone number change, the header graphic or what have you. So you should look at the other factors.

Bandwidth

How many customers do you have visiting your site, and what happens when there is a surge. I have seen advertisements on TV and heard the next day that people went to the site after and it was down. If you ever have anything like this happen to you, check out akamai.com for one, and also look at how your site is configured.

Frequency of Updates

When thinking about headers and footers we also have to think about how often do they change, and who has the rights to change them. We also need to make sure that there is a process involved in this as well.

Now back to CMS

Ok the above are by no means the only factors, but in my mind they are some of the big ones. I almost mentioned technology available, but if you think of it if you do not have the right tools available and you base your decision on what's available vs what's the best solution you really have not served yourself or your client well. I do understand that a lot of times that is what we have to do, but for now let's assume your client say "Hey buy what works!"

So what is the best method...

I really still don't know from the above list. Let me point out some that I don't think work for most situation.

- Database driven : I have never liked purely database driven site. Having a web site that has to make a request from a database each time, and especially for header and footer do not work when you try to expand. If you get 10 million hits in the next hour will your database be able to handle it?

- Static Pages: I covered this earlier, but it is worth saying. If you have any size to your content at all static pages do not work.

- Header/Footer driven by template or forms engine: I have seen sites that use templating or forms to capture the content, and then they generate the static page with the header and footer included. I have never been a fan of this. The main reason is that if the header and footer change you have to re-generate the entire site. So add that to what if some of these are in a CMS system where the files are locked or otherwise in a workflow and you can have nothing but trouble.

So what works? If you won't say the best method.


- Server Side Includes: I have seen server side includes using shtm, and jsp includes. Depending on the content type you have there are other include methods that work on the server and these function very well. The main benefit of these that I see is that they allow you to separate the content contributors from your site designers. You can separate them by workarea/sandbox etc, and even have that content go through a separate workflow.

- Edge Side Include: Like server side includes these are includes that work with Akamai, and these allow you similar functionality.

Conclusion

If you have a method that works for you that I do not mention here please do shoot me an email or post a comment to the blog.

In another post I will try to show some examples of the above methods with Alfresco as I go further with their Beta!

Whoops I did forget we could do the headers and footers in frames :-)

No comments: