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 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 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>
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>
... ... @@ -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>
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>
132 132  
133 - <div class="service-body">
134 - <h4>$entry.title</h4>
135 - <p>$entry.content</p>
136 - </div>
137 - </article>
138 - #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>
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
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>
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>
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>
226 226  
227 - <p>$entry.content</p>
228 - </article>
229 - #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>
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>
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>
276 276  
277 - <div class="service-body">
278 - <h4>$entry.title</h4>
279 - <p>$entry.content</p>
280 - </div>
281 - </article>
282 - #end
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>
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
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>
316 316   </div>
317 317   </div>
318 318   </section>