Deploying the Web server (IIS)
 

 

DropletSupport
     HTTP Tunnel
     Redirector
SecureDropletSupport
Skin Directories
     params.txt and GIFs

     The imagejar
DropletConfig
     Skins.txt
     "Help with this Droplet"
Dripline CGI

Troubleshooting


The Droplets Platform uses a Web server to serve image and parameter files to its client-side GUIs. Droplets can interoperate with any Web server to this end, but in order to use the Droplets Platform HTTP Tunnel (and thus communicate over port 80) or Redirector you need to use either the Microsoft IIS or Apache Web server.

Your Web server's directory structure should include two separate Droplets-oriented directories, DropletSupport and DropletConfig. DropletConfig holds application-specific files (including skins.txt and any online help files for your Droplets), while DropletSupport contains all system-level executables. Additional skin files are kept in the Web server's root directory and a custom directory of your choosing, as outlined below.

Directory Should Contain:
wwwroot all imagejar .zip files plus dropletclient.zip and droplet-components.zip
wwwroot\DropletSupport DropletHttpTunnel.dll
DropletRedirector.dll
wwwroot\SecureDropletSupport DropletHttpTunnel.dll
wwwroot\DropletConfig\apps\NameOfApp help.html (and all generated Webhelp files)
skins.txt
wwwroot\DropletConfig\apps\NameOfApp\dripline Desktop alert CGI
custom directory(ies) i.e. imagedir(s)* params.txt
all associated .gif files

*there must be one imagedir for each application skin served by the Droplets Server

We go through the necessary permissions settings for each of these directories in the sections below.

 

DropletSupport

The DropletSupport directory contains the IIS Web server-specific files, specifically the HTTP Tunnel for enabling client/server communication over port 80, and the Redirector for serving graphics files.

Web server Permissions for DropletSupport directory: Before deploying, go to your IIS Manager tool and select "Properties for the DropletSupport directory. In the "Directories" tab, select the following checkboxes: Read, Log Visits, Index this resource. In the same tab, under Execute Permissions, select "Scripts and Executables".

HTTP Tunnel

The Droplets Platform's HTTP Tunnel (36KB) allows the Droplets Server to speak (in conjunction with the Web server) in HTTP over port 80. This is necessary because many Internet users access their Droplets from work behind a firewall which has the Droplets Protocol's native port (8194) closed. When there is no firewall (or the firewall is configured to accept connections over port 8194) the Droplets Server and Client speak to one another through a persistent connection over 8194 using the Droplets Protocol. When this is not possible, the HTTP Tunnel wraps the Droplets Protocol in HTTP and sends it over port 80 via the Web Server. The HTTP Tunnel should always be installed on the same machine as its Web server.

The HTTP Tunnel file's name is DropletHttpTunnel.dll. It should always be located at:

wwwroot\DropletSupport\DropletHttpTunnel.dll



Redirector

The Droplets Redirector (32KB) is a specialized tool for the serving of graphics files (GIFs and JPEGs) to your Droplets. It fetches images from specific URLs on behalf of the Droplets Client, because when running as an applet the Client can speak to only one server.

The Redirector file's name is DropletRediretor.dll. It should always be located at:

wwwroot\DropletSupport\DropletRedirector.dll

 

SecureDropletSupport

The Droplets Server can host secure Droplets that are rendered via HTTPS in conjunction with an IIS Web server. To this end, when you install the Droplets UI Server for Windows, an IIS directory is created called "SecureDropletSupport", which contains a Droplets HTTP Tunnel for communication via HTTPS. You must therefore secure the SecureDropletSupport directory as you would any other secure directory, associating an X.509 certificate with it and enabling it to speak HTTPS. See the Secure Droplets tutorial for any known issues with Droplets support of HTTPS.

 

Skin Files

Two separate directories must be in place within your Web server's file structure in order for an application skin to be served, a custom directory which contains params.txt and an imagejar. In addition, if you're going to serve multiple skins from your Web server, you'll need a separate params.txt directory and imagejar for each of them, plus a skins.txt file with information on all skin directories.

Creating a skin directory

For each application skin that you serve with your Droplets application(s), there must be a corresponding directory that contains the following files:

params.txt;
• All GIF files that are to be served as a part of the skin.

These files can be in any directory within the Web server's directory structure that you wish. One way to group them is to create one directory per skin under the Web server's root directory; if you're serving multiple Droplet applications, though, you'll want to create a separate directory for each of these, with a sub-directory for each of their skins.

Regardless, each skin directory must be indicated correctly in the Droplets application's .drp file, which is generated by one of your Web pages; you should therefore make sure that the location of your skin directory matches the imagedir location as defined in your .drp-generating Web page. See Web site Integration for more information on this.

params.txt is a text file that gives the Droplets Client its appearance parameters. For more information on skinning, see the Skinning Droplets document for developers.

