Artifi Integration steps
Following are the steps to integrate Artifi with Znode :
Download the latest ZnodeMultiFront source code from the below-mentioned release path in Github:
Znode Releases
Note: ‘Github’ users have to be shared with the Znode Support team so that they can provide Github access.Artifi Integration related files can be obtained by connecting to the support
Extract the Artifi Package zip file (Artifi Integration related files) and perform the following only if one is upgrading the existing integration files. In the case of Artifi Integration for the first time the below two steps are not needed:
Open the files and compare them one by one and merge the changes manually.
While merging changes for Artifi, it is mandatory to compare and check for the customization made at ZnodeMultiFront. This precaution will help to avoid overriding the customizations made.
Add new Artifi projects
For the integration process first, add the ArtifiConnector folder.
Steps to add Artifi projects
Go to Projects===>Libraries===> Add new folder====> ArtifiConnector
Include below projects inside the newly created folder.===>ArtifiConnector from-Artifi Packages .
Znode.Admin.Artifi
Znode.Api.Artifi
Znode.Artifi.Api.Model
Znode.Artifi.Data
Znode.WebStore.Artifi
All projects have the references of the base Znode project, while integration checks the versions of existing references with the ZnodeMultiFront project.
If a version difference is found, update the project references in ArtifiConnector with the latest version of Znode.
To update the version, open AssemblyInfo.cs of the projects included in the folder ‘ArtifiConnector’ and change the respective version.
Update the Nuget packages of the project under the folder ‘ArtifiConnecter’ to the respective Znode release version. Follow the below steps:
Right-click on the project ‘Znode.Admin.Artifi’ and select Manage NuGet Packages.
Select ‘nuget.znode.com’ from the Package source dropdown list, then the restore option will come upon the right site.
Restore packages to the respective versions.
Follow the above-mentioned three steps for the Znode.Api.Artifi, Znode.Artifi.Api.Model, Znode.Artifi.Data and Znode.WebStore.Artifi.
Now build the project and resolve the issues in the override method/classes/constructor if it exists in newly added projects.
If in case any duplicate entity is observed, remove the AIZnodePortalSetting entity from Projects==>Libraries===>ArtifiConnector===>Znode.Artifi.Data due the existence of entities in base Project(Znode.Libraries.Data).
Note: This step is performed to resolve the conflict issue.
Open the solution file of the latest SDK source code and perform the following:
Go to the Znode.Engine.Api ==> web.config and add the following connection string key under the "<connectionString>" section:
“<add name="Artifi_Entities"connectionString="metadata=res://*/ArtifiEntities.csdl|res://*/ArtifiEntities.ssdl|res://*/ArtifiEntities.msl;provider=System.Data.SqlClient; provider connection string="DataSource=<ServerName>;InitialCatalog=<DatabaseName>;UserId=<UserName>;Password=<Password>;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />”
Go to the Source code ==> Projects ==> Znode.Engine.Admin ==> Scripts ==> Extensions and include the "ArtifiApi.js" file in the project from Artifi Packages\ZnodeMultifront\Projects\Znode.Engine.Admin\Scripts\Extensions.
Add the following Views:
A list of views needs to be added inside the Admin section with the below instructions.
Follow the steps given below and include the views in the admin project.
Go to Projects ==> Znode.Engine.Admin ==> Views ==> Add folder Artifi, ArtifiOrder, ArtifiPortal, and ArtifiUser from Artifi Packages .
Go to Projects ==> Znode.Engine.Admin and perform the following steps:
Right-click on References ==> click on Add Reference ==> Search the below-mentioned projects, and add the respective project references:
Znode.Admin.Artifi.dll
Znode.Artifi.Api.Model.dll
Open Global.asax file and in Application_Start() method and add this code:
ArtifiAutoMapperConfig.Execute();
ViewEngines.Engines.Add(new ArtifiRazorViewEngine());
Go to the Source code ==> Projects ==> Znode.Engine.Webstore ==> Scripts ==> Extensions and include "ArtifiApi.js" file in project from Artifi Packages ==> Znode.Engine.Webstore ==> Scripts ==> Extensions.
Add the following files (.cshtml) in Projects ==> Znode.Engine.Webstore:
The Znode Arifi Integration uses the Parent-Child theme feature concept.
You can create a child theme using the main theme like B2B. For this, one can refer to the structure mentioned in the Artifi Packages path: \Artifi Code Repository\ZnodeMultifront\Projects\Znode.Engine.WebStore\Views\Themes\B2B_Artifi_Int
The mentioned child theme is integrated with the B2B theme only.
Go to Solution Explorer → Znode.Engine.WebStore → Views → Themes → Create a folder named as the customer used theme name ‘Artif_Child_Theme_Name’.
Note: all CSHTML files should be copied from the Artifi Packages path: \Artifi Code Repository\ZnodeMultifront\Projects\Znode.Engine.WebStore\Views\Themes\B2B_Artifi_Int
Make necessary changes to the cshtml file by comparing the files in the B2B theme folder. Make sure artifi-related changes are kept as they are
Go to Projects ==> Znode.Engine.Webstore and perform the following steps:
Right-click on References ==> click on Add Reference ==> Search the below-mentioned projects, and add the respective project references:
Znode.Webstore.Artifi.dll
Znode.Artifi.Api.Model.dll
Open Global.asax file and in Application_Start() method and add this code: ArtifiAutoMapperConfig.Execute();
Go to Projects ==> Znode.Engine.Api and perform the following steps:
Right-click on References ==> click on Add Reference ==> Search the below-mentioned projects, and add the respective project references:
Znode.Api.Artifi.dll
Znode.Artifi.Api.Model.dll
Znode.Artifi.Data.dll
Open Global.asax file and in Application_Start() method and add this code:ArtifiAutoMapperConfig.Execute();
Open the Startup.cs file and in the Configuration() method and add this code:
ArtifiWebApiConfig.Register(config);
To add the Artifi-Resource folder follow the below steps:
Go to the folder where ZnodeMultifront is mapped.
Go to Projects ==> Libraries ==> Znode.Libraries.Resources ==> Copy the Artifi-Resource folder from the artifi package mentioned in point no. 2 on the physical path.
Go to Solution ==> Libraries ==> Znode.Libraries.Resources ==> click on "Show all options" and include the "Artifi-Resource" folder in the project.
After including Artifi-Resource, right click on Artifi_Resource.resx ==> select Properties and add the following values:
In front of CustomTool add the value “PublicResXFileCodeGenerator”.
In front of CustomToolNameSpace add value “ZNode.Libraries.Resources”.
Go to Projects ==> Libraries ==> Znode.Libraries.Resources ==> Helpers ==> open ResourcesConstant.tt and add the line of code as given below. "resourceFiles.Add("ERP_Resources");" :
resourceFiles.Add("Artifi_Resource");
Now close the ResourcesConstants.tt file and right-click on it and select “Run Custom Tool”.
Test Cases to check the Artifi integration :
Go to Admin==> Store, click on Manage store and check whether the new Artifi Configuration tab has arrived or not.
Click on the tab to add the Artifi settings provided for testing purposes and click on the Save button.
Create one attribute group for Artifi customization where one can create and associate attributes related to Artifi customization.
Now add a new product attribute with the attribute name as “ArtifiPersonalize” and associate it with the attribute Group. This is required in order to show the Artifi customization-related attributes on the webstore.
Create the new product with the provided configured Artifi SKU. The SKU Should be the same as provided and update the ArtifiPersonalize attribute as yes for that product.
Check the below screenshot to create the attribute.
Publish the product and go to the website and check whether the Personalize button is showing or not for that particular product.
On the Personalize button, click the Artifi design that should load for that particular Product.
The same functionality needs to be checked into the OMS Module at the admin side.
If all the scenarios work as per test cases, the integration is working as expected.
Check the overall functionality related to Artifi and fix the UI-related issues if they exist.
Product Setup:
The following link provides help with the product setup part :
Setup Document | Artifi Integration with Znode