Wiki source code of xwiki-upgrades

Version 2.4 by Alex Cotiugă on 2026/05/12 12:40

Hide last authors
Alex Cotiugă 1.2 1 {{velocity}}
Alex Cotiugă 1.4 2 #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 {{html clean="false"}}
Alex Cotiugă 1.2 4
Alex Cotiugă 2.2 5 ## PAGE HEADER
Alex Cotiugă 2.1 6 <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
7 <div class="container hero-inner">
Alex Cotiugă 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
Alex Cotiugă 2.1 15 <p class="lead">
Alex Cotiugă 2.2 16 Keep your XWiki instance secure, stable and compatible with a planned upgrade path, clear validation steps
17 and reduced operational risk.
Alex Cotiugă 2.1 18 </p>
Alex Cotiugă 2.2 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
25 <div class="hero-actions">
26 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request an upgrade review</a>
27 <a class="btn btn-secondary" href="#upgrade-process">See the upgrade approach</a>
Alex Cotiugă 1.2 28 </div>
29 </div>
30 </section>
31
Alex Cotiugă 2.2 32 ## WHY UPGRADES MATTER
33 <section aria-labelledby="why-upgrade-title">
34 <div class="container">
35 <h2 id="why-upgrade-title">Why regular XWiki upgrades matter</h2>
Alex Cotiugă 1.2 36
Alex Cotiugă 2.2 37 <p class="section-intro">
38 An outdated XWiki instance can become harder to maintain over time. Security fixes, browser compatibility,
39 extension updates, platform changes and infrastructure requirements continue to evolve, while older versions
40 become more difficult and risky to upgrade.
41 </p>
42
43 <div class="pathways">
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>
58
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>
73
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>
Alex Cotiugă 1.2 88 </div>
89 </div>
90 </section>
91
Alex Cotiugă 2.2 92 ## COMMON SITUATIONS
93 <section class="services" aria-labelledby="situations-title">
Alex Cotiugă 1.2 94 <div class="container">
Alex Cotiugă 2.2 95 <h2 id="situations-title">Common situations we handle</h2>
Alex Cotiugă 1.2 96
Alex Cotiugă 2.2 97 <p class="section-intro">
98 XWiki upgrades are often simple in clean environments, but production instances usually include additional
99 constraints that need to be understood before touching the live system.
100 </p>
101
102 <div class="services-grid">
Alex Cotiugă 1.4 103 <article class="service">
Alex Cotiugă 2.2 104 <div class="service-icon" aria-hidden="true">
105 <i class="fa fa-clock-o"></i>
Alex Cotiugă 1.2 106 </div>
Alex Cotiugă 1.4 107 <div class="service-body">
Alex Cotiugă 2.2 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>
Alex Cotiugă 1.2 112 </div>
113 </article>
114
Alex Cotiugă 1.4 115 <article class="service">
Alex Cotiugă 2.2 116 <div class="service-icon" aria-hidden="true">
117 <i class="fa fa-puzzle-piece"></i>
Alex Cotiugă 1.2 118 </div>
Alex Cotiugă 1.4 119 <div class="service-body">
Alex Cotiugă 2.2 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>
Alex Cotiugă 1.4 124 </div>
Alex Cotiugă 1.2 125 </article>
Alex Cotiugă 2.2 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>
Alex Cotiugă 1.2 174 </div>
175 </div>
176 </section>
177
Alex Cotiugă 2.2 178 ## PROCESS
179 <section id="upgrade-process" class="split-section" aria-labelledby="process-title">
Alex Cotiugă 2.1 180 <div class="container">
Alex Cotiugă 2.2 181 <div class="split-grid">
182 <div class="split-copy">
183 <h2 id="process-title">A practical upgrade approach</h2>
184
185 <p>
186 The goal is not only to install a newer version. The goal is to move your XWiki instance forward
187 while protecting the data, configuration, customizations and business processes that already depend on it.
188 </p>
189
190 <p>
Alex Cotiugă 2.4 191 The upgrade is always prepared outside production first, using a staging environment or a temporary clone
192 of the live instance. This allows compatibility issues, extension problems, authentication changes and
193 custom features to be validated before the controlled production rollout.
Alex Cotiugă 2.2 194 </p>
195 </div>
196
197 <ol class="process-list">
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>
218 </ol>
219 </div>
220 </div>
221 </section>
222
223 ## DELIVERABLES
224 <section aria-labelledby="deliverables-title">
225 <div class="container">
226 <h2 id="deliverables-title">What you can expect</h2>
227
228 <p class="section-intro">
229 The exact scope depends on your XWiki version, hosting setup and customizations, but an upgrade engagement
230 usually includes a clear technical review, a controlled upgrade plan and post-upgrade validation.
Alex Cotiugă 2.1 231 </p>
Alex Cotiugă 2.2 232
233 <div class="widgets">
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>
273 </div>
Alex Cotiugă 2.1 274 </div>
275 </section>
276
Alex Cotiugă 2.2 277 ## CTA
278 <section class="cta-section" aria-labelledby="cta-title">
279 <div class="container">
280 <div class="cta-panel">
281 <h2 id="cta-title">Planning an XWiki upgrade?</h2>
282
283 <p>
284 Send your current XWiki version, target version if known, hosting setup and any custom extensions or integrations
285 that may affect the upgrade. A short description is enough to start with.
286 </p>
287
288 <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request an upgrade review</a>
289 </div>
290 </div>
291 </section>
292
Alex Cotiugă 1.2 293 {{/html}}
294 {{/velocity}}