New project: Content Management

I am currently working on a new content management system for Lockworld Herald. Although I am very pleased with Microsoft’s new “Office Live Basics” service, there is no doubt that the standard Web-building service is simply inadequate. There are far too many problems with the way the site is designed to build a professional-looking site using this service.

Scripting problems:

One of the biggest problems with Microsoft Office Live Basics (MOLB) is the inability to use “external” JavaScripts on your site. For my purposes, I am using the term “external JavaScript” to refer to any JavaScript codes that reside outside of the page being viewed…whether on your MOLB site or elsewhere on the Web. In my experience, almost all external JavaScript codes completely disable not only my MOLB site, but crash the entire browser. Since JavaScript is such a standard feature for Web sites, this is simply unacceptable.

In order to be useful at all, a Web site should be capable of handling the most basic of Web site design standards. I have no idea whether the scripting problems are due to some sort of conflict with the way MOLB is designed, interference with the built-in JavaScript codes already on the site, or a deliberate attempt by Microsoft to make the “free” version of their service as useless as possible so people will pay a monthly fee for an “upgraded” site.

Design problems:

Even without the scripting problems, trying to design your site using the built-in site-designer tool is frustrating at best. Although the tool is pretty straightforward, there are bugs in it. If you frequently edit the text on your page, for example, you will often find “junk” tags left on the page that alter the way your text looks. Text may suddenly appear bold, or in color, or the wrong size, etc. This is unacceptable. If JavaScript is a Web-standard feature, how much more is simple text editing an absolute requirement for any Web site?

Furthermore, MOLB has only a limited number of color palettes and design templates available for use. None of them are very attractive, and there is no way to modify the template or color scheme you work with. If you are interested in truly customizing your site, you can not do so with the standard MOLB tools.

Feature problems:

MOLB does not allow you to include other basic features of today’s Web sites using their service. It is not possible to host or link to an RSS feed for your site, link to customized style sheets, change the default style sheets, or customize the design of your site (outside of the few templates available).

With all of these problems, you might wonder why I bother with MOLB. The fact of the matter is, despite all of the flaws with the service, no one else offers the ability to register a domain name, host a site, and provide e-mail addresses all free of charge. These features make MOLB an unmatched service, and almost indispensable for small business owners or others who need a Web site, but can’t afford to pay for one.

So, if MOLB is indispensable to small business owners, but so poorly designed that it is not useful, what are we to do? There are only two choices…either suck it up and pay for your Web site from a different service provider, or find some way to bypass all of the restrictions of your MOLB site.

Since I, for one, don’t believe in paying for anything if there’s any possible way to get it for free, I have opted to go with the second option.

Rather than use the so-called “site-designer” offered by Microsoft Office Live Basics, I have set up my home page ( to skip directly into my “Documents” folder on the site. I can upload my own Web pages to this folder, which allows me to design my site any way that I want to. Not surprisingly, there are still limitations to what you can upload to this folder. For one, it appears that documents in your MOLB folder can not contain ASP or ASP.NET codes (at least I haven’t been able to get any of them to work). Furthermore, any files with a “.js” extension (JavaScript files) work erratically. MOLB uses some sort of “JavaScript Caching” for all “.js” files, so it takes a few days before any “.js” files you’ve uploaded will actually function.

For these and other reasons, I have decided that it would be better just to design my own site. I have focused on using two different types of content-management for my site. The first is a “local” content management system – I simply break my Web page into various pieces (all located on my Web site) and assemble them via JavaScript when the page loads. This system makes use of AjaxInclude scripts to assemble multiple pieces of a Web page into a single, complete page. The second system, which I will discuss in future posts, makes use of Zoho Creator’s JSON feeds. For a more detailed look at how to use JSON in your Web site, read my September 10 guest-post on the Land of Zoho Creator blog: Use JSON to deliver Zoho Creator content to your Web site.

Local Content Management Using AjaxInclude:

There are a few features of MOLB that are useful, and that I wouldn’t want to loose. For example, I would not want to re-write all of the HTML codes for my basic site design every time I create a new page. In particular, I don’t want to have to re-build the page banner and navigation structure from scratch every time I add a page.

I’ve tried to use ASP and ASP.NET programming to use server-side includes on my page…these are code snippets that can be added easily to any page you might want. Unfortunately, MOLB does not allow you to do any ASP or ASP.NET programming on your site (at least, I haven’t been able to make it work yet).

I then realized that there is a very simple form of JavaScript-based server-side includes available…called AjaxIncludes. By embedding a simple script (available from Dynamic Drive) into your page, you can mimic using server-side includes. The only change that you need to make is to save the AjaxInclude function itself as a separate JavaScript file (you’ll need to save it as a “.txt” file rather than a “.js” file to avoid MOLBs JavaScript caching problems). Upload this .txt file to your site, and include a script that calls this function in the head section of every page you create:

<script src=”{URL of TXT file}”></script>

If you take a look at the new page I’ve created at, you will see an example of how AjaxIncludes can be used. If you look at the source code for that page, you’ll notice that I’ve used AjaxInclude to pull the following shared elements into my home page:

  • Meta tags (including links to my style sheet and RSS feeds)
  • Page banner structure
  • Home navigation menu (and a “close navigation” piece, which is required for the design I’m using)
  • Footer navigation structure

I am using the “.inc” extension purely for appearances…ASP programming uses “.inc” files for server-side includes, which the AjaxInclude function is trying to mimic. The actual files you include can have a .txt, .htm, .html, .asp, .aspx, or other extension and still work on your site.

I have some other JavaScript codes on my page that apply the second type of content management, but we’ll ignore those for now.

In addition to making it easier to access and edit the “important” HTML for my page, the included sections also allow me to make a change to a any of the included elements one time and ensure that the changes are accurately reflected in every page that shares that particular element. This makes it very easy for me to create new pages. I can upload a new, complete Web page within a matter of minutes because I don’t need to re-create all of the basic page codes for every page.

Below are some screen shots of the difference between my old site (using the MOLB design templates and doing everything I could to make it look acceptable), and my new site (using my own current design, which is still very much in draft format):

That’s all for today. I’ll talk a little bit more about using this method of content management in my next post, and will go into details about using JSON feeds to create even more dynamic content in future posts.

P.S. If you haven’t been by or lately, you might want to check them out. I’ve completed a major site re-design (see images above), and have updated my Blogger template to mimic my own Web site. For all intents and purposes, it now looks like my blog is “just another page” in my Web site. I will talk about this and other options for including an RSS feed or blog on your Web site in future posts (after we finish the content management series, which will cover some of the basics you need to know to make this work).