posted on 1:46 PM, December 11, 2008
Sections are an important tool for organizing your website's content and security. This document explains sections, and how to make best use of them.
Sections are analogous to folders on your hard drive. That is, they allow you to group related pages in different parts of a site, and keep them separate from pages in other sections. There are many reasons why you might want to do this, for example:
- If your site has many pages, your administration screens can get too crowded for you to work efficiently. In this case, it may help to break the site out into smaller, more manageable sections.
- ExSite security is based around access to sections, so you can have different member logins for each section. For example, you could have separate customer, vendor, and staff sections, each with their own set of login identities that can access the private pages of that section.
- Sections can be nested into subsections, and can share content with their related sections. This gives some powerful content management and templating options.
- If you have many potential sections, there are built-in tools to automate the creation and population of these sections.
A large website may get broken into many sections and subsections for these reasons. Small websites, however, are often just managed as a single section. For this reason the terms section and website are often used synonymously in ExSite.
Sections and Pages
When sections are published, they each occupy a single folder in your website disk directories. Each page is a file in this folder. That means that every page in a section has to have a unique file name in that section. However, the page filename can be re-used in other sections because those are located in other folders.
The main (default) page in any section is normally named index.html. It is a good idea to have a static index.html page in each section, so that a URL can point to just the section name, and get a good page. For example:
is equivalent to:
(but only if you create the index.html file in section-X.)
Each page must have a unique name within its section (or else you would have two pages sharing the same URL) but can re-use names from other sections.
Each section has a "Publish To" name, which determines the visible name of the section in URLs. (Eg. "section-X" in the above example.)
Sections can have parent sections. That means they are sub-sections of the parent, and will nest underneath them. For example if "foo" is the parent section of "bar", then the latter's web address will be:
The root section for the whole system does not need to define any name, because it publishes straight to the base folder for the web server.
http://www.mywebsite.com # root section
http://www.mywebsite.com/foo # foo section
http://www.mywebsite.com/foo/bar # bar subsection
Note that the foo section in this example can declare the root section as its parent, or not have any parent at all. The URL is the same in either case. However, the rules for sharing content will be different (see below).
The root section of the site is the one that publishes into the main web documents folder with no section name. It will usually get its web address and server disk directories from the webserver (Apache) configuration.
In the ExSite configuration settings, the root section's "Publish To" setting is blank, and its section type is "native". There can be only one section in the system that matches this configuration.
A "native" section is one that gets its system configuration (directories, domain, URLs) from its parent. If no parent is defined, it gets its configuration from the root section. If it is the root section, it determines its configuration from the server settings. This is the default section type, because configuration settings are inferred, so you don't have to explicitly specify all the details.
Your root section should be a native section, and will match your basic webserver configuration, eg.
A native section that is added to this with no explicit parent, will append its name to the base section:
Stand-alone sections are used when you DON'T want the section to use the base webserver configuration (domains, directories, etc.), but use a different website configuration instead. This is needed if you declare special web hosts such as:
or completely different domains, eg.
Your webserver will need to be set up to answer requests to these alternate hosts (for example, by setting up a VirtualHost declaration, which establishes a separate website on the same server). To get ExSite to work with this separate website, you define it as a "stand-alone" section, and provide the following additional configuration information:
- under "Publish To:" provide the complete disk path to the section's web folder, not just the last folder name.
- under URL, provide the public web address to use for the section (eg. "http://special.mywebsite.com").
Mixing Section Types
You can mix different section types by nesting them under each other in parent-child relationships.
If a native section is a child of a stand-alone section, the native section will append to the stand-alone section's URL. For example, if your stand-alone section has the URL http://www.another-website.com/, and it has a child native section whose "Publish To" name is "child", the complete URL of the child section is:
If a stand-alone section is a child of a native section, the stand-alone section's URL is unaffected. However, it will be able to draw content from its parent (see below).
Every normal website member has a login, password, and section (which determines where the login and password applies). The login and password cannot be used on other sections.
This makes it easy to maintain numerous different login groups that have access to their own areas, but no access to other areas. An example might be a company website that has separate private pages for staff, customers, and vendors.
Administrator access is also controlled by section. Administrators each have a set of admin keys, that get them access to those sections that they are authorized to manage. To partition the administrative duties of a website among different admins, break the website up into appropriate sections, and assign the admin keys accordingly.
Note that level 3 administrators have the ability to issue and revoke keys, including to themselves. Level 2 administrators cannot issue keys, and so are restricted to the keys that a level 3 administrator has provided to them.
One of the more powerful features available to multi-section websites is content-sharing. Any section can make its templates and libraries available to other sections on the system. This is useful in a number of cases, such as:
- different sections will share a common set of templates
- different sections will have their own templates, but those will be based on common branding or look-and-feel guidelines (eg. common logos, stylesheets, etc.)
- some sections can share library content (eg. photos, logos, documents) with other sections
When creating libraries or templates, there is a sharing option, which can take one of the following values:
- public - contents can be shared with any section on the system
- semi-private - contents can only be shared with children of this section
- private - contents cannot be shared
Shared templates are made available to sections when changing the template of the whole section, or of individual pages. Shared libraries are searched for matching content when pages are constructed for viewing. They are also made available to content editors when inserting images or links into pages using the HTML editing tools.
A section template (or website template) is a set of model pages, which can be used for quickly creating new sections. The model pages (and/or libraries) can contain preconfigured content, including embedded plug-ins that enable a rich set of features.
If you make use of such a section template when creating a new section, your new section will automatically be populated with those pages, content, and plug-ins. This greatly speeds up the job of taking a new section live.
Website templates are optional; without them, your new sections will be created empty and you will have to create your pages and libraries manually.
If you have some website templates and shared design templates available, then you can create a new website in a minute or two. You typically need to define some basic information such as:
- section title and description
- select a website template to get your initial site map
- select a graphic design template to get your layout and look
Using this feature, ExSite can be configured to rapidly spin-off new sections, such as for:
- special events
- regional chapters
- branch offices