Showing posts with label basics. Show all posts
Showing posts with label basics. Show all posts

Webcrossing Subscriptions

Webcrossing Community allows registered users to "subscribe" to various folders and discussions. What this means is that the software will track which messages they've read and show them only the new messages.  What happens after that depends on the type of subscription the user signs up for.

You can allow users to do any (or none!) of the following:
  • Subscribe by web - users either go to the Message Center for a list of their new messages, or click Check Subscriptions in the toolbar on any page. Each time Check Subscriptions is clicked, the users will be taken directly to the next new message on their list without having to return to the Message Center in between.

    This is really an amazing "power tool" that many sites don't understand and subsequently turn off.  It allows somebody to instantly view all the new material on the site (in the areas they're interested in) without clicking around or being inundated by email notifications.
  • Subscribe to email for individual posts - users receive whole posts in email
  • Subscribe to email notification for individual posts - users receive links back to the forum and notification that a post has been made, but must visit the forum to read the new messages. Users will not receive further notification until they have visited the forum and read the unread messages. This prevents spamming people with notification messages before they are ready to visit.
  • Subscribe to email digests - users receive an email digest of all new posts, arranged by discussion, emailed at the time of their choice. The interesting thing about this is that digests don't come at some time determined by the site owner or whenever there is enough material, but instead at the time the user chooses. You an get 24 digests a day if you want - one an hour. Or just one a day. Or just one a week.


Users can subscribe to everything, nothing, or any combination of subscription methods - to the entire site, or to just a subset of areas that interest them.  You could subscribe by "check messages" to the Dogs folder and by email digest to the Cats folder.  The only limitation is that full notifications vs. individual post notifications is a sitewide setting for the user.

Subscriptions are definitely a "power feature" of Webcrossing Community.  Webcrossing Neighbors has some additional subscription features by virtue of its social networking emphasis.

Creating Email Lists in Webcrossing

Building on the concept of email subscriptions, Webcrossing allows you to create email lists - archived on the web and fully searchable.

First, turn on full-email subscriptions as an option.  This means users who subscribe by this method will receive a copy of each post by email - as you can see, this is already half of the equation.  Now you just need to enable post-by-email. Now create a folder you want to hold your email archives. In the folder settings, there is an option to "make this folder an email list."  That's all you need to do.  Anybody who is subscribed by email can reply back and it will be posted on the web, filed appropriately in the correct discussion in the correct folder.

There is a page of settings (image at right) where you can tweak various aspects of your list, like what the reply address is, or add any special headers you want added.

You can also mirror external email lists or copy all posts from your list to some other address (such as another external list).

There is also a "Mailing List Administration" plug-in to make managing your user lists easier.

All in all, it's quite handy, and quite flexible.

To Thread or Not to Thread

Within the realm of message boards, there are a couple of different ways to organize the messages. Many people don't realize this, but it can make all the difference in the world in how people interact on your message boards. Some people have a strong preference for one or the other, but either will work. Each has its strengths and weaknesses. Even if you prefer one style, the needs of your community may dictate that you at least consider the other style.

There are two basic ways to view message board posts: threaded and conversational.

Conversational (Linear, Chronological) View

In conversational view, also known as linear or chronological view, posts are placed in chronological order, one after the other. This organizational method is good for a group of regular participants engaged in free-flowing, deep conversation. For example, this might work well with a health-related community in which there are groups for various illnesses and members are providing support to one another. It's harder to reply to individual messages, and more difficult to find "the answer" out of the bunch, however, so if you need to be able to find needles in haystacks, you might be better off with a threaded organizational structure. Conversational mode is more of a many-to-many discussion.

Threaded View

In threaded forums, the posts are arranged like an outline, with one post immediately following the one to which it is replying. Threaded organization works well in situations where people need to be able to find a particular piece of information in a hurry, such as in technical support forums. Threaded organization fosters multiple small one-to-one conversations rather than one group discussion.

A Comparison

While threaded conversations might seem more organizationally intuitive, forums generally get more participation when they use conversational mode. This is because people tend to find conversations straightforward and easy to follow.

If you have not experienced both modes, I would encourage you to do so, to get a feel for which one you prefer. Quite frankly, I have a strong bias toward conversational mode. Threading works well for newsgroups and other non-Web-based applications, but I feel that it's more difficult to use it on the Web.

Webcrossing Settings

