Changes for page XWiki Migrations

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

From version 9.1
edited by Agnease
on 2026/05/25 12:59
Change comment: There is no comment for this version
To version 1.2
edited by Agnease
on 2026/05/12 13:02
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -XWiki Migrations
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" 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>
... ... @@ -14,9 +14,14 @@
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 hierarchy, attachments, links, permissions and long-term maintainability.
17 + while preserving usability, structure 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 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 -
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>
... ... @@ -65,55 +65,55 @@
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>
... ... @@ -124,40 +124,82 @@
124 124   </p>
125 125  
126 126   <div class="services-grid">
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>
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>
132 132  
133 - <div class="service-body">
134 - <h4>$entry.title</h4>
135 - <p>$entry.content</p>
136 - </div>
137 - </article>
138 - #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>
139 139   </div>
140 140   </div>
141 141   </section>
142 142  
143 143   ## 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 -
161 161   <section id="migration-process" class="split-section" aria-labelledby="process-title">
162 162   <div class="container">
163 163   <div class="split-grid">
... ... @@ -177,12 +177,26 @@
177 177   </div>
178 178  
179 179   <ol class="process-list">
180 - #foreach ($entry in $migrationProcessItems)
181 - <li>
182 - <strong>$entry.title</strong>
183 - $entry.content
184 - </li>
185 - #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>
186 186   </ol>
187 187   </div>
188 188   </div>
... ... @@ -189,24 +189,6 @@
189 189   </section>
190 190  
191 191   ## 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 -
210 210   <section aria-labelledby="included-title">
211 211   <div class="container">
212 212   <h2 id="included-title">What can be included</h2>
... ... @@ -217,47 +217,50 @@
217 217   </p>
218 218  
219 219   <div class="widgets">
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>
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>
226 226  
227 - <p>$entry.content</p>
228 - </article>
229 - #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>
230 230   </div>
231 231   </div>
232 232   </section>
233 233  
234 234   ## 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 -
261 261   <section class="services" aria-labelledby="considerations-title">
262 262   <div class="container">
263 263   <h2 id="considerations-title">Important migration considerations</h2>
... ... @@ -268,35 +268,82 @@
268 268   </p>
269 269  
270 270   <div class="services-grid">
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>
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>
276 276  
277 - <div class="service-body">
278 - <h4>$entry.title</h4>
279 - <p>$entry.content</p>
280 - </div>
281 - </article>
282 - #end
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>
283 283   </div>
284 284   </div>
285 285   </section>
286 286  
287 287   ## 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 -
300 300   <section class="resource-strip" aria-labelledby="related-title">
301 301   <div class="container">
302 302   <h2 id="related-title">Related XWiki services</h2>
... ... @@ -306,13 +306,21 @@
306 306   </p>
307 307  
308 308   <div class="resource-grid">
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
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>
316 316   </div>
317 317   </div>
318 318   </section>
Agnease.Code.SEODetailsClass[0]
metaDescription
... ... @@ -1,1 +1,0 @@
1 -XWiki migration services for moving knowledge from Confluence, SharePoint, MediaWiki, file shares or legacy systems into a structured XWiki platform.
metaTitle
... ... @@ -1,1 +1,0 @@
1 -XWiki Migration Services from Confluence, SharePoint and MediaWiki | Agnease