Changes for page XWiki Migrations

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

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

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -XWiki Migration Services | Confluence, SharePoint and MediaWiki
1 +XWiki Migrations
Content
... ... @@ -3,7 +3,7 @@
3 3  {{html clean="false"}}
4 4  
5 5   ## PAGE HEADER
6 - <section class="hero hero-centered service-hero" aria-labelledby="hero-title">
6 + <section class="hero hero-centered" 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>
... ... @@ -14,14 +14,9 @@
14 14  
15 15   <p class="lead">
16 16   Move content from Confluence, SharePoint, MediaWiki, file-based documentation or legacy systems into XWiki
17 - while preserving usability, structure and long-term maintainability.
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 -
25 25   <div class="hero-actions">
26 26   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a migration</a>
27 27   <a class="btn btn-secondary" href="#migration-process">See the migration approach</a>
... ... @@ -30,6 +30,35 @@
30 30   </section>
31 31  
32 32   ## 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 +
33 33   <section aria-labelledby="why-migration-title">
34 34   <div class="container">
35 35   <h2 id="why-migration-title">A migration is more than moving pages</h2>
... ... @@ -36,146 +36,105 @@
36 36  
37 37   <p class="section-intro">
38 38   Documentation platforms usually contain years of accumulated knowledge, links, attachments, permissions,
39 - templates and habits. A successful migration should preserve what matters while improving how the knowledge
40 - is organized and maintained in XWiki.
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.
41 41   </p>
42 42  
43 43   <div class="pathways">
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>
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>
58 58  
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>
77 + <p>$entry.content</p>
73 73  
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>
79 + <ul>
80 + #foreach ($item in $entry.items)
81 + <li>$item</li>
82 + #end
83 + </ul>
84 + </article>
85 + #end
88 88   </div>
89 89   </div>
90 90   </section>
91 91  
92 92   ## 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 +
93 93   <section class="services" aria-labelledby="migration-sources-title">
94 94   <div class="container">
95 95   <h2 id="migration-sources-title">Common migration sources</h2>
96 96  
97 97   <p class="section-intro">
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.
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.
100 100   </p>
101 101  
102 102   <div class="services-grid">
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>
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>
114 114  
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>
134 + <div class="service-body">
135 + <h4>$entry.title</h4>
136 + <p>$entry.content</p>
137 + </div>
138 + </article>
139 + #end
174 174   </div>
175 175   </div>
176 176   </section>
177 177  
178 178   ## 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 +
179 179   <section id="migration-process" class="split-section" aria-labelledby="process-title">
180 180   <div class="container">
181 181   <div class="split-grid">
... ... @@ -189,32 +189,18 @@
189 189   </p>
190 190  
191 191   <p>
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.
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.
194 194   </p>
195 195   </div>
196 196  
197 197   <ol class="process-list">
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>
181 + #foreach ($entry in $migrationProcessItems)
182 + <li>
183 + <strong>$entry.title</strong>
184 + $entry.content
185 + </li>
186 + #end
218 218   </ol>
219 219   </div>
220 220   </div>
... ... @@ -221,170 +221,78 @@
221 221   </section>
222 222  
223 223   ## 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 +
224 224   <section aria-labelledby="included-title">
225 225   <div class="container">
226 226   <h2 id="included-title">What can be included</h2>
227 227  
228 228   <p class="section-intro">
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.
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.
231 231   </p>
232 232  
233 233   <div class="widgets">
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>
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>
243 243  
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>
229 + <p>$entry.content</p>
230 + </article>
231 + #end
273 273   </div>
274 274   </div>
275 275   </section>
276 276  
277 - ## IMPORTANT CONSIDERATIONS
278 - <section class="services" aria-labelledby="considerations-title">
279 - <div class="container">
280 - <h2 id="considerations-title">Important migration considerations</h2>
281 -
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 363   ## 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 + }])
248 +
364 364   <section class="resource-strip" aria-labelledby="related-title">
365 365   <div class="container">
366 366   <h2 id="related-title">Related XWiki services</h2>
367 367  
368 368   <p class="section-intro">
369 - Migration work often connects with custom development, support and upgrade planning.
254 + Migration work often connects with custom development, support and long-term platform maintenance.
370 370   </p>
371 371  
372 372   <div class="resource-grid">
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>
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
388 388   </div>
389 389   </div>
390 390   </section>
... ... @@ -396,8 +396,8 @@
396 396   <h2 id="cta-title">Planning a migration to XWiki?</h2>
397 397  
398 398   <p>
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.
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.
401 401   </p>
402 402  
403 403   <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a migration</a>
Agnease.Code.SEODetailsClass[0]
metaTitle
... ... @@ -1,0 +1,1 @@
1 +XWiki Migration Services from Confluence, SharePoint and MediaWiki | Agnease