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:
Creating Websites:
Managing Pages:
Templating:
Managing Content Objects:
Dynamic Content Handling:
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.
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.
Use one of the following methods:
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.
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.
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).
From the Website Editor website view, select "New Page" from the "Website" menu. Follow the instructions.
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.
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.
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)
On the page configuration screen, set "Static or dynamic" to "dynamic".
You cannot do this with the index.html page, which must publish statically. (However, using AJAX methods, you can inject dynamic content into a statically published page. See "Dynamic Content Handling" at the end of this page.)
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.
Sometimes you have a complete HTML page that you just want to reproduce on your site (eg. an HTML-formatted report that was spit out by some application). Since it is a complete page, it will have its own head section, style rules, etc. that will clash with your own templates if you try to stick it into a body. If you try to just cut out the content from the page, and stick that into a body, you can lose important formatting information or scripts. In these cases, the easiest thing to do is often to just reproduce the original page faithfully, and forget about merging it into your own templates.
Create a new page in ExSite, giving it appropriate settings for its name and position in the site map. Your selection of template and body are irrelevant and will be ignored, so accept whatever ExSite suggests. Inside the new page, you will define a page object, which overrides the original template. Update this object, and choose the "upload file" update method. Upload the HTML page that you want to reproduce. Save, and then publish, and you should be done!
If the complete page includes graphical elements or other external file references, then the job will be more complicated, since you have not inserted those missing files into the CMS. In this case, the following method may work better:
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.
This is a very large area of discussion, covered in detail in the ExSite Templating Guide.
Two methods:
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.
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.)
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.
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.
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.
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.
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">
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:
Your documents/files should be placed into one of your site libraries.
Add links to documents the same way you insert images into your pages. The anchor text will be the document file name.
You can also use the link tool to create a hyperlink to a document or file, with more control over the anchor text.
The Document plug-in will automatically format an entire library of documents for presentation in a web page.
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.
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).
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)-->
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.
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.
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).
Use one of the following, slightly altered, dynamic content tag formats (note the extra ampersands):
<!--&&ModuleName(parameters)--> <!--&&&ModuleName(parameters)-->
These are explained in more detail under Working with Plug-ins.