Changes for page XWiki Migrations

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

From version 1.1
edited by Agnease
on 2026/05/12 13:02
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-migrations
1 +XWiki Migrations
Content
... ... @@ -1,0 +1,337 @@
1 +{{velocity}}
2 +#set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome'))
3 +{{html clean="false"}}
4 +
5 + ## PAGE HEADER
6 + <section class="hero hero-centered" aria-labelledby="hero-title">
7 + <div class="container hero-inner">
8 + <div class="hero-kicker">
9 + <i class="fa fa-exchange" aria-hidden="true"></i>
10 + XWiki migration services
11 + </div>
12 +
13 + <h1 id="hero-title">Migrate knowledge into XWiki with structure and continuity</h1>
14 +
15 + <p class="lead">
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.
18 + </p>
19 +
20 + <div class="hero-actions">
21 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a migration</a>
22 + <a class="btn btn-secondary" href="#migration-process">See the migration approach</a>
23 + </div>
24 + </div>
25 + </section>
26 +
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 + <section aria-labelledby="why-migration-title">
58 + <div class="container">
59 + <h2 id="why-migration-title">A migration is more than moving pages</h2>
60 +
61 + <p class="section-intro">
62 + Documentation platforms usually contain years of accumulated knowledge, links, attachments, permissions,
63 + templates and habits. A successful migration should preserve what matters while improving how the knowledge
64 + is organized and maintained in XWiki.
65 + </p>
66 +
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>
76 +
77 + <p>$entry.content</p>
78 +
79 + <ul>
80 + #foreach ($item in $entry.items)
81 + <li>$item</li>
82 + #end
83 + </ul>
84 + </article>
85 + #end
86 + </div>
87 + </div>
88 + </section>
89 +
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 + <section class="services" aria-labelledby="migration-sources-title">
118 + <div class="container">
119 + <h2 id="migration-sources-title">Common migration sources</h2>
120 +
121 + <p class="section-intro">
122 + Each source system has different export formats, content models and limitations. The migration approach
123 + depends on the quality of the source data, the expected XWiki structure and the amount of transformation needed.
124 + </p>
125 +
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>
132 +
133 + <div class="service-body">
134 + <h4>$entry.title</h4>
135 + <p>$entry.content</p>
136 + </div>
137 + </article>
138 + #end
139 + </div>
140 + </div>
141 + </section>
142 +
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 + <section id="migration-process" class="split-section" aria-labelledby="process-title">
162 + <div class="container">
163 + <div class="split-grid">
164 + <div class="split-copy">
165 + <h2 id="process-title">A practical migration approach</h2>
166 +
167 + <p>
168 + A good migration starts with understanding how the source content is used today and how it should work
169 + in XWiki after the move. The objective is not only to transfer data, but to create a usable knowledge
170 + platform that people can navigate, search and maintain.
171 + </p>
172 +
173 + <p>
174 + Migrations are best handled iteratively: assess the source, run a sample migration, validate the result,
175 + adjust the transformation rules and then proceed with a controlled migration plan.
176 + </p>
177 + </div>
178 +
179 + <ol class="process-list">
180 + #foreach ($entry in $migrationProcessItems)
181 + <li>
182 + <strong>$entry.title</strong>
183 + $entry.content
184 + </li>
185 + #end
186 + </ol>
187 + </div>
188 + </div>
189 + </section>
190 +
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 + <section aria-labelledby="included-title">
211 + <div class="container">
212 + <h2 id="included-title">What can be included</h2>
213 +
214 + <p class="section-intro">
215 + The exact migration scope depends on the source system and the quality of the exported content. A migration
216 + engagement can include both technical conversion and practical information architecture work.
217 + </p>
218 +
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>
226 +
227 + <p>$entry.content</p>
228 + </article>
229 + #end
230 + </div>
231 + </div>
232 + </section>
233 +
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 + <section class="services" aria-labelledby="considerations-title">
262 + <div class="container">
263 + <h2 id="considerations-title">Important migration considerations</h2>
264 +
265 + <p class="section-intro">
266 + Not every element from the source system maps perfectly to XWiki. The migration plan should distinguish
267 + between what can be converted automatically, what needs manual cleanup and what should be redesigned.
268 + </p>
269 +
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>
276 +
277 + <div class="service-body">
278 + <h4>$entry.title</h4>
279 + <p>$entry.content</p>
280 + </div>
281 + </article>
282 + #end
283 + </div>
284 + </div>
285 + </section>
286 +
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 + <section class="resource-strip" aria-labelledby="related-title">
301 + <div class="container">
302 + <h2 id="related-title">Related XWiki services</h2>
303 +
304 + <p class="section-intro">
305 + Migration work often connects with custom development, support and upgrade planning.
306 + </p>
307 +
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
316 + </div>
317 + </div>
318 + </section>
319 +
320 + ## CTA
321 + <section class="cta-section" aria-labelledby="cta-title">
322 + <div class="container">
323 + <div class="cta-panel">
324 + <h2 id="cta-title">Planning a migration to XWiki?</h2>
325 +
326 + <p>
327 + Send a short description of the source system, approximate content volume, export options and the type of
328 + XWiki structure you want to achieve. A sample export or representative content area is often enough to start.
329 + </p>
330 +
331 + <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a migration</a>
332 + </div>
333 + </div>
334 + </section>
335 +
336 +{{/html}}
337 +{{/velocity}}
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