Migrating a large site

I currently manage two corporate repos, one has 6000+ pages with about 300 slices the other has 1000+ pages with around 150 slices. All are legacy with slices block, and none of the slices are named like they need to be to use slice machine.

Is there any migration steps we can do with this, or do we just stick with the slices block and creating the slices in the content type? Keep in mind these are live active corporate sites so there are daily updates and we can't just say give us two months to migrate everything manually and halt all updates.

Both sites are built in Nuxt

1 Like

Hi Rob Kristie,

Thanks for reaching out. My name's Badr, I am working in the User Research team at Prismic.

As per your question to migrate your assets to Slice Machine, you can migrate everything except the shared slices, more precisely the shared slices will be available but you will not be able to migrate them in the sense of fetching them to your local project.

This is also due to the fact that Slice Machine is still in an experimental phase, and so we don't recommend it yet for in-production projects.

On the other hand, I am curious to understand the reason why you'd like to migrate ALL your assets to Slice Machine. If you are interested and have the time, I'd even appreciate having a call to further discuss your goals and understand how we can better serve your needs for future improvements of our product.

Please let me know if you need more information and I remain available to assist you on any further requests.

Best,
Badr

Hi Badr,

I'm interested in the same thing. But I have a question as to why it's not recommended for in-production projects yet? All the documentation is updated for SM. Migrating to SM would make managing the over 150 slices we have easier, lets room for mistakes and for creating duplicate slices like what is happening now and give better control over the Slice repository, also with the integration to StoryBook the modular dependencies we can have controlled from our creative team is a nice to have.

Thanks,
Jason

Hi Badr

Looking at the documentation for Nuxt, it seems it all is based around Slice Machine now and the small amount of documentation that used to exist is gone. So, it feels like we are being asked to move to Slice Machine, which is why I am asking this.

Hi Rob Kristie,

I'm Fares from the education team.

In fact, there was some wrong information in the previous reply,

You can migrate everything, but you can't turn old slices into shared slices,

There's no easy way to do that. You will need to create new Slices with prismic sm --create-slice command and re-create Slice Machine's Slices to have the correct format.

Unfortunately for you will need to do this 450 times. And regarding the Slice Library, slices will be available, but you will not be able to migrate them in the sense of fetching them to your local project nor adding the new Slices to it.

This is another reason why we don't recommend Slice Machine for in-production projects.

Hi Fares,

How can you add slice machine to your existing Prismic Repo that is in a production environment? It seems like you'd have to make major code updates locally.

Is this the only way to "migrate"? Also, if you have to recreate all the slices anything that is in a production environment would have to be recreated as well? This doesn't seem like a very logical or well thought out migration plan for existing customers that want to migrate or update to SM. Has any thought gone into how current customers can migrate or update their site to SM? It doesn't seem so and that is a concern that we are now stuck on a legacy infrastructure, that might not be supported anymore by Prismic, but no plan on how to get off it except for redoing a whole site.

Hi @rkristie and @jason.pike

First, thanks for your enthusiasm and willingness to migrate large sites to the SliceMachine approach!

Sorry if we haven't brought enough visibility on the progress of SliceMachine and specifically on the migration path. I've gathered updates internally and here is the status:

Production readiness: some important features are missing in the local SliceMachine builder (namely Content Relationship and Integration Fields). The SliceMachine team is currently working on this:

  • making the Custom Type builder (not only Slice Machine) available locally, this will make Content Relationships available in the Builder for Shared Slices
  • last step will be to make Integration Fields configuration available in the local builder

You should see important updates on the above in a month from now.

Migration path: the team is currently figuring out the implementation of a built-in migration tool that seamlessly takes care of the model and data migration. To achieve this they need to be able to fetch the Custom Types locally and transform the model of classic Slices into "Shared Slices". Once this is completed we'll be able to provide a clear migration guide. In the meantime, having a script to migrate the slices as @Fares proposed is not enough because it doesn't handle the data (content) migration.

Docs: @rkristie you're right that we've made the docs look like the SliceMachine path was the only option. We realised we missed a thing on making things clearer in our docs to help users choose the "Beta" path or the "Traditional" one (without SM). We've fixed this on the Next docs yesterday: Setup a project with Prismic and Next.js - Prismic

To conclude, we are steadily moving towards the SliceMachine approach as we've validated the interest from a large community of users. Be reassured that we plan to provide an official migration tooling and guide so that existing sites will be portable to SM.

4 Likes

Hi Nathaneal,

Is it possible to request a status update on those two points, production readiness, and migration path?
In essence, is the migration tool currently being worked on, and is there a prospective release date?
I'm new to the community and not exactly sure where else to seek out updates from the prismic team.
Many thanks!

Hi Dan, sorry for the delay. Sure let me check with the team.

Sorry for the delay on this one. I'm checking in with the team to get input and update that request.

@dan.parker, a quick update on the migration path: the team is planing to define a strategy for the transition path and the specs for migrating existing Legacy repositories to Slice Machine, but we don't expect to have any official guide yet.

In the meantime, we're keen to connect with the community to build the best transition path with the help of users. We're hosting a Product Meetup on the 28th of July where we'll discuss the Slice Machine migration topic, we'll have guests who'll share their experience of Migrating existing sites to Slice Machine. You can subscribe here: Product Meetup by Prismic | Prismic

I hope this helps :smile:

This thread has been closed due to inactivity. Flag to reopen.

Checking in here

Hey @beamer,

There's still been no movement on migrating legacy websites. We want to make sure everything is more concrete before we implement a tool like this. We'll Update everyone here once this goes into production.

Thanks.

Hey,

Are there any news in this topic?
Our project was set up more than two years ago and now we would like to refactor our codebase and implement the newer Prismic features like the Slicemachine to improve developer experience.
I couldnt find any information about migration possibilities.
Can someone please advise what is the best way to do this? I though about cloning the production repo and then adressing the differences by hand but it seems this is not possible.
It would be really nice to migrate as for the older version there is not much documentation

Thank you in advance :slight_smile:

1 Like

Hello @applifting, we don't have news about this just yet. I've answered to a similar question recently:

Hi, I asked this question in a similar thread, so I'd like to share it here, too.