Content Management FAQ

This document is intended as a very brief introduction to some common ExSite webmastering and templating tasks, and some typical tricks that are used to address them. The solutions given are generally the simplest of those available, but by no means the only possible way to go about it.

Basics:

  1. How do I manage my website(s) and content?

Creating Websites:

  1. How do I create a new website?
  2. How do I add new administrators to a website?
  3. How do I set up a sub-section of a website, with different administrators/privelges?
  4. How do I set up a web service, which will provide standard templates, pages, content, and dynamic web applications for a number of client websites?
  5. How do I set up a web site to run under a different domain?

Managing Pages:

  1. How do I create new pages?
  2. How do I configure my site map, menus, and submenus? How do I move pages around?
  3. How do I disable/archive pages?
  4. How do I make a page viewable by members only?
  5. How do I make a page render dynamically instead of publish to a static HTML file?
  6. How do I cross-link to other pages in a site?

Templating:

  1. How do I select/use existing templates?
  2. How do I create a new template?
  3. How can I modify/extend one part of an existing template, without having to create a whole new template?
  4. How can I share templates between multiple websites?
  5. How do I set up a page with multiple, independently-editable content regions?
  6. How do I use style sheets?
  7. I updated part of my template, but I don't see the changes!

Managing Content Objects:

  1. How do I insert images into a page?
  2. How do I add new images to my site?
  3. How do I add documents or other files to my site?
  4. How do I link to my documents/files for downloading?
  5. I made a mistake! How do I get back the old version?
  6. I've made a lot of changes. Do I have to keep every old version?

Dynamic Content Handling:

  1. How do I add a dynamic content object into a page?
  2. How do I remove a dynamic content object from a page?
  3. How do I reconfigure a dynamic content object in a page?
  4. What happens if I put multiple dynamic content objects on one page?

How do I manage my website(s) and content?

In a standard installation, you will use the Website Manager to configure sites, add and remove pages, and update content.

The Website Editor is just a web application like any other, so alternative content management tools also exist. For example, ExsiteWebware.com also uses the MySite simplified content management tool for user-friendly brochure site management.

The rest of this document assumes you are using the full-blown Website Manager application.


How do I create a new website?

Launch the Website Editor, and select "New Site" from the "Websites" menu. Follow the instructions.

If you don't see the Websites menu when you launch the website editor, but instead see the webpages in your current website, that means that ExSite has been configured to skip the websites screen if you have only one website. To work around this, you should set the skip_topview parameter in exsite.conf to 0, at least until you can add the second website.

How do I add new administrators to a website?

