WorkflowGen Upgrade Guide
8.2.1
Search
⌃K

WorkflowGen 8.2.1 Upgrade

Overview

The following procedures apply to the WorkflowGen 8.2.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. 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. 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. 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. 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-13.0.0.0" newVersion="13.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.2.1 from version 8.0.6, apply the changes in the When upgrading from version 8.0.7 and earlier, When upgrading from version 8.0.8 and earlier, When upgrading from version 8.1.0 and earlier, and When upgrading from version 8.1.3 and earlier sections.
  • When upgrading to version 8.2.1 from version 8.2.0, there are no changed to make to the web configuration file.
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. 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. 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. 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. 2.
    Change the default value of RestApiClientRequestTimeout from 3000 to 30000 milliseconds.
  3. 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.