Developer forum

Forum » CMS - Standard features » Deployment tool not working with some item types

Deployment tool not working with some item types

Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Hello,

We've found that the deployment tool doesn't work with some of the Swift Components. In particular, it doesn't work with any item type that uses a radio button using an item type.

I created a video showing this in action. It should be easy to replicate in any Swift project. This shows two examples. One is the standard Components item type, and the other is the Product list item component repeater.

https://www.dropbox.com/s/por9ku03rv88evx/2022-07-11_09-27-36.MP4?dl=0

Thanks!

Scott

 


Replies

 
Oleg Rodionov Dynamicweb Employee
Oleg Rodionov
Reply

Hello Scott,

I will try to investigate the issue and return back with comments and task number if reproducible in fact. Thanks.

BR, Oleg QA

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Thanks Oleg

 
Oleg Rodionov Dynamicweb Employee
Oleg Rodionov
Reply

Hello Scott,

I've checked the feature on Rapido solution ('Dynamic article' item type updated with adding of several fields type radio button list having various source types) based on last DW9.13.9 and was not able to catch any issue. Please, have a look at the video regarding the check. Note appropriate services are checked in deployment task. Besides, note the item type field you used in your check has item type source with Page ID for 'Value', so the same IDs should exist on the both solutions and selected in content (no select occurs on the content otherwise).

BR, Oleg QA

 
Nuno Aguiar Dynamicweb Employee
Nuno Aguiar
Reply

Hi Oleg,

 

I can speak into this to help speed things up. The problem is exactly the values being IDs, unlike what happens with pages and paragraphs (which consider the GUID).

 

We use the Deployment Tool because we have multiple environments and due to testing situations, the IDs tend to mismatch. Deploying Pages and Paragraphs works really well, and now more than ever those are used for Themes, Header settings, Components and more. From a backend user's point of view, it's hard for them to distinguish which values are reliably deployed vs not, so it looks buggy to them (not to mention customers).

 

So the expectation is that, in using the deployment tool, between 2 databases that grew differently, all settings of pages and paragraphs can be updated accordingly.

(btw, I believe this sort of logic is already working with fields of type Link, where the deployment tool is using the GUID to determine the proper ID in the destination - it's a matter of using the same concept for Item Type field values)

 

Let me know what other questions you might have.

Nuno Aguiar

 
Oleg Rodionov Dynamicweb Employee
Oleg Rodionov
Reply

Hi Nuno

thanks for commenting, I suppose the issue can be fixed and it's is new feature but not a bug. So, new task could be created to implement it. We are in discussing of implementation, so the task number will be reported here later. 

BR, Oleg QA

 
Scott Forsyth Dynamicweb Employee
Scott Forsyth
Reply

Thanks Nuno, and thanks Oleg.

That's correct, the issue is that there doesn't appear to be a solution for the IDs for item types. Pages and paragraphs have the PageUniqueId and ParagraphUniqueId, but item types don't have a similar solution.

Sometimes it works if everything was pushed to the enviornment and no manual changes were made in the target environment (which causes the IDs to get out of sync), but it doesn't take long in a project before they get out of sync and this no longer works.

Scott

 

 
Lora Vigil Dynamicweb Employee
Lora Vigil
Reply

Is there any update on this feature? 

Curious when we can eliminate the manual post-deployment steps needed to re-select Component Sources that were lost in the transfer/deploy process (as per Scott's video).  

 
Mario Santos Dynamicweb Employee
Mario Santos
Reply

Hi,

Picking this thread back up. We noticed this is stil an issue and easy reproducible using Swift components and/or CssDecorations. The deployment tool does not handle the selected items ids not allowing the row to be deployed without manual changes in target site.

Here's a package sample generated for a row with CSS decorations selected.

{
  "Properties": {
    "PageUniqueId": "83bad3a7-abc3-4014-b1ec-26e75db3ffee",
    "Container": "Grid",
    "DefinitionId": "2Columns",
    "Item": "{\u0022items\u0022:[{\u0022id\u0022:null,\u0022sort\u0022:0,\u0022sysname\u0022:\u0022Swift_2Columns\u0022,\u0022source\u0022:0,\u0022fields\u0022:[{\u0022name\u0022:\u0022Id\u0022,\u0022value\u0022:null,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022Sort\u0022,\u0022value\u0022:0,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022ItemInstanceType\u0022,\u0022value\u0022:\u0022\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022Width\u0022,\u0022value\u0022:\u0022center\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022SpaceBetweenRows\u0022,\u0022value\u0022:\u0022spacing-large\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022SpaceBetweenColumns\u0022,\u0022value\u0022:\u0022spacing-medium\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022MobileColumnBehaviour\u0022,\u0022value\u0022:\u00221\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022MobileOrderFirst\u0022,\u0022value\u0022:\u00222\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022SpaceBetweenRowsMobile\u0022,\u0022value\u0022:\u0022auto\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022SpaceBetweenColumnsMobile\u0022,\u0022value\u0022:\u0022auto\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022Theme\u0022,\u0022value\u0022:\u0022\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022BackgroundImage\u0022,\u0022value\u0022:\u0022\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022BackgroundImageSize\u0022,\u0022value\u0022:\u0022initial\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022BackgroundImageRepeat\u0022,\u0022value\u0022:\u0022no-repeat\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022GradientOpacity\u0022,\u0022value\u0022:\u00220.00\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022Gradient\u0022,\u0022value\u0022:\u00220\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022AnimationOnScrollCol1\u0022,\u0022value\u0022:\u0022no-animation\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022AnimationOnScrollCol2\u0022,\u0022value\u0022:\u0022no-animation\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null},{\u0022name\u0022:\u0022CssDecorations\u0022,\u0022value\u0022:\u00221,3\u0022,\u0022items\u0022:null,\u0022itemListInfo\u0022:null}]}]}",
    "Active": true,
    "Sort": 2,
    "ValidFrom": null,
    "ValidTo": null,
    "IsTemplate": false,
    "TemplateName": "",
    "TemplateDescription": "",
    "TemplateImage": "",
    "HideForPhones": false,
    "HideForTablets": false,
    "HideForDesktops": false
  },
  "Id": "9e008442-5ff8-49ae-a920-2edcbb9f9bc0",
  "Name": "Swift B2C demo shop/Home/Row: 6063",
  "ParentId": "83bad3a7-abc3-4014-b1ec-26e75db3ffee"
}

 

After Item property formated we can see that field value stores the origin ids and not a unique identifier.

{
  "name": "CssDecorations",
  "value": "1,3",
  "items": null,
  "itemListInfo": null
}

BR Mario

 

You must be logged in to post in the forum