{
  "_class" : "org.jenkinsci.plugins.workflow.job.WorkflowRun",
  "actions" : [
    {
      "_class" : "hudson.model.ParametersAction",
      "parameters" : [
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "SKIP_TEST",
          "value" : false
        },
        {
          "_class" : "hudson.model.BooleanParameterValue",
          "name" : "SKIP_QUALITY",
          "value" : false
        }
      ]
    },
    {
      "_class" : "hudson.model.CauseAction",
      "causes" : [
        {
          "_class" : "hudson.model.Cause$UserIdCause",
          "shortDescription" : "Démarré par l'utilisateur Miguel Moquillon",
          "userId" : "mmoquillon",
          "userName" : "Miguel Moquillon"
        }
      ]
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.libs.LibrariesAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.cps.EnvActionImpl"
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1152,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "c8dc7ef50e04c1b811eb42acbb89b17d98f982d7",
            "branch" : [
              {
                "SHA1" : "c8dc7ef50e04c1b811eb42acbb89b17d98f982d7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "c8dc7ef50e04c1b811eb42acbb89b17d98f982d7",
            "branch" : [
              {
                "SHA1" : "c8dc7ef50e04c1b811eb42acbb89b17d98f982d7",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "c8dc7ef50e04c1b811eb42acbb89b17d98f982d7",
        "branch" : [
          {
            "SHA1" : "c8dc7ef50e04c1b811eb42acbb89b17d98f982d7",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Silverpeas/Jenkins-Pipelines.git"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/sonarqube" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 261,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "96a3a41e61a0a59a294dd74fce10884c559e77f4",
            "branch" : [
              {
                "SHA1" : "96a3a41e61a0a59a294dd74fce10884c559e77f4",
                "name" : "refs/remotes/origin/sonarqube"
              }
            ]
          },
          "revision" : {
            "SHA1" : "96a3a41e61a0a59a294dd74fce10884c559e77f4",
            "branch" : [
              {
                "SHA1" : "96a3a41e61a0a59a294dd74fce10884c559e77f4",
                "name" : "refs/remotes/origin/sonarqube"
              }
            ]
          }
        },
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1152,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
            "branch" : [
              {
                "SHA1" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
            "branch" : [
              {
                "SHA1" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
        "branch" : [
          {
            "SHA1" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Silverpeas/Silverpeas-Core"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1152,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
            "branch" : [
              {
                "SHA1" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
            "branch" : [
              {
                "SHA1" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
        "branch" : [
          {
            "SHA1" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Silverpeas/Silverpeas-Components"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1152,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "42983534eda853f561eb09be5cd5401300124d7a",
            "branch" : [
              {
                "SHA1" : "42983534eda853f561eb09be5cd5401300124d7a",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "42983534eda853f561eb09be5cd5401300124d7a",
            "branch" : [
              {
                "SHA1" : "42983534eda853f561eb09be5cd5401300124d7a",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "42983534eda853f561eb09be5cd5401300124d7a",
        "branch" : [
          {
            "SHA1" : "42983534eda853f561eb09be5cd5401300124d7a",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Silverpeas/Silverpeas-Looks"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1152,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
            "branch" : [
              {
                "SHA1" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
            "branch" : [
              {
                "SHA1" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
        "branch" : [
          {
            "SHA1" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Silverpeas/Silverpeas-Setup"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1152,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
            "branch" : [
              {
                "SHA1" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
            "branch" : [
              {
                "SHA1" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
        "branch" : [
          {
            "SHA1" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Silverpeas/Silverpeas-Distribution"
      ],
      "scmName" : ""
    },
    {
      "_class" : "hudson.plugins.git.util.BuildData",
      "buildsByBranchName" : {
        "refs/remotes/origin/master" : {
          "_class" : "hudson.plugins.git.util.Build",
          "buildNumber" : 1152,
          "buildResult" : null,
          "marked" : {
            "SHA1" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
            "branch" : [
              {
                "SHA1" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
                "name" : "refs/remotes/origin/master"
              }
            ]
          },
          "revision" : {
            "SHA1" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
            "branch" : [
              {
                "SHA1" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
                "name" : "refs/remotes/origin/master"
              }
            ]
          }
        }
      },
      "lastBuiltRevision" : {
        "SHA1" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
        "branch" : [
          {
            "SHA1" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
            "name" : "refs/remotes/origin/master"
          }
        ]
      },
      "remoteUrls" : [
        "https://github.com/Silverpeas/Silverpeas-Assembly"
      ],
      "scmName" : ""
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.displayurlapi.actions.RunDisplayAction"
    },
    {
      "_class" : "org.jenkinsci.plugins.pipeline.modeldefinition.actions.RestartDeclarativePipelineAction"
    },
    {
      
    },
    {
      "_class" : "org.jenkinsci.plugins.workflow.job.views.FlowGraphAction"
    },
    {
      
    },
    {
      
    }
  ],
  "artifacts" : [
    
  ],
  "building" : false,
  "description" : null,
  "displayName" : "#1152",
  "duration" : 49666,
  "estimatedDuration" : 6050401,
  "executor" : null,
  "fullDisplayName" : "Silverpeas_Master_AutoDeploy #1152",
  "id" : "1152",
  "keepLog" : false,
  "number" : 1152,
  "queueId" : 60077,
  "result" : "FAILURE",
  "timestamp" : 1789749913229,
  "url" : "https://integration.silverpeas.org/jenkins/view/Continuous%20Autodeployment%20Build/job/Silverpeas_Master_AutoDeploy/1152/",
  "changeSets" : [
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "pom.xml"
          ],
          "commitId" : "5c2b298957ba0bb6981d51e5ba749e6e34f4c1a9",
          "timestamp" : 1789579462000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/devteam",
            "fullName" : "devteam"
          },
          "authorEmail" : "devteam@silverpeas.net",
          "comment" : "Update parent POM to version 2.0-build260915\u000a",
          "date" : "2026-09-16 19:24:22 +0200",
          "id" : "5c2b298957ba0bb6981d51e5ba749e6e34f4c1a9",
          "msg" : "Update parent POM to version 2.0-build260915",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "pom.xml"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "core-services/pdc/src/integration-test/resources/META-INF/services/test-org.silverpeas.kernel.BeanContainer",
            "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/NeedWindowTag.java",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/AbstractPdcSubscriptionUserNotification.java",
            "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle_de.properties",
            "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/up003/alter_table.sql",
            "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/003/create_table.sql",
            "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/002/create_constraint.sql",
            "core-war/src/main/java/org/silverpeas/web/pdcsubscription/control/PdcSubscriptionData.java",
            "core-services/pdc/src/integration-test/resources/META-INF/test-MANIFEST.MF",
            "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/004/create_table.sql",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionDAO.java",
            "core-war/src/main/java/org/silverpeas/web/pdcsubscription/control/PdcSubscriptionSessionController.java",
            "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/002/create_table.sql",
            "core-library/src/main/java/org/silverpeas/core/contribution/publication/datereminder/PublicationDateReminderUserNotification.java",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionManager.java",
            "core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/notification/AbstractReplacementNotificationBuilder.java",
            "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/up003/alter_table.sql",
            "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/003/create_table.sql",
            "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/browsebars/BrowseBarElementTag.java",
            "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle.properties",
            "core-war/src/main/webapp/pdcPeas/jsp/checkAdvancedSearch.jsp",
            "core-services/pdc/src/test/java/org/silverpeas/core/pdc/subscription/service/DefaultPdcSubscriptionServiceTest.java",
            "core-library/src/main/java/org/silverpeas/core/notification/user/builder/AbstractUserNotificationBuilder.java",
            "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/003/create_constraint.sql",
            "core-web/src/main/java/org/silverpeas/core/web/sharing/notification/FileSharingUserNotification.java",
            "core-configuration/src/main/config/migrations/modules/pdcSubscription-migration.xml",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/PdcSubscriptionInitialization.java",
            "core-web/src/main/resources/META-INF/viewGenerator.tld",
            "core-services/pdc/src/integration-test/resources/org/silverpeas/jobStartPagePeas/settings/jobStartPagePeasSettings.properties",
            "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/002/create_table.sql",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcResourceClassificationUserNotification.java",
            "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/002/create_constraint.sql",
            "core-war/src/main/webapp/pdcPeas/jsp/pdc.jsp",
            "core-library/src/main/java/org/silverpeas/core/socialnetwork/invitation/AbstractInvitationUserNotification.java",
            "core-war/src/main/java/org/silverpeas/web/subscription/control/SubscriptionSessionController.java",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/model/PdcSubscriptionPositionCriteria.java",
            "core-war/src/main/java/org/silverpeas/web/subscription/servlets/SubscriptionRequestRouter.java",
            "core-war/src/main/java/org/silverpeas/web/pdcsubscription/control/SubscriptionCategoryWebManager.java",
            "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/browsebars/BrowseBarTag.java",
            "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle_fr.properties",
            "core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/notification/UserNotificationBuilder.java",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/model/PdcSubscription.java",
            "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/check.jsp",
            "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/StubbedGroupProvider.java",
            "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/004/create_constraint.sql",
            "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/003/create_table.sql",
            "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/StubbedOrganizationController.java",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/pdc/model/AxisValueCriterion.java",
            "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/002/create_table.sql",
            "core-services/pdc/src/integration-test/resources/arquillian.xml",
            "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/002/create_table.sql",
            "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/003/create_constraint.sql",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionDeletionUserNotification.java",
            "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/004/create_table.sql",
            "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/003/create_table.sql",
            "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/003/create_constraint.sql",
            "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/003/create_constraint.sql",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionService.java",
            "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/StubbedUserProvider.java",
            "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/004/create_constraint.sql",
            "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/002/create_constraint.sql",
            "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscription.jsp",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/DefaultPdcSubscriptionService.java",
            "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/002/create_constraint.sql",
            "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/up003/alter_table.sql",
            "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/WarBuilder4Pdc.java",
            "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionServiceIT.java",
            "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/004/create_table.sql",
            "core-services/pdc/src/integration-test/resources/org/silverpeas/lookAndFeel/generalLook.properties",
            "core-services/pdc/src/integration-test/resources/create-database.sql",
            "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/004/create_constraint.sql",
            "core-services/comment/src/main/java/org/silverpeas/core/comment/service/CommentUserNotification.java",
            "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle_en.properties",
            "core-services/pdc/src/integration-test/resources/org/silverpeas/util/logging/silverpeasLogging.properties",
            "core-war/src/main/webapp/pdcPeas/jsp/checkPdc.jsp",
            "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/browsebars/BrowseBarLanguageSelectorTag.java",
            "core-library/src/main/java/org/silverpeas/core/calendar/notification/user/AbstractCalendarUserNotificationBuilder.java",
            "core-web/src/main/java/org/silverpeas/core/web/tools/agenda/notification/AgendaUserNotification.java",
            "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/model/PdcSubscriptionConstants.java",
            "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/004/create_table.sql",
            "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscriptionList.jsp",
            "core-war/src/main/webapp/subscription/jsp/subscriptionpanel.jsp",
            "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/up003/alter_table.sql",
            "core-war/src/main/java/org/silverpeas/web/pdcsubscription/servlets/PdcSubscriptionPeasRequestRouter.java",
            "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/004/create_constraint.sql",
            "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/viewSubscriptionsOfCategory.jsp"
          ],
          "commitId" : "497d775d1846f653436ebb77726bb282572deda8",
          "timestamp" : 1789726241000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@gmail.com",
          "comment" : "Feature #15409\u000a\u000aThe goal of the feature is to allow forced subscriptions on positions\u000ain the PdC for one or more users (and groups of users) and this by an\u000aadministrator or by a PdC manager.\u000a\u000aThe first step was to modernize the concerned JSPs by using both our\u000acustom and Jakarta standard JSTL tags libs. Then it was to carry navigational\u000acontextual information like, for example, in which context the subscriptions\u000aon positions in the PdC have to be managed: either for the user himself\u000aor for several users (forced subscriptions). In the first case the\u000asubscriptions is done in the self subscription window of the user, in the\u000asecond case the subscriptions are done through the PdC window in the\u000abackoffice. So, in this way, we can adapt the behavior of the PdC\u000asubscriptions window according to the navigational scope.\u000a\u000aThe second step was an attempt of reusing and then enhancing a little the\u000aexisting PdC subscriptions mechanism (and hence the business and technical\u000aobjects).\u000aUnfortunately, it isn't sufficient. The feature requires some important\u000arefactoring and the target of such a refactoring is to reuse the\u000aexisting resource subscriptions mechanism.\u000a\u000aThis is why the subscriptions on the PdC has been refactored so that they\u000aare taken in charge by the subscription API of Silverpeas instead of by\u000atheir own mechanism. This is required to bring the forced subscriptions\u000ato the PdC without duplicating what the resource subscriptions already\u000acarry.\u000a\u000aA subscription on a position of some axis in the PdC is no more than\u000adefining the criteria on the axis' values of the PdC. When the\u000aclassification in the PdC of a contribution matches the criteria, the\u000asubscribed users and groups of users will be notified about any\u000amodification, the deletion or the creation of such a contribution.\u000aCiteria on a position on the axis of the PdC is now reified as a\u000aPdcSubscriptionPositionCriteria, a SubscriptionResource of type PDC\u000aregistered into the SubscriptionFactory, and PdcSubscription becomes an\u000aAbstractSubscription on it. SB_PDC_Subscription hence only defines the\u000acriteria of a position; the subscriptions themselves are moved to the\u000asubscribe table, the forced flag giving way to the SELF_CREATION and\u000aFORCED subscription methods. Existing subscriptions are transferred by\u000athe migration script.\u000a\u000aAs a consequence, groups of users are now supported: the subscribers of\u000acriteria of a position are resolved through the subscription API, which\u000aexpands the groups into users. The notifications are therefore built for\u000aseveral recipients at once and in each of the languages of the platform.\u000a\u000aThe instance identifier of criteria on a position is set to \"-\" and not\u000aleft empty: the column is non-nullable and Oracle stores an empty string\u000aas a null value. The subscriptions forced from the window of the PdC get\u000aan explicit FORCED method so that a manager subscribing himself doesn't\u000amake his own set of positions drop out of the list.\u000a\u000aThe window of the PdC gets the edition of a forced subscription with its\u000asubscribers, designated through the user panel.\u000a\u000aThe forced subscriptions on the PdC are visible to the users concerned\u000aby those subscriptions in their \"My subscriptions\" personal tool. But,\u000athey won't have to capability of deleting or modifying them, even they\u000aare an administrator or a PdC manager.\u000a\u000aA unit test and an integration test has been added to cover the behavior\u000aof the PdC subscriptions.\u000a",
          "date" : "2026-09-18 12:10:41 +0200",
          "id" : "497d775d1846f653436ebb77726bb282572deda8",
          "msg" : "Feature #15409",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionService.java"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/002/create_table.sql"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/004/create_constraint.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/PdcSubscriptionInitialization.java"
            },
            {
              "editType" : "edit",
              "file" : "core-web/src/main/java/org/silverpeas/core/web/tools/agenda/notification/AgendaUserNotification.java"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/002/create_table.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/model/PdcSubscriptionConstants.java"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/AbstractPdcSubscriptionUserNotification.java"
            },
            {
              "editType" : "edit",
              "file" : "core-web/src/main/resources/META-INF/viewGenerator.tld"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/004/create_constraint.sql"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/002/create_constraint.sql"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/up003/alter_table.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/resources/META-INF/test-MANIFEST.MF"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/003/create_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/pdc/model/AxisValueCriterion.java"
            },
            {
              "editType" : "edit",
              "file" : "core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/notification/AbstractReplacementNotificationBuilder.java"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/002/create_constraint.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscription.jsp"
            },
            {
              "editType" : "edit",
              "file" : "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/browsebars/BrowseBarElementTag.java"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/resources/org/silverpeas/lookAndFeel/generalLook.properties"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/002/create_table.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/resources/META-INF/services/test-org.silverpeas.kernel.BeanContainer"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/004/create_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-library/src/main/java/org/silverpeas/core/notification/user/builder/AbstractUserNotificationBuilder.java"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/DefaultPdcSubscriptionService.java"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/StubbedUserProvider.java"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/003/create_constraint.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionDeletionUserNotification.java"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcPeas/jsp/checkPdc.jsp"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/002/create_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/browsebars/BrowseBarTag.java"
            },
            {
              "editType" : "edit",
              "file" : "core-library/src/main/java/org/silverpeas/core/contribution/publication/datereminder/PublicationDateReminderUserNotification.java"
            },
            {
              "editType" : "add",
              "file" : "core-war/src/main/java/org/silverpeas/web/pdcsubscription/control/PdcSubscriptionData.java"
            },
            {
              "editType" : "edit",
              "file" : "core-library/src/main/java/org/silverpeas/core/socialnetwork/invitation/AbstractInvitationUserNotification.java"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/java/org/silverpeas/web/subscription/servlets/SubscriptionRequestRouter.java"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/003/create_constraint.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle_fr.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcPeas/jsp/pdc.jsp"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/up003/alter_table.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/StubbedOrganizationController.java"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/WarBuilder4Pdc.java"
            },
            {
              "editType" : "edit",
              "file" : "core-services/comment/src/main/java/org/silverpeas/core/comment/service/CommentUserNotification.java"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/subscription/jsp/subscriptionpanel.jsp"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/003/create_constraint.sql"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/up003/alter_table.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionServiceIT.java"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/003/create_constraint.sql"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/003/create_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-web/src/main/java/org/silverpeas/core/web/sharing/notification/FileSharingUserNotification.java"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/002/create_constraint.sql"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/h2/pdcSubscription/002/create_constraint.sql"
            },
            {
              "editType" : "add",
              "file" : "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/browsebars/BrowseBarLanguageSelectorTag.java"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/resources/arquillian.xml"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/model/PdcSubscription.java"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcResourceClassificationUserNotification.java"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/java/org/silverpeas/web/pdcsubscription/control/SubscriptionCategoryWebManager.java"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/up003/alter_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/check.jsp"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/004/create_table.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/resources/create-database.sql"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/003/create_table.sql"
            },
            {
              "editType" : "delete",
              "file" : "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/003/create_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/java/org/silverpeas/web/pdcsubscription/servlets/PdcSubscriptionPeasRequestRouter.java"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/migrations/modules/pdcSubscription-migration.xml"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionManager.java"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscriptionList.jsp"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/004/create_constraint.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/test/java/org/silverpeas/core/pdc/subscription/service/DefaultPdcSubscriptionServiceTest.java"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle_de.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcPeas/jsp/checkAdvancedSearch.jsp"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/oracle/pdcSubscription/004/create_constraint.sql"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/model/PdcSubscriptionPositionCriteria.java"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/postgresql/pdcSubscription/004/create_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-web/src/main/java/org/silverpeas/core/web/util/viewgenerator/html/NeedWindowTag.java"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/resources/org/silverpeas/jobStartPagePeas/settings/jobStartPagePeasSettings.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-library/src/main/java/org/silverpeas/core/calendar/notification/user/AbstractCalendarUserNotificationBuilder.java"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/multilang/pdcSubscriptionBundle_en.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-services/pdc/src/main/java/org/silverpeas/core/pdc/subscription/service/PdcSubscriptionDAO.java"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/viewSubscriptionsOfCategory.jsp"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/resources/org/silverpeas/util/logging/silverpeasLogging.properties"
            },
            {
              "editType" : "add",
              "file" : "core-configuration/src/main/config/migrations/db/mssql/pdcSubscription/004/create_table.sql"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/java/org/silverpeas/web/subscription/control/SubscriptionSessionController.java"
            },
            {
              "editType" : "add",
              "file" : "core-services/pdc/src/integration-test/java/org/silverpeas/core/pdc/subscription/test/StubbedGroupProvider.java"
            },
            {
              "editType" : "edit",
              "file" : "core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/notification/UserNotificationBuilder.java"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/java/org/silverpeas/web/pdcsubscription/control/PdcSubscriptionSessionController.java"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "core-war/src/main/webapp/util/styleSheets/silverpeas-main.css",
            "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/settings/pdcSubscriptionPeasIcons.properties",
            "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscriptionList.jsp",
            "core-war/src/main/webapp/util/icons/create-action/add-subscription.png"
          ],
          "commitId" : "4c36334d6f251c1038ce55e334619d605e61d2c3",
          "timestamp" : 1789726241000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@gmail.com",
          "comment" : "Design details about feature #15409\u000a\u000aJust want to personalize the \"create action\"\u000aAnd give a differenciation between button final action et secondary (like selected users)\u000a",
          "date" : "2026-09-18 12:10:41 +0200",
          "id" : "4c36334d6f251c1038ce55e334619d605e61d2c3",
          "msg" : "Design details about feature #15409",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/pdcSubscriptionPeas/settings/pdcSubscriptionPeasIcons.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscriptionList.jsp"
            },
            {
              "editType" : "add",
              "file" : "core-war/src/main/webapp/util/icons/create-action/add-subscription.png"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/util/styleSheets/silverpeas-main.css"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle_en.properties",
            "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscriptionList.jsp",
            "core-war/src/main/java/org/silverpeas/web/jobmanager/control/JobManagerPeasSessionController.java",
            "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle.properties",
            "core-war/src/main/webapp/pdcPeas/jsp/pdc.jsp",
            "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle_de.properties",
            "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle_fr.properties"
          ],
          "commitId" : "9617c05be1c35a46217f136e6e80be9ab7d8ec48",
          "timestamp" : 1789726241000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@gmail.com",
          "comment" : "Feature #15409 Now the PdC forced subscriptions editor is a tab in the\u000aPdC tool of the backoffice.\u000a",
          "date" : "2026-09-18 12:10:41 +0200",
          "id" : "9617c05be1c35a46217f136e6e80be9ab7d8ec48",
          "msg" : "Feature #15409 Now the PdC forced subscriptions editor is a tab in the",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcPeas/jsp/pdc.jsp"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/java/org/silverpeas/web/jobmanager/control/JobManagerPeasSessionController.java"
            },
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/pdcSubscriptionPeas/jsp/subscriptionList.jsp"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle_de.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle_fr.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/jobManagerPeas/multilang/jobManagerPeasBundle_en.properties"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "core-configuration/src/main/config/properties/org/silverpeas/notificationManager/settings/notificationManagerSettings.properties",
            "core-api/src/main/java/org/silverpeas/core/notification/sse/SilverpeasServerEventContext.java",
            "core-library/src/test/java/org/silverpeas/core/notification/sse/ServerEventWithWebsocketContextDispatcherTaskTest.java",
            "core-war/src/main/webapp/util/javaScript/silverpeas-layout.js",
            "core-library/src/test/java/org/silverpeas/core/notification/sse/AbstractServerEventDispatcherTaskTest.java",
            "core-api/src/main/java/org/silverpeas/core/notification/sse/SilverpeasWebSocketContext.java"
          ],
          "commitId" : "c65a0f5333619466510c0f95c09091dee569cce4",
          "timestamp" : 1789738519000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "In our Intranet running by Silverpeas, we have enabled SSE. But we\u000acaught a lot of warning messages like this one:\u000a\u000a```\u000aWARNING [silverpeas.core.notification.sse] (default task-3848) Error org.xnio.channels.ReadTimeoutException: UT000199: Read timed out after 90002 milliseconds. with session 2gev2Q2iCc5yylZs-dA7iE-bvtbrHKhyAvcK1fOy\u000a```\u000a\u000aThe reason is our SSE is totally silent in client -> server way.\u000a\u000aThe Silverpeas WebSockets carrying the server events were closed by the WEB\u000aserver each time a read inactivity timeout was reached. Contrary to the SSE\u000acommunication over HTTP, a client never sends anything over such a WebSocket,\u000aso nothing kept the connection alive: each of them was closed and reopened in\u000aa loop, flooding the logs with read timeout warnings and making the features\u000arelying on the server events flaky.\u000aSilverpeasWebSocketContext implements now sendHeartbeatIfEnabled() by sending\u000aa ping frame. As a client answers such a frame by a pong one, the inbound\u000atraffic it generates refreshes both the timeouts of the WEB server (the\u000aread-timeout of the Undertow listener) and those of any network device\u000astanding between the client and the server. The connections which are\u000aactually broken are detected sooner as well, the context being unregistered\u000aas soon as the ping fails. No new JOB is required: ServerEventJobInitializer\u000atriggers already the heartbeat of every context every\u000anotification.sse.job.trigger seconds (45s by default). This value MUST now be\u000akept lower than any such timeout, as documented in\u000anotificationManagerSettings.properties.\u000aOn the client side, the identifier of the last event received was carried by\u000athe error context of SilverpeasEventSource, which is reinitialized on each\u000asuccessful (re)connection. The Last-Event-ID parameter was therefore lost as\u000asoon as a reconnection occurred and the events emitted while the client was\u000adisconnected were never sent again. This identifier is kept now by the\u000acontext itself.\u000aThe heartbeat over a WebSocket is covered by two new unit tests in\u000aServerEventWithWebSocketContextDispatcherTaskTest.\u000a",
          "date" : "2026-09-18 15:35:19 +0200",
          "id" : "c65a0f5333619466510c0f95c09091dee569cce4",
          "msg" : "In our Intranet running by Silverpeas, we have enabled SSE. But we",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "core-war/src/main/webapp/util/javaScript/silverpeas-layout.js"
            },
            {
              "editType" : "edit",
              "file" : "core-api/src/main/java/org/silverpeas/core/notification/sse/SilverpeasServerEventContext.java"
            },
            {
              "editType" : "edit",
              "file" : "core-configuration/src/main/config/properties/org/silverpeas/notificationManager/settings/notificationManagerSettings.properties"
            },
            {
              "editType" : "edit",
              "file" : "core-library/src/test/java/org/silverpeas/core/notification/sse/ServerEventWithWebsocketContextDispatcherTaskTest.java"
            },
            {
              "editType" : "edit",
              "file" : "core-api/src/main/java/org/silverpeas/core/notification/sse/SilverpeasWebSocketContext.java"
            },
            {
              "editType" : "edit",
              "file" : "core-library/src/test/java/org/silverpeas/core/notification/sse/AbstractServerEventDispatcherTaskTest.java"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "core-api/src/main/java/org/silverpeas/core/persistence/jdbc/DBUtil.java",
            "core-library/src/integration-test/java/org/silverpeas/core/util/DBUtilIT.java"
          ],
          "commitId" : "60f25a444b880dc2eae41def010fbc178fa42362",
          "timestamp" : 1789747139000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Fix a deadlock in the computation of a new numeric identifier\u000a\u000aWhen a resource was created within a transaction, the computation of its identifier was performed\u000ain a nested transaction (REQUIRES_NEW). With a non-XA datasource such a nested transaction cannot\u000abe reliably isolated from the enclosing one: the lock on the row of the UniqueId table ended up\u000abeing held by the enclosing transaction until its completion, whereas a subsequent computation,\u000agetting another connection from the pool, was waiting for that very lock. Neither the JVM (no\u000acycle of monitors) nor the DBMS (the owner of the lock waiting for nothing) can detect such a\u000adeadlock; it was broken only by the expiration of the transaction timeout, one hour later in the\u000areported case.\u000a\u000a* The computation of the next identifier value is now performed within the transaction of the\u000a  caller: asking for such a value means a resource is being created, and hence the computation is\u000a  part of this creation. Both have to succeed or to fail together. A concurrent computation isn't\u000a  an issue as it is detected by the clause of the update statement and not by an exception, and\u000a  therefore it cannot doom the transaction of the caller.\u000a* The registering of a new identifier name keeps its own transaction: under concurrency, all the\u000a  server processes but one get a primary key violation, and such an expected conflict must not\u000a  doom the transaction of the caller. It occurs only once for a given identifier name in the whole\u000a  life of a Silverpeas instance.\u000a* The JVM-wide lock guarding the computation is removed. Concurrency is already handled by the\u000a  clause of the update statement, exactly as it is between the servers of a cluster. Holding a\u000a  monitor across a database round trip froze every thread of the application needing an identifier\u000a  as soon as the row was locked; a user request was blocked 54 minutes in the reported case.\u000a* The SQLException raised while accessing the UniqueId table isn't swallowed anymore. It was\u000a  interpreted as an identifier name not yet registered, leading to an INSERT violating the primary\u000a  key and logged as a misleading warning, this up to a hundred times per computation. Such a\u000a  failure is now reported with its cause.\u000a\u000aBoth transactional choices are now documented in the code, as is the expectation of\u000aDBUtilIT#nextUniqueIdNotUpdatedIfRollbackIsPerformed.\u000a",
          "date" : "2026-09-18 17:58:59 +0200",
          "id" : "60f25a444b880dc2eae41def010fbc178fa42362",
          "msg" : "Fix a deadlock in the computation of a new numeric identifier",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "core-api/src/main/java/org/silverpeas/core/persistence/jdbc/DBUtil.java"
            },
            {
              "editType" : "edit",
              "file" : "core-library/src/integration-test/java/org/silverpeas/core/util/DBUtilIT.java"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/instance/ProcessInstanceImpl.java"
          ],
          "commitId" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
          "timestamp" : 1789747159000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Stop reporting as an error each non WYSIWYG field of an action form\u000a\u000aThe check of the WYSIWYG data logged, in its else branch, the error message meant for a field that\u000acannot be retrieved from the action data. Hence any field whose displayer isn't a WYSIWYG one was\u000areported as an error: performing a simple workflow action produced a burst of SEVERE traces, one\u000aper field of the form. The condition on the nullity of the field is restored.\u000a",
          "date" : "2026-09-18 17:59:19 +0200",
          "id" : "3230261df7221ec208496c4fc6d493c2bce1ab09",
          "msg" : "Stop reporting as an error each non WYSIWYG field of an action form",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "core-services/workflow/src/main/java/org/silverpeas/core/workflow/engine/instance/ProcessInstanceImpl.java"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "pom.xml"
          ],
          "commitId" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
          "timestamp" : 1789579472000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/devteam",
            "fullName" : "devteam"
          },
          "authorEmail" : "devteam@silverpeas.net",
          "comment" : "Update parent POM to version 2.0-build260915\u000a",
          "date" : "2026-09-16 19:24:32 +0200",
          "id" : "246a7c5f20d80e4b03e946cabecb8c74c671b9dc",
          "msg" : "Update parent POM to version 2.0-build260915",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "pom.xml"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "pom.xml"
          ],
          "commitId" : "42983534eda853f561eb09be5cd5401300124d7a",
          "timestamp" : 1789579481000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/devteam",
            "fullName" : "devteam"
          },
          "authorEmail" : "devteam@silverpeas.net",
          "comment" : "Update parent POM to version 2.0-build260915\u000a",
          "date" : "2026-09-16 19:24:41 +0200",
          "id" : "42983534eda853f561eb09be5cd5401300124d7a",
          "msg" : "Update parent POM to version 2.0-build260915",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "pom.xml"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/main/resources/default_config.properties",
            "src/main/groovy/org/silverpeas/setup/SilverpeasSetupPlugin.groovy"
          ],
          "commitId" : "ac87b7f88de3f9d8874741da07750dcc1202a666",
          "timestamp" : 1789747201000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Add the settings required to validate the pooled connections\u000a\u000a* DB_VALIDATION_SQL is computed from DB_SERVERTYPE as the validation query is database system\u000a  dependent: SELECT 1 for MSSQL, PostgreSQL and H2, SELECT 1 FROM DUAL for Oracle.\u000a* DB_VALIDATION_INTERVAL defines the period, in milliseconds, at which the connections are\u000a  validated in background. It defaults to 60000.\u000a\u000aBoth settings are expected by the silverpeas-ds.cli script of Silverpeas-Distribution.\u000a",
          "date" : "2026-09-18 18:00:01 +0200",
          "id" : "ac87b7f88de3f9d8874741da07750dcc1202a666",
          "msg" : "Add the settings required to validate the pooled connections",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/main/resources/default_config.properties"
            },
            {
              "editType" : "edit",
              "file" : "src/main/groovy/org/silverpeas/setup/SilverpeasSetupPlugin.groovy"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/main/resources/default_config.properties",
            "src/main/groovy/org/silverpeas/setup/construction/SilverpeasBuilder.groovy",
            "src/main/groovy/org/silverpeas/setup/configuration/JBossConfigurationTask.groovy",
            "src/main/groovy/org/silverpeas/setup/SilverpeasSetupPlugin.groovy"
          ],
          "commitId" : "ed5ef4f44af82752151cfb2410004ccba7494386",
          "timestamp" : 1789748452000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Support the Microsoft JDBC driver and the encryption of the database connections\u000a\u000aThe jTDS driver is replaced by the Microsoft one for SQL Server. The name of the driver being\u000ahardcoded in the installer to identify its jar among the delivered bundles, it is updated both in\u000athe extraction of the software bundles and in the deployment of the driver into Wildfly. The URL\u000aof the connections to SQL Server is rewritten accordingly: the database is now designated by the\u000adatabaseName parameter and no more by the path of the URL.\u000a\u000aBecause the Microsoft driver expects an encrypted connection since its version 10 whereas jTDS\u000anever encrypted anything, the encryption has to be explicitly set, otherwise any installation\u000awhose SQL Server has no trusted certificate would stop working. Instead of hardcoding it, two\u000asettings are introduced:\u000a* DB_ENCRYPT requires the connections to the database to be encrypted. It is supported for MSSQL,\u000a  POSTGRESQL and, in server mode only, H2. It isn't supported for ORACLE in which the encryption\u000a  is configured by the Oracle Net settings of the client and not by the connection URL. When it is\u000a  false, nothing is required from the server but SQL Server, for the reason above; in particular\u000a  PostgreSQL keeps its own default, in which an encrypted connection is tried first and a plain\u000a  one is used if the server doesn't support the encryption. Disabling it explicitly would be a\u000a  regression for the installations that are silently encrypted today.\u000a* DB_ENCRYPT_TRUST_SERVER_CERT accepts the certificate of the server without validating it, for\u000a  the installations willing to encrypt their connections without any PKI. The traffic is then\u000a  protected from eavesdropping but the identity of the server isn't checked.\u000a\u000aThe parameter sendStringParametersAsUnicode=false is kept and now documented: without it the\u000avarchar parameters are sent as nvarchar ones and SQL Server stops using the indexes on the varchar\u000acolumns.\u000a",
          "date" : "2026-09-18 18:20:52 +0200",
          "id" : "ed5ef4f44af82752151cfb2410004ccba7494386",
          "msg" : "Support the Microsoft JDBC driver and the encryption of the database connections",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/main/groovy/org/silverpeas/setup/SilverpeasSetupPlugin.groovy"
            },
            {
              "editType" : "edit",
              "file" : "src/main/resources/default_config.properties"
            },
            {
              "editType" : "edit",
              "file" : "src/main/groovy/org/silverpeas/setup/construction/SilverpeasBuilder.groovy"
            },
            {
              "editType" : "edit",
              "file" : "src/main/groovy/org/silverpeas/setup/configuration/JBossConfigurationTask.groovy"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/test/groovy/org/silverpeas/setup/configuration/SilverpeasConfigurationTaskTest.groovy"
          ],
          "commitId" : "98a1cad5cee79c1d35d76519d54ee36280a7be73",
          "timestamp" : 1789749735000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Fix the flakiness of SilverpeasConfigurationTaskTest\u000a\u000aBeside the expected value of each configured parameter, the test asserted the value had changed.\u000aBut the configuration is applied in place, on the resources of the build directory, and hence a\u000asubsequent execution of the test found them already configured: the value didn't change anymore\u000aand the assertion failed whereas the configuration did work. The test was then failing one\u000aexecution out of two.\u000a\u000aAll the assertions on the change of a value are removed; the ones on the expected value are enough\u000ato check the configuration has been applied, and they are idempotent. The assertions comparing a\u000avalue of the configuration before and after by equality are kept as they check a value is left\u000aunchanged, which isn't sensitive to the issue. A comment explains why such assertions must not be\u000areintroduced.\u000a",
          "date" : "2026-09-18 18:42:15 +0200",
          "id" : "98a1cad5cee79c1d35d76519d54ee36280a7be73",
          "msg" : "Fix the flakiness of SilverpeasConfigurationTaskTest",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/test/groovy/org/silverpeas/setup/configuration/SilverpeasConfigurationTaskTest.groovy"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/main/groovy/org/silverpeas/setup/SilverpeasSetupPlugin.groovy"
          ],
          "commitId" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
          "timestamp" : 1789749756000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Remove the computation of the connection URL to the database of the JCR\u000a\u000aSince the JCR is managed by Oak and its data stored by default into the filesystem by a segment\u000anode store, it has no database of its own anymore. The JCR_NAME setting from which the JCR_URL one\u000awas computed isn't documented anymore in the configuration of Silverpeas, and no code is consuming\u000aJCR_URL but the migration from a JCR managed by Jackrabbit 2, in which the data were stored into\u000athe database of Silverpeas itself.\u000a",
          "date" : "2026-09-18 18:42:36 +0200",
          "id" : "e19948115986a9e7647e4e02acfe87c02d4087f3",
          "msg" : "Remove the computation of the connection URL to the database of the JCR",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/main/groovy/org/silverpeas/setup/SilverpeasSetupPlugin.groovy"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/main/dist/configuration/sample_config.properties",
            "src/main/dist/configuration/jboss/silverpeas-ds.cli"
          ],
          "commitId" : "87963b2fe56552b7391c523be96ea7d93aa412db",
          "timestamp" : 1789747237000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Validate in background the connections of the Silverpeas datasource\u000a\u000a* The connections of the pool are now validated in background so that the dead or the stale ones\u000a  are evicted instead of being handed over to the application. Nothing detected them until now.\u000a* The connections aren't pooled by user anymore: Silverpeas accesses its datasource with a single\u000a  and fixed credential, and allow-multiple-users made the connection manager use a pooling\u000a  strategy by subject that is both useless here and far less exercised.\u000a* The new DB_VALIDATION_INTERVAL setting is documented in the sample configuration.\u000a\u000aRequires a version of Silverpeas-Setup in which DB_VALIDATION_SQL and DB_VALIDATION_INTERVAL are\u000adefined, otherwise the configuration fails on the unresolved variables of the CLI script.\u000a",
          "date" : "2026-09-18 18:00:37 +0200",
          "id" : "87963b2fe56552b7391c523be96ea7d93aa412db",
          "msg" : "Validate in background the connections of the Silverpeas datasource",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/main/dist/configuration/sample_config.properties"
            },
            {
              "editType" : "edit",
              "file" : "src/main/dist/configuration/jboss/silverpeas-ds.cli"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/main/dist/configuration/sample_config.properties"
          ],
          "commitId" : "074c9fef71e4f5bb792dcacef25e9ef2f39634da",
          "timestamp" : 1789748468000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Document the settings about the encryption of the database connections\u000a\u000aDB_ENCRYPT and DB_ENCRYPT_TRUST_SERVER_CERT are added to the sample configuration, with the\u000adatabase systems for which they are supported. Requires the version of Silverpeas-Setup defining\u000athem.\u000a",
          "date" : "2026-09-18 18:21:08 +0200",
          "id" : "074c9fef71e4f5bb792dcacef25e9ef2f39634da",
          "msg" : "Document the settings about the encryption of the database connections",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/main/dist/configuration/sample_config.properties"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "src/main/dist/configuration/silverpeas/01-jcrSettings.groovy"
          ],
          "commitId" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
          "timestamp" : 1789749778000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Use the database of Silverpeas to migrate a JCR managed by Jackrabbit 2\u000a\u000aThe JCR_URL, JCR_USER and JCR_PASSWORD settings, from which the access to the database of a JCR\u000amanaged by Jackrabbit 2 was figured out, aren't supported anymore: the JCR is now managed by Oak\u000aand it has no database of its own. The data of such a JCR were stored into the database of\u000aSilverpeas, and hence its own settings are now used directly.\u000a",
          "date" : "2026-09-18 18:42:58 +0200",
          "id" : "80a42db6bb19c41fd065b84d4e1a44a1f558bf8d",
          "msg" : "Use the database of Silverpeas to migrate a JCR managed by Jackrabbit 2",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "src/main/dist/configuration/silverpeas/01-jcrSettings.groovy"
            }
          ]
        }
      ],
      "kind" : "git"
    },
    {
      "_class" : "hudson.plugins.git.GitChangeSetList",
      "items" : [
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "pom.xml"
          ],
          "commitId" : "18f24eaf70fc17fb0673bfcb005556c02f8aaea5",
          "timestamp" : 1789579490000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/devteam",
            "fullName" : "devteam"
          },
          "authorEmail" : "devteam@silverpeas.net",
          "comment" : "Update parent POM to version 2.0-build260915\u000a",
          "date" : "2026-09-16 19:24:50 +0200",
          "id" : "18f24eaf70fc17fb0673bfcb005556c02f8aaea5",
          "msg" : "Update parent POM to version 2.0-build260915",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "pom.xml"
            }
          ]
        },
        {
          "_class" : "hudson.plugins.git.GitChangeSet",
          "affectedPaths" : [
            "pom.xml"
          ],
          "commitId" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
          "timestamp" : 1789748435000,
          "author" : {
            "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
            "fullName" : "Miguel Moquillon"
          },
          "authorEmail" : "miguel.moquillon@silverpeas.com",
          "comment" : "Deliver the Microsoft JDBC driver instead of the jTDS one\u000a\u000aThe version of jTDS isn't managed anymore by silverpeas-dependencies-bom, in which it has been\u000areplaced by com.microsoft.sqlserver:mssql-jdbc. Requires that version of the BOM to build.\u000a",
          "date" : "2026-09-18 18:20:35 +0200",
          "id" : "dda9f6bb34fab31a14e1855fa37a11b6ac3262c0",
          "msg" : "Deliver the Microsoft JDBC driver instead of the jTDS one",
          "paths" : [
            {
              "editType" : "edit",
              "file" : "pom.xml"
            }
          ]
        }
      ],
      "kind" : "git"
    }
  ],
  "culprits" : [
    {
      "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/devteam",
      "fullName" : "devteam"
    },
    {
      "absoluteUrl" : "https://integration.silverpeas.org/jenkins/user/mmoquillon",
      "fullName" : "Miguel Moquillon"
    }
  ],
  "inProgress" : false,
  "nextBuild" : null,
  "previousBuild" : {
    "number" : 1151,
    "url" : "https://integration.silverpeas.org/jenkins/view/Continuous%20Autodeployment%20Build/job/Silverpeas_Master_AutoDeploy/1151/"
  }
}