Home Search

DriveWorks Pro 22
How To: Configure IIS For The Web and Application Theme (KB13103033)

Send Feedback

How To: Configure IIS For The Web and Application Theme

DriveWorks 22 SP0

DriveWorks 21 delivered a major update to DriveWorks' Forms Technology.

This has been a major body of work for our Development Team, re-architecting the underlying code. We of course wanted to maintain the quality you expect from us.

To get the latest version of DriveWorks into your hands now, we have prioritized the Integration Theme and Web Theme over the Application Theme. This means the Application Theme is not available.

We are continuing to work very hard on releasing the Application Theme in the near future, for more information, please check our knowledge base article: Info: Web Theme And Application Theme For DriveWorks 21.

DriveWorks Live can run directly as an application or as a service through Internet Information Services (IIS) v10 or later (requires Windows 10 or Windows Server 2016 operating systems or later).

When running IIS on a Windows 10 machine, please be aware of the connection limit.

See IIS Connection Limit on Windows 10 for more information.

The advantages of using IIS include:

  • IIS provides faster transmission times between IIS and compression-enabled browsers

    Dynamic Compression means faster load times for DriveWorks User Forms that display dynamic content (Pictures, DriveWorks 3D Files etc.) on the Client browser.

  • IIS runs as a service on your computer

    This means that care must be taken when setting up credentials in IIS but has the benefit that the machine does not require logging on to run the application.

This article explains how to set up IIS so DriveWorks Live can be accessed without having to run the application.

Before you begin

Ensure Internet Information Services (IIS) is installed on the machine that will be the web server.

Please see How To: Install Internet Information Services (IIS) for more information.

Run DriveWorks Live (the application) on the Server machine before attempting to run through IIS

This includes the following steps:

  1. Log on to the Server machine using an account with sufficient privileges (make a note of the account used, as this will be used for the Application Pool Identity when IIS is set up).
  2. Install DriveWorks Live
  3. License DriveWorks Live

    This can be done either by:

  4. Connect to the Group from which the Projects will be specified.
  5. Ensure all Projects will run by specifying them through the Specification Explorer in DriveWorks Live.
  6. Read the following caution notes about specific items in your Projects.

IIS and mapped network drives

To run DriveWorks Live through IIS, your Project should not use any mapped network drives. Mapped network drives are user specific, therefore it is much harder to ensure that the user you set up in IIS can access them.

All network locations should therefore be specified using a UNC (Uniform Naming Convention) path, for example:

\\< ServerName>\< ShareName>\ProjectFile.

Paths that should be specified using UNC include:

  • The Default Specification folder
  • Fully qualified paths used by Specification Flow Task locations.
  • Images presented on User Forms (although these can be relative to the Project rather than full paths).

Microsoft Excel and Word Document Interaction and Generation

Windows Services do not have access to many applications, especially COM programs such as Microsoft Word and Excel.

Ensure any Specification Tasks that require Microsoft Word and Excel are placed in the:

  • OnLeaveEvent of an Automatic State
  • OnEnterEvent of a Paused State that follows an Automatic State

This will allow these Tasks to be run by DriveWorks Autopilot and not DriveWorks Live (which it will not be able to do when running as a service through IIS).

The Specification Tasks this applies to include:

The image below explains which modules of DriveWorks will process data when the ReleaseDocuments task is placed on the two event types.

  1. DriveWorks Administrator, User and Live
  2. DriveWorks Autopilot
  3. DriveWorks Administrator, User and Live

To maximize performance and for the best user experience, we recommend that as much processing as possible happens when in an Automatic state (Since the processing will be performed by DriveWorks Autopilot).

DriveWorks Plugins

All DriveWorks plugins used must be installed locally on the machine hosting IIS.

Network located plugins will not run through IIS.

Add the Site to Internet Information Services (IIS) Manager

