WorkflowGen 8.0.1 Upgrade

Overview

The following procedures apply to the WorkflowGen 8.0.1 upgrade pack, available at https://github.com/advantys/workflowgen-releases/releases.

Package contents

The upgrade pack is distributed as a compressed file containing the following folders:

  • Inetpub: WorkflowGen web application files

  • Program Files: WorkflowGen Windows Services files

  • Databases: WorkflowGen database update and creation files

IIS server

Stop the IIS server or at least your WorkflowGen web applications if other websites are using the same IIS server.

WorkflowGen Windows Services

Stop the WorkflowGen Directory Sync and Engine services in the Windows Services Management Console.

Backup

Application and data files

Back up the following folders:

  • DRIVE:\Inetpub\wwwroot\wfgen

  • DRIVE:\Program Files\Advantys\WorkflowGen

If the file storage path is not the standard DRIVE:\Inetpub\wwwroot\wfgen\App_Data then you have to back up the corresponding folder.

Database

Perform a standard database backup using your DBMS tools.

Update WorkflowGen web application files

Delete deprecated Node.js application files and folders

Verify if these deprecated files and folders used by Node.js-based applications still exist in your \wfgen folder and delete them if they do.

  1. Delete the following files and folders from the \wfgen\graphql folder:

    • \controllers

    • \models

    • \node_modules

    • \services

    • \utils

    • config.js

    • config.production.js

    • server.js

  2. Delete the following files and folders from the \wfgen\hooks folder:

    • \controllers

    • \models

    • \node_modules

    • \services

    • \test

    • \utils

    • config.js

    • config.production.js

    • server.js

    • upload.js

  3. Delete the following files and folders from the \wfgen\auth folder:

    • \controllers

    • \models

    • \node_modules

    • \static

    • \utils

    • config.js

    • config.production.js

    • server.js

  4. Delete the following files and folders from the \wfgen\scim folder:

    • \controllers

    • \models

    • \node_modules

    • \services

    • \utils

    • config.js

    • config.production.js

    • server.js

Delete deprecated assembly files

Delete the following deprecated assembly .dll files from the \wfgen\bin, \wfgen\ws\bin, and \Program Files\Advantys\WorkflowGen\services\bin folders:

  • Advantys.Directories

  • Advantys.Directories.Web.UI.Administration

  • Advantys.Web.UI.Charting

  • Advantys.Workflow.Applications.ExecSql

  • Advantys.Workflow.Applications.GetUsersFromDir

  • Advantys.Workflow.Applications.MergeForm

  • Advantys.Workflow.Applications.RestApiClient

  • Advantys.Workflow.Applications.SendMessage

  • Advantys.Workflow.Applications.XmlToDatabase

  • Advantys.Workflow.Applications.XmlTrans

  • Advantys.Workflow.Reports

  • Advantys.Workflow.Web.UI.Reports

Copy the upgrade pack content

Copy and overwrite the upgrade content from Update\Inetpub\wwwroot\wfgen to your WorkflowGen web application folder. By default, the suggested physical path is DRIVE:\Inetpub\wwwroot\wfgen.

  • Domain users and the Windows accounts used to run the WorkflowGen IIS application pool and Engine service must have read and write permissions for the \wfgen\App_Data folder.

  • Do NOT copy and overwrite your existing DRIVE:\Inetpub\wwwroot\wfgen\web.config file if you want to keep your current WorkflowGen configuration settings and database connection information.

  • It’s possible that the following default CSS files have been updated in this release and could overwrite any changes you had made in your existing installation:

    • \wfgen\App_Themes\Default\portal\css\Default.css

    • \wfgen\App_Themes\Default\admin\css\Default.css

  • If you have made changes to any of the default files in the following folders (e.g. *.aspx, *.css, *.resx files), make a backup of the existing files prior to the upgrade and manually re-apply these changes to the corresponding version 8.x.x files:

    • \wfgen

    • \wfgen\App_Themes

    • \wfgen\App_Data\Templates\Emails

    • \wfgen\App_Data\Templates\Forms

    • \wfgen\App_Data\Templates\Processes

Update WorkflowGen Windows Services files

Delete deprecated DLL file

Delete the deprecated DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\EAGetMail40.dll file.

Overwrite the WorkflowGen Windows Services folder

Overwrite the contents of your WorkflowGen Windows Services folder with the contents of Update\Program Files\Advantys\WorkflowGen. By default, the suggested physical path is DRIVE:\Program Files\Advantys\WorkflowGen.

Do NOT copy and overwrite your existing DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\*.config files.

Update Node.js program files

Copy node.exe.config and trace.config (located in Update\Program Files\nodejs) to DRIVE:\Program Files\nodejs.

If there is already a node.exe.config file in the DRIVE:\Program Files\nodejs folder, do not overwrite it. Instead, add the following to the existing file's <configuration> node:

<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.diagnostics configSource="trace.config" />

Update configuration files

This section contains configuration parameter changes to be applied based on the version of WorkflowGen from which you are upgrading.

