How to run the Template - alumio-int/spryker-templates GitHub Wiki
Description
This section provides details on running the Akeneo-Spryker Template in the Alumio environment.
Guide
To ensure proper data synchronization, execute the following steps in the correct order:
Step 1: Synchronize the Categories
This ensures all categories exist in Spryker before importing products.
-
Go to Incoming → Akeneo - Fetch - Categories.
-
Run it and wait until the incoming finished.
-
Verify whether the tasks are being created and executed in the Alumio dashboard.
-
Make sure all the tasks are finished and verify the result in Spryker.
Step 2: Synchronize the Attributes
Product attributes (e.g., colour, size) need to be imported before products.
-
Go to Incoming → Akeneo Synchronize Attributes to Spryker.
-
Run it and wait until the incoming finished.
-
Verify whether the tasks are being created and executed in the Alumio dashboard.
-
Make sure all the tasks are finished and verify the result in Spryker.
Step 3: Synchronize the Product from Akeneo to Alumio This part is essential to build the correct structure from Akeneo into Alumio. Therefore, there are quite a few steps that need to be followed in this part.
- Make sure to run the following incomings in order and make sure to run the next incoming after the previous incoming completes:
1. Akeneo - Fetch - Products with parent
2. Akeneo - Fetch - Product Models without parent
3. Akeneo - Fetch - Product Models with parent
4. Akeneo - Fetch - Products without parent.
These steps will build a structure based on the Akeneo structure and store the product in Alumio storage for further processing.
Step 4: Synchronize the existing ID’s & Code’s from Spryker
Before running the product synchronization to Spryker, it is required to fetch all existing IDs/Codes for Abstract/Concrete Products, categories, attributes, etc., from Spryker into Alumio storage. This will help Alumio check and fetch IDs from Spryker more quickly during the product synchronization process.
-
Run Incoming → Spryker - Update storages.
-
Wait until the incoming is finished.
Step 5: Synchronize the Products to Spryker
After setting up categories and attributes and structuring the products in Alumio storage, we can then start sending them to Spryker
-
Run Incoming → Akeneo - Fetch Storage - Product Model Alumio Base.
-
Wait until the incoming is finished.
-
Verify whether the tasks are being created and executed in the Alumio dashboard.
-
Make sure all the tasks are finished and verify the result in Spryker.
Setting up the Schedulers and parallel processing
Step 1: Enable Parallel Processing
-
Go to Routes → Akeneo - Fetch Storage - Product Model Alumio Base.
-
Enable the “Enable Parallel Execution” checkbox.
-
Adjust “Maximum Parallel Executions” to a value that does not exceed your available Data Engines.
Step 2: Configure the Schedulers in Alumio
To automate synchronization, you can set up scheduled jobs. Our template also includes a set of preconfigured job schedulers that are ready for you to enable. You can also modify them as needed to suit your project requirements.
To go to your schedulers page you can follow these steps :
- Navigate to Integration → Schedulers.
- Create and modify schedulers for:
1. Category Sync - Spryker - Send Categories
2. Attribute Sync - Akeneo - Fetch and check Attributes
3. Product Sync - Akeneo - Fetch complete products
4. Product Send to Spryker - Spryker - Send complete products.
Set appropriate execution intervals (e.g., hourly, daily).
-
To enable parallel processing in a configuration, you need to create multiple schedulers for it. For example, you will see at least five schedulers set up for “Spryker - Send Complete Products.” This means the configuration within that scheduler will run with five parallel processes.
-
Enable the schedulers.
Monitoring & Troubleshooting
Checking Logs
-
Navigate to Incoming, Route or Task page → Logs in Alumio.
-
Review task execution details and error messages.
-
Debug issues by checking logs for failed transformations or API responses.
Common Issues & Fixes
Next Steps
-
Verify synchronization results by checking the Spryker backend.
-
Adjust data transformation rules if necessary.
-
Continue monitoring logs and optimize performance based on scheduler execution times, number of products per task etc.