Whatever you decide is best for your community, Webcrossing's got you covered.  In the Control Panel > Discussions page, you can choose from:

  • Default to threaded, but user can choose conversational in their preferences
  • Default to conversational, but user can choose threaded in their preferences
  • Mandate threaded
  • Mandate conversational

And whatever you choose can be overridden for an individual discussion on the Edit Discussion page, even in mid-discussion.

My favorite combination of settings is to set the actual discussions for conversational view (mandate it), and then in the "Tabular Message View" settings, turn on the option to show replies.  This puts links between the message and the message being replied to.  At the bottom of the message being replied to is a list of all the replies.  At the top of each reply is a link back to the one it was a reply to.  In that way, you can still enjoy the advantages of conversational view while still being able to follow threads if necessary.

Feel free to experiment!

5 Tips to Prevent Flames

Some amount of disagreement among community members is probably inevitable. Just as in face-to-face communities, sometimes people get on each other's nerves. Rather than hoping against hope that it won't happen in your community, it's better to plan for problems from the outset and have a strategy in place for dealing with them.

What You Can Do

You can minimize the unpleasantness -- and help douse the flames when it happens -- with a judicious application of software tools and common-sense people skills. Here are five strategies you can use:

1. Choose software that allows you to deal with -- and prevent -- problems. One approach is to use moderation, which is when some or all posts are read and approved by a moderator before they go live. Reading every single post is obviously time-consuming for your community staff, but some software allows you to specify a list of objectionable words, and then it queues for moderation only posts that contain those words. Webcrossing allows you to set a different objectionable word list for each folder, if you wish.

Another tactic is to deny problem users access to some or all of your site, or to withdraw certain privileges. These users can either be denied access completely (you delete their existing user name, and they can't register again), or they can be denied access to a given area within the site (since they're logged in, the software knows who they are and can be programmed to not let them into certain areas). Or you can set it so they can read posts but not post anything themselves. You may not need these tools often, but when you do, they can be lifesavers. You can do this with Access Lists with Webcrossing.

A third approach puts the responsibility in the hands of the users by giving them filtering tools that allow them to block postings from people whom they find difficult. Webcrossing provides a "bozo filter" if you use the default Tabular Message View.

2. Write a watertight "terms of service" document. Require your participants to agree to the document when they register. It doesn't have to be legalistic and scary, nor should it discourage the discussion of issues. But it should specify that attacks on individuals are not permitted. The advantage of having something in writing is that if someone gets unruly and you need to take action, you have an existing document that you can direct them to, and your enforcement actions won't seem arbitrary.  Webcrossing's Register Plus plugin allows you to require agreement to your Terms of Service in order to register.

3. Plan a "seeding" period. It's amazing how many new sites skip this step.  But it can be crucial for setting the stage and settings expectations for behavior.  Before you open your community, invite a couple dozen people to come in behind the scenes. These should be experienced message board participants and people whom you can count on to help you get some interesting conversation going. Besides simply making it seem like "somebody's home" when the public arrives, these folks will set the stage for what will come when the doors open, including being role models for your users-to-come about what kind of behavior is usual and expected.

4. Use facilitators to shape the discussion. Faciliators can model civil disagreement and discussion and deal with problems when they arise. They can deal with your participants via private e-mail and encourage them to work out their issues with each other without making your community an unpleasant place to be. When all else fails, they can use the software tools available to them, as outlined in strategy #1, above. A good facilitator is worth his or her weight in gold!

5. Resign yourself to the fact that you're never going to please everyone. Taking action when things get out of hand is sometimes the only way to prevent your community from self-destructing; your "good" users will usually appreciate your taking action against people who are causing trouble. Otherwise, the positive contributors will get disgusted and may start to spend their time elsewhere. But at the same time, when a facilitator acts with a "cop hat" on, he or she is going to raise the ire of those in your community who have problems with authority, no matter who is wearing the hat. You may get complaints about First Amendment rights and censorship. The trick is to not take it personally and remember that for both you and your participants, everything online feels more intense than it would offline. Thus, if you can encourage people to take a "time out" of a few days to get perspective, it's likely to help a great deal.

Using a combination of Webcrossing tools and good facilitation, you can minimize the flames in your community.

Sorting Items in Folders

OK, you've got your forum set up, and have several folders full of discussions, blogs, and other folder items.  You may decide you want things in a certain order, or that you always want the most recently-created items to appear at the top of the list.

Fortunately, Webcrossing has a couple of different tools to determine the order of items in a folder.

