Migrating Xyleme to dotCMS - looking for experienced guidance/advice

I’m looking for advice/guidance related to migrating from Xyleme to dotCMS. There isn’t much on the web related to this particular CMS switch, so I’m reaching out to try and find someone who maybe has some experience, insight, and advice for how to make this as smooth as possible.

If you or someone you know has made this switch, please let me know. I have questions…

1 Like

Good question here, and while I haven’t had specific experience with Xyleme (maybe someone else will be more helpful to you there), I definitely want to mention the top 2 general best practices for you and anyone else thinking about migrations.

  1. Defining your taxonomy, specifically around your content types (components) that are currently found in your instance of Xyleme. Content design and mapping is the foundation of ensuring a smooth and scalable migration, which leads me to the next thought…
  2. Content import: One of the most tedious, but critical, aspects of migration is just that…migrating content into the structures you’ve built up. Hopefully Xyleme has a good way to export content. If so, you can take those exports and map them to your content types in dotCMS, then use the content import API to get them quickly into the platform. If an export isn’t possible, we could maybe chat offline around some ideas of how to use AI to scrape and transform objects as needed.

Hoping others with some Xyleme experience will chime in with more specifics on that for you, but we’re looking forward to diving in deeper if you have any specific questions on this process for us!

We get a zip file that contains XML containing the body content and a small amount of taxon. It also included folders with icons and images contained in each document.

I’m starting to think creating GPT projects and manually migrating is going to be the best way. One to migrate, one to translate. I can give the model the list of our categories and tags, and have it consistently find the best taxon for the new content item.

My best guess on it is 2-10 minutes per article per person. BUT the only model good enough at handling all that context is o3, or maybe some of the Gemini models, and we have hundreds of documents to migrate. Unfortunately, I think this is the way…

Hi Ryan, thanks for sharing details here on your migration, it is an area we are heavily researching and developing especially with AI being able to improve the process. Hopefully we can get you to a process that avoids manual migration article by article!

I know you are working with Professional Services but I wanted to ask if you could share a sample of the zip file you get from Xyleme (only if it is generic info and there is nothing sensitive in there of course). I’d like to get a sense for what you are migrating in and what type of info Xyleme lets you export out.

Is one of the challenges that Xyleme does not let you export out all the taxonomy and other meta data? Or is pretty much everything there in the XML file and it is a matter of mapping it to what you have set up in dotCMS as the content structure?

thanks!

My current understanding is that they have nested custom items in the body of the document, like carousels and dropdown menus, which makes it more difficult to export to something that plays nice. I’ve had good success with transforming it using a custom GPT Project, giving my tags and categories as context files, and having it transformed to rich text that I can then paste into a Block body. The trick is, for 350+ articles with our first of 8 stakeholders, that’s over the 100 o3 prompt limits, so the $200/mo package is required, and it still might take me 3 days or so to get through them all.

Right now I’m looking at a way to script it. We have access to o3-mini with Fuel iX which might work for our needs. The biggest issue I’ll have with scripting it, though, is getting the images in the body to correctly map.

I’ve asked my project manager if they can find an article we don’t mind sharing and I’ll get back to you tomorrow if they give me the ok. But essentially, it looks like this:

I get an XML with Media_Enterphone Wiring zip. Once unzipped it looks like this:

XML with Media_Enterphone Wiring
├── Enterphone Wiring.xml
├── 9-Topics Archive
│ ├── Copper
│ │ └── enterphone wiring - Shaw digital terminal.PNG
│ └── Inside Wire
│ ├── Enterphone-2pair-gpon-graphic-122019.jpg
│ ├── Enterphone-intercom-bypass-graphic-122019.png
│ ├── Tii VIS-3 Unit_image_082021.PNG
│ └── … etc
└── 1-Boilerplate
└── Icons
└── Attention-purple@240.png

The XML has a bit of taxon in it which is helpful, but no direct mapping to the current tag and category structure we’ve created. The GPT does a decent job of extracting from the provided list and keeping it consistent, which is nice.

Anyway, what are your thoughts on this? I’d love to hear your insight. Thanks for reaching out.