πŸ“Œ Examples

  • When upgrading to version 8.0.1 from version 7.19.0, apply the changes in the When upgrading from version 7.20.0 and earlier, When upgrading from version 7.21.0 and earlier, When upgrading from version 7.22.0 and earlier, When upgrading from version 7.22.4 and earlier, and When upgrading from version 8.0.0 and earlier sections.

  • When upgrading to version 8.0.1 from version 8.0.0, apply the changes in the When upgrading from version 8.0.0 and earlier section only.

You must remove the xmlns attribute from the web configuration file regardless of the version from which you are upgrading. See Remove the xmlns attribute for instructions on how to do this.

When upgrading from version 5.7.4 and earlier

Check the following parameters in your \wfgen\web.config and add them if they are not already there.

<add key="EngineEnableSelfServiceDataAssignException" value="N" />
<add key="EngineNotificationDefaultReplyTo" value="" />
<add key="EngineNotificationMaxFileAttSize" value="10" />
<add key="EngineNotificationTextDetection" value="Y" />
<add key="EngineNotificationServerTimeout" value="3" />
<add key="ApplicationDistributedDatabaseSourceMode" value="0" />
<add key="ApplicationEnableDistributedDatabaseSource" value="N" />
<add key="ApplicationEnableArchiveSiteRedirectConfirmation" value="Y" />
<add key="ApplicationArchiveSiteUrl" value="" />
<add key="ApplicationShowAssociatedDataWithEmptyValue" value="Y" />
<add key="ApplicationSecurityEnableWebAppsSecureMode" value="N" />

WorkflowGen.My and WorkflowGen.My.Web.UI.WebControls (WorkflowFileUpload) version 3.0 or later are required in all your Visual Studio Web Forms if the ApplicationSecurityEnableWebAppsSecureMode security feature is enabled. For more information, see the Web apps security: Workflow parameters secure mode WorkflowGen Knowledge Base article.

<add key="PortalEnableComments" value="Y" />
<add key="PortalCommentsRefreshFrequency" value="30000" />
<add key="PortalCommentsPopUpWidth" value="376" />
<add key="PortalCommentsPopUpHeight" value="545" />
<add key="PortalCommentsSortBy" value="DATE_POST" />
<add key="PortalCommentsSortOrder" value="ASC" />
<add key="PortalCommentsExpandView" value="N" />
<add key="PortalCommentsListSize" value="25" />
<add key="PortalDisplayCodeNames" value="N" />
<add key="PortalMaxListSize" value="1000" />
<add key="PortalQuickViewEnabled" value="Y" />
<add key="PortalQuickViewDataName" value="FORM_ARCHIVE" />
<add key="PortalQuickViewDisplayOnMouseEvent" value="CLICK" />
<add key="PortalTextDetection" value="Y" />
<add key="PortalActivityCompleteInBackground" value="N" />
<add key="PortalEnableSearchResultAutoRedirect" value="Y" />
<add key="PortalCommonProcessDataNameList" value="" />
<add key="PortalReportEnableCustomColumns" value="Y" />
<add key="PortalReportAllowUserToCreateCustomColumns" value="Y" />
<add key="ReportsTextDetection" value="Y" />
<add key="AdministrationFormDataProviderName" value="System.Data.SqlClient, System.Data.OleDb, System.Data.Odbc, System.Data.OracleClient" />
<add key="AdministrationEnableDeletionRulesCheck" value="Y" />
<add key="AdministrationRestrictManagerToModifyGlobalParticipant" value="N" />
<add key="AdministrationFormDesignUndoLimit" value="30" />
<add key="DirectorySynchronizationMaxUserDeletionCount" value="0" />
<add key="DirectorySynchronizationSyncGroupMembersUsedInParticipantOnly" value="N" />
<add key="PortalFrameSetHeight" value="0,68,*,0" />

The first number in the PortalFrameSetHeight value is the height of the banner. If your website is configured to display a banner, enter its height in pixels here. The other default values should not be changed.

<add key="PortalEnableCallingCard" value="Y" />
<add key="PortalReportAdvancedViewDefault" value="Y" />
<add key="PortalReportEnableCustomCharts" value="Y" />
<add key="PortalReportEnableQuickMassApproval" value="N" />
<add key="PortalReportAllowUserToCreateCustomCharts" value="Y" />
<add key="PortalDefaultWorkflowGraphicalMode" value="HTML5" />
<add key="ProcessesRuntimeWebServiceAllowedUsers" value="wfgen_admin" />

You can copy the ProcessesRunTimeWebServiceAllowedUsers parameter from your existing \wfgen\ws\web.config to \wfgen\web.config.

<add key="EFormAspxPreviousFilesCleanUp" value="Y" />

You can copy this parameter from your existing \wfgen\WfApps\WebApps\eFormASPX\web.config to \wfgen\web.config.

<add key="GetUsersFromDirMaxResultNb" value="100" />

