Changes for page xwiki-upgrades

Last modified by Alex Cotiugă on 2026/05/12 12:41

From version 2.4
edited by Alex Cotiugă
on 2026/05/12 12:40
Change comment: There is no comment for this version
To version 2.1
edited by Alex Cotiugă
on 2026/05/01 12:25
Change comment: Rollback to version 1.4

Summary

Details

Page properties
Content
... ... @@ -2,293 +2,111 @@
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 3  {{html clean="false"}}
4 4  
5 - ## PAGE HEADER
5 + ## COMPACT HERO
6 6   <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
7 7   <div class="container hero-inner">
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 -
8 + <h1 id="hero-title">XWiki Upgrades</h1>
15 15   <p class="lead">
16 - Keep your XWiki instance secure, stable and compatible with a planned upgrade path, clear validation steps
17 - and reduced operational risk.
10 + Safe, planned upgrades for production XWiki instances.
18 18   </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 -
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>
12 + <ul class="benefits">
13 + <li>Latest LTS</li>
14 + <li>Security fixes</li>
15 + <li>Extension checks</li>
16 + <li>Minimal downtime</li>
17 + </ul>
18 + <div class="hero-cta">
19 + <a href="mailto:alex@agnease.com?subject=XWiki%20Upgrade%20Assessment">Request an upgrade assessment</a>
28 28   </div>
29 29   </div>
30 30   </section>
31 31  
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>
24 + ## VALUE CARDS
25 + #set ($upgradeCards = [{
26 + 'title': 'Stay secure',
27 + 'icon': 'shield',
28 + 'content': 'Reduce exposure to known vulnerabilities fixed in newer XWiki versions.'
29 + },{
30 + 'title': 'Upgrade safely',
31 + 'icon': 'refresh',
32 + 'content': 'Plan the upgrade with backups, validation, rollback options, and minimal downtime.'
33 + },{
34 + 'title': 'Avoid compatibility surprises',
35 + 'icon': 'puzzle-piece',
36 + 'content': 'Review extensions, custom code, authentication, PDF export, and infrastructure before production.'
37 + }])
36 36  
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>
39 + <section class="compact-section" aria-labelledby="why-title">
40 + <div class="container">
41 + <h2 id="why-title">Keep your XWiki platform current and reliable</h2>
42 + <div class="widgets compact-widgets">
43 + #foreach ($entry in $upgradeCards)
44 + <article class="widget">
45 + <div class="icon" aria-hidden="true">
46 + <i class="fa fa-$entry.icon"></i>
47 + <h4>$entry.title</h4>
48 + </div>
49 + <p>$entry.content</p>
50 + </article>
51 + #end
88 88   </div>
89 89   </div>
90 90   </section>
91 91  
92 - ## COMMON SITUATIONS
93 - <section class="services" aria-labelledby="situations-title">
56 + ## TWO COLUMN SUMMARY
57 + <section class="services compact-section" aria-labelledby="summary-title">
94 94   <div class="container">
95 - <h2 id="situations-title">Common situations we handle</h2>
59 + <h2 id="summary-title">Upgrade support for real XWiki environments</h2>
96 96  
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">
61 + <div class="services-grid compact-grid">
103 103   <article class="service">
104 - <div class="service-icon" aria-hidden="true">
105 - <i class="fa fa-clock-o"></i>
63 + <div class="service-icon">
64 + <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
106 106   </div>
107 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>
67 + <h4>When to consider an upgrade</h4>
68 + <ul>
69 + <li>Your instance is not on the latest suitable LTS version</li>
70 + <li>Your current version is more than one year old</li>
71 + <li>You use custom extensions, scripts, or workflows</li>
72 + <li>You rely on LDAP, SSO, OIDC, SAML, or MFA</li>
73 + <li>You want to reduce security and maintenance risk</li>
74 + </ul>
112 112   </div>
113 113   </article>
114 114  
115 115   <article class="service">
116 - <div class="service-icon" aria-hidden="true">
117 - <i class="fa fa-puzzle-piece"></i>
79 + <div class="service-icon">
80 + <i class="fa fa-check-square-o" aria-hidden="true"></i>
118 118   </div>
119 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>
83 + <h4>What Agnease handles</h4>
84 + <ul>
85 + <li>Current version and environment review</li>
86 + <li>Recommended target version</li>
87 + <li>Extension and customization checks</li>
88 + <li>Backup, staging, and rollback planning</li>
89 + <li>Production upgrade and post-upgrade validation</li>
90 + </ul>
124 124   </div>
125 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>
174 174   </div>
175 175   </div>
176 176   </section>
177 177  
178 - ## PROCESS
179 - <section id="upgrade-process" class="split-section" aria-labelledby="process-title">
97 + ## FINAL CTA
98 + <section class="cta-section compact-cta" aria-labelledby="assessment-title">
180 180   <div class="container">
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>
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.
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.
100 + <h2 id="assessment-title">Request an XWiki upgrade assessment</h2>
101 + <p class="lead">
102 + Send your current XWiki version and a short description of your setup.
103 + Agnease will recommend the target version, estimated effort, and key risks to review.
231 231   </p>
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>
105 + <p class="text-center contact-inline">
106 + <a href="mailto:alex@agnease.com?subject=XWiki%20Upgrade%20Assessment">Request an upgrade assessment</a>
107 + </p>
274 274   </div>
275 275   </section>
276 276  
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 -
293 293  {{/html}}
294 294  {{/velocity}}