First, in the Control Panel > Folders page, you can set some defaults:

But there may be some specific items you always want to be in a certain position, like at the top, or maybe an Archives folder at the bottom.

To make this happen, you need to set a sort sequence number for the item in question.  Go to the Edit page (edit folder > basic folder appearance and hidden files, edit discussion, edit whatever :) ) and find the blank to set a sort sequence number.  By default, for folders and objects derived from folders (blogs, brainstorm folders, etc.), the sort sequence number is 100000.  For discussions and objects derived from discussions it is 0.


So to set something to appear at the bottom, set a negative sort sequence number below 0.  To set something to appear at the top (or several somethings to appear at the top), set a sort sequence number above 100000.

All items with the same sort sequence number (in other words all folders and folder-derived items in a group, and all discussions and discussion-derived objects in a group) will sort in a separate little group using the default sort setting you chose in the Control Panel.

If you have a number of items you want in a particular position, or if, say, you want one folder to sort alphabetically and another to sort in a particular custom order you set, go to the Edit Folder page in for the folder containing the items you want to sort, and find the "Other Folder Settings" pulldown menu.  There, you'll find an option for "Sorting for Items in this Folder".

That page will allow you to move items up and down in sequence until you get them in just the order you want.  There are handy presets for Alphabetical, etc. so you don't have to alphabetize them manually.


The important part to realize is that the way this works under the hood is to set sort sequence numbers for everything in the folder, ordered in such a way that things sort the way you want them to.  You can see them in the screenshot above, 99990, 99980, etc. So when you have sorted a folder using this tool, and you add new items, those new items will all have the default sort sequence numbers of 100000 or 0.  Thus, new folders will sort at the top of the list in a little group using the Control Panel default order.  New discussions will sort at the bottom of the list in a little group using the Control Panel default order.  You can go back at any time and re-set the custom sort to make the new items sort according to your desired order.

Thus, it's probably best to save the custom sort order for folders where new items are not added frequently. For folders with a lot of activity, set the Control Panel default to whatever works best for those folders, and use the Edit option to set an individual sort sequence number for one or two items in those folders you want to make stick to the top or bottom of the list.

As you can see, this mechanism is way more powerful than a simple "sticky" radio button on a single discussion.

WCMS Host Permissions (WCMS Part 8)

So far in our series on the WCMS (Webcrossing Customization Management Suite), we've covered Themes, Components, Extensions, User and Folder Items, the Localization Manager, and the Developer Tools. In this, the final installment, we'll discuss how you can control whether non-sysops have access to the WCMS.

At the very bottom of the suite of WCMS tools and menus is a link which says "WCMS Host Permissions."


That link leads to a page that looks like this:


First, decide whether you want to let your Host users access the WCMS. Many site owners feel that letting Hosts into the WCMS is asking for trouble. Other sites may have a situation where there are one or more very knowledgeable Hosts that can be trusted with WCMS settings.

If you don't want any of your Hosts to use the WCMS, check the box and fill in none into the blank asking for the group name. Submit the form, and you're done.

If you want all of your Hosts to be able to use the WCMS, DEcheck the box and submit the form, and you're done too.

However, you can also allow just some of your Hosts to use the WCMS. This is how to set that up: If you check the box, the system will use a user group to control Host access to the WCMS tools. So the first thing you'll need to do is create a user group manually the normal way, being sure to set an access list on the user group to disallow Hosts from editing it (adding or removing themselves or others from the group). Once you've done that, come back here and fill in the name of your user group.

Then, decide if it's simpler to have a list of people you want to exclude from the WCMS functions, or to exclude everybody except a few people you want to allow to use the WCMS functions. Set the radio button appropriately.

Voila. Only the Hosts in your user group (or all hosts except the Hosts in your user group) will have access to the WCMS.

It's worth remembering that none of these settings have a thing to do with either sysop or superhosts. Sysop and superhosts can always do everything, everywhere. So this only applies to Host users as defined in an access list. Furthermore, since Hosts can't enter the Control Panel, this only applies to folder-level WCMS pages.

You can apply your host permission settings sitewide, or if you need even more granular control, you can apply them in any folder, using a form almost identical to that above.

And that completes our tour of the WCMS. I hope you've enjoyed getting a taste of what's available under the hood of Webcrossing - most of it not requiring scripting at all!

WCMS Developer Menu (WCMS Part 7)

