Mise à jour WorkflowGen 7.22.13
Les procédures suivantes s’appliquent au pack de mise à jour WorkflowGen 7.22.13 disponible à l'adresse suivante : https://github.com/advantys/workflowgen-releases/releases.
Le pack de mise à jour est un fichier compressé qui contient les répertoires suivants :
Inetpub
: Fichiers d’applications Web de WorkflowGenProgram Files
: Fichiers de services Windows de WorkflowGenDatabases
: Fichiers de création et mise à jour de la base de données WorkflowGen
Arrêtez le serveur IIS, ou au moins vos applications Web WorkflowGen si d’autres sites Web utilisent le même serveur IIS.
Arrêtez les services de synchronisation des répertoires et du moteur WorkflowGen dans le module Windows Services Management.
Sauvegardez les répertoires suivants :
DISQUE:\Inetpub\wwwroot\wfgen
DISQUE:\Program Files\Advantys\WorkflowGen
Si le chemin de stockage de fichiers n’est pas celui par défaut de
DISQUE:\Inetpub\wwwroot\wfgen\App_Data
, vous devrez sauvegarder le répertoire correspondant.Faites une sauvegarde standard de la base de données au moyen des outils DBMS.
Vérifiez si ces fichiers et dossiers obsolètes utilisés par les applications basées sur Node.js existent toujours dans votre dossier
\wfgen
et supprimez-les s'ils existent.- 1.Supprimez les fichiers et dossiers suivants du dossier
\wfgen\graphql
:\controllers
\models
\node_modules
\services
\utils
config.js
config.production.js
server.js
- 2.Supprimez les fichiers et dossiers suivants du dossier
\wfgen\hooks
:\controllers
\models
\node_modules
\services
\test
\utils
config.js
config.production.js
server.js
upload.js
- 3.Supprimez les fichiers et dossiers suivants du dossier
\wfgen\auth
:\controllers
\models
\node_modules
\static
\utils
config.js
config.production.js
server.js
- 4.Supprimez les fichiers et dossiers suivant du dossier
\wfgen\scim
:\controllers
\models
\node_modules
\services
\utils
config.js
config.production.js
server.js
Écrasez le répertoire d’applications Web avec le contenu de
Update\Inetpub\wwwroot\wfgen
. Le chemin recommandé par défaut est DISQUE:\Inetpub\wwwroot\wfgen
.- Les utilisateurs du domaine et les comptes de services Windows spécifiés dans le pool d’applications IIS et le service du moteur WorkflowGen doivent avoir les droits de lecture et d’écriture sur le dossier
\wfgen\app_data
. - N’écrasez pas votre fichier
DISQUE:\Inetpub\wwwroot\wfgen\web.config
si vous voulez conserver vos paramètres de configuration WorkflowGen et les informations de connexion de base de données existantes. - Il se peut que les fichiers par défaut CSS aient été mis à jour dans cette version et pourraient alors écraser des paramétrages personnalisés dans votre installation existante :
\wfgen\App_Themes\Default\portal\css\Default.css
\wfgen\App_Themes\Default\admin\css\Default.css
- Si vous avez fait des changements aux fichiers défauts dans les répertoires suivants (ex. : fichiers
.aspx
,.css
,.resx
), sauvegardez les fichiers existants avant la mise à jour, puis réappliquez ces changements aux fichiers correspondants de la version 7.x.x :\wfgen
\wfgen\App_Themes
\wfgen\App_Data\Templates\Emails
\wfgen\App_Data\Templates\Forms
\wfgen\App_Data\Templates\Processes
Supprimez le fichier
DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\EAGetMail40.dll
obsolète.Écrasez le répertoire des services Windows WorkflowGen avec le contenu de
Update\Program Files\Advantys\WorkflowGen
. Le chemin recommandé par défaut est DISQUE:\Program Files\Advantys\WorkflowGen
.N’écrasez pas vos fichiers
DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\*.config
existants.Cette section décrit les paramétrages de configuration à appliquer selon la version de WorkflowGen depuis laquelle vous faites la mise à jour. Par exemple :
- Pour passer de la version 7.18.0 à la version 7.22.13, vous devez appliquer les modifications indiquées dans les sections Mise à jour pour les versions 7.20.0 et antérieures, Mise à jour pour les versions 7.21.0 et antérieures, Mise à jour pour les versions 7.22.0 et antérieures et Mise à jour pour les versions 7.22.4 et antérieures.
- Pour passer des versions 7.22.5 à 7.22.12 à la version 7.22.13, il n'y aucune modification à faire au fichier de configuration Web.
Vous devez supprimer l’attribut
xmlns
du fichier de configuration Web indépendamment de la version depuis laquelle vous mettez à jour (voir la section Supprimer l’attribut xmlns).Vérifiez les paramètres suivants dans votre fichier
\wfgen\web.config
et ajoutez ceux qui n’y sont pas déjà :<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 et WorkflowGen.My.Web.UI.WebControls (WorkflowFileUpload) version 3.0 ou ultérieure sont requis dans tous vos formulaires Web Visual Studio si la fonctionnalité de sécurité est activée. Pour plus de renseignements, référez-vous à l’article de la base de connaissances WorkflowGen à l’adresse https://discuss.workflowgen.com/t/setup-web-apps-security-workflow-parameters-secure-mode.
<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" />
Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="PortalFrameSetHeight" value="0,68,*,0" />
Le premier chiffre dans cette valeur est la hauteur de la bannière. Si votre site Web est configuré pour afficher une bannière, entrez sa hauteur en pixels ici. Les autres valeurs par défaut ne devraient pas être changées.
<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" />
Vous pouvez copier le paramètre
ProcessesRuntimeWebServiceAllowedUsers
de votre \wfgen\ws\web.config
existant à \wfgen\web.config
.<add key="EFormAspxPreviousFilesCleanUp" value="Y" />
Vous pouvez copier ce paramètre de votre
\wfgen\WfApps\WebApps\eFormASPX\web.config
existant à \wfgen\web.config
.<add key="GetUsersFromDirMaxResultNb" value="100" />
Vous pouvez copier ce paramètre de votre
\wfgen\WfApps\WebServices\GetUsersFromDir\web.config
existant à \wfgen\web.config
.<add key="XmlToDatabaseTestMode" value="N" />
<add key="XmlToDatabaseEnableTrace" value="N" />
Vous pouvez copier ces paramètres de votre
\wfgen\WfApps\WebServices\XmlToDatabase\web.config
existant à \wfgen\web.config
.<add key="XmlTransPreviousFilesCleanUp" value="Y" />
<add key="XmlTransEnableTrace" value="N" />
Vous pouvez copier ces paramètres de votre
\wfgen\WfApps\WebServices\XmlTrans\web.config
existant à \wfgen\web.config
.Supprimez les paramètres obsolètes suivants dans
<appSettings>
:PortalFollowUpRelevantDataListNumber
PortalPopupRelevantDataListNumber
PortalEnableRequestDataListPopUp
Réglez les nœuds suivants dans
<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>
Réglez ou mettez à jour le nœud suivant dans
<configuration>/<system.web>
:<pages validateRequest="false" enableSessionState="true">
Ajoutez les nouveaux paramètres suivants à
<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" />
Remplacez le chemin de
ApplicationSmtpPickupDirectory
par celui de votre répertoire de collecte de la passerelle SMTP.<add key="ApplicationSmtpServerTimeout" value="3000" />
<add key="ApplicationSmtpDeliveryMethod" value="SmtpServer" />
Le paramètre
ApplicationSmtpDeliveryMethod
spécifie la méthode d’expédition des notifications. Par défaut, cette méthode utilise le serveur SMTP, mais vous pouvez changer la méthode d’expédition à Répertoire de collecte depuis le Panneau de configuration du Module d’administration.Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="AdministrationAssociatedActivitiesToSwimlane" value="Y" />
Ajoutez ou modifiez le paramètre
AdministrationFormDataProviderName
comme suit :<add key="AdministrationFormDataProviderName" value="System.Data.SqlClient,System.Data.OleDb,System.Data.Odbc,System.Data.OracleClient,Oracle.DataAccess.Client" />
La valeur
Oracle.DataAccess.Client
a été ajoutée à ce paramètre dans la version 6.1.5.Ajoutez les nouveaux paramètres suivants à
<appSettings>
:<add key="ApplicationWebFormsPath" value="" />
<add key="EngineNotificationDefaultSenderName" value="" />
<add key="PortalDashboardAutoRefreshInterval" value="0" />
<add key="PortalActivityOnCompleteRedirectToView" value="N" />
Ajoutez les nouveaux paramètres suivants à
<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" />
Ajoutez le nouveau paramètre suivant à
<appSettings>
pour configurer le fichier log de l’application de workflow SENDHTTPPOST en remplaçant la valeur n
avec 0
pour désactiver, 1
pour les logs simples ou 2
pour les logs de débogage.<add key="SendHttpPostLogLevel" value="n" />
Supprimez les paramètres obsolètes de
<appSettings>
:ApplicationImpersonificationUsername
ApplicationImpersonificationPassword
PortalDefaultWorkflowGraphicalMode
ApplicationEnableFlashDetection
Ajoutez les nouveaux paramètres suivants à
<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" />
Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="AdministrationDefaultConditionLanguage" value="JS" />
Ajoutez les nouveaux paramètres suivants à
<appSettings>
:<add key="ApplicationSmtpEnableSsl" value="N" />
<add key="ApplicationSmtpPort" value="" />
<add key="ApplicationSmtpUsername" value="" />
<add key="ApplicationSmtpPassword" value="" />
Ajoutez les nouveaux paramètres suivants à
<appSettings>
:<add key="GraphqlMaxInputFileContentSize" value="0" />
<add key="HooksMaxInputFileContentSize" value="0" />
<add key="GraphqlInputFileAllowedFolders" value="" />
<add key="HooksInputFileAllowedFolders" value="" />
Si vous utilisez des dossiers pour les opérations de fichier GraphQL et / ou webhooks entrants (tels que l'envoi d'un paramètre d'action de fichier), vous devez mettre à jour les valeurs des paramètres
GraphqlInputFileAllowedFolders
et HooksInputFileAllowedFolders
. Voir les sections GraphQL Input file allowed folders et Incoming Webhooks Input file allowed folders dans le Guide d'intégration WorkflowGen pour plus d'informations (disponible en anglais seulement).Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="ApplicationSecurityAuthSessionRefreshEnableIFrame" value="Y" />
Ajoutez les nouveaux paramètres suivants à
<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="" />
Si vous utilisez des URLs HTTP pour les opérations de fichier GraphQL et / ou Webhooks entrants (tels que l'envoi d'un paramètre d'action de fichier), vous devez mettre à jour les valeurs des paramètres
GraphqlInputFileAllowedHttpUrls
et HooksInputFileAllowedHttpUrls
. Voir les sections GraphQL Input file allowed HTTP URLs et Incoming Webhooks Input file allowed HTTP URLs dans le Guide d'intégration WorkflowGen pour plus d'informations (disponible en anglais seulement).Supprimez les paramètres obsolètes suivants de
<appSettings>
:XmlTransPreviousFilesCleanUp
MergeFormTempFilesLifeSpan
Ajoutez les nœuds suivants après les nœuds
<location>
existants dans \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>
Supprimez le nœud ci-dessous de
\wfgen\auth
, \wfgen\hooks
et \wfgen\scim
, si présent :<modules>
<remove name="ApplicationSecurityAuthenticationModule" />
</modules>
Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="PortalRedirectAllowedHttpUrls" value="" />
À partir de la version 7.15.5, les paramètres HTTP facultatifs
BACKURL_SUBMIT
et BACKURL_CANCEL
utilisés dans les URLs WorkflowGen personnalisées (par exemple, lors du lancement d'une nouvelle demande et du déclenchement de la première action sur un autre site Web) supportent UNIQUEMENT les URLs absolues (commençant par http://
ou https://
), les URLs relatives (commençant par /
) ou les URLs définies dans le paramètre de configuration PortalRedirectAllowedHttpUrls
(par exemple, value='blank.htm, myPage.htm'
).- 1.Modifiez la valeur par défaut de
RestApiClientRequestTimeout
de3000
à30000
millisecondes. - 2.Faites les modifications suivantes au fichier
web.config
de chaque composant Node.js (situés dans\wfgen\graphql
,\wfgen\hooks
,\wfgen\scim
et\wfgen\auth
) :- Changez le chemin du gestionnaire iisnode de
server.js
endist/server.js
. - Changez la propriété
url
de la règle de réécriture deserver.js
endist/server.js
.
Les modifications devraient ressembler à ceci :<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>
Ajoutez les nouveaux paramètres suivants à
<appSettings>
:<add key="AdministrationMaxHelpTextSize" value="10000" />
<add key="ApplicationSecurityAuthAdditionalScopes" value="" />
Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="ReportsTopProcessesNumber" value="10" />
- 1.Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="ValidationSettings:UnobtrusiveValidationMode" value="None" /> - 2.Ajoutez
targetFramework="4.6.1"
au nœuds __httpRuntime
des applications Web. Par exemple :<location path="." inheritInChildApplications="false"><system.web><httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.6.1" /></system.web></location><location path="wfapps/webforms" inheritInChildApplications="false"><system.web><httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.6.1" /><pages clientIDMode="AutoID" controlRenderingCompatibilityVersion="3.5" /></system.web></location><location path="ws" inheritInChildApplications="false"><system.web><httpRuntime requestValidationMode="2.0" maxRequestLength="10240" targetFramework="4.6.1" /></system.web></location>
Ajoutez les nouveaux paramètres suivants à
<appSettings>
:<add key="ApplicationSecurityAuthResponseMode" value="" />
<add key="ApplicationSecurityAuthDecodeAccessToken" value="" />
Ajoutez le nouveau paramètre suivant à
<appSettings>
:<add key="ExecSqlLogLevel" value="0" />
À partir de la version 7.22.0 de WorkflowGen, les valeurs de niveau de journalisation des applications de workflow GETUSERSFROMDIR, MERGEFORM, SENDHTTPPOST et RESTAPICLIENT existantes ont été modifiées à
0
pour aucune journalisation (par défaut), 2
pour les informations et 3
pour le débogage. Vous pouvez définir (ou redéfinir) les niveaux de journalisation en mettant à jour les valeurs des paramètres suivants en conséquence :<add key="GetUsersFromDirLogLevel" value="" />
<add key="MergeFormLogLevel" value="" />
<add key="SendHttpPostLogLevel" value="" />
<add key="RestApiClientLogLevel" value="" />
Supprimez les nœuds d'en-tête personnalisés
Access-Control-Allow-*
existants de location path="graphql"
(comme indiqué ci-dessous), car ils sont obsolètes à partir de la 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>
Si vous souhaitez configurer le partage de ressources cross-origin (CORS) pour l'accès à l'API GraphQL par une application tierce, vous devez maintenant suivre les instructions de la section Cross-origin resource sharing (CORS) dans le Guide d'intégration WorkflowGen (disponible en Anglais seulement).
Ajoutez les nouveaux paramètres suivant à
<appSettings>
<add key="RemoteApprovalAuthClientId" value="" />
<add key="RemoteApprovalAuthClientSecret" value="" />
<add key="RemoteApprovalAuthScope" value="" />
<add key="RemoteApprovalAuthAccessTokenUri" value="" />
Dans WorkflowGen version 7, vous devez supprimer l’attribut xmlns dans les fichiers de configuration suivants :
\wfgen\web.config
\wfgen\ws\web.config
\wfgen\WfApps\WebForms\web.config
DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgWorkflowEngineServer.exe.config
DISQUE:\Program Files\Advantys\WorkflowGen\Services\bin\WfgDirectoriesSyncService.exe.config
Pour ce faire, remplacez
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
par <configuration>
.À partir de la version 7.21.0, vous devez configurer votre site Web racine WorkflowGen (p.ex,
https://serveur
) pour se rediriger automatiquement vers l'application Web https://serveur/wfgen
. Pour ce faire, suivez la procédure ci-dessous :- 1.
- 2.Créez ou mettez à jour le fichier
web.config
dans le dossier racine de votre site Web (p.ex.DISQUE:\inetpub\wwwroot\web.config
).⚠️ Attention : Il ne s'agit pas du même fichierweb.config
que le fichierweb.config
principal de WorkflowGen (situé dansDISQUE:\inetpub\wwwroot\wfgen\web.config
). - 3.Définissez le nœud de la règle de réécriture comme indiq