Visit the
Developer Center,
WebX Harbor, and the
Web Crossing
Conference
to find a wealth of WebX info and a community of WebX
experts on the Web!
Web Crossing Customization Management Suite (WCMS) Sysop Documentation
Table of Contents
The Web Crossing WCMS, or Customization Management Suite,
is a set of tools for applying look and feel changes (Themes) to Web Crossing
sites, adding features, or changing terminology or the language of the user
interface.
Themes
The WCMS creates a group of settings
for various options like colors, table cell widths, font characteristics,
HTML fragments for a certain area of the page, etc. A Theme is simply a
coordinated group of WCMS settings. You can either create your Theme by
experimenting, or you can install a Theme provided by Web Crossing or a
third-party developer. Even if you install someone else's Theme, you can
always tweak the settings to suit your needs. You can also export Theme settings
to install on another site.
The WCMS defines settings or plugins for the top level
of the site, or for any given folder. The settings inherit down to the folders
inside. This allows you to have different folders with an entirely different
look and feel and functionality on the same site.
Components, Extensions, Folder Items and User Items
These are different types new features you can add.
- Theme Manager: look/feel changes, backup/restore settings
- Component Manager: change the top level view, the folder view, message view, or toolbar
- Extension Manager: add new functions like LiveX live
messaging, sysop tools, etc. which can be made available either sitewide
or inside a folder
- Folder Item Manager: enable new objects which can be added inside folders, like Weblogs
- User Item Manager: enable new features for registered
users such as a personal calendar, "Watch Favorite Members", or a subscription
manager
- Localization Manager: change English terminology, add or subtract languages, edit or translate language strings, or change the default language for the user interface
- Optional Additional Developer Tools: rebuild include files, enable "std" localization strings, enable string debugging, view log files
All Theme settings are inherited down the site hierarchy unless another, more local, setting overrides the parent setting.
For example, see Figure 1. If your background color
is set to white for the site, but a folder inside your site has a yellow
background, the yellow folder and everything inside it will have a yellow
background. If, however, you defined a red background somewhere in a folder
inside the yellow folder, it and all its child objects will have red backgrounds.
Fig 1
This makes things quite flexible!
For example, see Figure 2. If you want all your folders to look
alike, except for the color of the page background, you can create or install
a top level Theme and then edit only the background color in each of the
folders. However, all other settings continue to be defined from the top
level. In Figure 2, all the text attributes are the same even though a different
background color is defined. When you make a change to the text size or font,
or some other parameter, all those other changes will be inherited down to
all the inside folders since they haven't been specifically defined in those
inside folders.
Fig 2
Or, (see Figure 3) you can assign a Theme to each of your top level
folders, and have a completely different look and feel for each of them.
In that case, anything you edit will appear only in the folder hierarchy
inside that Theme.
Fig 3
Nested Themes
Sometimes you'll want to use one Theme inside another. Remember
that all the settings from higher up will be inherited unless they're overridden
by more local settings.
For example:
Used by itself, Theme A has the content cell background color set to "beige."
Used by itself, Theme B has the content cell undefined because it's the
same as the page background, which is white. So the content cell background
is white by default.
However, when you place the Theme B on a folder somewhere inside
the Theme A, it will be beige because the specific outside wrapper settings
has bled through to override the undefined content cell background color
of Theme B. Since this isn't what you want, you'll need to specifically
set the inside Theme's content cell color to white.
In most cases it won't be necessary to do anything special, but be aware you may need to be careful to specifically define some settings on the "inside" Theme that have bled through from the "outside" Theme.
Theme Manager allows you to choose the page wrapper,
the material which wraps around the content area in the center of the page,
and comes with some coordinated color definitions for page content. In the
initial site setup process, you will be prompted to choose a Theme from a
number of screenshot thumbnail graphics. If you click one of the screenshot
thumbnails, a larger image will pop up, with annotations regarding that particular
Theme. A ReadMe link will reveal more details. A number of color options are available for each Theme.
Along with the usual Theme choices, there is an option
for "Empty Theme" and "Themes Off." "Empty Theme" turns on the page-wrapper,
but all the settings are blank, so you can start with a clean slate to create
your own Theme. "Themes Off" turns off themes so that you can use other
methods of laying out your pages. If you choose this in the initial setup
process, you will go instead to a page where you can choose buttons and a
background color for your site.
When you go back to the Theme Manager after initial site setup, you will see two choices by the Install
button: Start from scratch, and Attempt to preserve as many existing settings
as possible. If you start from scratch, all your existing settings will
be overwritten with those of the new Theme. If you have done work on the
navigation column, multi-purpose colum, or top or bottom cells that you don't
want to lose, you can attempt to preserve these settings if you wish.
Tip: to save your existing settings before making
changes, (so you can go back to them if you wish), you can export a configuration
file and reimport it later to restore your settings. See Sharing WCMS Settings below, for details.
After initial site setup, you can reach the top level Theme Manager's
"Choose a Theme" form by going to the Control Panel > Theme Manager menu
> Choose a Theme.
To reach the Theme Manager in a folder, first click on Edit Folder, and then you will see the Theme Manager menu.
A "component" is a portion of the content area
of the page. There are 4 types of components you can edit: the top level
view, folder view, message view, and the toolbar. In the initial site setup
process, after you've chosen a Theme, you will be prompted to choose page
components from a number of screenshot thumbnail graphics. If you click
one of the screenshot thumbnails, a larger image will pop up, with annotations
regarding that particular component. A ReadMe link will reveal more details.
Just as with Themes, you can choose components
at the folder level too. Component choices will inherit to objects within
the folder unless you choose another one in a folder further down the hierarchy.
If you have chosen something other than the
Classic View for a component on the some level, you won't be able to use
the Classic View for any folders inside that location. However, in all other
cases, any components can be used anywhere, at any level.
After initial site setup, you can reach the
top level Component Manager's "Choose a Component" form by going to the Control
Panel > Commponent Manager menu > Choose a Component.
To reach the Component Manager in a folder, first click on Edit Folder, and then you will see the Component Manager menu.
An "Extension" is an extension of the feature
set that falls neither into the folder item or user item categories, for
example the LiveX live messaging system or special sysop utilities. You can
have as many extensions as you want as long as they aren't incompatible. You won't be prompted to install extensions
during the initial site setup process, but you can do it at any time after
setup by finding the Extension Manager in the control panel. On the "Choose
Extensions" page, you will be prompted to add extensions from a number of
screenshot thumbnail graphics. If you click one of the screenshot thumbnails,
a larger image will pop up, with annotations regarding that particular component.
A ReadMe link will reveal more details.
Just as with Themes and components, you can choose extensions at the folder level too. Extension choices will always inherit to objects within the folder, to any depth, and cannot be turned off in subfolders.
Be sure to read the ReadMe links associated
with the Extensions you're considering. Rarely, extensions will be incompatible
with each other or with other plugins, so always check the ReadMe will have complete instructions on any incompatibilities or other recommendations from the developer.
After initial site setup, you can reach the
top level Extension Manager's "Choose an Extension" form by going to the
Control Panel > Extension Manager menu > Choose an Extension.
To reach the Extension Manager in a folder, first click on Edit Folder, and then you will see the Extension Manager menu.
A "Folder Item" is something you can add inside
a folder, which has a button or link like "Add Weblog," etc. You can have
as many folder items as you want. You won't be prompted to install folder
items during the initial site setup process, but you can do it at any time
after setup by finding the Folder Item Manager in the control panel. On
the "Choose Folder Items" page, you will be prompted to add folder items
from a number of screenshot thumbnail graphics. If you click one of the
screenshot thumbnails, a larger image will pop up, with annotations regarding
that particular component. A ReadMe link will reveal more details.
Folder Items must first be enabled at the site
level, and then they can be enabled inside any folder. Once a folder item
is enabled for the site, hosts, Operations and Sysop can add them anywhere
in the site. However, for regular users to add folder items, you need to
enable them at the folder level with the "Choose Folder Items for this Folder"
menu, also in the Folder Item Manager popup menu. Folder Item choices will
inherit to objects within the folder, but can be turned off in subfolders.
Once you enable some folder items, you can
sort them to determine which order they appear in the user interface where
there are buttons, etc. to show. The sort form is found via the Folder Item
Manager popup menu.
Be sure to read the ReadMe links associated with the Folder Items you're considering.
After initial site setup, you can reach the
top level Folder Item Manager's forms by going to the Control Panel >
Folder Item Manager menu > Choose a Folder Item.
To reach the Folder Item Manager in a folder, first click on Edit Folder, and then you will see the Folder Item Manager menu.
A "User Item" is something which adds features
for an individual user, like a personal calendar or a subscriptions manager,
etc. You can have as many user items as you want. You won't be prompted
to install user items during the initial site setup process, but you can
do it at any time after setup by finding the User Item Manager in the control
panel. On the "Choose User Items" page, you will be prompted to add user
items from a number of screenshot thumbnail graphics. If you click one of
the screenshot thumbnails, a larger image will pop up, with annotations regarding
that particular component. A ReadMe link will reveal more details.
User Items must first be enabled at the site
level, and then they can be enabled inside any folder with the "Choose User
Items for this Folder" menu, also in the User Item Manager popup menu. User
Items will inherit to objects within the folder, but can be turned off in
subfolders.
Depending on the individual User Item, sometimes
a new button or link will appear in your toolbar, and sometimes a link to
the new function will appear in one of the Theme cells.
Some User Items allow users to turn them off in their personal preferences.
Be sure to read the ReadMe links associated with the User Items you're considering.
After initial site setup, you can reach the top
level User Item Manager's forms by going to the Control Panel > User Item
Manager menu > Choose a Folder Item.
To reach the User Item Manager in a folder, first click on Edit Folder, and then you will see the User Item Manager menu.
Themes have 5 editable table cells: Top cell, nav
cell, content cell, multi-purpose cell, and bottom cell. All these except
the content cell have an "optional items" menu where you can turn on various
links and elements (a search blank, a user counter, a login link, etc.).
To turn these on and off for each dell, use the "Optional Items" menus in
each cell.
Extensions, Folder, and User Items sometimes need
to place elements into the user interface in page wrapper areas controlled
by the Theme. This is done by enabling Optional Items. A plugin may merely
put itself into the popup Optional Item menu as a choice, or it may actually
enable itself. For example, when you install the LiveX Extension, it automatically
places itself in the top cell of the Theme by placing itself into the Top
Cell Optional Item menu and selecting itself. If you would rather have the
LiveX in the nav, multi-purpose, or bottom cell, you can go into the Edit
Theme Settings menu and deselect it from the top cell, and select it in the
cell in which you want it to appear.
If you change Themes after you've done this, and
chosen "Start from scratch," you will need to go into the Edit Theme menu
and manually reselect the Optional Items you want enabled. If you choose
to attempt to preserve existing settings, these should be preserved.
Sysop can edit any fields with any contents, but the form processor will not let hosts without WCTL privileges edit any fields containing WCTL. The other fields will be changed as requested, but for fields containing WCTL, the value will not change and an error message will be shown.
Note: If, during your Theme editing, the items disappear
entirely from the Optional Items menus, you can always go to the "Choose
a..." menu and deselect the plugin, submit the form, then return to the menu
and reselect it. This should replace any the missing Optional Items and
reselect the default ones.
All WCMS settings can be edited. For the top level, you
can find the various settings under a popup menu in the control panel. Pop
up the Theme Manager menu to find "Edit Theme Settings." Similarly, pop
up the Component Manager menu to find edit options for the Top Level, Folder
View, Message View, and Toolbar. The Extension Manager, Folder Item Manager,
and User Item Manager menus each have an edit screen for each extension you
have installed.
To find these menus for a folder, use the Edit Folder screen.
You can edit either the value there or the click a link to be taken to the edit
screen at the location from which the value is inherited, if you want to
edit all occurrences of that value in the hierarchy rather than that one
local value.
When you get ready to submit the form, you have several options:
- Set only unique values (values which differ from the inherited values)
If you are setting only one or two local values and want everything else to inherit (as in Figure 2 above), choose this option.
- Set all values explicitly (set all local values to prevent inheritance from above for any of the settings)
If you have a whole separate Theme hierarchy defined at this (as in Figure 3 above) and you don't want values to inherit from above, choose this option.
- Delete all local values to revert to the inherited values
If you want to clear out all the local values so everything inherits, choose this option.
Security permission checks are also applied to WCMS field edits.
For more information on WCMS inheritance, see the Inheritance section above.
Tip: If you want to remove or add the background "pinstripes," locate
the /webx/html/plugins/bgs directory on your server. In that directory are
a number of different background stripes and patterns you can use in customizing
your Theme. To invoke one of these images for a background, fill in "/plugins/bgs/image.gif,"
for example, into one of the Theme background color fields.
You can share your settings with another site, or
move them from your development site to your production site, by exporting
them to create a wrapper.set file. You'll find the Export/backup form in
the Theme Manager > edit theme settings page. If you want to export top-level
settings, use the Export option in the menu right there in the control panel.
If you want to export folder-level settings, go into the Edit Folder page
for the folder, and use the Export menu there.
Once you're on the correct Export page, choose a
filename. The usual naming convention is to use a ".set" file extension,
but you can really name it anything you want. (If you're a developer creating
Themes for distribution, please see the Developer WCMS SDK page for additional instructions.)
Click Export. A text file of Theme settings (all Theme, component,
and other WCMS plugin settings) will appear in your Web Crossing server directory.
If you have images or custom templates which go with your Theme,
be sure to send those along when you share the wrapper.set file and tell
the recipient where they need to go.
To Import the settings file on the other server,
place the images and template files where they are supposed to go. You'll
find the Import/restore form in the Theme Manager > edit theme settings
page.
If you have a ".set" file (with or without associated
images), you can use the Import menu option. Fill in the name of the ".set"
file in the Import page at the level at which you want to assign those settings
(top level vs. a folder), and Import the settings. After you do this, your
"Choose a Theme" page will not show your Imported Theme, but it will be completely
functional in every other regard. If you need to use this Theme in some
other folder, you'll need to re-Import it there.
You can easily select, purchase, and automatically add more WCMS plugins to your site via our Plugin Server.
More information on this will be provided later in development.
If you don't want to use the WCMS, you don't have to. Customization
can also be accomplished by placing HTML into the Banner and Footer fields
in the Control Panel and choosing buttons from the control panel.
To turn off the Themes, simply go to Control Panel > Banner/footer page and turn Themes off.
If you change your mind later and decide you do want to use a Theme, turn it back on in the same location.
Even if you turn off Themes, you can still select and edit the other WCMS plugins from the WCMS Manager menus.
Part or all of any Web Crossing site is localizable,
meaning the user interface can be translated into as many languages as desired,
or the site can remain in a single language, but you can edit the terminology
as you wish. For example, if you're in Quebec, you could have a dual French/English
site, and let users choose their language of choice at registration. Or
if you have primarily English-speaking visitors, but want to change all the
instances of the word "discussion" to "topic" instead, you can do that.
Adding a language - Choosing a default language - Removing a language
In the Localization Manager is a page where you can add a language, choose a default language, and remove languages. This step must be done in order to make the new languages available to users. First choose your language
"code" - constructed from a two-letter ISO standards-based language prefix,
an underscore, and an ISO-standards-based two-letter country code. The Add
Language page has links to reference documents so you can construct the appropriate
code. You also must fill in a "friendly" name for each language, which will
appear in the user interface where a language choice is available.
You'll also want to use the Localization Manager to select an appropriate character
set to be served as a meta tag on each page. Please note that the charset default
is a sitewide setting, so select a character set which supports all the languages
your site offers as options. If necessary you can override this for any given folder hierarchy within the system by setting a folder-level character set in the folder-level Localization Manager on the edit folder page.
There are two methods of editing
language strings. You can translate the strings directly on the server with web forms, or work with a spreadsheet to do the editing
or translation, and automatically convert your work into a template when you're finished
Editing Strings with the Spreadsheet Localizer
Using the spreadsheet localizer is a four-step process for each project you want to edit.
-
Using the Localizer2Text form, export the strings for the project you want to work on into a tab-delimited text file which can be read by a spreadsheet. The file will appear in your /webxTemplates directory.
- Open the tab-delimited file in a spreadsheet and translate. The format is as follows:
First line: ignored - may contain any comments you wish
Second line: contains the word "variables" in column 1 and language codes in the remaining columns (e.g. "en_US").
Lines 3 and following contain the names of the internally used variables and the strings for each language. For example, the sendEmail string for English and French:
sendEmail Send Email envoyez l'email
Strings with embedded single or double quotes are fine. HTML may also be included in a string, however WCTL or WCJS may not be used.
At this stage you may add or remove localization strings (not recommended unless you are a developer), and add columns for additional languages. Before these languages are available to users, however, you must also add server support for them by using the Add Language page of the Localization Manager as described above.
- Export the file from the spreadsheet again as a tab-delimited file. Place it back in the /webxTemplates directory.
- Last, using the Localizer2Auto form, re-import the text file back into Web Crossing, which will automatically write the required template file. Reset the file cache to make the new strings available.
Editing Strings with Web Forms
The other method is to use the Edit
Language Strings web form in the Localization Manager menu.
To Edit language strings using the web forms, first
select the language to be edited, and then the project name. Default server
files and plugins each have a language strings file. If you want to see,
for example, just the strings in a given project with the word "discussions"
in them, type that into the keywords blank. Without any keywords, the entire
list of strings is returned, 100 to a page. Using the Next and Previous buttons, you can navigate through a project's list of strings as necessary.
When you've finished making your changes on a given page, you need to
save the results. A temporary save saves the new strings in server memory
for immediate use, and you can go check out the changes you just made. However, if the server is restarted, a plugin is turned on or off or another language change is made, or the file cache
is reset, the changes will be lost. To permanently save strings, use the Permanent Save
button to write your changes to the files. Permanent saves are not lost unless the template file itself is moved, renamed, or deleted. With either type of save, strings are immediately available; there is no need to reset the file cache to see them.
Localization and Buttons/Icons
If you want to translate the buttons and icons, you'll
need to create an image directory inside /Images for each non-English language
you want to support. For example, /Images/fr_CA/b1 for French Canadian /b1
buttons in French. These will be served to users who have a user.language
preference of fr_CA, for French.
This allows you to easily keep track of your localized buttons. If an image directory or file is missing, the site default language buttons will be used instead.
Localization and Performance Tuning
Using localizable templates creates a slight decrease in performance. For
most sites, the difference will be negligible. However, if you're running
a large, busy site or one where peak performance is a critically-important
issue, you will want to balance localization needs with performance needs.
Using the Localization and Performance Tuning page (found in the Localization Manager menu), you can:
If you have further localization requirements, such as language switching for guest users, translating discussion and folder descriptions and names of folders, discussions and chat rooms, you can install and enable the no-cost Superlocalization plugin. Use the Shop for Plugins link in your control panel.
Enabling "std" strings (WCMS developer menu)
If you are editing some macros you found in webxStd-local.tpl, the strings for those macros will be missing unless you either turn on "Enable 'std' strings" in the developer menu, or turn on "Optimize for localization" in the Localization and Performance Tuning page. Either of those actions loads the "std" strings project so macro from webxStd-local.tpl can be used.
If you need more information about localization or how
the different settings impact performance, or what files are affected, see
the Developer WCMS SDK page for details.
By default, all hosts and superhosts, as well as the sysop, have access to edit WCMS settings. If you want to restrict this for hosts, you can do that by editing a function which does additional access checking for hosts (not superhosts).
The default function looks like this:
// to check access to WCMS UI
%% function wcmsHostAccessCheck() {
return "yes";
} %%
Copy this function and place it in webx.tpl, and edit it to provide the degree of restriction you require. To disallow all regular hosts, never return "yes." To allow only hosts who are members of a certain group, return yes only if they qualify - in the example below, as members of the wcmsEditors group. Please note that this does not create the group. You must do that manually, add members to it, and place any access controls on the group that you deem appropriate.
%% function wcmsHostAccessCheck() {
if ( user && user.userIsMember( 'wcmsEditors' )) return "yes";
} %%
Copyright © 1996-2003 by Web Crossing, Inc., San Francisco, California.