WorkflowGen 8.2.1 Upgrade
The following procedures apply to the WorkflowGen 8.2.1 upgrade pack, available at https://github.com/advantys/workflowgen-releases/releases.
The upgrade pack is distributed as a compressed file containing the following folders:
Inetpub
: WorkflowGen web application filesProgram Files
: WorkflowGen Windows Services filesDatabases
: WorkflowGen database update and creation files
Stop the IIS server or at least your WorkflowGen web applications if other websites are using the same IIS server.
Stop the WorkflowGen Directory Sync and Engine services in the Windows Services Management Console.
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.Perform a standard database backup using your DBMS tools.
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 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 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
Delete the deprecated
DRIVE:\Program Files\Advantys\WorkflowGen\Services\bin\EAGetMail40.dll
file.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.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" />
This section contains configuration parameter changes to be applied based on the version of WorkflowGen from which you are upgrading.
- 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.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" />
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.Add the following new parameter to
<appSettings>
:<add key="AdministrationAssociatedActivitiesToSwimlane" value="Y" />
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.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" />
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" />
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" />
Remove the following deprecated parameters from
<appSettings>
:ApplicationImpersonificationUsername
ApplicationImpersonificationPassword
PortalDefaultWorkflowGraphicalMode
ApplicationEnableFlashDetection
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" />
Add the following new parameter to
<appSettings>
:<add key="AdministrationDefaultConditionLanguage" value="JS" />
Add the following new parameters to
<appSettings>
:<add key="ApplicationSmtpEnableSsl" value="N" />
<add key="ApplicationSmtpPort" value="" />
<add key="ApplicationSmtpUsername" value="" />
<add key="ApplicationSmtpPassword" value="" />
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.Add the following new parameter to
<appSettings>
:<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y" />
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
- 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>
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'
).- 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
from3000
to30000
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
todist/server.js
. - Change the rewrite rule
url
property fromserver.js
todist/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>
Add the following new parameters to
<appSettings>
:<add key="AdministrationMaxHelpTextSize" value="10000" />
<add key="ApplicationSecurityAuthAdditionalScopes" value="" />
Add the following new parameter to
<appSettings>
:<add key="ReportsTopProcessesNumber" value="10" />
Add the following new parameter to
<appSettings>
:<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
Add the following new parameters to
<appSettings>
:<add key="ApplicationSecurityAuthResponseMode" value="" />
<add key="ApplicationSecurityAuthDecodeAccessToken" value="" />
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="" />
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.