Changes for page XWiki Migrations
Last modified by Agnease on 2026/05/25 16:46
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Objects (0 modified, 1 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - xwiki-migrations1 +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