Important note: The entire look and feel of an application GUI is often determined by params.txt. Thus, if the Droplets Client fails to retrieve its application's params.txt file, the entire application may fail. The Client retrieves its params.txt from the imagedir parameter in its application .drp file. If the Client can't retrieve these skin files, it will display an error message that the URL cannot be accessed; see Web Site Integration for more information on how to set the imagedir variable.

The imagejar

The imagejar is a zipped version of the Skin directory structure. While it's not strictly required by the Droplets Platform, it is highly recommended because it greatly speeds application performance. Using it, applications fetch all of their graphics files in a single connection (as opposed to one HTTP connection per image).

If you do use an imagejar, you should have one imagejar for each of the skins that you are serving in your deployment, and they must be located in the root directory of your Web server (i.e. wwwroot for IIS). Typically, it has a descriptive name that associates it with its skin, for example:

wwwroot/purpleskin.zip     or         wwwroot/appname_purpleskin.zip

depending on whether you're serving one or more Droplet applications.

Important Note: You can use most standard zip softwares in order to create your imagejar, but you cannot use Java's JAR software, as the Droplet Platform will not be able to unzip it.

If you do use an imagejar, you'll still have to have a separate skin directory with the application skins' params.txt file, but there will be no need to store the individual GIFs in the Web server directory.

Web server Permissions for imagejars: You must set your IIS permissions for all imagejar files to allow anonymous access. This is done through the IIS Manager by selecting the files Properties, selecting the "File Security" tab, Edit "Anonymous access and authentication control", and checking "Anonymous Access". If your application is loading slower than it should, double-check to make sure that this permission has been set.



DropletConfig

Web server Permissions for DropletConfig directory: Before deploying, go to your IIS Manager tool and select "Properties for the DropletConfig directory. In the "Directories" tab, select the following checkboxes: Read, Log Visits, Index this resource, Script source access. In the same tab, under Execute Permissions, select "Scripts and Executables".

Skins.txt

In order to serve multiple application skins per Droplets application, a file named skins.txt must be placed in:

wwwroot\DropletConfig\apps\AppName\skins.txt

where "AppName" represents the calc value in the application .drp file (i.e. its name) with which these skins should be associated.

The purpose of skins.txt is to alert the Droplets Platform to the names and locations of each skin directory (more on that in the next section). This file is simply a listing of skin names along with the URL of their params.txt file and the name of its associated GIF file. Each has the format  skin name | reserved | skindir | skinjar:


Concrete||http://auction.server.droplets.com/auction/grayskin|ed_grayskin.zip
Taxicab||http://auction.server.droplets.com/auction/yellowskin|ed_yellowskin.zip Denim||http://auction.server.droplets.com/auction/denim|ed_denim.zip
Midorisour||http://auction.server.droplets.com/auction/cyanskin|ed_cyanskin.zip Lollypop||http://auction.server.droplets.com/auction/colorful|ed_colorful.zip
SunnyJoe||http://auction.server.droplets.com/auction/colorful1|ed_colorful1.zip Manila||http://auction.server.droplets.com/auction/brownskin|ed_brownskin.zip

Important Note: the second position of the URL is reserved, and should be kept blank as shown above.

 

"Help with this Droplet"

It's possible to include online help with Droplets applications, using either online help generators or written yourself in HTML. When you do use online help with the Droplets Platform, it must be placed in the DropletConfig directory as follows:

wwwroot\DropletConfig\apps\AppName\help.html

where "AppName" stands in for the calc parameter in the application's .drp file (i.e. its name) and help.html is the first page opened in the help directory. Droplet Email, for example, has its help files located in wwwroot\DropletConfig\Apps\Email.


Important note: The root file of your online help must be named help.html (this name is required and not optional). Many online help generators like RoboHelp use the .htm suffix instead of .html. You'll thus need to change the suffix manually (or employ a redirect script) before deploying online help with your Droplet.


Dripline CGI

If your Droplets applications feature Dripline class desktop alerts to the client-side even when the hosted application is closed on the client, your Web server will also need to host a Dripline CGI page. See the Dripline documentation for full details on how to write this page; it should have access to the Droplets UI Server's associated database, and be accessible to the client-side polling agents via a RegisterChannel() call in the application logic.

The Dripline CGI's default location is DropletConfig/apps/[application name]/dripline. This location can be over-ridden in the application logic by passing a different DriplinePollingUrl string argument to the Droplets API's RegisterChannel method; you should therefore double-check to make sure that your developers haven't specified a different location in their application logic before placing it in its default directory.


IIS Troubleshooting

If you're experiencing problems serving Droplets over your Web server, make sure that the Web server's permissions have been appropriately set for all of the above directories and files. Any additional, custom DLLs or other files included by your developers that are necessary for application functionality must have appropriate Web server permissions set for them as well. If there are additional DLLs, for example, make sure that the Web server is set to accept executable files from their directory.



Return to Droplets SDK documentation home.