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.3
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>
... ... @@ -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.
34 + templates and habits. A successful migration should preserve what matters while improving how the knowledge
35 + 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>
39 + <article class="pathway-card">
40 + <div class="pathway-icon">
41 + <i class="fa fa-sitemap" aria-hidden="true"></i>
42 + </div>
43 + <h3>Preserve structure</h3>
44 + <p>
45 + Keep spaces, hierarchies, navigation and page relationships understandable after the move.
46 + </p>
47 + <ul>
48 + <li>Space and page hierarchy mapping</li>
49 + <li>Navigation and landing page planning</li>
50 + <li>Related content and category structure</li>
51 + </ul>
52 + </article>
76 76  
77 - <p>$entry.content</p>
54 + <article class="pathway-card">
55 + <div class="pathway-icon">
56 + <i class="fa fa-link" aria-hidden="true"></i>
57 + </div>
58 + <h3>Protect continuity</h3>
59 + <p>
60 + Reduce disruption by handling links, attachments, redirects, permissions and known content dependencies.
61 + </p>
62 + <ul>
63 + <li>Attachment and link preservation</li>
64 + <li>Redirect and URL transition planning</li>
65 + <li>Permission model review</li>
66 + </ul>
67 + </article>
78 78  
79 - <ul>
80 - #foreach ($item in $entry.items)
81 - <li>$item</li>
82 - #end
83 - </ul>
84 - </article>
85 - #end
69 + <article class="pathway-card">
70 + <div class="pathway-icon">
71 + <i class="fa fa-database" aria-hidden="true"></i>
72 + </div>
73 + <h3>Improve maintainability</h3>
74 + <p>
75 + Use the migration as an opportunity to clean up content, introduce metadata and prepare better structures.
76 + </p>
77 + <ul>
78 + <li>Templates and structured data</li>
79 + <li>Metadata and tagging strategy</li>
80 + <li>Content cleanup recommendations</li>
81 + </ul>
82 + </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.
93 + Each source system has different export formats, content models and limitations. The migration approach
94 + 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>
98 + <article class="service">
99 + <div class="service-icon" aria-hidden="true">
100 + <i class="fa fa-book"></i>
101 + </div>
102 + <div class="service-body">
103 + <h4>Confluence to XWiki</h4>
104 + <p>
105 + Migration of pages, spaces, attachments, links and content that may include macros or Confluence-specific formatting.
106 + </p>
107 + </div>
108 + </article>
133 133  
134 - <div class="service-body">
135 - <h4>$entry.title</h4>
136 - <p>$entry.content</p>
137 - </div>
138 - </article>
139 - #end
110 + <article class="service">
111 + <div class="service-icon" aria-hidden="true">
112 + <i class="fa fa-windows"></i>
113 + </div>
114 + <div class="service-body">
115 + <h4>SharePoint to XWiki</h4>
116 + <p>
117 + Migration planning for document libraries, wiki-like content, intranet pages and knowledge structures.
118 + </p>
119 + </div>
120 + </article>
121 +
122 + <article class="service">
123 + <div class="service-icon" aria-hidden="true">
124 + <i class="fa fa-globe"></i>
125 + </div>
126 + <div class="service-body">
127 + <h4>MediaWiki to XWiki</h4>
128 + <p>
129 + Migration of wiki pages, links, categories, attachments and content that may require syntax or structure conversion.
130 + </p>
131 + </div>
132 + </article>
133 +
134 + <article class="service">
135 + <div class="service-icon" aria-hidden="true">
136 + <i class="fa fa-folder-open"></i>
137 + </div>
138 + <div class="service-body">
139 + <h4>Files and folders</h4>
140 + <p>
141 + Migration from file shares, exported documentation, PDFs, Word files or folder-based knowledge repositories.
142 + </p>
143 + </div>
144 + </article>
145 +
146 + <article class="service">
147 + <div class="service-icon" aria-hidden="true">
148 + <i class="fa fa-archive"></i>
149 + </div>
150 + <div class="service-body">
151 + <h4>Legacy knowledge systems</h4>
152 + <p>
153 + Extraction and restructuring of content from older internal tools, portals or custom documentation systems.
154 + </p>
155 + </div>
156 + </article>
157 +
158 + <article class="service">
159 + <div class="service-icon" aria-hidden="true">
160 + <i class="fa fa-random"></i>
161 + </div>
162 + <div class="service-body">
163 + <h4>Mixed-source migrations</h4>
164 + <p>
165 + Consolidation of content from multiple sources into a more coherent XWiki knowledge platform.
166 + </p>
167 + </div>
168 + </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.
187 + Migrations are best handled iteratively: assess the source, run a sample migration, validate the result,
188 + 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
193 + <li>
194 + <strong>Assess the source content</strong>
195 + Review structure, volume, attachments, links, permissions, formatting, macros, metadata and export options.
196 + </li>
197 + <li>
198 + <strong>Define the target XWiki structure</strong>
199 + Decide spaces, page hierarchy, templates, metadata, permissions, naming rules and navigation strategy.
200 + </li>
201 + <li>
202 + <strong>Run a sample migration</strong>
203 + Migrate a representative subset of content to identify conversion issues and validate the approach.
204 + </li>
205 + <li>
206 + <strong>Refine conversion and cleanup rules</strong>
207 + Adjust mappings, formatting, link handling, attachments, macros, categories and content cleanup decisions.
208 + </li>
209 + <li>
210 + <strong>Execute and validate the migration</strong>
211 + Run the migration, review key content areas, verify attachments and links, and document remaining follow-up work.
212 + </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.
224 + The exact migration scope depends on the source system and the quality of the exported content. A migration
225 + 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>
229 + <article class="widget">
230 + <div class="icon" aria-hidden="true">
231 + <i class="fa fa-file-text-o"></i>
232 + <h4>Content<br />conversion</h4>
233 + </div>
234 + <p>
235 + Page content, syntax, formatting, links, images, attachments and other reusable knowledge assets.
236 + </p>
237 + </article>
228 228  
229 - <p>$entry.content</p>
230 - </article>
231 - #end
239 + <article class="widget">
240 + <div class="icon" aria-hidden="true">
241 + <i class="fa fa-sitemap"></i>
242 + <h4>Structure<br />mapping</h4>
243 + </div>
244 + <p>
245 + Spaces, page hierarchy, navigation, naming rules, landing pages and organization of knowledge areas.
246 + </p>
247 + </article>
248 +
249 + <article class="widget">
250 + <div class="icon" aria-hidden="true">
251 + <i class="fa fa-lock"></i>
252 + <h4>Permissions<br />review</h4>
253 + </div>
254 + <p>
255 + Review and mapping of access rights where the source system contains meaningful permission rules.
256 + </p>
257 + </article>
258 +
259 + <article class="widget">
260 + <div class="icon" aria-hidden="true">
261 + <i class="fa fa-tags"></i>
262 + <h4>Metadata<br />strategy</h4>
263 + </div>
264 + <p>
265 + Tags, categories, templates, XWiki classes or structured data to improve long-term maintainability.
266 + </p>
267 + </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 - }])
272 + ## IMPORTANT CONSIDERATIONS
273 + <section class="services" aria-labelledby="considerations-title">
274 + <div class="container">
275 + <h2 id="considerations-title">Important migration considerations</h2>
248 248  
277 + <p class="section-intro">
278 + Not every element from the source system maps perfectly to XWiki. The migration plan should distinguish
279 + between what can be converted automatically, what needs manual cleanup and what should be redesigned.
280 + </p>
281 +
282 + <div class="services-grid">
283 + <article class="service">
284 + <div class="service-icon" aria-hidden="true">
285 + <i class="fa fa-code"></i>
286 + </div>
287 + <div class="service-body">
288 + <h4>Macros and special content</h4>
289 + <p>
290 + Source-specific macros, embeds, widgets or dynamic content may require conversion, replacement or redesign.
291 + </p>
292 + </div>
293 + </article>
294 +
295 + <article class="service">
296 + <div class="service-icon" aria-hidden="true">
297 + <i class="fa fa-link"></i>
298 + </div>
299 + <div class="service-body">
300 + <h4>Links and redirects</h4>
301 + <p>
302 + Internal links, external references, old URLs and bookmarks should be reviewed to reduce broken navigation.
303 + </p>
304 + </div>
305 + </article>
306 +
307 + <article class="service">
308 + <div class="service-icon" aria-hidden="true">
309 + <i class="fa fa-search"></i>
310 + </div>
311 + <div class="service-body">
312 + <h4>Search and findability</h4>
313 + <p>
314 + Content organization, titles, metadata and navigation affect how easily users find migrated knowledge.
315 + </p>
316 + </div>
317 + </article>
318 +
319 + <article class="service">
320 + <div class="service-icon" aria-hidden="true">
321 + <i class="fa fa-user"></i>
322 + </div>
323 + <div class="service-body">
324 + <h4>User adoption</h4>
325 + <p>
326 + A technically successful migration still needs clear navigation, familiar entry points and user guidance.
327 + </p>
328 + </div>
329 + </article>
330 +
331 + <article class="service">
332 + <div class="service-icon" aria-hidden="true">
333 + <i class="fa fa-check-square-o"></i>
334 + </div>
335 + <div class="service-body">
336 + <h4>Validation effort</h4>
337 + <p>
338 + Important spaces and high-value content should be reviewed after migration to catch conversion issues.
339 + </p>
340 + </div>
341 + </article>
342 +
343 + <article class="service">
344 + <div class="service-icon" aria-hidden="true">
345 + <i class="fa fa-clock-o"></i>
346 + </div>
347 + <div class="service-body">
348 + <h4>Cutover planning</h4>
349 + <p>
350 + Timing, source freeze, final migration, redirects and communication should be planned before go-live.
351 + </p>
352 + </div>
353 + </article>
354 + </div>
355 + </div>
356 + </section>
357 +
358 + ## 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.
364 + 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
368 + <article class="resource-card">
369 + <h4>XWiki Development &amp; Integrations</h4>
370 + <p>
371 + Custom applications, workflows, dashboards, integrations and structured knowledge solutions built on top of XWiki.
372 + </p>
373 + <a href="$xwiki.getURL('services.xwiki-development-integrations')">View development services</a>
374 + </article>
375 +
376 + <article class="resource-card">
377 + <h4>XWiki Support &amp; Maintenance</h4>
378 + <p>
379 + Ongoing technical care for production environments after the migration is completed.
380 + </p>
381 + <a href="$xwiki.getURL('services.xwiki-maintenance-support')">View support services</a>
382 + </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.
394 + Send a short description of the source system, approximate content volume, export options and the type of
395 + 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>