Follow the steps below to add the site to the IIS Manager.

  1. Launch Internet Information Services (IIS) Manager.

    This can be found by launching the Control Panel (from the Windows Start Button), selecting System and Security, then select Administrative Tools and then double clicking Internet Information Services (IIS) Manager.

  2. From the Connections pane expand the computer name link and select the Sites node.

    Right click on the Sites link and select Add Website.

    • On the Add Website dialog enter a Site Name

      This name identifies the site in the IIS Manager only, it does not appear externally, although it is good practice to use the same name as your site (for instance www.driveworkslive.com).

    • Click the browse button at the end of the Physical Path field.

      Browse to the location of the DriveWorks Live Theme that contains the web.config file required to be used with this site.

      This will be one of the following locations:

      • Web Theme - %PROGRAMDATA%\DriveWorks\[version number]\Live\Themes\Web
      • Application Theme - %PROGRAMDATA%\DriveWorks\[version number]\Live\Themes\Application
      The ProgramData folder may be hidden. To make this visible:
      1. Close the browse window that was opened from browsing to the Physical Path field
      2. Open Windows File Explorer
      3. Select the Drive the software is installed on (usually C:)
      4. Select View from the File Explorer menu bar
      5. Select Hidden items from Show/hide section
      6. Back in IIS Manager, Click the Browse button at the end of the Physical Path field
    • Set the Binding Type to either:

      • http (not recommended)
      • https (highly recommended, a SSL certificate will be required before going into production)

      Port 80 is the default port for http traffic and 443 for https.

      If these ports are in use by another web service on your web server, these may need to change to the next available port.

      For more on assigning bindings to sites, please see the TechNet article Add a Binding to a Site.

      If using https:

      • Under SSL certificate, select an SSL Certificate to use with the website.

        For testing purposes, the built in self-signed certificate can be used.

        For production, we strongly recommend an SSL certificate from a trusted certificate authority.

  3. From the IIS Manager, select Application Pools from the Connections panel.

    From the Application Pools list, locate the site that was added above and click the Advanced Settings link in the Actions panel.

  4. From the Advanced Settings dialog:

    • From the .NET CLR Version drop down select .NET Framework v4.0.

    • From the Enable 32-Bit Applications drop down select:

      • True - if running a 32bit machine.
      • False - if running a 64bit machine.

    • Identity Setting

      From the Identity setting, check the Identity the service is to run under is correct.

      This should be a valid Windows User account that does not have administrative privilege's.

      This avoids potential security risks for certain DriveWorks Live features that require IIS to access the WebView runtime application.

      If the Identity is correct, click OK and proceed to Step 6.

      If the Identity requires to be changed:

      Ensure Load User Profile is set to True.
      1. From the Identity field, launch the Application Pool identity by clicking the button at the end of the field.
      2. From the Application Pool, Identity dialog select the Custom account type and click the Set.. button.
      3. Enter the User name, Password and Confirm Password.
      4. Click OK.
      5. Click OK in the Advanced Settings dialog to apply the changes.
  5. Select the site from the Connections panel.

    Click the browse link in the Actions Panel.

    This will launch the default web browser with the landing page of DriveWorks Live loaded.

    To enable login to the page the group connection string or group aliases (see below) must be set up.

If your browser reports an error message, please see How To: Troubleshoot IIS.

Enable JSON Compression

When using DriveWorks 3D in the 3D Preview control we recommend enabling JSON compression in IIS.

By default IIS does not include JSON in the standard compression methods, which DriveWorks 3D files use.

The IIS settings can be modified to compress JSON with the following method:

  1. In IIS Manager, select the site from the Sites folder in the Connections panel.
  2. Under management double click Configuration Editor to open.

  3. From the Section dropdown select system.webserver/httpCompression.

  4. In the list select dynamictypes and click the ... button to edit.

  5. Add the two JSON content mimetypes and enable them:
    • application/json; charset=utf-8
    • application/json

  6. Close the dialog, click Apply in the top right and restart the website/IIS.

Group Connection Strings

When using IIS, DriveWorks Live needs to know certain Connection and Configuration settings.

This is done using Connection Strings in the .config file.

The Group Connection String holds two pieces of information critical to ensuring DriveWorks Live runs with Internet Information Services (IIS).

  • Server - is the location or name of the computer running DriveWorks Pro Server.
  • Name - is the name of the Shared Group that exists on the computer running DriveWorks Pro Server and is required to be connected to through IIS.

To change the Group Connection String:

  1. Using Windows Explorer, locate the .config file for the Theme being used and make a copy for back up purposes.
    The name of the .config file depends on the Theme being used, for the:
    • Web Theme it is named %ProgramData%\DriveWorks\[version number]\Live\Themes\Web\DriveWorks.config
    • Application Theme it is named %ProgramData%\DriveWorks\[version number]\Live\Themes\Application\web.config
  2. Open the .config file using notepad or a similar text editor.
  3. Locate the line below:
    .config file
     <driveworksLive>
  1. Modify the appropriate line to read:
    .config file
     <driveworksLive groupConnectionString="Provider=RemoteGroupProvider;Server=MachineName;Name=GroupName;">

    Where:

    MachineName is the name of the machine hosting DriveWorks Pro Server.

    And GroupName is the name of the Shared Group to connect to.

    Individual Group connection.

    Individual Groups do not allow multiple Connections.

    However, if this is required for development purposes the string would be:

    .config file
     <driveworksLive groupConnectionString="Provider=LocalGroupProvider;Path=\\<ServerName>\<ShareName>\<GroupName>.drivegroup">

    Where:

    ServerName is the name of the machine where the Individual Group is located.

    ShareName is the folder structure path to the Individual Group.

    GroupName is the name of the Individual Group.

MachineName Examples

Name

Meaning
ProServerMachineDriveWorks Pro Server is located on a machine named ProServerMachine.

localhost

DriveWorks Pro Server is located on the local machine i.e. the same machine running IIS (not ideal scenario).

GroupName Examples

Name

Meaning
ProductionGroupThe name of the Shared Group hosted on the DriveWorks Pro Server machine to connect to.

MyCompanyGroup

The name of the Shared Group hosted on the DriveWorks Pro Server machine to connect to.

Taking the first example from the Server Examples and Name Examples above, your Group Connection String should now look like this:

.config file
 <driveworksLive groupConnectionString="Provider=RemoteGroupProvider;Server=ProServerMachine;Name=ProductionGroup;">

