Typically, you want to develop and test your SLASCONE integration in a development system before moving into production. In order to facilitate this, SLASCONE provides several mechanisms to keep entity IDs consistent across environments.
RECOMMENDED WORKFLOW
INITIAL IMPLEMENTATION
During the initial implementation of SLASCONE, many entities are typically created, changed and tested while the integration is still evolving. At this stage, the easiest approach is often to copy the complete SLASCONE database from the PROD system to the DEV system.
This ensures that all entities and their IDs are identical in both environments without having to synchronize individual objects manually. It also makes it easy to continue development and testing with a DEV environment that closely reflects the current production configuration.
AFTER GOING LIVE
Once your SLASCONE integration is in production, copying the complete database is generally no longer appropriate, since the PROD system contains live operational data such as customers, licenses and usage data.
From this point onward, we recommend maintaining configuration changes in the DEV system and transferring them selectively to PROD using the export/import mechanism described below. For entities that are not covered by export/import, you can manually create them using the same ID or use the respective API endpoint.
PRODUCT
EXPORT (DEV SYSTEM)
A product with all its underlying features, limitations, variables, analytical fields, usage features and modules can be exported as a .json file as shown in the following screenshot:
Please note that the product's editions are not exported. The reason for this is that the IDs of editions/templates, contrary to the IDs of products, features, variables, etc., should never be used in the code of your application. If, for example, your application needs to distinguish between a floating and named edition, it should reference the respective provisioning_mode value and not a fixed ID.
IMPORT (PROD SYSTEM)
You can use the exported .json file to import the product into the production system. If the product does not exist, a new one is created. If the product already exists, the import adds or updates all relevant entities. Everything is based on the entities' IDs, not their names.
Please note that this mechanism is additive, meaning that no entity is ever deleted in the production system. For example, if you deleted a feature in the development system, and this feature is therefore no longer part of the export file, the import/export mechanism will not delete this feature in the production system. If necessary, this has to be performed manually in the production system.
MANUALLY SETTING ENTITY IDS
When creating an entity in the SLASCONE portal, you can optionally specify its ID instead of letting SLASCONE generate it automatically.
This is particularly useful when working with multiple environments. For example, you can copy the ID of an entity from your DEV system and use the same ID when creating the corresponding entity in your PROD system. This allows your integration to reference the same entity IDs across environments.
If no ID is specified, SLASCONE automatically generates one as usual.
OTHER ENTITIES (LICENSE/CUSTOMER/HEARTBEAT TYPES)
For entities that are not covered by the product export/import mechanism, you can create the corresponding entity manually in the target system and specify the same ID as in the source system, as described above.
The same can also be achieved using the SLASCONE API. For example, if you need to create a license type in the PROD system while ensuring that the same id is used, copy the respective id from the DEV system and call the following endpoint in the PROD system:
POST /api/v2/isv/{isv_id}/licenses/types
Comments
0 comments
Please sign in to leave a comment.