Learn how easy it is to jump platforms and join Elastic Path
What you need to consider before migrating to Elastic Path
Before you proceed with migrating your data over to Elastic Path from platforms such as Magento, you should take the opportunity to review your current architecture.
Consider the following aspects:
- Hosting provider. With Elastic Path, you’ll need a hosting provider for your frontend, and in a situation where you’re using webhooks and integrations. All your backend data is taken care of for you by Elastic Path. If you’re moving from a monolith platform, your current hosting solution may be excessive, so you may want to revisit exactly what you require.
- Storefront. Elastic Path unchains the frontend from the backend, so there is no real need to change your storefront. However, this may be a great opportunity to review it in terms of accessibility and performance.
- Antiquated technology. If your store runs on a heavy, customized code base to cater for common commerce functionality requirements (like tax calculation, customer notifications, shipping, etc.) which can be easily substituted with a third-party integration, consider plugging in a third-party service instead.
SEO is important when designing a new page, but it is equally important when migrating to a new solution. You need to make sure your page is not affected negatively by your re-platforming efforts. With Elastic Path, you can make sure your URLs are human-readable and optimized, if not already, and your metadata is migrated.
Migrating to Elastic Path: Process overview
Elastic Paths takes an active part in the process of migration, by helping find you the best solution for your store. However, you’ll still need a developer to do all the heavy lifting. Below, you’ll find a list of all necessary steps needed for migration together with a list of personas that should be involved in the process. We’ll explain each step in greater detail in the next section.
|Create a Elastic Path account||Customer or migration specialist|
|Model a catalog inside Elastic Path||Elastic Path solution specialist with a customer or migration specialist|
|Orchestrate store integrations||Migration specialist|
|Rewire the frontend to use Elastic Path API||Migration specialist|
|Migrate customer accounts||Migration specialist|
|Test and launch||Migration specialist|
Sample migration objectives
Typically, our customers come to us with a list of features and business requirements they need to meet. Below, you’ll find a sample checklist provided by one of our customers. The checklist might set your expectations on what Elastic Path can do for you and how your current solution gets adapted to the Elastic Path API.
|Problem areas to resolve||Is Elastic Path a solution?||If yes, how?|
|Improve scalability to $50 million sales||YES||Enabled open commerce architecture|
|Improve backend flexibility||YES||Decoupled backend logic|
|Improve frontend development flexibility||YES||Decoupled frontend logic|
|Improve inventory integrity with high-frequency updates||YES||Product Information Management API|
|Develop custom workflows and processes for order management and data analytics||YES||Third party integrations|
|Extend core data model with custom data||YES||Flows API|
|Improve incident response and management||YES||Elastic Path 24h support|
|Improve data store integrity||YES||Elastic Path hosts your store data; for webhooks and integrations we recommend separate hosting|
|Data/Feature Required||Elastic Path solution|
|Administration / configuration dashboard||Stores managed through Elastic Path dashboard|
|Products||Created through Products API / Elastic Path dashboard|
|Product attributes||Products API (image, description, price, SKU, slug, commodity type, status, manage stock). Additional data accommodated through Flows API (custom data)|
|Product editor||Editable through Elastic Path dashboard|
|Grouped products||Product Relationships (managed through Elastic Path dashboard or the API)|
|Categories||Created through Categories API or Elastic Path dashboard|
|Inventory management||Managed through Inventory API or Elastic Path dashboard|
|Cart and checkout||Carts API, Checkout API|
|Wishlists||New resource added through Flows API|
|Customer rewards / points||Extended customers resource through Flows API|
|Coupons and promotions||Promotions API|
|Product rating and reviews||Extended products resource through Flows API|
|Transactional email||Events API|
|Payment gateway management (Paypal, Braintree)||Native Braintree integration, PayPal integration through manual payment gateway|
|CMS for blog, pages and block management (category pages, landing pages)||New resource added through Flows API|
|Data import/export||Import scripts|
|Carrier shipping integration||Third-party integration (e.g. Shippo)|
|Customer dashboard for order history, re-orders, tracking, address management, etc.||Elastic Path dashboard|
|Site search||Third-party integration (e.g. Algolia)|
Step-by-step migration process
Elastic Path APIs accept any data format. And so, migrating into Elastic Path is quite straightforward, as we don’t ask you to reformat or change the data you’ve exported from your previous platform.
Get a Elastic Path account
Head over to our Elastic Path website and sign up. Once your account is active, you’ll have access to the Elastic Path dashboard with tutorials and additional reference to help you with your ongoing project. You’ll also get your hands on your store-specific credentials (Client ID and Client Secret) that you and your migration specialist will need for the migration.
Model a Catalog inside Elastic Path
Modeling a Catalog inside Elastic Path will make sure your data is organized the way you want. This process involves the following aspects:
If your catalog includes fields that are not natively supported by Elastic Path, we will recreate this data through Flows (our signature data customization feature).
The actual migration process is really straightforward. We use your data in whichever format you provided it to us (typically, this would be a CSV file, but Elastic Path doesn’t impose any format on you). We will then use our importer tool to migrate your data into the Elastic Path API.
Next, you’ll need to make sure your catalog and the entire checkout flow is plugged into your storefront and working as expected.
At minimum, your storefront should include the following:
- Product listing page
- Product detail page
- Login and signup
- Order confirmation
Orchestrate store integrations
Once you identify which store integrations you need to plug into your Elastic Path project to have the complete checkout experience, you or your migration specialist can proceed with integrating them with the Elastic Path API, following integration patterns and/or examples.
At minimum, consider the following:
- Customer communication
- Paying provider
- Shipping and warehousing
- Tax calculator
- Search engine
- Hosting provider - need for webhooks, integrations, and the frontend
Below, you’ll find an example of a system architecture that uses Elastic Path as the core API that orchestrates various third party integrations. Mind that this is just an example, and you can use any integration that you find suitable for you.
Fig 1. An example of a headless commerce architecture with third party integrations
At this point, you have a functioning store. You will now have to make sure that the data is consistent for the existing customers. This is the next step of the migration.
Migrate customer accounts
To migrate customer accounts into Elastic Path, we first check the data type (whether it’s JSON or CSV) to be able to determine the best way to migrate the data over.
If the data provided contains more than name, email, password, we’ll need to create custom fields through Flows to store it.
Elastic Path API without customer passwords. At this point, you’ll need to inform your existing customers about the migration process and ask them to log in again or reset their password, so that it can be stored inside Elastic Path.
Once you test your integrations and make sure your storefront works as expected, you’re good to go live! Typically, a complete migration takes less than 35 days.