Our latest installment about the WCMS, (Webcrossing Customization Management Suite), is about the developers tools available.

You first must click the link to "Enable developer mode," which will expose an additional pulldown menu below the Localization Manager menu.


Once you've done that, you will see 4 tools available:

  1. Rebuild Include Files
    The WCMS system does its magic by writing a number of special script files which turn on various plugins in various locations in the forum hierarchy.  These files are called "Include" files because, like a server-side include, they load the right script files in the right place.  If something goes wrong, or you accidentally delete one of those include files, this tool will look through all the locations in the forum hierarchy and delete and recreate all those include files. If you have a large, deep hierarchy, it could take some time and possibly impact performance, but if you have this problem you probably won't mind taking your site down temporarily in order to fix it.

  2. Enable "std" Strings
    Each plugin has its own project name. Some older script files from previous versions may use the now-deprecated "std" project for the localization strings.  If you are using one of those older files as a base for your own customization project, you may need to turn this setting on in order to get the localization strings to load for your project.  You only need to worry about this if your file has localization calls using the "std" project, like:

    lang("std", "somestring")
    %% "lang".jsCall("std", "somestring") %%

  3. Enable String Debugging
    If there is a missing localization string sometimes it can be difficult to figure out which plugin project the string is coming out of.  Enabling this setting will add HTML comments after each string call, telling you which project the string is coming from, which string is being called, the language being returned, and information about the user's language settings. This can be really handy when you need it, but be fore-warned, it makes your submit buttons really ugly because the HTML comment will be displayed as part of the submit value and displayed literally on the page.  So you don't want to do this on a production server.

  4. View Log Files
    Admittedly the best way to view log files is on the server via FTP, but if you just need a quick look and aren't in a position to use FTP, this can provide you with that peek you need.  You can choose to see:
    • the last 50 lines of webx.log (showing server status and errors)
    • webxincludes.log (showing which script files are being loaded)
    • the last 50 lines of the logLangErrors file (showing missing localization strings)
    • the most-recently-written JS error file (showing a stack trace of the last SSJS error)



And that's it! To hide this menu, just use the "Disable developer mode" link just below the Developer Menu.


We've got just one more post on the WCMS - next time on how to set granular host permissions to uses the WCMS tools.

Time and Date Formatting in Webcrossing

Webcrossing has built-in date formatting, which is identical in both WCTL and SSJS. This is date formatting not available in standard JavaScript. A time and date format is a list of time/date specifiers, mixed with literal characters such as : or @.

For example, in SSJS:

var now = new Date();
+ now.dateFormat( "H1:I2 a" );


This will produce the current time of day in Hours(one digit):Seconds(two digits) am/pm format, or, for example, 3:07 pm.

To do the same thing in WCTL:

%% set now date( dateObj ) %%
%% now.dateFormat( "H1:I2 a" ) %%


Alternatively in WCTL, if you don't care about the formatting particularly, you can just do %% date %% or %% time %% and get the default formatting settable in the Control Panel.

Here is the full list of the date formatting strings you can use.
Y2  2 character year
  Y4  4 character year
  
  M1  1 or 2 digit month
  M2  2 digit month
  MMM 3 character month, all caps
  Mmm 3 character month, leading cap
  M   full month name, leading cap
  mmm 3 character month, all lower case
  m   full month name, all lower case
  
  D1  1 or 2 digit day of month
  D2  2 digit day of month
  D3  1st, 2nd, 3rd, 4th...
  
  WWW 3 character day of week, all caps
  Www 3 character day of week, leading cap
  W   full day of week, leading cap
  
  H1  1 or 2 digit hour, 12 hour clock
  H2  2 digit hour, 12 hour clock
  H3  1 or 2 digit hour, 24 hour clock
  H4  2 digit hour, 24 hour clock
  
  I1  1 or 2 digit minutes
  I2  2 digit minutes
  
  S1  1 or 2 digit seconds
  S2  2 digit seconds
  
  L1  1, 2, or 3 digit milliseconds
  L3  3 digit milliseconds
  
  A   AM/PM, upper case
  a   am/pm, lower case
  
  N   output a "-" if the date/time is negative

  toutc delta from local time to GMT/UTC, as +HHMM or -HHMM
  
  $c  escape to embed "c" into the output string

For example:

FormatSample output
W, D2-Mmm-Y2 H4:I2:S2Monday, 05-Mar-11 09:52:13
M D1, Y4Jan 4, 2011
H2:I2a03:30pm

