Changes for page XWiki Migrations

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

From version 11.1
edited by Agnease
on 2026/05/25 16:46
Change comment: There is no comment for this version
To version 8.2
edited by Agnease
on 2026/05/22 14:16
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -3,7 +3,7 @@
3 3  {{html clean="false"}}
4 4  
5 5   ## PAGE HEADER
6 - <section class="hero hero-centered" aria-labelledby="hero-title">
6 + <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
7 7   <div class="container hero-inner">
8 8   <div class="hero-kicker">
9 9   <i class="fa fa-exchange" aria-hidden="true"></i>
... ... @@ -17,6 +17,11 @@
17 17   while preserving hierarchy, attachments, links, permissions and long-term maintainability.
18 18   </p>
19 19  
20 + <p class="hero-support">
21 + We help organizations plan and execute migrations that go beyond copying pages: hierarchy, attachments,
22 + links, permissions, metadata, macros, templates and redirects all need to be considered.
23 + </p>
24 +
20 20   <div class="hero-actions">
21 21   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a migration</a>
22 22   <a class="btn btn-secondary" href="#migration-process">See the migration approach</a>
... ... @@ -25,35 +25,6 @@
25 25   </section>
26 26  
27 27   ## WHY MIGRATION NEEDS CARE
28 - #set ($migrationReasonItems = [{
29 - 'title': 'Preserve structure',
30 - 'icon': 'sitemap',
31 - 'content': 'Keep spaces, hierarchies, navigation, page relationships and entry points understandable after the move.',
32 - 'items': [
33 - 'Space and page hierarchy mapping',
34 - 'Navigation and landing page planning',
35 - 'Search and findability considerations'
36 - ]
37 - },{
38 - 'title': 'Protect continuity',
39 - 'icon': 'link',
40 - 'content': 'Reduce disruption by handling links, attachments, redirects, permissions and known content dependencies.',
41 - 'items': [
42 - 'Attachment and link preservation',
43 - 'Redirect and URL transition planning',
44 - 'Permission model review'
45 - ]
46 - },{
47 - 'title': 'Improve maintainability',
48 - 'icon': 'database',
49 - 'content': 'Use the migration as an opportunity to clean up content, introduce metadata and redesign what should not be copied as-is.',
50 - 'items': [
51 - 'Templates and structured data',
52 - 'Metadata and tagging strategy',
53 - 'Manual cleanup recommendations'
54 - ]
55 - }])
56 -
57 57   <section aria-labelledby="why-migration-title">
58 58   <div class="container">
59 59   <h2 id="why-migration-title">A migration is more than moving pages</h2>
... ... @@ -60,105 +60,146 @@
60 60  
61 61   <p class="section-intro">
62 62   Documentation platforms usually contain years of accumulated knowledge, links, attachments, permissions,
63 - templates, macros and habits. A successful migration should preserve what matters, reduce broken navigation
64 - and improve how the knowledge is organized and maintained in XWiki.
39 + templates and habits. A successful migration should preserve what matters while improving how the knowledge
40 + is organized and maintained in XWiki.
65 65   </p>
66 66  
67 67   <div class="pathways">
68 - #foreach ($entry in $migrationReasonItems)
69 - <article class="pathway-card">
70 - <div class="card-heading">
71 - <div class="pathway-icon">
72 - <i class="fa fa-$entry.icon" aria-hidden="true"></i>
73 - </div>
74 - <h3>$entry.title</h3>
75 - </div>
44 + <article class="pathway-card">
45 + <div class="pathway-icon">
46 + <i class="fa fa-sitemap" aria-hidden="true"></i>
47 + </div>
48 + <h3>Preserve structure</h3>
49 + <p>
50 + Keep spaces, hierarchies, navigation and page relationships understandable after the move.
51 + </p>
52 + <ul>
53 + <li>Space and page hierarchy mapping</li>
54 + <li>Navigation and landing page planning</li>
55 + <li>Related content and category structure</li>
56 + </ul>
57 + </article>
76 76  
77 - <p>$entry.content</p>
59 + <article class="pathway-card">
60 + <div class="pathway-icon">
61 + <i class="fa fa-link" aria-hidden="true"></i>
62 + </div>
63 + <h3>Protect continuity</h3>
64 + <p>
65 + Reduce disruption by handling links, attachments, redirects, permissions and known content dependencies.
66 + </p>
67 + <ul>
68 + <li>Attachment and link preservation</li>
69 + <li>Redirect and URL transition planning</li>
70 + <li>Permission model review</li>
71 + </ul>
72 + </article>
78 78  
79 - <ul>
80 - #foreach ($item in $entry.items)
81 - <li>$item</li>
82 - #end
83 - </ul>
84 - </article>
85 - #end
74 + <article class="pathway-card">
75 + <div class="pathway-icon">
76 + <i class="fa fa-database" aria-hidden="true"></i>
77 + </div>
78 + <h3>Improve maintainability</h3>
79 + <p>
80 + Use the migration as an opportunity to clean up content, introduce metadata and prepare better structures.
81 + </p>
82 + <ul>
83 + <li>Templates and structured data</li>
84 + <li>Metadata and tagging strategy</li>
85 + <li>Content cleanup recommendations</li>
86 + </ul>
87 + </article>
86 86   </div>
87 87   </div>
88 88   </section>
89 89  
90 90   ## MIGRATION SOURCES
91 - #set ($migrationSourceItems = [{
92 - 'title': 'Confluence to XWiki',
93 - 'icon': 'book',
94 - 'content': 'Migration of pages, spaces, attachments, links and content that may include macros or Confluence-specific formatting.'
95 - },{
96 - 'title': 'SharePoint to XWiki',
97 - 'icon': 'windows',
98 - 'content': 'Migration planning for document libraries, wiki-like content, intranet pages and knowledge structures.'
99 - },{
100 - 'title': 'MediaWiki to XWiki',
101 - 'icon': 'globe',
102 - 'content': 'Migration of wiki pages, links, categories, attachments and content that may require syntax or structure conversion.'
103 - },{
104 - 'title': 'Files and folders',
105 - 'icon': 'folder-open',
106 - 'content': 'Migration from file shares, exported documentation, PDFs, Word files or folder-based knowledge repositories.'
107 - },{
108 - 'title': 'Legacy knowledge systems',
109 - 'icon': 'archive',
110 - 'content': 'Extraction and restructuring of content from older internal tools, portals or custom documentation systems.'
111 - },{
112 - 'title': 'Mixed-source migrations',
113 - 'icon': 'random',
114 - 'content': 'Consolidation of content from multiple sources into a more coherent XWiki knowledge platform.'
115 - }])
116 -
117 117   <section class="services" aria-labelledby="migration-sources-title">
118 118   <div class="container">
119 119   <h2 id="migration-sources-title">Common migration sources</h2>
120 120  
121 121   <p class="section-intro">
122 - Each source system has different export formats, content models, permissions and limitations.
123 - The migration approach depends on the quality of the source data, the expected XWiki structure
124 - and the amount of conversion, cleanup or redesign needed.
98 + Each source system has different export formats, content models and limitations. The migration approach
99 + depends on the quality of the source data, the expected XWiki structure and the amount of transformation needed.
125 125   </p>
126 126  
127 127   <div class="services-grid">
128 - #foreach ($entry in $migrationSourceItems)
129 - <article class="service">
130 - <div class="service-icon" aria-hidden="true">
131 - <i class="fa fa-$entry.icon"></i>
132 - </div>
103 + <article class="service">
104 + <div class="service-icon" aria-hidden="true">
105 + <i class="fa fa-book"></i>
106 + </div>
107 + <div class="service-body">
108 + <h4>Confluence to XWiki</h4>
109 + <p>
110 + Migration of pages, spaces, attachments, links and content that may include macros or Confluence-specific formatting.
111 + </p>
112 + </div>
113 + </article>
133 133  
134 - <div class="service-body">
135 - <h4>$entry.title</h4>
136 - <p>$entry.content</p>
137 - </div>
138 - </article>
139 - #end
115 + <article class="service">
116 + <div class="service-icon" aria-hidden="true">
117 + <i class="fa fa-windows"></i>
118 + </div>
119 + <div class="service-body">
120 + <h4>SharePoint to XWiki</h4>
121 + <p>
122 + Migration planning for document libraries, wiki-like content, intranet pages and knowledge structures.
123 + </p>
124 + </div>
125 + </article>
126 +
127 + <article class="service">
128 + <div class="service-icon" aria-hidden="true">
129 + <i class="fa fa-globe"></i>
130 + </div>
131 + <div class="service-body">
132 + <h4>MediaWiki to XWiki</h4>
133 + <p>
134 + Migration of wiki pages, links, categories, attachments and content that may require syntax or structure conversion.
135 + </p>
136 + </div>
137 + </article>
138 +
139 + <article class="service">
140 + <div class="service-icon" aria-hidden="true">
141 + <i class="fa fa-folder-open"></i>
142 + </div>
143 + <div class="service-body">
144 + <h4>Files and folders</h4>
145 + <p>
146 + Migration from file shares, exported documentation, PDFs, Word files or folder-based knowledge repositories.
147 + </p>
148 + </div>
149 + </article>
150 +
151 + <article class="service">
152 + <div class="service-icon" aria-hidden="true">
153 + <i class="fa fa-archive"></i>
154 + </div>
155 + <div class="service-body">
156 + <h4>Legacy knowledge systems</h4>
157 + <p>
158 + Extraction and restructuring of content from older internal tools, portals or custom documentation systems.
159 + </p>
160 + </div>
161 + </article>
162 +
163 + <article class="service">
164 + <div class="service-icon" aria-hidden="true">
165 + <i class="fa fa-random"></i>
166 + </div>
167 + <div class="service-body">
168 + <h4>Mixed-source migrations</h4>
169 + <p>
170 + Consolidation of content from multiple sources into a more coherent XWiki knowledge platform.
171 + </p>
172 + </div>
173 + </article>
140 140   </div>
141 141   </div>
142 142   </section>
143 143  
144 144   ## MIGRATION PROCESS
145 - #set ($migrationProcessItems = [{
146 - 'title': 'Assess the source content',
147 - 'content': 'Review structure, volume, attachments, links, permissions, formatting, macros, metadata and export options.'
148 - },{
149 - 'title': 'Define the target XWiki structure',
150 - 'content': 'Decide spaces, page hierarchy, templates, metadata, permissions, naming rules and navigation strategy.'
151 - },{
152 - 'title': 'Run a sample migration',
153 - 'content': 'Migrate a representative subset of content to identify formatting, macro, link, attachment and structure issues.'
154 - },{
155 - 'title': 'Refine conversion and cleanup rules',
156 - 'content': 'Adjust mappings, formatting, link handling, attachments, macros, categories and content cleanup decisions.'
157 - },{
158 - 'title': 'Execute and validate the migration',
159 - 'content': 'Run the migration, review key content areas, verify attachments, links, redirects and navigation, and document remaining follow-up work.'
160 - }])
161 -
162 162   <section id="migration-process" class="split-section" aria-labelledby="process-title">
163 163   <div class="container">
164 164   <div class="split-grid">
... ... @@ -172,18 +172,32 @@
172 172   </p>
173 173  
174 174   <p>
175 - Migrations are best handled iteratively: assess the source, run a sample migration, validate links,
176 - attachments, formatting and important spaces, adjust the conversion rules and then proceed with a controlled migration plan.
192 + Migrations are best handled iteratively: assess the source, run a sample migration, validate the result,
193 + adjust the transformation rules and then proceed with a controlled migration plan.
177 177   </p>
178 178   </div>
179 179  
180 180   <ol class="process-list">
181 - #foreach ($entry in $migrationProcessItems)
182 - <li>
183 - <strong>$entry.title</strong>
184 - $entry.content
185 - </li>
186 - #end
198 + <li>
199 + <strong>Assess the source content</strong>
200 + Review structure, volume, attachments, links, permissions, formatting, macros, metadata and export options.
201 + </li>
202 + <li>
203 + <strong>Define the target XWiki structure</strong>
204 + Decide spaces, page hierarchy, templates, metadata, permissions, naming rules and navigation strategy.
205 + </li>
206 + <li>
207 + <strong>Run a sample migration</strong>
208 + Migrate a representative subset of content to identify conversion issues and validate the approach.
209 + </li>
210 + <li>
211 + <strong>Refine conversion and cleanup rules</strong>
212 + Adjust mappings, formatting, link handling, attachments, macros, categories and content cleanup decisions.
213 + </li>
214 + <li>
215 + <strong>Execute and validate the migration</strong>
216 + Run the migration, review key content areas, verify attachments and links, and document remaining follow-up work.
217 + </li>
187 187   </ol>
188 188   </div>
189 189   </div>
... ... @@ -190,78 +190,170 @@
190 190   </section>
191 191  
192 192   ## WHAT CAN BE INCLUDED
193 - #set ($migrationIncludedItems = [{
194 - 'title': 'Content conversion',
195 - 'icon': 'file-text-o',
196 - 'content': 'Page content, syntax, formatting, links, images, attachments and other reusable knowledge assets.'
197 - },{
198 - 'title': 'Structure mapping',
199 - 'icon': 'sitemap',
200 - 'content': 'Spaces, page hierarchy, navigation, naming rules, landing pages and organization of knowledge areas.'
201 - },{
202 - 'title': 'Permissions review',
203 - 'icon': 'lock',
204 - 'content': 'Review and mapping of access rights where the source system contains meaningful permission rules.'
205 - },{
206 - 'title': 'Cleanup and validation',
207 - 'icon': 'check-square-o',
208 - 'content': 'Post-migration review of important spaces, broken links, attachments, formatting issues and content needing manual cleanup.'
209 - }])
210 -
211 211   <section aria-labelledby="included-title">
212 212   <div class="container">
213 213   <h2 id="included-title">What can be included</h2>
214 214  
215 215   <p class="section-intro">
216 - The exact migration scope depends on the source system and the quality of the exported content.
217 - A migration engagement can include technical conversion, information architecture, permission review,
218 - cleanup recommendations and post-migration validation.
229 + The exact migration scope depends on the source system and the quality of the exported content. A migration
230 + engagement can include both technical conversion and practical information architecture work.
219 219   </p>
220 220  
221 221   <div class="widgets">
222 - #foreach ($entry in $migrationIncludedItems)
223 - <article class="widget">
224 - <div class="icon" aria-hidden="true">
225 - <i class="fa fa-$entry.icon"></i>
226 - <h4>$entry.title</h4>
227 - </div>
234 + <article class="widget">
235 + <div class="icon" aria-hidden="true">
236 + <i class="fa fa-file-text-o"></i>
237 + <h4>Content<br />conversion</h4>
238 + </div>
239 + <p>
240 + Page content, syntax, formatting, links, images, attachments and other reusable knowledge assets.
241 + </p>
242 + </article>
228 228  
229 - <p>$entry.content</p>
230 - </article>
231 - #end
244 + <article class="widget">
245 + <div class="icon" aria-hidden="true">
246 + <i class="fa fa-sitemap"></i>
247 + <h4>Structure<br />mapping</h4>
248 + </div>
249 + <p>
250 + Spaces, page hierarchy, navigation, naming rules, landing pages and organization of knowledge areas.
251 + </p>
252 + </article>
253 +
254 + <article class="widget">
255 + <div class="icon" aria-hidden="true">
256 + <i class="fa fa-lock"></i>
257 + <h4>Permissions<br />review</h4>
258 + </div>
259 + <p>
260 + Review and mapping of access rights where the source system contains meaningful permission rules.
261 + </p>
262 + </article>
263 +
264 + <article class="widget">
265 + <div class="icon" aria-hidden="true">
266 + <i class="fa fa-tags"></i>
267 + <h4>Metadata<br />strategy</h4>
268 + </div>
269 + <p>
270 + Tags, categories, templates, XWiki classes or structured data to improve long-term maintainability.
271 + </p>
272 + </article>
232 232   </div>
233 233   </div>
234 234   </section>
235 235  
236 - ## RELATED SERVICES
237 - #set ($relatedMigrationServiceItems = [{
238 - 'title': 'XWiki Development & Integrations',
239 - 'url': 'services.xwiki-development-integrations',
240 - 'content': 'Custom applications, workflows, dashboards, integrations and structured knowledge solutions built on top of XWiki.',
241 - 'linkLabel': 'View development services'
242 - },{
243 - 'title': 'XWiki Support & Maintenance',
244 - 'url': 'services.xwiki-maintenance-support',
245 - 'content': 'Ongoing technical care for production environments after the migration is completed.',
246 - 'linkLabel': 'View support services'
247 - }])
277 + ## IMPORTANT CONSIDERATIONS
278 + <section class="services" aria-labelledby="considerations-title">
279 + <div class="container">
280 + <h2 id="considerations-title">Important migration considerations</h2>
248 248  
282 + <p class="section-intro">
283 + Not every element from the source system maps perfectly to XWiki. The migration plan should distinguish
284 + between what can be converted automatically, what needs manual cleanup and what should be redesigned.
285 + </p>
286 +
287 + <div class="services-grid">
288 + <article class="service">
289 + <div class="service-icon" aria-hidden="true">
290 + <i class="fa fa-code"></i>
291 + </div>
292 + <div class="service-body">
293 + <h4>Macros and special content</h4>
294 + <p>
295 + Source-specific macros, embeds, widgets or dynamic content may require conversion, replacement or redesign.
296 + </p>
297 + </div>
298 + </article>
299 +
300 + <article class="service">
301 + <div class="service-icon" aria-hidden="true">
302 + <i class="fa fa-link"></i>
303 + </div>
304 + <div class="service-body">
305 + <h4>Links and redirects</h4>
306 + <p>
307 + Internal links, external references, old URLs and bookmarks should be reviewed to reduce broken navigation.
308 + </p>
309 + </div>
310 + </article>
311 +
312 + <article class="service">
313 + <div class="service-icon" aria-hidden="true">
314 + <i class="fa fa-search"></i>
315 + </div>
316 + <div class="service-body">
317 + <h4>Search and findability</h4>
318 + <p>
319 + Content organization, titles, metadata and navigation affect how easily users find migrated knowledge.
320 + </p>
321 + </div>
322 + </article>
323 +
324 + <article class="service">
325 + <div class="service-icon" aria-hidden="true">
326 + <i class="fa fa-user"></i>
327 + </div>
328 + <div class="service-body">
329 + <h4>User adoption</h4>
330 + <p>
331 + A technically successful migration still needs clear navigation, familiar entry points and user guidance.
332 + </p>
333 + </div>
334 + </article>
335 +
336 + <article class="service">
337 + <div class="service-icon" aria-hidden="true">
338 + <i class="fa fa-check-square-o"></i>
339 + </div>
340 + <div class="service-body">
341 + <h4>Validation effort</h4>
342 + <p>
343 + Important spaces and high-value content should be reviewed after migration to catch conversion issues.
344 + </p>
345 + </div>
346 + </article>
347 +
348 + <article class="service">
349 + <div class="service-icon" aria-hidden="true">
350 + <i class="fa fa-clock-o"></i>
351 + </div>
352 + <div class="service-body">
353 + <h4>Cutover planning</h4>
354 + <p>
355 + Timing, source freeze, final migration, redirects and communication should be planned before go-live.
356 + </p>
357 + </div>
358 + </article>
359 + </div>
360 + </div>
361 + </section>
362 +
363 + ## RELATED SERVICES
249 249   <section class="resource-strip" aria-labelledby="related-title">
250 250   <div class="container">
251 251   <h2 id="related-title">Related XWiki services</h2>
252 252  
253 253   <p class="section-intro">
254 - Migration work often connects with custom development, support and long-term platform maintenance.
369 + Migration work often connects with custom development, support and upgrade planning.
255 255   </p>
256 256  
257 257   <div class="resource-grid">
258 - #foreach ($entry in $relatedMigrationServiceItems)
259 - <article class="resource-card">
260 - <h4>$entry.title</h4>
261 - <p>$entry.content</p>
262 - <a href="$xwiki.getURL($entry.url)">$entry.linkLabel</a>
263 - </article>
264 - #end
373 + <article class="resource-card">
374 + <h4>XWiki Development &amp; Integrations</h4>
375 + <p>
376 + Custom applications, workflows, dashboards, integrations and structured knowledge solutions built on top of XWiki.
377 + </p>
378 + <a href="$xwiki.getURL('services.xwiki-development-integrations')">View development services</a>
379 + </article>
380 +
381 + <article class="resource-card">
382 + <h4>XWiki Support &amp; Maintenance</h4>
383 + <p>
384 + Ongoing technical care for production environments after the migration is completed.
385 + </p>
386 + <a href="$xwiki.getURL('services.xwiki-maintenance-support')">View support services</a>
387 + </article>
265 265   </div>
266 266   </div>
267 267   </section>
... ... @@ -273,8 +273,8 @@
273 273   <h2 id="cta-title">Planning a migration to XWiki?</h2>
274 274  
275 275   <p>
276 - Send a short description of the source system, approximate content volume, export options, expected timing
277 - and the type of XWiki structure you want to achieve. A sample export or representative content area is often enough to start.
399 + Send a short description of the source system, approximate content volume, export options and the type of
400 + XWiki structure you want to achieve. A sample export or representative content area is often enough to start.
278 278   </p>
279 279  
280 280   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a migration</a>