Wiki source code of XWiki Upgrade Services

Version 9.4 by Agnease on 2026/05/22 14:10

Hide last authors
Agnease 1.2 1 {{velocity}}
Agnease 1.4 2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 {{html clean="false"}}
Agnease 1.2 4
Agnease 2.2 5 ## PAGE HEADER
Agnease 2.1 6 <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
7 <div class="container hero-inner">
Agnease 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
Agnease 2.1 15 <p class="lead">
Agnease 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.
Agnease 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>
Agnease 1.2 23 </div>
24 </div>
25 </section>
26
Agnease 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>
Agnease 1.2 31
Agnease 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>
Agnease 1.2 83 </div>
84 </div>
85 </section>
86
Agnease 2.2 87 ## COMMON SITUATIONS
88 <section class="services" aria-labelledby="situations-title">
Agnease 1.2 89 <div class="container">
Agnease 2.2 90 <h2 id="situations-title">Common situations we handle</h2>
Agnease 1.2 91
Agnease 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">
Agnease 1.4 98 <article class="service">
Agnease 2.2 99 <div class="service-icon" aria-hidden="true">
100 <i class="fa fa-clock-o"></i>
Agnease 1.2 101 </div>
Agnease 1.4 102 <div class="service-body">
Agnease 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>
Agnease 1.2 107 </div>
108 </article>
109
Agnease 1.4 110 <article class="service">
Agnease 2.2 111 <div class="service-icon" aria-hidden="true">
112 <i class="fa fa-puzzle-piece"></i>
Agnease 1.2 113 </div>
Agnease 1.4 114 <div class="service-body">
Agnease 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>
Agnease 1.4 119 </div>
Agnease 1.2 120 </article>
Agnease 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>
Agnease 1.2 169 </div>
170 </div>
171 </section>
172
Agnease 2.2 173 ## PROCESS
174 <section id="upgrade-process" class="split-section" aria-labelledby="process-title">
Agnease 2.1 175 <div class="container">
Agnease 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>
Agnease 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.
Agnease 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.
Agnease 2.1 226 </p>
Agnease 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>
Agnease 2.1 269 </div>
270 </section>
271
Agnease 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
Agnease 1.2 288 {{/html}}
289 {{/velocity}}