|
The Microsoft Outlook HTML form converter was introduced with Microsoft Exchange Server 5.5 Service Pack 1 (the latest version is included in Microsoft Exchange Server 5.5 Service Pack 3). To install the Microsoft Outlook HTML form converter run the fcsetup.exe program form your Microsoft Exchange Server 5.5 Service Pack 1 (or higher) CD-ROM. This file is located at the Server\Eng\Formscnv directory of the Service Pack CD-ROM.
With this Microsoft Outlook HTML form converter it is possible to convert Microsoft Outlook 9x/2000 forms to HTML forms. This HTML forms are directly embedded in the directory structure of Microsoft Outlook Web Access 5.5. For more information about the file and directory structure of Microsoft Outlook Web Access, please take a look at "All you ever wanted to know about ASP & CDO but were afraid to ask", Outlook Web Access.
The Microsoft Outlook HTML form converter is a standalone application but you need Microsoft Outlook 9x/2000 installed before you install it, because they share some modules. However, it is not necessary to have Microsoft Exchange server 5.5 installed on the same machine. The only requirement is to have a network connection to the Microsoft Outlook Web Access server, because after the conversion of the Microsoft Outlook 9x/2000 form is finished it will be installed directly on the machine selected before the conversion process is started.
Microsoft Outlook and Microsoft Exchange server can store forms in different places. These places are called "Forms Libraries". There are different forms libraries available and the HTML forms converter can use all of them as a source for a forms conversion.
The following list of forms libraries can be used with the Microsoft Outlook HTML forms converter:
| Forms Library | Location | Description |
|---|---|---|
| Organizational Forms Library | Exchange server 4.x/5.x | A Microsoft Exchange server 4.x/5.x hidden system folder. Find
it at: \System Folders\EFORMS REGISTRY It is an enterprise wide visible forms library accessible by all users with permissions, if the forms are not hidden. Only one Organizational Forms Library can exist for each client language. |
| Personal Forms Library | User mailbox | A hidden folder inside a users mailbox. Only accessible by the appropriate user. |
| Folder Forms Library | Public folder or private folder | A so called Folder Associated Item (AKA FAI)
as hidden message in the appropriate folder. All users with permissions to read this folder can also open these forms, if the forms are not hidden. |
| Outlook Forms Template (.OFT file) | Filesystem | Each form can be saved as an .oft file in the file system. That
makes the distribution and backup quite easy. Each user with
permissions on the appropriate directory can open the form. It is also a good idea, while in a development process, to make backup copies of the forms in the file system. |
The Microsoft Outlook HTML form converter has some restrictions, e. g. it cannot convert all type of Microsoft Outlook 9x/2000 forms. The reason is because Microsoft Outlook 9x/2000 itself does not allow to modify the first page of all type of forms.
The following type of forms can be converted:
| Form | Message Class | Notes |
|---|---|---|
| Message | IPM.Note | Conversion possible. |
| Post | IPM.Post | Conversion possible. |
| Contact | IPM.Contact | Conversion possible. |
| Appointment | IPM.Appointment | Cannot be converted, possible workaround is to copy all controls to a form type which can be converted. |
| Task | IPM.Task | Cannot be converted, possible workaround is to copy all controls to a form type which can be converted. |
| Journal | IPM.Activity | Cannot be converted, possible workaround is to copy all controls to a form type which can be converted. |
To build a sophisticated Microsoft Outlook 9x/2000 form it is possible to use build-in controls and custom ActiveX controls to design the form. However, the Microsoft Outlook HTML form converter adds a commented out object tag to the HTML form for the ActiveX control. You need to package the ActiveX control as a CAB file and add the CodeBase statement to the object tag to point to the control's CAB file.
The following list provides an overview of the form controls that can be converted:
| Control | Description |
|---|---|
| Label | A label on a form, e. g. a field description. |
| Textbox | A textbox (single or multiline) for plain text input. |
| Combobox | A combobox which can hold multiple entries in a dropdown list. |
| Listbox | A listbox which contains multiple values. |
| Checkbox | A checkbox which can hold a Boolean value. |
| Optionbutton | An option button control. |
| Frame | A frame which can hold other controls. |
| Commandbutton | A command button to initiate another action. Any images on commandbuttons are discarded, because of lack of support in HTML. |
| Multipage | Enables multiple pages on a single form. |
| Image | An image control to display a picture. All images are converted to GIF files. |
Each form can contain some Microsoft Outlook 9x/2000 forms components, e. g. check if a field contains a valid value. The Microsoft Outlook HTML form converter can convert this forms logic. Also custom actions are converted, except a custom action which includes the original message as linked object. This is a limitation of CDO 1.x and there is no workaround for it.
The following list shows the forms logic the Microsoft Outlook HTML form converter can convert:
| Component | Description |
|---|---|
| Read Page | A forms page which is only displayed if the form is in read mode. |
| Compose Page | A forms page which is only displayed if the form is in compose mode. |
| Hidden Controls and Pages | Each form can include controls and pages that are hidden from the user interface. |
| Data Entry Validation | Each field can be validated to have a correct value, e. g. a numeric field can hold a range of 1 to 512. |
| Initial Values | Each field can held an initial value, which is displayed if the form is loaded the first time. |
| Required Fields | Each field can be flagged to require a value, otherwise the form cannot be saved. |
| Custom Actions | Each form can have custom actions, e. g. forward the item to a predefined recipient. |
Because of the different object models used in Microsoft Outlook 9x/2000 (uses the Microsoft Outlook object model) and Microsoft Outlook Web Access (uses the Microsoft Collaboration Data Objects 1.x object model), it is not possible to convert the Microsoft Visual Basic Scripting Edition code embedded in a Microsoft Outlook 9x/2000 form.
A possible workaround for this design limitation is, instead of using Microsoft Visual Basic Scripting Edition inside the form, build a Microsoft Exchange server 5.5 scripting and routing script to split the business logic off the Microsoft Outlook 9x/2000 form.
After the form is converted properly, all components are located in the "\exchsrvr\webdata\usa\forms\ipm\..." directory (if Microsoft Outlook Web Access is installed in US english language). For example if the converted form is a post form with the message class discussion, it is located at "\exchsrvr\webdata\usa\forms\ipm\post\discussion". Each converted HTML form consists of a number of files.
The following list includes the most important files:
| File | Description |
|---|---|
| Bindprop.inc | Common binding routines, such as message sensitivity flags. |
| CmpTitle.asp/Posttitl.asp | Contains the toolbar and command frame at the top of the HTML form. |
| Commands.asp | Includes utility functions and event handlers for the converted HTML form. It is a hidden .ASP file, not visible on the form itself. |
| From.ini | Includes three important settings of an HTML form: DisplayName = The display name of the form CodePage = Codepage of the form (e. g. 1252 for US English) Hidden = Forms visibility status 0 = Form is visible 1 = Form is hidden |
| Formutil.inc | Common VBScript Routines, such as string to array conversion etc. |
| FrmRoot.asp | Entry point of the converted HTML form. This file includes an HTML frameset to display the other form pages and components. |
| Icon.jpg | The JPEG image used to display the custom message class in the choose form dialog of Microsoft Outlook Web Access. |
| JScript.inc | Common JavaScript functions, such as combobox functions. |
| Message.asp | The first page of a converted HTML form. Used with compose page only. |
| Message.inc | Contains mappings between the controls and MAPI properties. Used with first compose page only. |
| Message-Read.asp | The first page of a converted HTML form. Used with read page only. |
| Message-Read.inc | Contains mappings between the controls and MAPI properties. Used with the first read page only. |
| Page_N.asp | Each Microsoft Outlook form page represents a separate .ASP file after the form is converted to an HTML form. Used with compose pages only. |
| Page_N.inc | Contains mappings between the controls and MAPI properties. Used with all other compose pages only. |
| Page_N-Read.asp | Each Microsoft Outlook form page represents a separate .ASP file after the form is converted to an HTML form. Used with read pages only. |
| Page_N-Read.inc | Contains mappings between the controls and MAPI properties. Used with the all other read pages only. |
| Script.txt | Script file created by the HTML forms converter. This file includes all the Microsoft Visual Basic Script code of the Microsoft Outlook form. |
| ToDo.txt | ToDo list created by the HTML forms converter. This file includes a ToDo list of action items that must be done manually. |
It can be accessed via Microsoft Outlook Web Access 5.5, by selecting "Custom Form" at the "Compose New" section of Microsoft Outlook Web Access 5.5. If the form is not visible, click the "Refresh" button.