You can copy this parameter from your existing \wfgen\WfApps\WebServices\GetUsersFromDir\web.config to \wfgen\web.config.

<add key="XmlToDatabaseTestMode" value="N" />
<add key="XmlToDatabaseEnableTrace" value="N" />

You can copy these parameters from your existing \wfgen\WfApps\WebServices\XmlToDatabase\web.config to \wfgen\web.config.

<add key="XmlTransPreviousFilesCleanUp" value="Y" />
<add key="XmlTransEnableTrace" value="N" />

You can copy these parameters from your existing \wfgen\WfApps\WebServices\XmlTrans\web.config to \wfgen\web.config.

Remove the following deprecated parameters from <appSettings>:

PortalFollowUpRelevantDataListNumber
PortalPopupRelevantDataListNumber
PortalEnableRequestDataListPopUp

Define the following nodes in <configuration>:

<location path="." inheritInChildApplications="false">
<system.web>
<httpRuntime requestValidationMode="2.0" maxRequestLength="10240" />
</system.web>
</location>
<location path="wfapps/webforms" inheritInChildApplications="false">
<system.web>
<httpRuntime requestValidationMode="2.0" maxRequestLength="10240" />
<pages clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5" />
</system.web>
</location>
<location path="ws" inheritInChildApplications="false">
<system.web>
<httpRuntime requestValidationMode="2.0" maxRequestLength="10240" />
</system.web>
</location>

Define or update the following node in <configuration>/<system.web>:

<pages validateRequest="false" enableSessionState="false" />

When upgrading from version 6.0.0 and earlier

Add the following new parameters to <appSettings>:

<add key="AdministrationDefaultWorkflowGraphicalMode" value="HTML5" />
<add key="EngineNotificationLogLevel" value="1" />
<add key="RemoteApprovalLogTraceLevel" value="3" />
<add key="RemoteApprovalMailServerSecurity" value="none" />
<add key="RemoteApprovalRefreshInterval" value="180000" />
<add key="RemoteApprovalMailServerType" value="POP" />
<add key="RemoteApprovalLifeSpan" value="0" />
<add key="RemoteApprovalMailServerPort" value="110" />
<add key="ApplicationSecurityPasswordManagementMode" value="V5" />
<add key="ApplicationSecurityMaxLoginAttempts" value="5" />
<add key="ApplicationSecurityMinimumPasswordLength" value="8" />
<add key="ApplicationSmtpPickupDirectory" value="DRIVE:\inetpub\mailroot\Pickup" />

Replace the ApplicationSmtpPickupDirectory path above with the path of your SMTP gateway pickup folder.

<add key="ApplicationSmtpServerTimeout" value="3000" />
<add key="ApplicationSmtpDeliveryMethod" value="SmtpServer" />

The ApplicationSmtpDeliveryMethod parameter defines the notification delivery method. By default, it uses the SMTP server, but you can change the SMTP delivery method to Pickup directory in the Administration Module Configuration Panel.

When upgrading from version 6.1.0 and earlier

Add the following new parameter to <appSettings>:

<add key="AdministrationAssociatedActivitiesToSwimlane" value="Y" />

When upgrading from version 6.1.4 and earlier

Add or modify the AdministrationFormDataProviderName parameter as follows:

<add key="AdministrationFormDataProviderName" value="System.Data.SqlClient,System.Data.OleDb,System.Data.Odbc,System.Data.OracleClient,Oracle.DataAccess.Client" />

The Oracle.DataAccess.Client value was added to this parameter in version 6.1.5.

When upgrading from version 6.1.6 and earlier

Add the following new parameters to <appSettings>:

<add key="ApplicationWebFormsPath" value="" />
<add key="EngineNotificationDefaultSenderName" value="" />
<add key="PortalDashboardAutoRefreshInterval" value="0" />
<add key="PortalActivityOnCompleteRedirectToView" value="N" />

When upgrading from version 6.4.0 and earlier

Add the following new parameters to <appSettings>:

<add key="SendMessageProvider" value="TWILIO" />
<add key="SendMessageAccountSID" value="" />
<add key="SendMessageAuthToken" value="" />
<add key="SendMessageFrom" value="" />
<add key="SendMessageApiUrl" value="https://api.twilio.com/2010-04-01/Accounts/" />
<add key="SendMessageEnableLogs" value="Y" />

When upgrading from version 6.5.0 and earlier

Add the following new parameter to <appSettings> to configure the SENDHTTPPOST workflow application log file, replacing the value n with 0 to disable logging, 1 for simple logs, or 2 for debug logs:

<add key="SendHttpPostLogLevel" value="n" />

When upgrading from version 6.6.0 and earlier

Remove the following deprecated parameters from <appSettings>:

ApplicationImpersonificationUsername
ApplicationImpersonificationPassword
PortalDefaultWorkflowGraphicalMode
ApplicationEnableFlashDetection

When upgrading from version 7.1.1 and earlier

Add the following new parameters to <appSettings>:

