Courier2 and MNTP - Input string was not in a correct format
I've been having an issue with deployment of a multi node tree picker using Courier 2.
Using:
Umbraco 4.7 .Net4 SQL server 2008R2 uComponents 2.1 Multi node tree picker using the data saved as CSV.
Based on information found here: http://jamesdrever.co.uk/blog/?p=188, the courier.config file has been updated to include the following in the contentPickers section:
The whole site was then deployed successfully using courier 2. The only thing needed to do after the deployment was to go into the MNTP prevalue editor and change the Start node ID.
To test how it would work doing a deployment to a site that was not blank, the same revision was then applied again using courier 2. When doing a compare and install, courier marked the MNTP datatype as needing updating - clearly because the Start Node ID was different between source and destination.
The revision was then installed and it completed with no errors. However, now when clicking on a content page in the back office content tree that uses the MNTP, the following error is displayed:
Input string was not in a correct format.
Stack Trace:
[FormatException:
Input string was not in a correct format.]
This also occurs if I click on my MNTP datatype in the developer section.
Has anyone any ideas why this would be happening & how I could better deploy this? I am aware that Courier 2.5 supports MNTP but the project that I am currently working on won't use a beta product.
Sorry for the formatting problems above - it looked fine when I originally went to post it. I then went to edit the post and it threw an xslt error on the comments xslt!
I am experiencing the same issue. Were you able to resolve this Jonny? It works fine for me in one environment, but not another. Any amount of re-publishing and re-pushing the content and datatypes has been unsuccessful so far. Going to dig into the database to see if there is something funky there.
Dug in and discovered that the database in one environment was missing an entry in the "dbo.cmsDataTypePreValues" table. Compared it to the working version, inserted the missing row at the correct location and I'm back up and running again. Note: Make sure you turn on identity insert for inserting into this table.
Based on what you said, I had a look in the dbo.cmsDataTypePreValues table. It looks like all rows are present for my MNTP prevalues - however, one of them appears to be out of order.
Basically I have rows with id's like: 4, 5, 6, 7, 8, 9, 10 is missing, 11, 12, 13, 14, 15, 16 and then I have another row id 49 which has in it the contents that should be in line 10. I've looked at the working site's database to confirm this.
Of course as the table has auto incrementing id's, id 10 has already been taken. Is this an issue with how courier does its deployment? I don't really want to have to do a lot of manual database manipulation.
It has been a tad tricky to find a way of updating prevalues for all these different prevalue-editors, which use the umbraco storage in many many maaaany different ways. but with 2.5 it has been tested and confirmed working on the ucomponents types, as well as the standard types included in umbraco core.
I'm currently working onsite with a client and unfortunately I don't think that I would be allowed to use a beta product for various reasons. Though I may well try it out on a test site for my own benefit.
Courier2 and MNTP - Input string was not in a correct format
I've been having an issue with deployment of a multi node tree picker using Courier 2.
Using:
Umbraco 4.7
.Net4
SQL server 2008R2
uComponents 2.1 Multi node tree picker using the data saved as CSV.
Based on information found here: http://jamesdrever.co.uk/blog/?p=188, the courier.config file has been updated to include the following in the contentPickers section:
The whole site was then deployed successfully using courier 2. The only thing needed to do after the deployment was to go into the MNTP prevalue editor and change the Start node ID.
To test how it would work doing a deployment to a site that was not blank, the same revision was then applied again using courier 2. When doing a compare and install, courier marked the MNTP datatype as needing updating - clearly because the Start Node ID was different between source and destination.
The revision was then installed and it completed with no errors. However, now when clicking on a content page in the back office content tree that uses the MNTP, the following error is displayed:
Input string was not in a correct format.
Stack Trace:
[FormatException: Input string was not in a correct format.]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +12630469
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +224
uComponents.Core.DataTypes.MultiNodeTreePicker.MNTP_PrevalueEditor.<get_StartNodeXPathExpressionType>b__e(PreValue x) +49
uComponents.Core.DataTypes.MultiNodeTreePicker.MNTP_PrevalueEditor.GetPreValue(PropertyIndex index, Func`2 output, T defaultVal) +170
uComponents.Core.DataTypes.MultiNodeTreePicker.MNTP_DataType.Tree_Init(Object sender, EventArgs e) +442
uComponents.Core.DataTypes.MultiNodeTreePicker.MNTP_DataEditor.OnInit(EventArgs e) +90
System.Web.UI.Control.InitRecursive(Control namingContainer) +133
System.Web.UI.Control.AddedControl(Control control, Int32 index) +277
System.Web.UI.Control.InitRecursive(Control namingContainer) +133
System.Web.UI.Control.InitRecursive(Control namingContainer) +421
System.Web.UI.Control.InitRecursive(Control namingContainer) +421
System.Web.UI.Control.InitRecursive(Control namingContainer) +421
System.Web.UI.Control.InitRecursive(Control namingContainer) +421
System.Web.UI.Control.AddedControl(Control control, Int32 index) +277
umbraco.controls.ContentControl.addControlNew(Property p, TabPage tp, String Caption) +3676
umbraco.controls.ContentControl.CreateChildControls() +834
System.Web.UI.Control.EnsureChildControls() +182
umbraco.controls.ContentControl.OnInit(EventArgs e) +123
System.Web.UI.Control.InitRecursive(Control namingContainer) +133
System.Web.UI.Control.AddedControl(Control control, Int32 index) +277
umbraco.cms.presentation.editContent.OnInit(EventArgs e) +1005
System.Web.UI.Control.InitRecursive(Control namingContainer) +133
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1954
This also occurs if I click on my MNTP datatype in the developer section.
Has anyone any ideas why this would be happening & how I could better deploy this? I am aware that Courier 2.5 supports MNTP but the project that I am currently working on won't use a beta product.
Thanks in advance!
Sorry for the formatting problems above - it looked fine when I originally went to post it. I then went to edit the post and it threw an xslt error on the comments xslt!
I am experiencing the same issue. Were you able to resolve this Jonny? It works fine for me in one environment, but not another. Any amount of re-publishing and re-pushing the content and datatypes has been unsuccessful so far. Going to dig into the database to see if there is something funky there.
-Craig
Dug in and discovered that the database in one environment was missing an entry in the "dbo.cmsDataTypePreValues" table. Compared it to the working version, inserted the missing row at the correct location and I'm back up and running again. Note: Make sure you turn on identity insert for inserting into this table.
-Craig
Thanks for your update Craig!
Based on what you said, I had a look in the dbo.cmsDataTypePreValues table. It looks like all rows are present for my MNTP prevalues - however, one of them appears to be out of order.
Basically I have rows with id's like: 4, 5, 6, 7, 8, 9, 10 is missing, 11, 12, 13, 14, 15, 16 and then I have another row id 49 which has in it the contents that should be in line 10. I've looked at the working site's database to confirm this.
Of course as the table has auto incrementing id's, id 10 has already been taken. Is this an issue with how courier does its deployment? I don't really want to have to do a lot of manual database manipulation.
Hi Jonny
What version of courier are you using?
It has been a tad tricky to find a way of updating prevalues for all these different prevalue-editors, which use the umbraco storage in many many maaaany different ways. but with 2.5 it has been tested and confirmed working on the ucomponents types, as well as the standard types included in umbraco core.
Hi Per, thanks for your reply!
We're currently using Courier 2.1.1.
I'm currently working onsite with a client and unfortunately I don't think that I would be allowed to use a beta product for various reasons. Though I may well try it out on a test site for my own benefit.
is working on a reply...