One important difference between standard Javascript and the Webcrossing extension to the Date object is that in Webcrossing, the month is 1-based instead of 0-based. That is to say, if it's  March, Date.getMonth() returns 2 while Date.dateFormat("M1") returns 3. The dateFormat is more oriented towards producing human-readable strings.

What to look for when you hire a community manager

Great article here. Most job ads ask for some degree of technical skills plus experience with social media. In this blog post, Richard Millington explains why that's exactly the wrong approach.

http://www.feverbee.com/2011/05/hiringcommunitymanagers.html

Localization Manager (WCMS Part 6)

We've talked about a lot of different things regarding the WCMS - the Webcrossing Customization Management Suite - but so far, all of them have had to do with various flavors of plugins: what they do, how to install them, what kinds of plugins there are.

But the Localization Manager is a little different. It allows you - as the name suggests - to localize, or translate, the user interface into different languages, allowing users to view the site in the language of their choice (if you support more than one).

But the other interesting thing it allows you to do is change the verbiage in the default (US English) interface to account for UK spelling, change terminology like replacing the word "discussions" everywhere with "topics," and reword instructions as you see fit. It's very powerful, and requires no scripting!


As you can see, there are 4 basic parts to the Localization Manager. We'll start with the site charset.


What this does is place a meta tag with the charset in the <HEAD> of your document. You may want to choose ISO-8859-1 for most Latin character sets, or UTF-8 if you are supporting non-Latin languages.

The next control down in the menu is where you add and remove languages, and define what the default language is for users who have not yet made a choice in their preferences.


User preferences:


You can see here that we have added Pig Latin as a supported language, but left English as the default. It's important to note that this doesn't actually provide a translation, but just adds support for that language to your site so you can begin the process. If you are just using US English and only want to change some of the wording, you don't have to visit this page at all.

To provide the translations (or reword the text in English as you see fit), you can use either of the last two options: Edit language strings using web forms or Edit language strings using spreadsheets.

The first option brings up a page like this, where you select the language to edit or translate, and select the plugin whose resource strings you want to edit or translate.


You can either search for a specific string, like "discussions" in our example above, or view them all.


Once you've made the changes you need to make, you can save your changes.

If you have a large number of strings to edit or translate, it may be more convenient to use the Spreadsheet option. What this does is produce a spreadsheet for you to pass off to your translation team. When they've done their work, the finished spreadsheet is run through this page again to apply the translations.


The final option, not in the Localization Manager menu, is to use scripting to create and edit your custom strings file. If you are not afraid of JavaScript, this is perhaps the fastest option. Just put in the strings you need to change, though, or you will not be able to take advantages of future updates.

It's worth noting that the translation machinery will first attempt to deliver a given resource string in the language of the user's choice. If that is missing (due to an error, or an incomplete translation project), it will use the string for the "fallback" language - usually US English, but that can be changed by scripting if necessary.

As you can see, the WCMS Localization Manager is quite flexible, and entirely possible to use without any scripting! Next time we'll talk about some developer tools included with the WCMS.

Extensions (WCMS Part 5)

We've been working our way through the various tools in the WCMS, the Webcrossing Customization Management Suite, which allows you to do customization without scripting.

Today we're going to look at the Extension Manager. Themes are look/feel and layout settings; Components are folder views, message views, etc.; Folder Items are "things that live in a folder," like blogs or calendars; User Items are special bits of user-centric functionality like the Message Center; and Extensions are... well, Extensions are anything that doesn't fit neatly in any of the other buckets. Register Plus (extra user fields to provide extended profiles, plus COPPA support, etc.) is an Extension. Time Since Posting (says "2 days 15 minutes" rather than the exact date posted) is an Extension. The Auto-Responder Filter (allows filtering of out of office replies and other auto-responders) is an extension. There are dozens.

Some extensions must be enabled sitewide. Other extensions can be enabled just in one or more folder hierarchies if that suits your needs better. Extensions are inherited - if you enable Time Since Posting in the Pets folder, the Dogs, Cats, and Fish folders will automatically have it enabled as well.

To enable an extension sitewide, navigate to the Control Panel Extension Manager and use the Choose Extensions option in the Extension Manager pulldown menu. For each extension you want to enable, check the box next to it and submit the form.



