Changes for page XWiki Upgrade Services

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

From version 9.5
edited by Agnease
on 2026/05/25 16:11
Change comment: There is no comment for this version
To version 1.1
edited by Agnease
on 2026/05/01 12:00
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -XWiki Upgrade Services
1 +xwiki-upgrades
Content
... ... @@ -1,225 +1,0 @@
1 -{{velocity}}
2 -#set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 -{{html clean="false"}}
4 - ## PAGE HEADER
5 - <section class="hero hero-centered" aria-labelledby="hero-title">
6 - <div class="container hero-inner">
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>
12 - <p class="lead">
13 - Upgrade XWiki safely with a clear plan, compatibility checks and reduced production risk,
14 - even for instances with custom extensions, integrations and workflows.
15 - </p>
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>
19 - </div>
20 - </div>
21 - </section>
22 - ## WHY UPGRADES MATTER
23 - #set ($upgradeReasonItems = [{
24 - 'title': 'Reduce security exposure',
25 - 'icon': 'shield',
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 - ]
32 - },{
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 - ]
41 - },{
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 - ]
50 - }])
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>
68 -
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">
108 - <div class="container">
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">
118 - <i class="fa fa-$entry.icon"></i>
119 - </div>
120 -
121 - <div class="service-body">
122 - <h4>$entry.title</h4>
123 - <p>$entry.content</p>
124 - </div>
125 - </article>
126 - #end
127 - </div>
128 - </div>
129 - </section>
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">
148 - <div class="container">
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>
170 - </div>
171 - </div>
172 - </section>
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">
192 - <div class="container">
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.
197 - </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>
209 - </div>
210 - </section>
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>
224 -{{/html}}
225 -{{/velocity}}
Agnease.Code.SEODetailsClass[0]
metaDescription
... ... @@ -1,1 +1,0 @@
1 -Safe XWiki upgrade services for production instances, including LTS upgrade planning, extension compatibility, backups, rollback strategy and validation.
metaTitle
... ... @@ -1,1 +1,0 @@
1 -Safe XWiki Upgrade Services for Production Instances | Agnease