Server Extension Programmer's Guide:
Server Extension Overview
This topic introduces the capabilities of writing eRoom Server Extensions.
Who should read this guide?
eRoom Server Extension Programmer's Guide is for experienced application
developers. In order to successfully write Server Extensions, you should
be able to write programs in either C++ or in a scripting language, such
as Visual Basic, VBScript or JavaScript.
What is an eRoom Server Extension?
An eRoom Server Extension is a custom application that you create in
order to modify how eRoom behaves in response to certain events or how
eRoom appears. eRoom currently supports four types of server extension
programs: Customer Viewers, Custom Commands, Synchronous Event Handlers,
and UI Event Handlers. In addition, modifications you make to eRoom pages
and dialogs are also considered extensions. We have defined a model for
how to implement every type of extension. You need only fill in the implementation.
This usually entails either implementing a main function in a scripting
language or implementing the methods of an interface that we have defined.
In either case eRoom can call into these well-defined modules in order
to execute the code you've written.
What kinds of things can you do with Server Extensions?
Server Extensions allow you enormous flexibility in terms of customizing
eRoom to better suit your needs. Here are some examples of what each type
of extension is best equipped to do, but this is by no means an exhaustive
list of what you can do with Server Extensions.
Custom Commands
Custom commands allow you to add your own commands to the command bar
in eRoom pages.
Write a command that checks the spelling and grammar
for selected items in an item box.
Write a command that publishes the selected items and/or
its custom fields to another web site or eRoom.
Write a command that will add up the values in a specified
database column from all the rows.
Write a command that will change the status of selected
items in a database.
Custom Viewers
Custom viewers allow you to write code that displays files with certain
extensions.
Synchronous Event Handlers
UI Event Handlers allow you to hook into any of a number of supported
events so that you can implement additional processing in response to
the event.
Trap events, like erSynchEventType_Authenticate, in
order to perform your own authentication whenever users log into an eRoom.
Trap events, like erSynchEventType_AuthenticationFailed,
in order to compile statistics on or be alerted about failed login attemps.
Trap events, like erSynchEventType_AddFile and erSynchEventType_ReplaceFile,
in order to perform virus checking on files before they are uploaded to
the server and prevent them from being uploaded if a virus is detected.
Trap events, like erSynchEventType_EditDBRow, in order
to implement your own collaborative workflow against a database item.
UI Event Handlers
UI Event Handlers allow you to hook into any of a number of supported
events so that you can either display your own UI instead of or in addition
to eRoom's UI.
Trap events, such as create user or create group, in
order to collect additional information from the user.
Trap events, like create room, in order to display your
own UI.
Custom User Interfaces
Custom User Interfaces allow you to replace the eRoom default Frame.asp
file, which controls the layout of eRoom pages, dialogs, and popup dialogs.
Custom User Interfaces also allows you to replace eRoom's cascading style
sheets. In this manner, you can transform the look of eRoom to suit your
needs and taste.
Custom Dialogs
The eRoom Dialog Toolkit enables you to build additional pages for eRoom
that match the appearance of existing eRoom pages. You could do that by
copying and pasting HTML, but to make it easier we've provided a dialog
toolkit.
Using the Server Access API
Any Server Extension will most likely use the Server Access API (SAAPI)
to manipulate eRoom objects and otherwise respond to the event that triggered
it. It is therefore recommended that you become familiar with programming
with SAAPI before you start to write your Server Extensions. Refer to
the Server Access API and Server
Access API Programmer's Guide for more details about how to write
programs using SAAPI.
Getting Help
When you have a question about SAAPI, you can refer to this Programmer's
Guide, or any of these sources:
Reference
pages: For detailed descriptions
of every object, interface, method and property defined by SAAPI, see
the language reference.
Samples: The SAAPI toolkit ships with
several programming samples which are intended
to help you learn the API. In many cases, you may find that one of the
samples tackles a problem similar to the one you are trying to solve,
and you can use the sample as a starting point for your work.
|
|