Use one of the following methods:

  1. If you have the Website Security Manager plug-in: Select the website from the list of sites, and then click on "Add New Administrator Key". Follow the instructions.
  2. If you only have the Database Manager plug-in: add a new member to the system (click the "New record" button by the member table. Set their access level to 2 or 3 if they are supposed to have administrator priveleges. (Access level 3 gives system-wide priveleges; access level 2 gives more restricted priveleges on their websites only.) Next, add an Administrator Ticket for this member. Set the member and the website correctly, to connect the two. Check off which priveleges (editor, designer, administrator) you are granting to this member. (Add more tickets if the member will be managing multiple sites.)

How do I set up a sub-section of a website, with different administrators/privelges?

A sub-section is treated similarly to an independent website. It will normally be published to a subdirectory of its parent site.

Launch the
Website Editor, and select "New Site" from the "Websites" menu. Follow the instructions. On screen 2, set the parent website that this subsection belongs to.

You can configure the sub-section's administrators just as you do for a regular website.

How do I set up an ASP web service, which will provide standard templates, pages, content, and dynamic web applications for a number of client websites?

Set up and configure the "master" site, and include in it all of the graphic design templates that you want to make available to the client sites. (Ensure that these templates are set to "public" access so that other sites can use them.)

Set up one or more website templates (select "New Site" from the "Websites" menu, and set the site type to "website template"). Website templates are sets of pages that will be used to initialize new websites. They can include regular content and/or embedded dynamic content tags.

Install the dynamic web applications you want to make available to your client sites. If these applications have access controls, you may have to set up service tickets to allow the websites to access them. To do this, use the "Database Manager" to add new "Service" records. In the service record, record the web application name, and select the website that is being authorized to use it.

How do I set up a web site to run under a different domain?

Create the website as above, if you haven't already. Otherwise choose Website > Configure Site from the website view of the Website Manager.

Websites running under different domains often require special server configurations, too. For example, something like the following directives in the appropriate web server configuration file will inform an Apache web server that it must serve a new domain in addition to the other domains that it is already serving:

<VirtualHost *>
    DocumentRoot /home/my_domain/html
    ServerName my_domain.com
    ServerAlias mydomain.com  www.mydomain.com
    ScriptAlias /cgi-bin/ "/home/my_domain/cgi/"
    ScriptAlias /cgi/ "/home/my_domain/cgi/"
    ErrorLog /var/log/apache/my_domain_error.log
    CustomLog /var/log/apache/my_domain_access.log combined
</VirtualHost>

You may also need to make these updates to your server config files (or get your system administrator to do so).


How do I create new pages?

From the Website Editor website view, select "New Page" from the "Website" menu. Follow the instructions.

How do I configure my site map, menus, and submenus? How do I move pages around?

It depends on what tool you are using to generate your menus.

Some sites simply hard-code their menus into their templates. In this case, you must update the appropriate menus and links in your template(s).

Other sites use a web application to generate the menus and sub-menus. ExSite comes with such a web application, called "SimpleMenu", which can automatically generate context-sensitive menus in a variety of formats, such as horizontal (for menu bars), vertical (with exploded submenus), path ("cookie-crumb"), or sitemap (everything in its place). The SimpleMenu tool uses three configuration parameters to decide where pages belong in menus, and how to display them. These can all be set from the "Configure Page" option in the "Page" menu of the website editor:

"Moving pages around" is nothing more than changing the parent page and page rank of a page.

How do I disable/archive pages?

The "Status" item in the page configuration screen determines how the page is handled. If set to "disabled", the page will remain in the content management system, but will not be indexed in site menus.

Disabling a page does not delete any previously published versions from the site.

How do I make a page viewable by members only?

On the page configuration screen, set the "Accessibility" to "members".

You can also set the accessibility to "administrators" to make it visible to the webmaster(s) only.

In both cases, the page must be set to render dynamically. (see below)

How do I make a page render dynamically instead of publish to a static HTML file?

On the page configuration screen, set "Static or dynamic" to "dynamic".

You cannot do this with the index.html page, which must publish statically.

How do I cross-link to other pages in a site?

In the HTML editor, highlight your anchor text, and select the link tool. In the hyperlink pop-up, select the internal page to link to from the pop-up menu, and click "Insert Link".

If editing raw HTML, use the following format for your link tags:

<a href="{{target_page.html}}">anchor text</a>

ExSite will correctly reset the href regardless of whether the page is static, dynamic, or static but not yet published, or if it changes at any time.


How do I select/use existing templates?

When creating or configuring pages, you can select that page's template from the list of templates provided. You can also set a website's default template on the website configuration screen.

To change a page's template after it is already created, select Template > Change Template from the page view menu. You can also change all pages on the site at once, using the Template > Change for all pages option from the site view menu.

How do I create a new template?

This is a very large area of discussion, covered in detail in the ExSite Templating Guide.

How can I modify/extend one part of an existing template, without having to create a whole new template?

Two methods:

  1. Derive a new template from an existing one. In the new template, define only the content that is different from the parent template. All other template content will automatically be inherited from the parent. More information here.

  2. Override some of the template's content objects in a real page. For instance, if you want to use the same graphics and HTML as the original template, but use a special CSS file, then simply define a CSS object in the real page, and give it the same name as the CSS object in the template. ExSite will preferentially use the one attached to the current page before the one in the template. (For this to work, the template must be set to dynamic, or the overridden content object must be editorial in type.)

How can I share templates between multiple websites?

The template access parameter (from the Configure Page menu item) should be set to "public" to share the template with any site on the system, or to "members" to share with child sites only.

How do I set up a page with multiple, independently-editable content regions?

Nearly every page consists of multiple independently-editable content objects. Most of these are design (ie. templated) content, and typically there is only one region of editorial content (usually called the body). However, any page can be set up with as many editorical content regions as needed. The template must be configured to include each of these content regions somewhere in the page. More information on this can be found here.

How do I use style sheets?

Style sheets are just another form of content to ExSite. If you create a stylesheet content object (usually you would create it inside a template), you can edit it directly when you update the stylesheet (ExSite will give you a plain-text editing mode). You can optionally switch the update to a file upload and upload a new stylesheet from an external source. (Note, however, that ExSite's algorithm for naming the stylesheet is different depending on whether you edit it or upload a new one. That means that some previously-published pages will continue to use the old stylesheet until the whole site is republished.)

On a typical live site, most pages will be pointing to a published version of the stylesheet(s). When you update a stylesheet through the content management tools, you are modifying the "working" version, not the published version. That means your stylesheet updates will not be seen and used by pages until you publish them. Typically this involves publishing the template that the stylesheet is an element of.

I updated part of my template, but I don't see the changes!

Try publishing the template.

Templates can be "pre-compiled", which means that all of the general-purpose CMS references are resolved ahead of time so that pages will render faster. Publishing the template is what accomplishes this trick. The template really is published to disk (to _Templates/[template_name]/index.html). If you look in this file, you will see that the template CMS tags are all pre-resolved, but some page-specific tags still remain.


How do I insert images into a page?

In the HTML editor, place your cursor where the image should go. Select the image tool, and choose the image from the appropriate library. Click on the "Insert" button.

If manually editing raw HTML, you can use one of two methods. To insert the image using its default attributes:

<!--content(image_name)-->

Alternatively, if you want to manually specify the image attributes, you can use this method:

<img src="[[image_name]]" height="50" width="50" border="2">

How do I add new images to my site?

In the Website Editor, create a new content object from the page view, and follow the instructions. The new content object can be placed in various locations:

How do I add documents or other files to my site?

Your documents/files should be placed into one of your site libraries.

How do I link to my documents/files for downloading?

  1. Add links to documents the same way you insert images into your pages. The anchor text will be the document file name.

  2. You can also use the link tool to create a hyperlink to a document or file, with more control over the anchor text.

  3. The Document plug-in will automatically format an entire library of documents for presentation in a web page.

I made a mistake! How do I get back the old version?

Go into the website editor, and navigate down to the content object with the problem. From the content view, select "Rollback" from the "Update" menu. This effectively deletes the most recent version of the content. It may be necessary to republish the page if the erroneous version was published.

I've made a lot of changes. Do I have to keep every old version?

No, you can keep as many or as few as you like. Go into the website editor, and navigate down to your content object. From the content view, select "Cleanup" from the "Versions" menu. This will allow you to remove any old versions that you no longer need (it preselects all but the most current version for removal).


How do I add a dynamic content object into a page?

In the HTML editor, place your cursor where the dynamic content should go. Select the web application tool, and choose the appropriate web application from the drop-down menu. If you know what options the web application accepts, you can provide some optional parameters to control the web application's output. Some web applications will configure the optional parameters field automatically to make it easier to select from the available options. Otherwise, leave the parameter field blank (or select the default).

The dynamic content will be represented using an icon in the HTML editor. This icon will expand into the appropriate dynamic content when the page is viewed in full.

If entering raw HTML manually, use a tag with the following format:

<!--&ModuleName(parameters)-->

How do I remove a dynamic content object from a page?

In the HTML editor, click on the dynamic content icon, and press the delete key. If editing raw HTML, simply delete the tag that references the dynamic content web application.

How do I reconfigure a dynamic content object in a page?

In the HTML editor, simply delete the icon representing the dynamic content, and re-insert it again, as above.

If editing raw HTML, simply edit the parameter string inside the dynamic content tag.

What happens if I put multiple dynamic content objects on one page?

Cool stuff! Dynamic content objects are designed so that multiple objects can live on the same page. As you interact with a particular dynamic content object, you may be regenerating the whole page repeatedly. The other dynamic content objects will re-render themselves on each page view as well (possibly changing their appearance, if they depend in any way on the new parameters).