userplane FAQ support
Yes - color skinning is easy in the Webchat integrated API. In the getDomainPreferences API call there are 6 tags that you can use to set the Hex value of the various UI elements:
<titleBarColor></titleBarColor>
<scrollTrackColor></scrollTrackColor>
<outerBackgroundColor></outerBackgroundColor>
<innerBackgroundColor></innerBackgroundColor>
<uiFontColor></uiFontColor>
<buttonColor></buttonColor>
The Hex values used here are the same as those in HTML, so these will be a six digit hexidecimal value, for example black is 000000, and white is FFFFFF.
These tags need to reside within the <gui> element that is inside the <chat> element in the getDomainPreferences XML. Check the latest sample docs for the proper placement of these tags. Here is an example that illustrates the required placement:
<chat>
<gui>
<titleBarColor></titleBarColor>
<scrollTrackColor></scrollTrackColor>
<outerBackgroundColor></outerBackgroundColor>
<innerBackgroundColor></innerBackgroundColor>
<uiFontColor></uiFontColor>
<buttonColor></buttonColor>
</gui>
</chat>
For more info on these tags consult the CSXML.rtf file in the Webchat Integraton Docs
Back to TopIn order to allow admins to turn on moderation for a room you will need to make sure that the following tag is in the <chat> section of the getDomainPreferences call and that it is set to true:
<allowModeratedRooms>true</allowModeratedRooms>
When you have that feature turned on admins will see a "Start Mod" button they can use to turn moderation on and off for that room:
When moderation is turned off, the Webchat functions normally adding every user message directly into the conversation pane.
When moderation is turned on, normal users (those not set as admins or speakers) will require approval from an admin for each message before they will be visible to other users in the conversation pane.
Admins will see a link beside each message to approve them and make them visible to the other users in the conversation pane. Only approved messages and those from admins and speakers will show in the conversation pane.
There are three different types of users in moderated chat rooms:
1. admins - set as <admin>true</admin> in their getUser call. This user can start moderation for a room, and can approve messages. Every comment will also be placed in the text area without needing approval.
2. speakers - set as <speaker>true</speaker> in their getUser call. All messages will be sent to the conversation pane without needing approval.
3. normal users - set as <admin>false</admin> and <speaker>false</speaker> in their getUser call. This user will only see approved messages and will require approval on their messages for them to be visible in the conversation pane.
An admin can make a normal user into a speaker by simply selecting them in the room list and clicking the "Spkr on" button in the detail pane:
Pressing the button again will turn the user from a speaker back into a normal user.
Back to TopTo delete rooms, you will need to login as an admin, ie <admin>true</admin> in the getUser for the account you are using to login. When logged into the app as an admin you will see the "Delete" button in the UI when you select a room. There is currently no provision in the API for deleting rooms so you will need to use this method. Rooms created by normal users auto-delete after they are empty for 5 minutes, so only the admin and XML created rooms will need to be manually deleted.
Back to TopA new feature was added that allows you to now hide even the lobby from a user if you want to show them only a single room. In order to do this you will need to modify the initialRoom tag for the user. Here is what that section would look like:

we also modified the kick function when there is only one room showing - there is a new kickMessage and the ban button will not be present. When a user is kicked from this room they will see the standard error screen with the kickMessage on it. We will also send a setBannedStatus request to your XML file. In this case the info parameter in the query string will indicate "initialRoomOnly" so you can respond to these differently than a normal user ban. This is part of the getUser call so there is no need to reload the app instance in the inspector to see the change.
Back to TopYou can design your own smileys and use the code in the XML to add them and/or delete the default set. They can either be non-progressive JPEG's or SWF's. SWF smileys have many benefits over JPEG smileys:
1) SWF smileys do not have to be rectangular and have an alpha channel
2) SWF smileys can be animated
In order for a SWF smiley to show up, the following code will need to be on frame 1 at the root level of the smiley:
System.security.allowDomain("swf.userplane.com");
As far as the code in the getDomainPreferences call:

This is from the example docs and shows how to add your own as well as how to delete a preset smiley. If you are using a SWF smiley just use the path to that file. Get the sample file to get started making your own animated smileys!
Back to TopYou can use any image you like for behind the text in the Webchat, that section looks like this:
You can change the image by adding the URL to an image on your server to the <watermark></watermark> tag in the getDomainPreferences call. Make sure that the image is a 300 x 190 non-progressive JPEG and that you replace the domain in the URL with the image server name that we setup. This change will require you to restart the app instance in the apps inspector for it to take effect. You will not need to lighten the image - the Webchat will do that for you.
Back to TopThere are two XML calls that facilitate this. The first is onUserConnectionChange, this call lets you know when a user connects to the Webchat or disconnects by sending the appropriate request to your CSXML file. This call alone can be used to generate a list of the users that are currently in the Webchat. if you want to also keep track of what rooms users are in you can listen for the onUerRoomChange call. This call happens whenever a user changes rooms in the Webchat by sending a request to your CSXML file. This by listening to these calls you can store in your DB what users are in the Webchat, how many users are in the Webchat and what rooms these users are in etc. You can then use this info to create a list elsewhere on the site.
Back to TopThe getUser call happens every time a user logs into the Webchat, this both authenticates the user and gets their info from your database. Because this call happens every time a user logs in any changes to the settings for a user will happen then. You will not need to reload the app for changes in this call to take effect, however if a user is currently in the Webchat they will need to log out and back in to see those. Settings that might be changed here are the users AV settings, their admin status, images used etc.
The getDomainPreferences call only happens when the app loads. This means that you will need to reload the app in the Apps Inspector when there are any changes made to the getDomainPreferences call, this includes changes to the settings and images used for the background etc.
Back to TopThe getMemberID (Webmessenger,Webrecorder) and getUser (Webchat,Minichat,Userlist) functions are the core of the authentication and security. There are two different ID's that you will need to use;
-memberID [internal identifier in your system for a particular user, usually will not ever change]
-sessionGUID [Global Unique IDentifier, created when you user logs in, will be different every time]
You will need to save this sessionGUID to your database when the user logs in and delete it when they log out. When the app window opens you pass the sessionGUID to us in the HTML, we then pass it back to you in the getMemberID XML function so you can confirm that the user is currently logged in. If the user is logged in you will return the memberID of the particular user, and the app will run. If the sessionGUID cannot be found in your database INVALID is returned and the app will not run.
Back to TopIn order to view another users AV streams you will have to click on them in the room list section,

You can see who is broadcasting their AV by the icons in the 'Out' column next to a users name. Similarly you can see who is watching your AV by looking at the icons in the 'Me' column. If the user is not sending AV you will see their user piture when you click on them in the room list.
Back to TopIn order to start broadcasting your Audio and/or Video you will need to first turn it. To do this click on the 'A' or 'V' buttons in the 'Me' pane below the text entry area,

The first time you do this you will be asked to grant permission to use your Mic and Webcam. The dialog box will look like this,

After you grant permission the AV will start. You will be able to see your own feed in the 'Me' area.
Back to Top