<add key="GraphqlQueryTimeout" value="90000" />
<add key="GraphqlOperationTimeout" value="30000" />
<add key="GraphqlMaxOperationCount" value="10000" />
<add key="GraphqlMaxInputFileSize" value="10240" />
<add key="GraphqlInputFileDownloadTimeout" value="100000" />
<add key="HookslInputFileDownloadTimeout" value="100000" />
<add key="HooksOperationTimeout" value="30000" />
<add key="HooksMaxInputFileSize" value="10240" />
<add key="EngineServiceTempApiFilesLifespan" value="2" />

When upgrading from version 7.3.1 and earlier

Add the following new parameter to <appSettings>:

<add key="AdministrationDefaultConditionLanguage" value="JS" />

When upgrading from version 7.6.0 and earlier

Add the following new parameters to <appSettings>:

<add key="ApplicationSmtpEnableSsl" value="N" />
<add key="ApplicationSmtpPort" value="" />
<add key="ApplicationSmtpUsername" value="" />
<add key="ApplicationSmtpPassword" value="" />

When upgrading from version 7.9.1 and earlier

Add the following new parameters to <appSettings>:

<add key="GraphqlMaxInputFileContentSize" value="0" />
<add key="HooksMaxInputFileContentSize" value="0" />
<add key="GraphqlInputFileAllowedFolders" value="" />
<add key="HooksInputFileAllowedFolders" value="" />

If you're using folders for GraphQL and/or incoming webhooks file operations (such as sending a file action parameter), you must update the values of the GraphqlInputFileAllowedFolders and HooksInputFileAllowedFolders parameters. See the GraphQL Input file allowed folders and Incoming Webhooks Input file allowed folders sections in the WorkflowGen Integration Guide for more information.

When upgrading from version 7.14.3 and earlier

Add the following new parameter to <appSettings>:

<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y" />

When upgrading from version 7.14.8 and earlier

Add the following new parameters to <appSettings>:

<add key="EngineServiceInactiveRequestLifespanUnit" value="d" />
<add key="EFormAspxAcceptEmptyInputTextParam" value="Y" />
<add key="SendHttpPostMaxResponseLength" value="4194304" />
<add key="RestApiClientLogLevel" value="0"/>
<add key="RestApiClientRequestTimeout" value="3000" />
<add key="RestApiClientMaxResponseLength" value="4194304" />
<add key="RestApiClientEnableFilesCleanUp" value="Y" />
<add key="GetUsersFromDirLogLevel" value="0" />
<add key="XmlTransEnableFilesCleanUp" value="Y" />
<add key="MergeFormEnableFilesCleanUp" value="Y" />
<add key="GraphqlInputFileAllowedHttpUrls" value="" />
<add key="HooksInputFileAllowedHttpUrls" value="" />

If you're using HTTP URLs for GraphQL and/or incoming webhooks file operations (such as sending a file action parameter), you must update the values of the GraphqlInputFileAllowedHttpUrls and HooksInputFileAllowedHttpUrls parameters. See the GraphQL Input file allowed HTTP URLs and Incoming Webhooks Input file allowed HTTP URLs sections in the WorkflowGen Integration Guide for more information.

Remove the following deprecated parameters from <appSettings>:

XmlTransPreviousFilesCleanUp
MergeFormTempFilesLifeSpan

When upgrading from version 7.15.2 and earlier

  1. Add the following nodes after the existing <location> nodes in \wfgen\web.config:

    <location path="auth" inheritInChildApplications="false">
    <system.webServer>
    <modules>
    <remove name="ApplicationSecurityAuthenticationModule" />
    </modules>
    </system.webServer>
    </location>
    <location path="hooks" inheritInChildApplications="false">
    <system.webServer>
    <modules>
    <remove name="ApplicationSecurityAuthenticationModule" />
    </modules>
    </system.webServer>
    </location>
    <location path="scim" inheritInChildApplications="false">
    <system.webServer>
    <modules>
    <remove name="ApplicationSecurityAuthenticationModule" />
    </modules>
    </system.webServer>
    </location>
  2. Remove the node below from \wfgen\auth\web.config, \wfgen\hooks\web.config, and \wfgen\scim\web.config, if present:

    <modules>
    <remove name="ApplicationSecurityAuthenticationModule" />
    </modules>

When upgrading from version 7.15.4 and earlier

Add the following new parameter to <appSettings>:

<add key="PortalRedirectAllowedHttpUrls" value="" />

