Changes for page XWiki Migrations

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

From version 2.1
edited by Agnease
on 2026/05/22 06:03
Change comment: There is no comment for this version
To version 9.1
edited by Agnease
on 2026/05/25 12:59
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 and page relationships understandable after the move.',
32 + 'items': [
33 + 'Space and page hierarchy mapping',
34 + 'Navigation and landing page planning',
35 + 'Related content and category structure'
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 prepare better structures.',
50 + 'items': [
51 + 'Templates and structured data',
52 + 'Metadata and tagging strategy',
53 + 'Content 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>
... ... @@ -41,55 +41,55 @@
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>
... ... @@ -100,82 +100,40 @@
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>
127 + #foreach ($entry in $migrationSourceItems)
128 + <article class="service">
129 + <div class="service-icon" aria-hidden="true">
130 + <i class="fa fa-$entry.icon"></i>
131 + </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>
133 + <div class="service-body">
134 + <h4>$entry.title</h4>
135 + <p>$entry.content</p>
136 + </div>
137 + </article>
138 + #end
174 174   </div>
175 175   </div>
176 176   </section>
177 177  
178 178   ## MIGRATION PROCESS
144 + #set ($migrationProcessItems = [{
145 + 'title': 'Assess the source content',
146 + 'content': 'Review structure, volume, attachments, links, permissions, formatting, macros, metadata and export options.'
147 + },{
148 + 'title': 'Define the target XWiki structure',
149 + 'content': 'Decide spaces, page hierarchy, templates, metadata, permissions, naming rules and navigation strategy.'
150 + },{
151 + 'title': 'Run a sample migration',
152 + 'content': 'Migrate a representative subset of content to identify conversion issues and validate the approach.'
153 + },{
154 + 'title': 'Refine conversion and cleanup rules',
155 + 'content': 'Adjust mappings, formatting, link handling, attachments, macros, categories and content cleanup decisions.'
156 + },{
157 + 'title': 'Execute and validate the migration',
158 + 'content': 'Run the migration, review key content areas, verify attachments and links, and document remaining follow-up work.'
159 + }])
160 +
179 179   <section id="migration-process" class="split-section" aria-labelledby="process-title">
180 180   <div class="container">
181 181   <div class="split-grid">
... ... @@ -195,26 +195,12 @@
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>
180 + #foreach ($entry in $migrationProcessItems)
181 + <li>
182 + <strong>$entry.title</strong>
183 + $entry.content
184 + </li>
185 + #end
218 218   </ol>
219 219   </div>
220 220   </div>
... ... @@ -221,6 +221,24 @@
221 221   </section>
222 222  
223 223   ## WHAT CAN BE INCLUDED
192 + #set ($migrationIncludedItems = [{
193 + 'title': 'Content conversion',
194 + 'icon': 'file-text-o',
195 + 'content': 'Page content, syntax, formatting, links, images, attachments and other reusable knowledge assets.'
196 + },{
197 + 'title': 'Structure mapping',
198 + 'icon': 'sitemap',
199 + 'content': 'Spaces, page hierarchy, navigation, naming rules, landing pages and organization of knowledge areas.'
200 + },{
201 + 'title': 'Permissions review',
202 + 'icon': 'lock',
203 + 'content': 'Review and mapping of access rights where the source system contains meaningful permission rules.'
204 + },{
205 + 'title': 'Metadata strategy',
206 + 'icon': 'tags',
207 + 'content': 'Tags, categories, templates, XWiki classes or structured data to improve long-term maintainability.'
208 + }])
209 +
224 224   <section aria-labelledby="included-title">
225 225   <div class="container">
226 226   <h2 id="included-title">What can be included</h2>
... ... @@ -231,50 +231,47 @@
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>
220 + #foreach ($entry in $migrationIncludedItems)
221 + <article class="widget">
222 + <div class="icon" aria-hidden="true">
223 + <i class="fa fa-$entry.icon"></i>
224 + <h4>$entry.title</h4>
225 + </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>
227 + <p>$entry.content</p>
228 + </article>
229 + #end
273 273   </div>
274 274   </div>
275 275   </section>
276 276  
277 277   ## IMPORTANT CONSIDERATIONS
235 + #set ($migrationConsiderationItems = [{
236 + 'title': 'Macros and special content',
237 + 'icon': 'code',
238 + 'content': 'Source-specific macros, embeds, widgets or dynamic content may require conversion, replacement or redesign.'
239 + },{
240 + 'title': 'Links and redirects',
241 + 'icon': 'link',
242 + 'content': 'Internal links, external references, old URLs and bookmarks should be reviewed to reduce broken navigation.'
243 + },{
244 + 'title': 'Search and findability',
245 + 'icon': 'search',
246 + 'content': 'Content organization, titles, metadata and navigation affect how easily users find migrated knowledge.'
247 + },{
248 + 'title': 'User adoption',
249 + 'icon': 'user',
250 + 'content': 'A technically successful migration still needs clear navigation, familiar entry points and user guidance.'
251 + },{
252 + 'title': 'Validation effort',
253 + 'icon': 'check-square-o',
254 + 'content': 'Important spaces and high-value content should be reviewed after migration to catch conversion issues.'
255 + },{
256 + 'title': 'Cutover planning',
257 + 'icon': 'clock-o',
258 + 'content': 'Timing, source freeze, final migration, redirects and communication should be planned before go-live.'
259 + }])
260 +
278 278   <section class="services" aria-labelledby="considerations-title">
279 279   <div class="container">
280 280   <h2 id="considerations-title">Important migration considerations</h2>
... ... @@ -285,82 +285,35 @@
285 285   </p>
286 286  
287 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>
271 + #foreach ($entry in $migrationConsiderationItems)
272 + <article class="service">
273 + <div class="service-icon" aria-hidden="true">
274 + <i class="fa fa-$entry.icon"></i>
275 + </div>
299 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>
277 + <div class="service-body">
278 + <h4>$entry.title</h4>
279 + <p>$entry.content</p>
280 + </div>
281 + </article>
282 + #end
359 359   </div>
360 360   </div>
361 361   </section>
362 362  
363 363   ## RELATED SERVICES
288 + #set ($relatedMigrationServiceItems = [{
289 + 'title': 'XWiki Development & Integrations',
290 + 'url': 'services.xwiki-development-integrations',
291 + 'content': 'Custom applications, workflows, dashboards, integrations and structured knowledge solutions built on top of XWiki.',
292 + 'linkLabel': 'View development services'
293 + },{
294 + 'title': 'XWiki Support & Maintenance',
295 + 'url': 'services.xwiki-maintenance-support',
296 + 'content': 'Ongoing technical care for production environments after the migration is completed.',
297 + 'linkLabel': 'View support services'
298 + }])
299 +
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>
... ... @@ -370,21 +370,13 @@
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>
309 + #foreach ($entry in $relatedMigrationServiceItems)
310 + <article class="resource-card">
311 + <h4>$entry.title</h4>
312 + <p>$entry.content</p>
313 + <a href="$xwiki.getURL($entry.url)">$entry.linkLabel</a>
314 + </article>
315 + #end
388 388   </div>
389 389   </div>
390 390   </section>
Agnease.Code.SEODetailsClass[0]
metaDescription
... ... @@ -1,0 +1,1 @@
1 +XWiki migration services for moving knowledge from Confluence, SharePoint, MediaWiki, file shares or legacy systems into a structured XWiki platform.
metaTitle
... ... @@ -1,0 +1,1 @@
1 +XWiki Migration Services from Confluence, SharePoint and MediaWiki | Agnease