Changes for page XWiki Upgrade Services

Last modified by Agnease on 2026/05/25 16:11

From version 2.1
edited by Agnease
on 2026/05/01 12:25
Change comment: Rollback to version 1.4
To version 9.6
edited by Agnease
on 2026/05/25 16:11
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -xwiki-upgrades
1 +XWiki Upgrade Services
Content
... ... @@ -1,112 +1,225 @@
1 1  {{velocity}}
2 2  #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 3  {{html clean="false"}}
4 -
5 - ## COMPACT HERO
6 - <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
4 + ## PAGE HEADER
5 + <section class="hero hero-centered" aria-labelledby="hero-title">
7 7   <div class="container hero-inner">
8 - <h1 id="hero-title">XWiki Upgrades</h1>
7 + <div class="hero-kicker">
8 + <i class="fa fa-refresh" aria-hidden="true"></i>
9 + XWiki upgrade services
10 + </div>
11 + <h1 id="hero-title">Safe XWiki LTS upgrades for production environments</h1>
9 9   <p class="lead">
10 - Safe, planned upgrades for production XWiki instances.
13 + Upgrade XWiki safely with a clear plan, compatibility checks and reduced production risk,
14 + even for instances with custom extensions, integrations and workflows.
11 11   </p>
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>
16 + <div class="hero-actions">
17 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request an upgrade review</a>
18 + <a class="btn btn-secondary" href="#upgrade-process">See the upgrade approach</a>
20 20   </div>
21 21   </div>
22 22   </section>
23 -
24 - ## VALUE CARDS
25 - #set ($upgradeCards = [{
26 - 'title': 'Stay secure',
22 + ## WHY UPGRADES MATTER
23 + #set ($upgradeReasonItems = [{
24 + 'title': 'Reduce security exposure',
27 27   'icon': 'shield',
28 - 'content': 'Reduce exposure to known vulnerabilities fixed in newer XWiki versions.'
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 + ]
29 29   },{
30 - 'title': 'Upgrade safely',
31 - 'icon': 'refresh',
32 - 'content': 'Plan the upgrade with backups, validation, rollback options, and minimal downtime.'
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 + ]
33 33   },{
34 - 'title': 'Avoid compatibility surprises',
35 - 'icon': 'puzzle-piece',
36 - 'content': 'Review extensions, custom code, authentication, PDF export, and infrastructure before production.'
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 + ]
37 37   }])
51 + <section aria-labelledby="why-upgrade-title">
52 + <div class="container">
53 + <h2 id="why-upgrade-title">Why regular XWiki upgrades matter</h2>
54 + <p class="section-intro">
55 + An outdated XWiki instance can become harder to maintain over time. Security fixes, browser compatibility,
56 + extension updates, platform changes and infrastructure requirements continue to evolve, while older versions
57 + become more difficult and risky to upgrade.
58 + </p>
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>
38 38  
39 - <section class="compact-section" aria-labelledby="why-title">
69 + <p>$entry.content</p>
70 +
71 + <ul>
72 + #foreach ($item in $entry.items)
73 + <li>$item</li>
74 + #end
75 + </ul>
76 + </article>
77 + #end
78 + </div>
79 + </div>
80 + </section>
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 + <section class="services" aria-labelledby="situations-title">
40 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">
109 + <h2 id="situations-title">Common situations we handle</h2>
110 + <p class="section-intro">
111 + XWiki upgrades are often simple in clean environments, but production instances usually include additional
112 + constraints that need to be understood before touching the live system.
113 + </p>
114 + <div class="services-grid">
115 + #foreach ($entry in $upgradeSituationItems)
116 + <article class="service">
117 + <div class="service-icon" aria-hidden="true">
46 46   <i class="fa fa-$entry.icon"></i>
119 + </div>
120 +
121 + <div class="service-body">
47 47   <h4>$entry.title</h4>
123 + <p>$entry.content</p>
48 48   </div>
49 - <p>$entry.content</p>
50 50   </article>
51 51   #end
52 52   </div>
53 53   </div>
54 54   </section>
55 -
56 - ## TWO COLUMN SUMMARY
57 - <section class="services compact-section" aria-labelledby="summary-title">
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 + <section id="upgrade-process" class="split-section" aria-labelledby="process-title">
58 58   <div class="container">
59 - <h2 id="summary-title">Upgrade support for real XWiki environments</h2>
60 -
61 - <div class="services-grid compact-grid">
62 - <article class="service">
63 - <div class="service-icon">
64 - <i class="fa fa-exclamation-triangle" aria-hidden="true"></i>
65 - </div>
66 - <div class="service-body">
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>
75 - </div>
76 - </article>
77 -
78 - <article class="service">
79 - <div class="service-icon">
80 - <i class="fa fa-check-square-o" aria-hidden="true"></i>
81 - </div>
82 - <div class="service-body">
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>
91 - </div>
92 - </article>
149 + <div class="split-grid">
150 + <div class="split-copy">
151 + <h2 id="process-title">A practical upgrade approach</h2>
152 + <p>
153 + The goal is not only to install a newer version. The goal is to move your XWiki instance forward
154 + while protecting the data, configuration, customizations and business processes that already depend on it.
155 + </p>
156 + <p>
157 + The upgrade is always prepared outside production first, using a staging environment or a temporary clone
158 + of the live instance. This allows compatibility issues, extension problems, authentication changes and
159 + custom features to be validated before the controlled production rollout.
160 + </p>
161 + </div>
162 + <ol class="process-list">
163 + #foreach ($entry in $upgradeProcessItems)
164 + <li>
165 + <strong>$entry.title</strong>
166 + $entry.content
167 + </li>
168 + #end
169 + </ol>
93 93   </div>
94 94   </div>
95 95   </section>
96 -
97 - ## FINAL CTA
98 - <section class="cta-section compact-cta" aria-labelledby="assessment-title">
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 + <section aria-labelledby="deliverables-title">
99 99   <div class="container">
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.
193 + <h2 id="deliverables-title">What you can expect</h2>
194 + <p class="section-intro">
195 + The exact scope depends on your XWiki version, hosting setup and customizations, but an upgrade engagement
196 + usually includes a clear technical review, a controlled upgrade plan and post-upgrade validation.
104 104   </p>
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>
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
208 + </div>
108 108   </div>
109 109   </section>
110 -
211 + ## CTA
212 + <section class="cta-section" aria-labelledby="cta-title">
213 + <div class="container">
214 + <div class="cta-panel">
215 + <h2 id="cta-title">Planning an XWiki upgrade?</h2>
216 + <p>
217 + Send your current XWiki version, target version if known, hosting setup and any custom extensions or integrations
218 + that may affect the upgrade. A short description is enough to start with.
219 + </p>
220 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Request an upgrade review</a>
221 + </div>
222 + </div>
223 + </section>
111 111  {{/html}}
112 112  {{/velocity}}
Agnease.Code.SEODetailsClass[0]
metaDescription
... ... @@ -1,0 +1,1 @@
1 +Safe XWiki upgrade services for production instances, including LTS upgrade planning, extension compatibility, backups, rollback strategy and validation.
metaTitle
... ... @@ -1,0 +1,1 @@
1 +Safe XWiki Upgrade Services for Production Instances | Agnease