Changes for page XWiki Upgrade Services
Last modified by Agnease on 2026/05/25 16:11
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - XWikiUpgradeServices1 +xwiki-upgrades - Content
-
... ... @@ -1,18 +1,27 @@ 1 1 {{velocity}} 2 2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) 3 3 {{html clean="false"}} 4 + 4 4 ## PAGE HEADER 5 - <section class="hero hero-centered" aria-labelledby="hero-title"> 6 + <section class="hero hero-centered service-hero" aria-labelledby="hero-title"> 6 6 <div class="container hero-inner"> 7 7 <div class="hero-kicker"> 8 8 <i class="fa fa-refresh" aria-hidden="true"></i> 9 9 XWiki upgrade services 10 10 </div> 12 + 11 11 <h1 id="hero-title">Safe XWiki LTS upgrades for production environments</h1> 14 + 12 12 <p class="lead"> 13 - UpgradeXWiki safelywithaclearplan,compatibility checksand reducedproductionrisk,14 - evenforinstanceswith customextensions, integrationsandworkflows.16 + Keep your XWiki instance secure, stable and compatible with a planned upgrade path, clear validation steps 17 + and reduced operational risk. 15 15 </p> 19 + 20 + <p class="hero-support"> 21 + We help organizations upgrade XWiki instances that include custom extensions, authentication integrations, 22 + business-critical pages, workflows, scripts, rights configurations and production constraints. 23 + </p> 24 + 16 16 <div class="hero-actions"> 17 17 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request an upgrade review</a> 18 18 <a class="btn btn-secondary" href="#upgrade-process">See the upgrade approach</a> ... ... @@ -19,140 +19,165 @@ 19 19 </div> 20 20 </div> 21 21 </section> 31 + 22 22 ## WHY UPGRADES MATTER 23 - #set ($upgradeReasonItems = [{ 24 - 'title': 'Reduce security exposure', 25 - 'icon': 'shield', 26 - 'content': 'Staying close to supported XWiki versions helps reduce exposure to known vulnerabilities and missing fixes.', 27 - 'items': [ 28 - 'Review current version exposure', 29 - 'Plan upgrade to a supported version', 30 - 'Validate security-sensitive features' 31 - ] 32 - },{ 33 - 'title': 'Preserve compatibility', 34 - 'icon': 'cogs', 35 - 'content': 'Extensions, custom applications, authentication systems and infrastructure components need to remain compatible.', 36 - 'items': [ 37 - 'Check installed extensions', 38 - 'Review custom code and scripts', 39 - 'Validate integrations after upgrade' 40 - ] 41 - },{ 42 - 'title': 'Improve maintainability', 43 - 'icon': 'line-chart', 44 - 'content': 'Smaller, regular upgrades are usually easier to control than large jumps after years of accumulated changes.', 45 - 'items': [ 46 - 'Avoid long upgrade gaps', 47 - 'Document the current platform state', 48 - 'Prepare future upgrade cycles' 49 - ] 50 - }]) 51 51 <section aria-labelledby="why-upgrade-title"> 52 52 <div class="container"> 53 53 <h2 id="why-upgrade-title">Why regular XWiki upgrades matter</h2> 36 + 54 54 <p class="section-intro"> 55 55 An outdated XWiki instance can become harder to maintain over time. Security fixes, browser compatibility, 56 56 extension updates, platform changes and infrastructure requirements continue to evolve, while older versions 57 57 become more difficult and risky to upgrade. 58 58 </p> 42 + 59 59 <div class="pathways"> 60 - #foreach ($entry in $upgradeReasonItems) 61 - <article class="pathway-card"> 62 - <div class="card-heading"> 63 - <div class="pathway-icon"> 64 - <i class="fa fa-$entry.icon" aria-hidden="true"></i> 65 - </div> 66 - <h3>$entry.title</h3> 67 - </div> 44 + <article class="pathway-card"> 45 + <div class="pathway-icon"> 46 + <i class="fa fa-shield" aria-hidden="true"></i> 47 + </div> 48 + <h3>Reduce security exposure</h3> 49 + <p> 50 + Staying close to supported XWiki versions helps reduce exposure to known vulnerabilities and missing fixes. 51 + </p> 52 + <ul> 53 + <li>Review current version exposure</li> 54 + <li>Plan upgrade to a supported version</li> 55 + <li>Validate security-sensitive features</li> 56 + </ul> 57 + </article> 68 68 69 - <p>$entry.content</p> 59 + <article class="pathway-card"> 60 + <div class="pathway-icon"> 61 + <i class="fa fa-cogs" aria-hidden="true"></i> 62 + </div> 63 + <h3>Preserve compatibility</h3> 64 + <p> 65 + Extensions, custom applications, authentication systems and infrastructure components need to remain compatible. 66 + </p> 67 + <ul> 68 + <li>Check installed extensions</li> 69 + <li>Review custom code and scripts</li> 70 + <li>Validate integrations after upgrade</li> 71 + </ul> 72 + </article> 70 70 71 - <ul> 72 - #foreach ($item in $entry.items) 73 - <li>$item</li> 74 - #end 75 - </ul> 76 - </article> 77 - #end 74 + <article class="pathway-card"> 75 + <div class="pathway-icon"> 76 + <i class="fa fa-line-chart" aria-hidden="true"></i> 77 + </div> 78 + <h3>Improve maintainability</h3> 79 + <p> 80 + Smaller, regular upgrades are usually easier to control than large jumps after years of accumulated changes. 81 + </p> 82 + <ul> 83 + <li>Avoid long upgrade gaps</li> 84 + <li>Document the current platform state</li> 85 + <li>Prepare future upgrade cycles</li> 86 + </ul> 87 + </article> 78 78 </div> 79 79 </div> 80 80 </section> 91 + 81 81 ## COMMON SITUATIONS 82 - #set ($upgradeSituationItems = [{ 83 - 'title': 'Old XWiki versions', 84 - 'icon': 'clock-o', 85 - 'content': 'Instances that have not been upgraded for several months or years and require a careful upgrade path.' 86 - },{ 87 - 'title': 'Custom extensions and scripts', 88 - 'icon': 'puzzle-piece', 89 - 'content': 'Wikis with custom applications, Velocity scripts, macros, UI extensions, rights logic or business workflows.' 90 - },{ 91 - 'title': 'Authentication integrations', 92 - 'icon': 'lock', 93 - 'content': 'LDAP, Active Directory, SSO, OIDC, SAML, MFA or custom login setups that must keep working after upgrade.' 94 - },{ 95 - 'title': 'Infrastructure changes', 96 - 'icon': 'server', 97 - 'content': 'Java, Tomcat, database, Docker, filesystem, reverse proxy or hosting changes required by newer versions.' 98 - },{ 99 - 'title': 'Business-critical features', 100 - 'icon': 'file-pdf-o', 101 - 'content': 'PDF exports, dashboards, structured data, templates, permissions, notifications and workflows that need validation.' 102 - },{ 103 - 'title': 'Low-downtime rollout', 104 - 'icon': 'warning', 105 - 'content': 'Upgrade planning with backups, testing, rollback options and a controlled production deployment window.' 106 - }]) 107 107 <section class="services" aria-labelledby="situations-title"> 108 108 <div class="container"> 109 109 <h2 id="situations-title">Common situations we handle</h2> 96 + 110 110 <p class="section-intro"> 111 111 XWiki upgrades are often simple in clean environments, but production instances usually include additional 112 112 constraints that need to be understood before touching the live system. 113 113 </p> 101 + 114 114 <div class="services-grid"> 115 - #foreach ($entry in $upgradeSituationItems) 116 - <article class="service"> 117 - <div class="service-icon" aria-hidden="true"> 118 - <i class="fa fa-$entry.icon"></i> 119 - </div> 103 + <article class="service"> 104 + <div class="service-icon" aria-hidden="true"> 105 + <i class="fa fa-clock-o"></i> 106 + </div> 107 + <div class="service-body"> 108 + <h4>Old XWiki versions</h4> 109 + <p> 110 + Instances that have not been upgraded for several months or years and require a careful upgrade path. 111 + </p> 112 + </div> 113 + </article> 120 120 121 - <div class="service-body"> 122 - <h4>$entry.title</h4> 123 - <p>$entry.content</p> 124 - </div> 125 - </article> 126 - #end 115 + <article class="service"> 116 + <div class="service-icon" aria-hidden="true"> 117 + <i class="fa fa-puzzle-piece"></i> 118 + </div> 119 + <div class="service-body"> 120 + <h4>Custom extensions and scripts</h4> 121 + <p> 122 + Wikis with custom applications, Velocity scripts, macros, UI extensions, rights logic or business workflows. 123 + </p> 124 + </div> 125 + </article> 126 + 127 + <article class="service"> 128 + <div class="service-icon" aria-hidden="true"> 129 + <i class="fa fa-lock"></i> 130 + </div> 131 + <div class="service-body"> 132 + <h4>Authentication integrations</h4> 133 + <p> 134 + LDAP, Active Directory, SSO, OIDC, SAML, MFA or custom login setups that must keep working after upgrade. 135 + </p> 136 + </div> 137 + </article> 138 + 139 + <article class="service"> 140 + <div class="service-icon" aria-hidden="true"> 141 + <i class="fa fa-server"></i> 142 + </div> 143 + <div class="service-body"> 144 + <h4>Infrastructure changes</h4> 145 + <p> 146 + Java, Tomcat, database, Docker, filesystem, reverse proxy or hosting changes required by newer versions. 147 + </p> 148 + </div> 149 + </article> 150 + 151 + <article class="service"> 152 + <div class="service-icon" aria-hidden="true"> 153 + <i class="fa fa-file-pdf-o"></i> 154 + </div> 155 + <div class="service-body"> 156 + <h4>Business-critical features</h4> 157 + <p> 158 + PDF exports, dashboards, structured data, templates, permissions, notifications and workflows that need validation. 159 + </p> 160 + </div> 161 + </article> 162 + 163 + <article class="service"> 164 + <div class="service-icon" aria-hidden="true"> 165 + <i class="fa fa-warning"></i> 166 + </div> 167 + <div class="service-body"> 168 + <h4>Low-downtime rollout</h4> 169 + <p> 170 + Upgrade planning with backups, testing, rollback options and a controlled production deployment window. 171 + </p> 172 + </div> 173 + </article> 127 127 </div> 128 128 </div> 129 129 </section> 177 + 130 130 ## PROCESS 131 - #set ($upgradeProcessItems = [{ 132 - 'title': 'Review the current instance', 133 - 'content': 'Version, extensions, database, filesystem, authentication, custom code, logs and infrastructure constraints.' 134 - },{ 135 - 'title': 'Define the upgrade path', 136 - 'content': 'Target version, intermediate steps if needed, compatibility risks, expected downtime and rollback options.' 137 - },{ 138 - 'title': 'Prepare and validate', 139 - 'content': 'Backups, test upgrade when needed, extension checks and validation of critical XWiki features.' 140 - },{ 141 - 'title': 'Upgrade production', 142 - 'content': 'Controlled execution, post-upgrade checks, issue resolution and confirmation that key features still work.' 143 - },{ 144 - 'title': 'Document next steps', 145 - 'content': 'Upgrade notes, observed risks, remaining recommendations and future maintenance guidance.' 146 - }]) 147 147 <section id="upgrade-process" class="split-section" aria-labelledby="process-title"> 148 148 <div class="container"> 149 149 <div class="split-grid"> 150 150 <div class="split-copy"> 151 151 <h2 id="process-title">A practical upgrade approach</h2> 184 + 152 152 <p> 153 153 The goal is not only to install a newer version. The goal is to move your XWiki instance forward 154 154 while protecting the data, configuration, customizations and business processes that already depend on it. 155 155 </p> 189 + 156 156 <p> 157 157 The upgrade is always prepared outside production first, using a staging environment or a temporary clone 158 158 of the live instance. This allows compatibility issues, extension problems, authentication changes and ... ... @@ -159,67 +159,102 @@ 159 159 custom features to be validated before the controlled production rollout. 160 160 </p> 161 161 </div> 196 + 162 162 <ol class="process-list"> 163 - #foreach ($entry in $upgradeProcessItems) 164 - <li> 165 - <strong>$entry.title</strong> 166 - $entry.content 167 - </li> 168 - #end 198 + <li> 199 + <strong>Review the current instance</strong> 200 + Version, extensions, database, filesystem, authentication, custom code, logs and infrastructure constraints. 201 + </li> 202 + <li> 203 + <strong>Define the upgrade path</strong> 204 + Target version, intermediate steps if needed, compatibility risks, expected downtime and rollback options. 205 + </li> 206 + <li> 207 + <strong>Prepare and validate</strong> 208 + Backups, test upgrade when needed, extension checks and validation of critical XWiki features. 209 + </li> 210 + <li> 211 + <strong>Upgrade production</strong> 212 + Controlled execution, post-upgrade checks, issue resolution and confirmation that key features still work. 213 + </li> 214 + <li> 215 + <strong>Document next steps</strong> 216 + Upgrade notes, observed risks, remaining recommendations and future maintenance guidance. 217 + </li> 169 169 </ol> 170 170 </div> 171 171 </div> 172 172 </section> 222 + 173 173 ## DELIVERABLES 174 - #set ($upgradeDeliverableItems = [{ 175 - 'title': 'Upgrade review', 176 - 'icon': 'search', 177 - 'content': 'Review of the current version, installed extensions, customizations, authentication and hosting constraints.' 178 - },{ 179 - 'title': 'Upgrade plan', 180 - 'icon': 'map', 181 - 'content': 'Recommended target version, risk areas, validation checklist, downtime expectations and rollback approach.' 182 - },{ 183 - 'title': 'Post-upgrade validation', 184 - 'icon': 'check-circle', 185 - 'content': 'Verification of key pages, rights, authentication, extensions, jobs, PDFs, dashboards and custom applications.' 186 - },{ 187 - 'title': 'Upgrade notes', 188 - 'icon': 'file-text-o', 189 - 'content': 'Practical documentation of the performed work, important decisions and recommended follow-up actions.' 190 - }]) 191 191 <section aria-labelledby="deliverables-title"> 192 192 <div class="container"> 193 193 <h2 id="deliverables-title">What you can expect</h2> 227 + 194 194 <p class="section-intro"> 195 195 The exact scope depends on your XWiki version, hosting setup and customizations, but an upgrade engagement 196 196 usually includes a clear technical review, a controlled upgrade plan and post-upgrade validation. 197 197 </p> 232 + 198 198 <div class="widgets"> 199 - #foreach ($entry in $upgradeDeliverableItems) 200 - <article class="widget"> 201 - <div class="icon" aria-hidden="true"> 202 - <i class="fa fa-$entry.icon"></i> 203 - <h4>$entry.title</h4> 204 - </div> 205 - <p>$entry.content</p> 206 - </article> 207 - #end 234 + <article class="widget"> 235 + <div class="icon" aria-hidden="true"> 236 + <i class="fa fa-search"></i> 237 + <h4>Upgrade review</h4> 238 + </div> 239 + <p> 240 + Review of the current version, installed extensions, customizations, authentication and hosting constraints. 241 + </p> 242 + </article> 243 + 244 + <article class="widget"> 245 + <div class="icon" aria-hidden="true"> 246 + <i class="fa fa-map"></i> 247 + <h4>Upgrade plan</h4> 248 + </div> 249 + <p> 250 + Recommended target version, risk areas, validation checklist, downtime expectations and rollback approach. 251 + </p> 252 + </article> 253 + 254 + <article class="widget"> 255 + <div class="icon" aria-hidden="true"> 256 + <i class="fa fa-check-circle"></i> 257 + <h4>Post-upgrade validation</h4> 258 + </div> 259 + <p> 260 + Verification of key pages, rights, authentication, extensions, jobs, PDFs, dashboards and custom applications. 261 + </p> 262 + </article> 263 + 264 + <article class="widget"> 265 + <div class="icon" aria-hidden="true"> 266 + <i class="fa fa-file-text-o"></i> 267 + <h4>Upgrade notes</h4> 268 + </div> 269 + <p> 270 + Practical documentation of the performed work, important decisions and recommended follow-up actions. 271 + </p> 272 + </article> 208 208 </div> 209 209 </div> 210 210 </section> 276 + 211 211 ## CTA 212 212 <section class="cta-section" aria-labelledby="cta-title"> 213 213 <div class="container"> 214 214 <div class="cta-panel"> 215 215 <h2 id="cta-title">Planning an XWiki upgrade?</h2> 282 + 216 216 <p> 217 217 Send your current XWiki version, target version if known, hosting setup and any custom extensions or integrations 218 218 that may affect the upgrade. A short description is enough to start with. 219 219 </p> 287 + 220 220 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request an upgrade review</a> 221 221 </div> 222 222 </div> 223 223 </section> 292 + 224 224 {{/html}} 225 225 {{/velocity}}
- Agnease.Code.SEODetailsClass[0]
-
- metaTitle
-
... ... @@ -1,1 +1,1 @@ 1 - SafeXWiki Upgrade Services for Production Instances| Agnease1 +XWiki Upgrade Services | Safe LTS Upgrades for Production Instances