Changes for page XWiki Migrations

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

From version 8.3
edited by Agnease
on 2026/05/22 14:16
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
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>
... ... @@ -25,6 +25,35 @@
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 +
28 28   <section aria-labelledby="why-migration-title">
29 29   <div class="container">
30 30   <h2 id="why-migration-title">A migration is more than moving pages</h2>
... ... @@ -36,55 +36,55 @@
36 36   </p>
37 37  
38 38   <div class="pathways">
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>
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>
53 53  
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>
77 + <p>$entry.content</p>
68 68  
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>
79 + <ul>
80 + #foreach ($item in $entry.items)
81 + <li>$item</li>
82 + #end
83 + </ul>
84 + </article>
85 + #end
83 83   </div>
84 84   </div>
85 85   </section>
86 86  
87 87   ## 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 +
88 88   <section class="services" aria-labelledby="migration-sources-title">
89 89   <div class="container">
90 90   <h2 id="migration-sources-title">Common migration sources</h2>
... ... @@ -95,82 +95,40 @@
95 95   </p>
96 96  
97 97   <div class="services-grid">
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>
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>
109 109  
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>
133 + <div class="service-body">
134 + <h4>$entry.title</h4>
135 + <p>$entry.content</p>
136 + </div>
137 + </article>
138 + #end
169 169   </div>
170 170   </div>
171 171   </section>
172 172  
173 173   ## 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 +
174 174   <section id="migration-process" class="split-section" aria-labelledby="process-title">
175 175   <div class="container">
176 176   <div class="split-grid">
... ... @@ -190,26 +190,12 @@
190 190   </div>
191 191  
192 192   <ol class="process-list">
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>
180 + #foreach ($entry in $migrationProcessItems)
181 + <li>
182 + <strong>$entry.title</strong>
183 + $entry.content
184 + </li>
185 + #end
213 213   </ol>
214 214   </div>
215 215   </div>
... ... @@ -216,6 +216,24 @@
216 216   </section>
217 217  
218 218   ## 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 +
219 219   <section aria-labelledby="included-title">
220 220   <div class="container">
221 221   <h2 id="included-title">What can be included</h2>
... ... @@ -226,50 +226,47 @@
226 226   </p>
227 227  
228 228   <div class="widgets">
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>
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>
238 238  
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>
227 + <p>$entry.content</p>
228 + </article>
229 + #end
268 268   </div>
269 269   </div>
270 270   </section>
271 271  
272 272   ## 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 +
273 273   <section class="services" aria-labelledby="considerations-title">
274 274   <div class="container">
275 275   <h2 id="considerations-title">Important migration considerations</h2>
... ... @@ -280,82 +280,35 @@
280 280   </p>
281 281  
282 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>
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>
294 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>
277 + <div class="service-body">
278 + <h4>$entry.title</h4>
279 + <p>$entry.content</p>
280 + </div>
281 + </article>
282 + #end
354 354   </div>
355 355   </div>
356 356   </section>
357 357  
358 358   ## 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 +
359 359   <section class="resource-strip" aria-labelledby="related-title">
360 360   <div class="container">
361 361   <h2 id="related-title">Related XWiki services</h2>
... ... @@ -365,21 +365,13 @@
365 365   </p>
366 366  
367 367   <div class="resource-grid">
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>
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
383 383   </div>
384 384   </div>
385 385   </section>