To enable an extension in a specific folder, navigate to that folder, click the Edit Folder link, and find the folder-level Extension Manager. Choose the Choose Extensions for this Level option there and you'll see a very similar page, except it will show you if an extension is already enabled there because it is inherited, and it will show you those extensions that can only be enabled in the Control Panel for the top level of the site. Any extensions not inherited, and which don't require enabling at the top level, can be turned on there.



As you can see from the Extension Manager pulldown menu, Extensions each have a settings page, just like other plugins.

That's about all there is about installing Extensions, but the functionality they can add is quite broad and deep.

Next time we'll talk about Localization tools.

Folder Items and User Items (WCMS Part 4)

We've looked at the WCMS (Webcrossing Customization Management Suite) as a whole in the first post in this series, and at some other individual tools in subsequent posts. Now we'll look at the Folder Item Manager and the very similar User Item Manager.

Folder items are, well, items that live in a folder. Folders, discussions, calendars, polls, photo albums, etc. Folders and discussions are built into the Core server, but everything else can be configured by the Folder Item Manager.

User items are plugins with functionality that allows users to do something extra. For example, the Message Center or the Watch Favorite Members plugin. Each user item can be turned off by an individual user in his or her personal preferences.

Once you have installed one or more folder or user items using the Plugins Server, you'll need to use the Folder Item (or User Item) Manager to turn them on. Simply go to the "Enable folder (user) items for this site" page, check the box next to any Folder/User Item you want available on the site, and save the settings. For Folder Items, this allows "add" buttons for those Folder Items to be present in the toolbar for administrators everywhere in the site. For User Items, this allows you to enable them in the folders of your choice in the next step below.


For Folder Items:
However, you need to take an extra step if you want one or more of those Folder Items to be available to regular users (generally those with permissions to add folders, although the requirements can vary from Folder Item to Folder Item). Let's say you want calendars to be available to regular users everywhere in the site, but photo albums only within a certain folder. Since you want calendars available everywhere, you can change that setting at the top level. Go to the Folder Item Manager pulldown menu and select "Choose folder items for this folder." On that page, you can add checkboxes by just those Folder Items you want available "for this folder," which in this case is everywhere. For Photo Albums, which you only want available in a certain folder, navigate to that folder, click the "edit folder" link, and find the folder-level Folder Item Manager, and do the same thing. Now regular users will see "add photo album" links in the toolbar just in that folder, and "add calendar" links in the toolbar everywhere.


For User Items:
Follow the same steps, only the end result is that links to the user tools will automatically be placed in the sidebars or elsewhere within the folders you have specified. Positioning can be changed using the Theme Manager if desired.

There's one more thing you can do with the Folder Item Manager: for the toolbar, determine what order those "add" links should go in.



And of course, there are settings pages for each Folder/User Item you have turned on, available from the Folder/User Item Manager pulldown menu.



As you can see, these tools in the WCMS allow for a lot of flexibility in turning on tools everywhere, just somewhere, and for whom.

Components (WCMS Part 3)

In this post we'll look at the Component Manager, one part of the WCMS, the Webcrossing Customization Management Suite.