As of version 7.15.5, the optional BACKURL_SUBMIT and BACKURL_CANCEL HTTP parameters used in custom WorkflowGen URLs (for example, when launching a new request and starting the first action within another website) now ONLY support absolute URLs (starting with http:// or https://), relative URLs (starting with /), or URLs defined in the PortalRedirectAllowedHttpUrls configuration parameter (e.g. value='blank.htm, myPage.htm').

When upgrading from version 7.15.5 and earlier

  1. Add the following node after the existing <location> nodes in \wfgen\web.config:

    <location path="graphql" inheritInChildApplications="false">
    <system.webServer>
    <httpProtocol>
    <customHeaders>
    <add name="Access-Control-Allow-Origin" value="*" />
    <add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, HEAD" />
    <add name="Access-Control-Allow-Headers" value="Accept, Origin, Authorization, Content-Type, x-wfgen-impersonate-username, x-iisnode-auth_user" />
    </customHeaders>
    </httpProtocol>
    </system.webServer>
    </location>
  2. Change the default value of RestApiClientRequestTimeout from 3000 to 30000 milliseconds.

  3. Make the following modifications to each Node.js component's web.config file (located in \wfgen\graphql, \wfgen\hooks, \wfgen\scim, and \wfgen\auth):

    • Change the iisnode handler path from server.js to dist/server.js.

    • Change the rewrite rule url property from server.js to dist/server.js.

    It should look as follows:

    <handlers>
    <add name="iisnode" path="dist/server.js" verb="*" modules="iisnode"/>
    </handlers>
    ​
    <rewrite>
    <rules>
    <rule name="DynamicContent">
    <conditions>
    <add input="{{REQUEST_FILENAME}}" matchType="IsFile" negate="True"/>
    </conditions>
    <action type="Rewrite" url="dist/server.js"/>
    </rule>
    </rules>
    </rewrite>

When upgrading from version 7.16.5 and earlier

Add the following new parameters to <appSettings>:

<add key="AdministrationMaxHelpTextSize" value="10000" />
<add key="ApplicationSecurityAuthAdditionalScopes" value="" />

When upgrading from version 7.18.1 and earlier

Add the following new parameter to <appSettings>:

<add key="ReportsTopProcessesNumber" value="10" />

When upgrading from version 7.18.2 and earlier

Add the following new parameter to <appSettings>:

<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />

When upgrading from version 7.20.0 and earlier

Add the following new parameters to <appSettings>:

<add key="ApplicationSecurityAuthResponseMode" value="" />
<add key="ApplicationSecurityAuthDecodeAccessToken" value="" />

When upgrading from version 7.21.0 and earlier

Add the following new parameter to <appSettings>:

<add key="ExecSqlLogLevel" value="0" />

As of WorkflowGen 7.22.0, the log level values for the existing GETUSERSFROMDIR, MERGEFORM, SENDHTTPPOST, and RESTAPICLIENT workflow applications have changed to 0 for no logs (default), 2 for information, and 3 for debugging. You can set (or reset) the log levels by updating the values of the following parameters accordingly:

<add key="GetUsersFromDirLogLevel" value="" />
<add key="MergeFormLogLevel" value="" />
<add key="SendHttpPostLogLevel" value="" />
<add key="RestApiClientLogLevel" value="" />

When upgrading from version 7.22.0 and earlier

Remove the existing Access-Control-Allow-* custom header nodes from location path="graphql" (as shown below), since they are deprecated as of version 7.22.1:

<location path="graphql" inheritInChildApplications="false">
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Access-Control-Allow-Origin" value="*" />
<add name="Access-Control-Allow-Methods" value="GET, POST, OPTIONS, HEAD" />
<add name="Access-Control-Allow-Headers" value="Accept, Origin, Authorization, Content-Type, x-wfgen-impersonate-username, x-iisnode-auth_user" />
</customHeaders>
</httpProtocol>
</system.webServer>
</location>

If you want to configure CORS to allow GraphQL API access from a third-party application, you must now follow the instructions in the Cross-origin resource sharing (CORS) section in the WorkflowGen Integration Guide.

When upgrading from version 7.22.4 and earlier

  1. Add the following new parameters to <appSettings>:

    <add key="AdministrationProcessQuickListSize" value="0" />
    <add key="EngineServiceNotificationFrequency" value="60000" />
    <add key="EngineServiceCancellationFrequency" value="120000" />
    <add key="EngineServiceSynchroActionFrequency" value="15000" />
    <add key="EngineServiceScheduledSystemActionFrequency" value="15000" />
    <add key="EngineServiceTimeoutSystemActionFrequency" value="15000" />
    <add key="EngineServiceCleanupFrequency" value="180000" />
    <add key="EngineServiceMaxScheduledSystemActions" value="25" />
    <add key="EngineServiceMaxTimeoutSystemActions" value="25" />
    <add key="ApplicationSecurityAuthExposeAccessTokenInCookies" value="N" />
    <add key="DocuSignUserGuid" value="" />
    <add key="DocuSignAuthServer" value="" />
    <add key="DocuSignClientId" value="" />
    <add key="DocuSignHostServer" value="" />
    <add key="DocuSignSendLogLevel" value="0" />
    <add key="DocuSignCheckLogLevel" value="0" />
    <add key="JsonToDataLogLevel" value="0" />
  2. Remove the following parameters from <appSettings>:

    <add key="DirectoryApplicationAssemblyQualifiedName" value="Advantys.Workflow.Directories.WorkflowDirectoryUserManager, Advantys.Workflow.Directories" />
    <add key="DirectoryDeletionRulesAssemblyQualifiedName" value="Advantys.Workflow.Directories.WorkflowDirectoryDeletionRules, Advantys.Workflow.Directories" />
    <add key="DirectoryMaxMapToUsers" value="100" />
    <add key="DirectoryTruncateValue" value="50" />
  3. Add the following to the <configuration> node:

    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
    </dependentAssembly>
    </assemblyBinding>
    </runtime>
    <system.diagnostics configSource="trace.config" />
  4. Add targetFramework="4.8" to the three web apps' httpRuntime nodes:

    <location path="." inheritInChildApplications="false">
    <system.web>
    <httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.8" />
    </system.web>
    </location>
    <location path="wfapps/webforms" inheritInChildApplications="false">
    <system.web>
    <httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.8" />
    <pages clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5" />
    </system.web>
    </location>
    <location path="ws" inheritInChildApplications="false">
    <system.web>
    <httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.8" />
    </system.web>
    </location>
  5. Add the following to the <configuration> node in \Inetpub\wwwroot\wfgen\ws\web.config:

    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
    </dependentAssembly>
    </assemblyBinding>
    </runtime>
  6. Add the following to <configuration> node in \Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config:

    <system.diagnostics configSource="WfgDirectoriesSyncService.exe.trace.config" />
  7. Add the following to the <configuration> node in \Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineService.exe.config:

    <system.diagnostics configSource="WfgWorkflowEngineService.exe.trace.config" />
    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <dependentAssembly>
    <assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
    </dependentAssembly>
    </assemblyBinding>
    </runtime>

When upgrading from version 8.0.0 and earlier

  1. Add the following new parameters to <appSettings>:

    <add key="RemoteApprovalAuthClientId" value="" />
    <add key="RemoteApprovalAuthClientSecret" value="" />
    <add key="RemoteApprovalAuthScope" value="" />
    <add key="RemoteApprovalAuthAccessTokenUri" value="" />
  2. Remove the following deprecated parameter from <appSettings>:

    EngineTraceMode

Remove the xmlns attribute

As of WorkflowGen version 7, you must remove the xmlns attribute from these configuration files:

\wfgen\web.config
\wfgen\ws\web.config
\wfgen\WfApps\WebForms\web.config
DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineServer.exe.config
DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config

To do this, change <configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0"> to <configuration>.

Update the root web configuration file

Configure the WorkflowGen root website to auto-redirect to the wfgen web app

As of WorkflowGen 7.22.0, you should configure your WorkflowGen root website (e.g. https://server) to auto-redirect to the https://server/wfgen web app. To do this, follow the procedure below

  1. Make sure the URL Rewrite tool is installed on your WorkflowGen server.

  2. Create or update the web.config file in your website's root folder (e.g. DRIVE:\inetpub\wwwroot\web.config). ⚠️ Warning: This is not the same web.config file as the main WorkflowGen web.config file (located in DRIVE:\inetpub\wwwroot\wfgen\web.config).

  3. Define the rewrite rule node as shown below (configuration / system.webServer / <rewrite> / <rules> / <rule>):

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
    <system.webServer>
    <rewrite>
    <rules>
    <rule name="Rewrite to wfgen" stopProcessing="true">
    <match url="(^$|^wfgen$|^wfgen/$)" />
    <action type="Rewrite" url="/wfgen/show.aspx?QUERY=CONTEXT&amp;REQUEST_QUERY=WELCOME&amp;NO_REDIR=Y" />
    </rule>
    </rules>
    </rewrite>
    </system.webServer>
    </configuration>

Update Form Designer webforms for version 8

As of WorkflowGen version 8, the WorkflowGen.My.Web.UI.WebControls.dll assembly has been merged into WorkflowGen.My.dll. This breaking change impacts webforms created in the Form Designer and the webforms' \bin folders, so you must do one of the following:

Use the provided PowerShell script

Run the \update\configuration\update-webforms-wfg-my-assembly.ps1 script in PowerShell inside the \wfgen\wfapps\webforms\ folder. This will automatically update your ASPX webforms and delete deprecated files and folders.

This script will update all .aspx files located in the \webforms folder, including those not managed by the Form Designer. If you have custom webforms in this folder that use another version of WorkflowGen.My.dll, then you should skip the changes to these .aspx files. You can do this by moving these files to a temporary folder before running the script, and then copying them back to the original folder.

Manually

  1. Delete the following files and folders from the\wfgen\wfapps\webforms\bin\ folder:

    • WorkflowGen.My.Web.UI.WebControls.dll

    • WorkflowGen.My.Web.Handlers.dll

    • \de

    • \fr

    • \hu

    • \pl

  2. Upgrade each of your webforms created in the Form Designer, either by re-saving them or by manually replacing the <%@ Register Assembly="WorkflowGen.My.Web.UI.WebControls" ... %> tag with <%@ Register Assembly="WorkflowGen.My" ... %> inside each of your .aspx files.

Update the GraphQL and webhooks configuration files

In the \wfgen\graphql\web.config and \wfgen\hooks\web.config files, add the following to <system.webServer>:

<httpErrors existingResponse="PassThrough" errorMode="Detailed"></httpErrors>

Update the Directory Synchronization configuration file

There is a new configuration parameter required when upgrading from version 5.1.5 and earlier. This parameter allows you to provide a unique service name to the WorkflowGen Directory Synchronization service should you have multiple instances of WorkflowGen installed on a single server.

Add the following parameter to DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config:

<add key="ServiceName" value="WorkflowGenDirSyncService" />

Update the WorkflowGen Engine Service configuration file

There is a new configuration parameter required when upgrading from version 5.1.5 or earlier. This parameter allows you to provide a unique service name to the WorkflowGen Engine service should you have multiple instances of WorkflowGen installed on a single server.

Add the following parameter to DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineService.exe.config:

<add key="ServiceName" value="WorkflowGenEngineService" />

Move the XMLTODATABASE transactions file

If you are upgrading from version 5.7.4 or earlier, copy the Transactions.xml file from \wfgen\WfApps\WebServices\XmlToDatabase\App_Data to \wfgen\App_Data\Files\XmlToDatabase.

Upgrade the WorkflowGen database

Run the SQL scripts listed below in order, starting with your current version of WorkflowGen. For example, if you are upgrading from version 5.5.0, run the scripts starting with For version 5.5.0 and earlier until For all 7.x.x and earlier versions, inclusively.

Oracle database is no longer supported as of WorkflowGen 7.16.0.

MS SQL Server

For versions 5.1.9 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-2-0.sql database update script in your SQL Server Management Studio tool.

For versions 5.2.x and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-3-0.sql database update script in your SQL Server Management Studio tool.

For versions 5.3.x, 5.4.0 (alpha, beta 1 and beta 2) and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-4-0.sql database update script in your SQL Server Management Studio tool.

For versions 5.4.x official and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-5-0.sql database update script in your SQL Server Management Studio tool.

For versions 5.5.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-5-1.sqldatabase update script in your SQL Server Management Studio tool.

For versions 5.5.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-5-2.sql database update script in your SQL Server Management Studio tool.

For versions 5.5.4 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-5-5.sql database update script in your SQL Server Management Studio tool.

For versions 5.5.5 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-6-0.sql database update script in your SQL Server Management Studio tool.

For versions 5.6.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-6-2.sql database update script in your SQL Server Management Studio tool.

For versions 5.6.2 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-6-3.sql database update script in your SQL Server Management Studio tool.

For versions 5.6.3 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-6-4.sql database update script in your SQL Server Management Studio tool.

For versions 5.7.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-7-1.sql database update script in your SQL Server Management Studio tool.

For versions 5.7.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V5-7-2.sql database update script in your SQL Server Management Studio tool.

For versions 5.7.4 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V6-0-0.sql database update script in your SQL Server Management Studio tool.

For versions 6.0.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V6-1-0.sql database update script in your SQL Server Management Studio tool.

For versions 6.1.2 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V6-1-3.sql database update script in your SQL Server Management Studio tool.

For versions 6.1.3 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V6-1-4.sql database update script in your SQL Server Management Studio tool.

For versions 6.1.6 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V6-2-0.sql database update script in your SQL Server Management Studio tool.

For versions 6.4.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V6-5-0.sql database update script in your SQL Server Management Studio tool.

For versions 6.5.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V6-6-0.sql database update script in your SQL Server Management Studio tool.

For version 6.6.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-0-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.1.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-1-1.sql database update script in your SQL Server Management Studio tool.

For versions 7.1.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-2-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.2.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-3-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.5.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-6-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.9.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-10-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.10.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-11-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.11.2 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-12-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.12.2 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-13-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.13.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-14-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.14.7 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-15-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.15.1 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-15-2.sql database update script in your SQL Server Management Studio tool.

For versions 7.15.5 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-16-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.16.5 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-17-0.sql database update script in your SQL Server Management Studio tool.

For versions 7.21.0 and earlier

Launch the Update\Databases\MsSQLServer\Update_WFG-V7-22-0.sql database update script in your SQL Server Management Studio tool.

For all 7.x.x and earlier versions

Launch the Update\Databases\MsSQLServer\Update_WFG-V8-0-0.sql database update script in your SQL Server Management Studio tool.

Configure IIS

Domain users and the Windows accounts used to run the WorkflowGen IIS application pool and Engine service must have read and write permissions for the \wfgen\app_data folder.

Update or create the application pool in .NET 4

The WorkflowGen website and web applications must now use an application pool in .NET 4. If this has not already been configured, do the following:

  1. Install .NET Framework 4 on the server, if not already installed.

  2. Update the existing application pool or create a new application pool using .NET Framework 4 for:

    • The WorkflowGen website

    • \wfgen

    • \wfgen\wfapps\webforms (create this IIS web application if it isn’t already created)

    • \wfgen\ws

  3. If your application pool is set to use Classic Managed Pipeline Mode, make sure ASP.NET v4.0.30319 is set to Allowed in the IIS manager ISAPI and CGI Restrictions list.

WorkflowGen Node.js-based web applications

To use the GraphQL, incoming webhooks, OpenID Connect Auth, and SCIM APIs, you must first install the following requirements:

  • Delete each Node.js-based application's node_modules folder (located under \wfgen\auth, \wfgen\graphql, \wfgen\hooks, and \wfgen\scim) before copying the files from the upgrade pack.

  • After enabling GraphQL, incoming webhooks, OpenID Connect Auth, or SCIM, the WorkflowGen DLLs will be in use by Node.js, so they will be locked from being updated. In order to update the DLLs, it is necessary to stop IIS.

To enable WorkflowGen GraphQL:

  1. In IIS, convert /wfgen/graphql to an application with a .NET 4 application pool (integrated pipeline).

  2. Configure the GraphQL application authentication mode:

    • For Basic authentication: Enable Basic authentication.

    • For WorkflowGen Applicative authentication:

      • Make sure the /wfgen web application already has WorkflowGen Applicative authentication enabled.

      • Enable Anonymous authentication.

  3. Update the WorkflowGen web.config file with the following parameters used by GraphQL:

    <add key="GraphqlMaxPageSize" value="100" />
    <add key="GraphqlMaxBatchSize" value="1000" />
    <add key="GraphqlDefaultPageNumber" value="1" />
    <add key="GraphqlDefaultPageSize" value="30" />
    <add key="GraphqlGraphiqlEnabled" value="N" />
    <add key="GraphqlLoadersCacheEnabled" value="Y" />
    <add key="GraphqlDebugEnabled" value="N" />
    <add key="GraphqlQueryTimeout" value="90000" />
    <add key="GraphqlOperationTimeout" value="30000" />
    <add key="GraphqlMaxOperationCount" value="10000" />
    <add key="GraphqlMaxInputFileSize" value="10240" />
    <add key="GraphqlMaxInputFileContentSize" value="0" />
    <add key="GraphqlInputFileDownloadTimeout" value="100000" />
    <add key="GraphqlInputFileAllowedFolders" value="" />
    <add key="GraphqlInputFileAllowedHttpUrls" value="" />

To enable WorkflowGen incoming webhooks:

  1. Update the WorkflowGen web.config file with the following parameters used by incoming webhooks:

    <add key="HooksDebugEnabled" value="N" />
    <add key="HooksOperationTimeout" value="30000" />
    <add key="HooksMaxInputFileSize" value="10240" />
    <add key="HooksMaxInputFileContentSize" value="0" />
    <add key="HooksInputFileDownloadTimeout" value="100000" />
    <add key="HooksInputFileAllowedFolders" value="" />
    <add key="HooksInputFileAllowedHttpUrls" value="" />
  2. In IIS, convert /wfgen/hooks to an application with a .NET 4 application pool (integrated pipeline), and configure the hook application in Anonymous authentication mode.

If your WorkflowGen is configured to use WorkflowGen Applicative authentication or a custom authentication, you must remove the authentication module from the /hooks/web.config file as follows:

For WorkflowGen Applicative authentication:

<location path="hooks" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>
</location>

For Custom authentication:

<location path="hooks" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="MyCustomAuthModule" />
</modules>
</system.webServer>
</location>

To enable WorkflowGen SCIM:

In IIS, convert /wfgen/scim to an application with a .NET 4 application pool (integrated pipeline), and configure the application in Anonymous authentication mode.

If your WorkflowGen is configured to use WorkflowGen Applicative authentication or a custom authentication, you must remove the authentication module from the /scim/web.config file as follows:

For WorkflowGen Applicative authentication:

<location path="scim" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>
</location>

For Custom authentication:

<location path="scim" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="MyCustomAuthModule" />
</modules>
</system.webServer>
</location>

To enable WorkflowGen OpenID Connect Auth:

In IIS, convert /wfgen/auth to an application with a .NET 4 application pool (integrated pipeline), and configure the application in Anonymous authentication mode.

If your WorkflowGen is configured to use WorkflowGen Applicative authentication or a custom authentication, you must remove the authentication module from the \auth\web.config file as follows:

For WorkflowGen Applicative authentication:

<location path="auth" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
</system.webServer>
</location>

For Custom authentication:

<location path="auth" inheritInChildApplications="false">
<system.webServer>
<modules>
<remove name="MyCustomAuthModule" />
</modules>
</system.webServer>
</location>

Restart the WorkflowGen server

Reboot your WorkflowGen web server.

New location of workflow application temporary and log files

The following workflow applications store their files in these new locations:

  • EFORMASPX: \wfgen\App_Data\Files\EFormAspx

  • XMLTODATABASE: \wfgen\App_Data\LogFiles\XmlToDatabase

  • XMLTRANS: \wfgen\App_Data\Files\XmlTrans and \wfgen\App_Data\LogFiles\XmlTrans