Web Theme Customizations

Web Themes can be customized, and the customization files can be moved from their default location.

In this case, DriveWorks Live needs to know where the customized files are.

This is only required if any customizations to the Web files (Theme, Skins, Modules, etc.) are located outside of the folder

%ProgramData%\DriveWorks\[version number]\Live\Themes\Web

The pathToConfiguration string holds information that tells IIS where the Theme customizations are located, when they have been moved from the default location (as specified in the note box above).

To change the Path to Configuration String:

  1. Using Windows Explorer, locate the .config file for the Web Theme and make a copy for back up purposes.
    The default location for the Web Theme .config file is:

    %ProgramData%\DriveWorks\[version number]\Live\Themes\Web\DriveWorks.config

    The full path of the new location should be noted.

  2. Open the .config file using notepad or a similar text editor.
  3. Locate the line below:
    DriveWorks.config file
     <driveworksLive groupConnectionString="Provider=RemoteGroupProvider;Server=MachineName;Name=GroupName;">

    If you have followed step 3 above you will see the groupConnectionString has been inserted.

  1. Modify the appropriate line to read:
    DriveWorks.config file
     <driveworksLive pathToConfiguration="NewLocation" groupConnectionString="Provider=RemoteGroupProvider;Server=MachineName;Name=GroupName;">

    Where NewLocation is the full path to the location of the customized Theme files.

For example:

DriveWorks.config file
 <driveworksLive pathToConfiguration="C:\DriveWorks\MyWebConfigurationFiles" groupConnectionString="Provider=RemoteGroupProvider;Server=MachineName;Name=GroupName;">

File Upload Limits

This is only required if your Projects use the Upload Control.

This value should be applied directly in the web.config file.

To change the maxRequestLength value:

  1. Using Windows Explorer locate the web.config file for the Theme you are using and make a copy for back up purposes.
    The default location for the Web Theme web.config file is:

    %ProgramData%\DriveWorks\[version number]\Live\Themes\Web\web.config

    The default location for the Application Theme web.config file is:

    %ProgramData%\DriveWorks\[version number]\Live\Themes\Application\web.config

  2. Open the web.config file using notepad or a similar text editor.
  3. Locate the line below:
    web.config file
     <httpRuntime targetFramework="4.6.1" maxRequestLength="<default value>"
  4. Change <default value> to the required value (in bytes). For example 20 megabytes would be 20971520.
    This value should match the FileSizeLimit applied to the Upload Control.

    If you have more than one Project using an Upload Control, or you have more than one Upload Control in a Project, this value should be the largest value applied in any File Size Limit property.

  5. A further setting: maxAllowedContentLength, should be applied to the web.config file. However the location of this setting differs between the Web Theme and Application Theme.

    Web Theme

    Locate the line below:

    Web Theme - web.config file
     <requestFiltering allowDoubleEscaping="true" />

    Change this to be:

    Web Theme - web.config file
     <requestFiltering allowDoubleEscaping="true">
    	<requestLimits maxAllowedContentLength="<Value>" />
    </requestFiltering>

    Where Value is the same value used for the maxRequestLength in step 4 above.

    Application Theme

    Locate the line below:

    Application Theme - web.config file
     <system.webServer>

    Change this to be:

    Application Theme - web.config file
     <system.webServer>
    	<security>
    		<requestFiltering>
    			<requestLimits maxAllowedContentLength="Value" />
    		</requestFiltering>
    	</security>

    Where Value is the same value used for the maxRequestLength in step 4 above.

  6. Save the file and close the editor.
If you're using a load balancer with Application Request Routing then you will need to copy the modified web.config file to this server.

See Load Balancing IIS for information on Load Balancing.

Hosting Multiple Sites

Another advantage of using IIS is that multiple web sites can be created that connect to either the same Group or different Groups.

  1. Using Windows Explorer copy the entire folder of the Theme to be replicated.

    This will be one of the following locations:

    • Web Theme - %PROGRAMDATA%\DriveWorks\[version number]\Live\Themes\Web
    • Application Theme - %PROGRAMDATA%\DriveWorks\[version number]\Live\Themes\Application
  2. Paste the copied folder into the Themes folder, and rename the pasted folder to an appropriate name. For example:
    • Web Theme - %PROGRAMDATA%\DriveWorks\[version number]\Live\Themes\WebSecondSite
    • Application Theme - %PROGRAMDATA%\DriveWorks\[version number]\Live\Themes\ApplicationSecondSite
  3. Complete the steps outlined in Add the Site to Internet Information Services (IIS) Manager above.
    At step 3; browsing to the Physical Path, select the path pasted above.
  4. If the new site is connected to a different Group, follow the instructions given in Group Connection Strings above.
  5. If the new site is to have different customizations (Web Theme only), follow the instructions given in Web Theme Customizations.


Knowledge Base Article Ref:KB13103033

See Also:

How To: Load Balance IIS

How To: Troubleshoot IIS

Use the Web Theme to create a web site for your DriveWorks Implementation.

Choose from a number of customizable skins to select your preferred user experience.

Gives your DriveWorks Implementation the look and feel of a desktop application in a browser.