This guide provides an overview of content management in the Version 4 system, to help you understand how your content is organized and maintained.
All content is organized into units called "content objects", that can be configured, edited, moved around, and deleted. Every thing that ends up as a distinct file will have its own content object (for example, a page, an image, or a PDF). Some types of content will be broken down further into smaller content objects; for example, a page might be broken down into a body, a sidebar, and a footer that can each be configured and edited separately.
Every content object has a type, which defines how that content functions within the website. The basic content types are mostly concerned with content that is passively viewed by the end user. These include things like:
Special content types present themselves in specially formatted ways, and often have extra interactive features. These include:
... and others. Generally speaking, special content works the same as basic content, but has additional features unique to each content type. But once you know know basic content management procedures for one type of content, it will be similar for other types as well.
There is a common set of features shared by all content objects, no matter what their type.
Every piece of content goes by three different names:
To control who is allowed to view a content object, set its access permission accordingly. Public content can be viewed by anyone, and is also published statically for fast and secure viewing. Higher levels of access require the the user to be logged in to an account with that level of access in order to see the content. "User" level access allows anyone who is logged in to see the content. "Member" level access also requires that you have an up-to-date membership. "Executive" level access is restricted to website administrators.
If a user views a piece of content with a higher level of access than they currently have, they will be blocked from viewing it. If the content is a page or other navigation destination that gets formatted in a page-like way, the user will be presented with a login form instead, so that they boost their access if they have an account that is allowed to view the content.
If you want to disable a page completely, use the workflow tools to change its status to canceled. You can re-publish the page later to bring it back.
You can also hide content using the "Hide From" settings in the content configuration. Hiding pages does not really control access to pages, however, it simply stops driving traffic to those pages through your site navigation and search tools. Anyone with a link or the content URL can still visit those pages with no restrictions.
Workflow is the process of developing content and taking it live. For example, a piece of content may begin as a draft, go through multiple revisions, then get approved and published, and then get revised again later, before eventually being archived or even removed from the website when no longer relevant.
The different workflow states are:
Lower-numbered states are more "live", and higher-numbered states are less "live".
When creating new content, set its workflow state to published if you intend to post it immediately; otherwise use draft if you need to keep working on it for a while.
When removing old content, set its workflow state to archived if you want the old links to still work (for example, so that search engine hits won't give a 404 error), or to canceled if you want the old links to break.
If you have a page (or other content) that is already published, but you need to make some edits that you don't want to go live immediately, use the "Save as Draft" button when saving your revisions. The overall page will remain published in its previous form, but your new changes will be treated as a draft and will not be published until you save a non-draft version.
All content updates must be published before the public will see them. Publishing accomplishes two things:
When using advanced CMS tools, you have a few publishing options:
If making changes all over a website, or changes that affect menus and site maps, you might find it hard to guess which pages have all been affected by your changes. In that case, it's usually easier to just re-publish the whole site. It takes longer, but is thorough.
Un-publishing is the reverse of publishing; it removes any static files associated with the content. That will cause any links to those static URLs to return a 404 error. The CMS will try to automatically un-publish content when it thinks it is appropriate to do so, but you can also do it manually if you need to clear out old versions of content.
Note that un-publishing removes content under its current name. It is best to un-publish content before you rename it, to ensure that old copies are properly removed. If you discover that a piece of content is still available in static form under its old name, you can name it back to the old name, unpublish it, then return it back to its current name.
Every piece of content can be viewed in a static or dynamic form. Static views are simple flat files that are delivered directly to the viewer when requested. They are fast, efficient, safe, and have cleaner URLs, but they display the content as it was the last time it was published. Dynamic views are regenerated each time they are viewed. They allow for customization, personalization, access controls, and up-to-the-second live views of the content, but are slower. Dynamic views can be recognized by the "cgi" elements of the URL, for example:
You can explicitly set which type of view you prefer for any piece of content, using the Publish Rule configuration setting. However, you don't have to set it; the system will be smart enough to automatically select a publish rule that is appropriate for the content. You only need to set the publish rule if the automatic choice doesn't suit your needs.
In addition to static and dynamic, there are a few pseudo-dynamic options: hourly, daily, and weekly. These settings are functionally equivalent to static, but they automatically re-publish on the given interval to refresh themselves with the latest view of the content. This gives you some of the freshness of dynamic views, while keeping the speed and security of static views.
To grant permissions to view content, set the access level of the content appropriately. Use the "public" setting if everyone should be able to see the content. Set it to a higher level to require an authorized user to login before viewing the content. Anyone who tries to view the content without sufficient access permissions will be shown a login form instead.
Normally you will set the access permissions on the whole page (or other page-like website destination with its own URL, such as an article). Unauthorized viewers will see a permission denied error and/or login prompt if they try to view the content.
You can also set access permissions on sub-elements of a page, such as an image, a sidebar, or a box or other visual container. In this case, the sub-element will either be shown if the viewer is permitted to see it, or hidden (with no error message) if not. This works on both static and dynamic pages; in the latter case, the restricted content is fetched dynamically by javascript.
Permissions to change content (adding new content, revising existing content, moving content around, approving content, or deleting content) are controlled using content keys. A content key assigns a role to a user for a piece of content; for example Max can be assigned as the editor of a page; that allows Max to revise the content on that page. The roles are:
Granting permission to change a particular piece of content also implicitly grants permission to change content inside it. For example, permission to edit a page is also permission to edit any sub-pages. For this reason, keys are commonly granted to entire sections, as that will encompass all content in that section. For example, a general "webmaster" type access key will typically grant editor, designer, and administrator roles on an entire section.
To remove permissions in an area, you can issue a key that revokes access in that content (and all of the contained content).
All content is organized into a "tree". Each piece of content has to be positioned somewhere in this tree. This is done by specifying its "parent" content. The topmost content object (which represents the website home page) is the only one that does not need to specify a parent--it is at the "root" of the tree.
The CMS uses this tree to automatically figure out site maps, menus, sub-menus, cookie-crumbs, and other navigational sets of links.
Each content type has a "navtype", which defines how it should be treated for navigational purposes. The different navtypes are:
The Site Map is a list of all page-like content objects in a section, and is usually organized as a nested list, so that you can see the entire tree of pages, like this:
...etc
This allows you see your entire website at a glance, and jump to any page in one click. The "menu level" is shown by the degree of indentation, and corresponds to how many "parent" content objects you have to go back through to get to the top. The topmost content object is a section, which presents itself as a "home page".
You can configure pages to be hidden from the site map under the "Hide From" settings in the page configuration.
Use the Menus plug-in to manage your site map using simple drag-and-drop placement of your pages.
Numerous content objects can live under a single parent. For example, in the above site map example, 1.1 and 1.2 both live under the parent 1, and comprise page 1's submenu. If you do not specify any particular order for these items, they will come out in the same order they were added to the CMS. To override the order, you must define sort keys for the content, which will be used to sort the items alphabetically. Note that because the sort is alphabetical, not numeric, "10" comes before "2" which comes before "ABC" which comes before "XYZ". If you want to sort alphabetically, use the content title as a sort key, but:
For example, The Catcher in the Rye should have a sort key like "CATCHER IN THE RYE" if you don't want it sorted under "T". In cases where you are sorting people by name, you might want the sort key to go by last name. So "Mary Jones" would have a sort key like "JONES MARY" (note that "JONES, MARY" also works).
If you want to sort numerically, pad your numeric sort keys with leading zeroes, like this: 0001, 0002, 100, etc., so that they sort alphabetically. You do not have to put them in an exact numeric sequence; leaving gaps in your numbers makes it easier to manually insert other items into the gaps later. For example, if you use sort keys 0100, 0200, and 0300, then later on you can insert something into 2nd place using a sort key of 0150.
Many CMS apps include a sort tool that allows you to drag-and-drop your content into your preferred order. The Menus plug-in lets you do this for your pages, for example. The sort tool then re-writes all the sort keys for that content into the order you specified, using the pseudo-numeric method.
Note that some CMS apps have their own custom sorting rules that ignore sort keys. For example, event calendars are always sorted by the event date, and blogs are sorted by the posting date, no matter what sort key you specify.
A menu is a list of links to all the pages with the same parent, and is automatically inferred from the site map. For example, pages 1.1 and 1.2 in the above site map example comprise a sub-menu under page 1. Pages 1 and 2 are part of the top menu for the web site. Here is another way to look at this:
Website | ||
---|---|---|
Top Page 1 | Top Page 2 | |
Page 1.1 | Page 2.1 | > (submenu)Page 2.1.2 |
Page 1.2 | Page 2.2 | |
Page 2.3 |
You could also hav sub-sub-menus under those sub-pages, and so on, to any depth.
You can configure pages to be hidden from menus under the "Hide From" settings in the page configuration. This is distinct from the hide from sitemap setting, so pages can be visible in the menu or the sitemap, or neither, or both.
Use a menu plug-in to format your menus in a useful and stylish way. Some of the available plugins include:
Since every content object except for the topmost has a parent, every piece of content in the system has a path, or bread-crumb, that takes you back to the topmost item. For example:
Website > Grandparent Item > Parent Item > Item > Sub-item > Sub-sub-item
Use the "Hide From" settings in the content configuration to hide content for navigation purposes. The options are:
Note that hiding content does not protect or secure your content in any way. Anybody with the link can still reach your content
If it has already been indexed by 3rd party search engines, changing the setting to hide from robots will not automatically remove it from those search engines. It will take time for those robots to come around and re-index the page before they will see the new setting.
There are numerous plugin apps for managing your content. They each provide user interfaces that are designed for certain types of website maintenance. Because they are all interacting with the low-level CMS, they are all performing similar types of operations on your content. Which ones will be more useful will depend on the specifics of your content management requirements.
The My Website plugin app provides a simple interface to managing your pages that is suitable for day-to-day website edits. All of your pages are presented in a sitemap-style view, and you can click into any one of them to preview, edit, or reconfigure it.
When your edits are complete, pages can be republished individually, or all in one go by publishing the whole site.
Shortcuts are provided to the Photo Albums plugin for image management, Documents for downloads management, and Menus for re-arranging your site map.
The Photo Albums plug-in gives you an image-centric user interface for managing your libraries. You can select any of your libraries to work with, and all of the images within will be displayed in a thumbnail gallery. Select any thumbnail to work on that image, or upload new images as needed.
The Documents plug-in gives you an document-centric user interface for managing your libraries. You can select any of your libraries to work with, and all of the files within will be listed. Select any file to work on it, or upload new ones as needed.
The Menus plug-in displays all of your page-like content in a sitemap. You can drag items around to re-arrange your site map. Click the save button to save the new arrangement. You will need to republish the site for these changes to become visible to the public.
The System Browser plug-in is a comprehensive content management tool, which provides the full scope of the CMS's features to any selected content object. It may not be as user-friendly as the simpler tools above, but it will make advanced features available, which the above tools overlook in the name of simplicity. For example, you may need to use System Browser to access the following advanced CMS features:
Some special content types will have their own plug-in applications that are specially-designed to maintain them. My Website and System Browser may offer short cuts to these applications if you select those content objects. You can also go straight to those applications from your administrator screens. Examples include: