Introduction
This document is designed for webmasters who have been asked
to include managed content in their website.
The Content Management System
(CMS) is supplied by the Content Management System Centre, which specialises in
the supply of systems, consultancy and training for website Content Management.
Your organisation will be planning to use one or more Content Managed Areas (CMAs). Each CMA
will need to be inserted into your website. Each CMA will be regularly updated
by a member of staff in your organisation.
In this document you will learn:
- What
is a CMA?
- Where
is a CMA stored?
- How
do I link to a CMA from my website?
What is a CMA?
A CMA (Content
Managed Area) is a web page.
These web pages are automatically generated by the Content Management System,
based on text and pictures supplied by other people in your organisation. The
Content Management System provides an easy to use interface for updating the
text and pictures in each CMA.
There are two types of CMA. The first type is a Single Page CMA. This CMA contains just one web page.
The second type is a Multi Page
CMA. This CMA contains more than one web page, with a navigation bar that
contains links to the other web pages within the CMA.
Example of a Multi Page CMA
Where is a CMA stored?
Each CMA is stored in up to three places. These are:
|
XML Database
|
The Content Management System stores the data for
each CMA in XML. This is used to maintain the CMA.
|
|
Remote Published Directory
|
When a user of the Content Management System presses
the publish button, a website is
automatically generated on the remote server. The address for this remote
website is http://www.thecmscentrehost.com/ws/<CMA-Name>/index.html .
Although it is possible to link to this
remote website for testing purposes, this is not the correct link for
operational websites.
|
|
Local Published Directory
|
When a user presses the publish button, the user has an option to also publish to a local
server, which typically would be the server on which your website runs.
The transfer is completed using ftp. The details
required are:
Host name
Username
Password
Directory
You will need to supply these details to each person
who manages a CMA.
Your website should link to this directory for
operational purposes.
|
How do I link to a CMA from my website?
There are a large number of technical options for linking to a CMA from
your website. In this section we have listed the main techniques which have, in
our experience, succeeded well.
The one that you choose will depend on the server and software that you
use, and the effect you want to achieve.
We are always ready to advise in this (and other)
areas. Contact us with any questions.
In each case there are references to CMA
Page URL and CMA Fragment URL.
These are:
|
CMA Page URL:
|
A reference to the CMA that will return a full web
page, starting with an <html> tag.
An example is: xxx
|
|
CMA Fragment URL:
|
A reference to the CMA that will return an html
fragment, starting with a <span> tag. This still represents the full
content of the CMA, but without the <html>, <header> and
<body> tags, that will already exist in the web page into which the
fragment is to be inserted.
An example is: xxx
|
4.1. Client-Side Techniques
4.1.1. Embedded Object
This technique uses the <object> and <embed> tags in an html
page. Example syntax is:
<object data="CMA Page URL"
width="600"
height="400">
<embed src="CMA Page URL"
width="600"
height="400">
</embed>
Your browser
does not support embedded objects.
</object>
This technique uses the <frameset> and <frame> tags in an
html page. Example syntax is:
<html lang="en">
<head>
<title>Title</title>
</head>
<frameset rows='100%,*' border='0'
frameborder='0' framespacing='0'>
<frame src=’CMA
Page URL’ frameborder='0'
noresize='noresize'
scrolling='auto'>
<frame
title='empty frame' frameborder='0'
scrolling='no'
noresize='noresize'>
<noframes>
<body>
Sorry, you don't
appear to have frame support.
</body>
</noframes>
</frameset>
</html>
This technique inserts a floating frame within an html page. Example
syntax is:
<iframe src="CMA Page URL" frameborder="0">
Sorry, your browser doesn't support
iframes.
</iframe>
4.1.4. Pop-up Window
This technique causes a new browser window to pop up with the CMA inside
it. Some browsers are set to stop pop ups by default, so this technique should
be used carefully. Example syntax is:
<a
href="CMA Page URL" target="_blank">Link Reference</a>
4.2. Server-Side Techniques
Server-Side techniques are typically going to insert a fragment of html
into a web page. Therefore, these techniques need to use the CMA Fragment URL.
4.2.1. Server Side Includes (SSI)
Server Side Includes (SSI) is available on many servers, especially in Unix environments (e.g. Apache). Pages that use SSI will
typically have a .shtml extension, to indicate to the server that it may
include special processing statements.
To include a CMA in your web page, use the following syntax:
<!--#include
file="local path/index.html"-->
In this case, local path is the path to the directory
supplied in the ftp details for the owner of the CMA.
4.2.2. Server Side http Request - Perl
Http Request is a method for requesting the contents of a web page so
that it can be inserted into another web page. This is a powerful technique,
but quite tricky to use in Perl. It requires that you use some standard
libraries that should be available on your server.
Example code is:
use LWP::UserAgent;
use HTTP::Request;
use URI::Heuristic qw(uf_uristr);
my $ua = LWP::UserAgent->new();
my $req = HTTP::Request->new(GET => "CMA Fragment URL");
$ua->agent("Company
Name");
$req->referer("http://www.domain.com");
my $response = $ua->request($req);
my $content = $response->content();
The fragment is stored in $content and can then be written
into the web page at the appropriate point.
4.2.3. Server Side http Request - .NET
Http Request is a method for requesting the contents of a web page so
that it can be inserted into another web page.
This is a good technique to use in the .NET environment. The example
code is based on VB.NET:
<%@ Import Namespace="System.Net" %>
<script
language="VB" runat="server">
Sub Page_Load(sender as Object, e as EventArgs)
Dim objWebClient
as New WebClient()
Const strURL as
String = "CMA Fragment URL"
Dim objUTF8 as
New UTF8Encoding()
lblHTMLOutput.Text
= objUTF8.GetString(objWebClient.DownloadData(strURL))
End Sub
</script>
<html>
<body>
<asp:label id="lblHTMLOutput" runat="server"
/>
</body>
</html>