Wiki source code of XWiki Migrations
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{velocity}} | ||
| 2 | #set ($discard = $xwiki.ssx.use('PublicWebSite.WebHome')) | ||
| 3 | {{html clean="false"}} | ||
| 4 | |||
| 5 | ## PAGE HEADER | ||
| 6 | <section class="hero hero-centered service-hero" 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 | <section aria-labelledby="why-migration-title"> | ||
| 29 | <div class="container"> | ||
| 30 | <h2 id="why-migration-title">A migration is more than moving pages</h2> | ||
| 31 | |||
| 32 | <p class="section-intro"> | ||
| 33 | Documentation platforms usually contain years of accumulated knowledge, links, attachments, permissions, | ||
| 34 | templates and habits. A successful migration should preserve what matters while improving how the knowledge | ||
| 35 | is organized and maintained in XWiki. | ||
| 36 | </p> | ||
| 37 | |||
| 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> | ||
| 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> | ||
| 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> | ||
| 83 | </div> | ||
| 84 | </div> | ||
| 85 | </section> | ||
| 86 | |||
| 87 | ## MIGRATION SOURCES | ||
| 88 | <section class="services" aria-labelledby="migration-sources-title"> | ||
| 89 | <div class="container"> | ||
| 90 | <h2 id="migration-sources-title">Common migration sources</h2> | ||
| 91 | |||
| 92 | <p class="section-intro"> | ||
| 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. | ||
| 95 | </p> | ||
| 96 | |||
| 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> | ||
| 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> | ||
| 169 | </div> | ||
| 170 | </div> | ||
| 171 | </section> | ||
| 172 | |||
| 173 | ## MIGRATION PROCESS | ||
| 174 | <section id="migration-process" class="split-section" aria-labelledby="process-title"> | ||
| 175 | <div class="container"> | ||
| 176 | <div class="split-grid"> | ||
| 177 | <div class="split-copy"> | ||
| 178 | <h2 id="process-title">A practical migration approach</h2> | ||
| 179 | |||
| 180 | <p> | ||
| 181 | A good migration starts with understanding how the source content is used today and how it should work | ||
| 182 | in XWiki after the move. The objective is not only to transfer data, but to create a usable knowledge | ||
| 183 | platform that people can navigate, search and maintain. | ||
| 184 | </p> | ||
| 185 | |||
| 186 | <p> | ||
| 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. | ||
| 189 | </p> | ||
| 190 | </div> | ||
| 191 | |||
| 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> | ||
| 213 | </ol> | ||
| 214 | </div> | ||
| 215 | </div> | ||
| 216 | </section> | ||
| 217 | |||
| 218 | ## WHAT CAN BE INCLUDED | ||
| 219 | <section aria-labelledby="included-title"> | ||
| 220 | <div class="container"> | ||
| 221 | <h2 id="included-title">What can be included</h2> | ||
| 222 | |||
| 223 | <p class="section-intro"> | ||
| 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. | ||
| 226 | </p> | ||
| 227 | |||
| 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> | ||
| 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> | ||
| 268 | </div> | ||
| 269 | </div> | ||
| 270 | </section> | ||
| 271 | |||
| 272 | ## IMPORTANT CONSIDERATIONS | ||
| 273 | <section class="services" aria-labelledby="considerations-title"> | ||
| 274 | <div class="container"> | ||
| 275 | <h2 id="considerations-title">Important migration considerations</h2> | ||
| 276 | |||
| 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 | ||
| 359 | <section class="resource-strip" aria-labelledby="related-title"> | ||
| 360 | <div class="container"> | ||
| 361 | <h2 id="related-title">Related XWiki services</h2> | ||
| 362 | |||
| 363 | <p class="section-intro"> | ||
| 364 | Migration work often connects with custom development, support and upgrade planning. | ||
| 365 | </p> | ||
| 366 | |||
| 367 | <div class="resource-grid"> | ||
| 368 | <article class="resource-card"> | ||
| 369 | <h4>XWiki Development & 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 & 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> | ||
| 383 | </div> | ||
| 384 | </div> | ||
| 385 | </section> | ||
| 386 | |||
| 387 | ## CTA | ||
| 388 | <section class="cta-section" aria-labelledby="cta-title"> | ||
| 389 | <div class="container"> | ||
| 390 | <div class="cta-panel"> | ||
| 391 | <h2 id="cta-title">Planning a migration to XWiki?</h2> | ||
| 392 | |||
| 393 | <p> | ||
| 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. | ||
| 396 | </p> | ||
| 397 | |||
| 398 | <a class="btn btn-primary" href="$xwiki.getURL('contact.WebHome')">Discuss a migration</a> | ||
| 399 | </div> | ||
| 400 | </div> | ||
| 401 | </section> | ||
| 402 | |||
| 403 | {{/html}} | ||
| 404 | {{/velocity}} |