A "component" is a large block of page functionality. In this case, it refers to:
  • Top Level View (how the top level of the site looks)
  • Folder View (how items listed in a folder look)
  • Message View (how messages look listed in a discussion
  • Toolbar (how the list of buttons or links looks at the bottom of the page
There are between 2 and 5 options for each of these components, and you must choose one of each. Like everything else in Webcrossing, components are hierarchical. You can use the Tabular Folder View for one folder and the Sortable Folder View for another. First, choose your default Components using the Component Manager in the Control Panel. Then, within each subfolder where you want something other than the default, use the folder level Component Manager (reachable via the Edit Folder page) to choose a different Component. There are some restrictions on putting non "Classic" views inside Classic views, but generally you can arrange things in a nested fashion if necessary.

Most Components have an extensive page of settings you can reach from the Component Manager pulldown menu once you have it enabled.



The Component Manager allows for a lot of customization "bang" for very little effort. Next time, Folder and User Items.

Themes (WCMS Part 2)

Themes are just one part of the entire Webcrossing Customization Management Suite, the WCMS. A half dozen or so themes come with the install package, or you can create your own. Themes are a combination of layout and look/feel settings, and can be applied to the entire site, or to just one or more folder hierarchies, allowing for different areas of your site to look different.



Themes can be applied in two ways: choose one from the "Choose Top-Level Theme" page, or import one. Once a theme is applied, you can change any of the hundreds of theme settings to customize it.

Since themes can be exported or imported, it makes it easy to develop a custom theme on your dev server and then move it to production. You can also export a theme before you start fiddling with it, so if you want to just revert to what you had before, you can easily do that.

Theme settings are hierarchical. If you want your subfolders to be identical except for, say, the color of the text in the banner, you can easily do that. If you want your subfolders to look like entirely different sites, you can do that too. Find the "Choose Folder-Level Theme" from the Theme Manager on the Edit Folder page.

Themes can be either "inside" (the historical banner and footer) or "outside" the banner/footer, or off entirely - which provides a great deal of flexibility.



On the main "Edit Theme Settings" page for either a folder or the entire site, you'll find:
  1. A small mini preview of what your theme looks like
  2. Global settings like font size and face, any HTML to go inside the <head> tags, the global stylesheet, date formatting, buttons and icons, and some basic global colors
  3. Layout settings, which pull together all the layout settings from the other various panels
  4. Color settings, which pulls together all the color settings from the other various panels and some built-in plugins
  5. A page each for the banner, the nav, center, and right columns, and the footer. Each of these pages allows you to set dimensions, colors, etc. as well as determine what "widgets" - for lack of a better word - should be put where. "Widgets" can be:
    • Admin-defined HTML fragments, which can contain WCTL scripting
    • Content blobs from the Content Management plugin
    • Content provided by various plugins, like sidebar polls
    • Other interface widgets provided by the WCMS system such as login/logout links, the time and date, a simple round-robin image rotator, and the like
  6. A page of settings for the WCMS interface widgets
  7. Links to export and import your theme
Themes may not be the best way to go if you have to match an example site exactly to provide a seamless experience for your users going to and from the Webcrossing portion of your site, but if that's not a requirement and you don't have a design team and aren't in a position to do any scripted customization, themes are going to be a great deal of help.

Customization without Scripting (WCMS Part 1)

Since version 5, Webcrossing has had a suite of tools you can use to customize your site without scripting. Collectively these tools are called the WCMS, which is an acronym for Webcrossing Customization Management Suite.



The WCMS allows you to:
  • Choose and customize a theme for your site, or build your own theme.
    • You can customize the layout, including turning on and off left and right columns and setting their widths.
    • You can place widgets or other content in any of 6 blocks on the page.
    • You can customize the theme colors, which carry through the entire site.
  • Choose the particular folder layout, message layout, and toolbar layout you want.
  • Turn on "Folder Item" plugins, which are things that live in a folder.  For example, calendars or blogs.
  • Turn on "User Item" plugins, which provide extra functionality to an individual user.  For example, the Message Center to help people track new messages and bookmarks.
  • Turn on Extension plugins, which provide extra functionality that doesn't fall under any of the previously-mentioned umbrellas. For example, Register Plus for enhanced profiles.
  • Access various localizations tools which allow you to either translate the interface into another language or simply change some terminology.  Like perhaps you prefer to use "topics" to the standard word, "discussions."
  • Access some optional developer tools.
  • Set WCMS permissions for host-level administrators

We have said that WCMS doesn't require any scripting, and that is true. But it doesn't preclude scripting. Administrators can use WCTL in most WCMS fields and control who else has that privilege.

The WCMS is a powerful suite of tools for the non-developer to use to customize their site.  We will talk in more detail about each of these in future posts.

Webcrossing Neighbors: full-featured social networking [Part 3]

We've covered Webcrossing Core and Community. Now it's time to examine Neighbors.

Neighbors is also underpinned with Core. While retaining all the basic community functions like the ability to have discussions, Neighbors adds a cornucopia of social networking features. Customizable profiles with granular privacy controls, the ability to track first-, second-, and third-degree friends, the capability to create and join topic groups, an enhanced live chat and IM feature, even the concepts of networks.

There are three fundamental "places" you might go in a Neighbors site:
  1. Your own space. You can create a blog, photos albums, and more. You'll see a display of the most recent activity in your space and what all your friends and groups are up to, making it a sort of Grand Central Dashboard of what is going on with the people and groups you are interested in.
  2. Someone else's space. Here, you see how you are connected, who their friends are, what groups they are members of, and a display of the most recent activity there.
  3. A topic group. Here you'll usually find discussions and other interactive tools like file sharing and blogs, although the exact tools available within each group are determined by the group administrator.

Compared with Community, Neighbors is more organized initially, giving site owners a chance to dive right in and start using the site without having to make decisions about how to organize things. This, of course, means Neighbors is less flexible than Community. Neighbors hides a lot of under-the-hood features which most system administrators don't need (although there are dozens of switches to turn various features on and off). Sites which don't need the extreme flexibility of Community will appreciate getting a working, out-of-the-box social network with a smaller learning curve.

And, of course, like everything Webcrossing, it is scriptable if it doesn't meet all your needs as it is.

If you need social networking with all the bells and whistles and you like the idea of a pre-existing structure, Neighbors is for you.

Webcrossing Community: flexible mix-and-match features [Part 2]

Last time we looked at Webcrossing Core, the engine that runs everything. This time, we'll look at Webcrossing Community.

As its name implies, Community is designed fundamentally to be used as a web forum, although beyond that there are a million directions you can go.

Community starts with Core, which provides all the fundamental functions like users and access controls and all the various included servers. On top of that are layered scripts to provide a plugin architecture, apply editable CSS automatically as settings are changed, produce the WCMS (Webcrossing Customization Management Suite, a method of customizing without scripting), and allow for translation or just rewording of the User Interface.

Community is fundamentally flexible. You can have an unlimited folder hierarchy. Want to have all your discussions at the top level of your site and no folder hierarchy whatsoever? You can do that. Want to carefully organize your site so every discussion is neatly filed into a folder > subfolder > subfolder > subfolder > subfolder hierarchy? You can do that too. Neither of those may pass the "how to best organize your site" test, but the point is you are not limited by some arbitrary idea of how a site should be organized. It is entirely up to you.

Because Community has a plugin architecture, you only have to install the features that you really want. Install Register Plus to get enhanced user profiles, support for COPPA, and to put a copy of the Terms of Service on the registration page. Install Time Since to see "posted 3 minutes ago" rather than "posted 11 January 2015, 8:45 am." Install a WYSIWYG editor. Install calendars. Or any of 70 other plugins. And they're easy to install. Just click the link to "shop for plugins," find the ones you want, and they are downloaded and installed automatically. Then you decide where to turn them on.

And of course, everything is scriptable.

With Community, you can build whatever type of web forum you want. If none of the plugins do exactly what you need, your new feature can be scripted. It really is almost infinitely flexible. If you need that flexibility and don't need the full-on social networking capability of Neighbors, Community is for you.

Webcrossing Core: start here to create an interactive site [Part 1]

There are three Webcrossing products: Core, Community, and Neighbors. In this series, we'll examine each one individually and then compare them.

Webcrossing Core is the engine that runs everything else. It is the underpinning to Community and Neighbors, and it can serve as a dandy web application development platform all by itself.

Core comes with built-in HTTP, SMTP, POP, FTP, NNTP and chat servers. It can serve ordinary web sites - or extraordinarily complex web sites - easily. It comes with a built-in NoSQL database, and all of this is installed with a single installation script you can run in 5 minutes.

You save a lot of development time starting with Core. Consider that there are two built-in scripting languages, a built-in user database, access controls including administrators and moderated users, user groups, and the concept of content objects "owned" by some author. You can create and prototype your own object types.

Why reinvent the wheel? Core is a great - and largely unknown - general web development platform, especially for interactive sites.

Power and Simplicity

Despite its name, Webcrossing offers more than just browser-based content. The powerful Webcrossing engine actually integrates a full suite of internet server tools. It can not only deliver web pages through the HTTP protocol, it can also send emails (SMTP). It can provide your users with email addresses they can access via POP3 or IMAP (as well as through a simple web interface). It can be used as a news server (NNTP), or even to transfer files (FTP).

Of course, any $300 Unix box can run all those daemons. What sets Webcrossing apart is the way all these protocols are tightly integrated with its NoSQL database and its online community tools. Making your web content available as an email listserv is a simple as checking a box. Want to send every user post to an external email address? Check a box. Want to pull content from an existing listserv and repost in your community, with subjects preserved and threads intact? Check a box.

What about NNTP? Webcossing can function as its own news server. Each folder within the community can be a separate newsgroup within a hierarchy that mirrors the web interface. You can also push your content to another news server, and thereby publish it to the thousands and thousands of news servers throughout the world. You can just as easily pull content from those same news servers to post on your Webcrossing community.

And you can do all of this without ever going near a command line, or writing complicated scripts to control how emails or news postings are translated into your community hierarchy. It really is just a matter of checking a few boxes.

Power and simplicity: that's Webcrossing.