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