cmeeg / kentico-contrib Goto Github PK
View Code? Open in Web Editor NEWKentico v12 modules and sample site
License: MIT License
Kentico v12 modules and sample site
License: MIT License
If you have a field that is of type Int (possible others), and you have the value empty, an error occurs when deserializing the data:
`Server Error in '/' Application.
Input string was not in a correct format.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.FormatException: Input string was not in a correct format.
Source Error:
Line 44: }
Line 45:
Line 46: return TreeNode.New(componentData);
Line 47: }
Line 48:
Source File: H:\Web\KenticoRepositories\kentico-contrib\src\Meeg.Kentico.ContentComponents\Meeg.Kentico.ContentComponents.Cms\PageTypeComponentDeserializer.cs Line: 46
Stack Trace:
[FormatException: Input string was not in a correct format.]
System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal) +14524648
System.Number.ParseInt32(String s, NumberStyles style, NumberFormatInfo info) +172
System.String.System.IConvertible.ToInt32(IFormatProvider provider) +55
System.Convert.ChangeType(Object value, Type conversionType, IFormatProvider provider) +550
CMS.DataEngine.SimpleDataClass.SetData(Int32 columnIndex, Object value) +293
CMS.DataEngine.SimpleDataClass.LoadData(IDataContainer data, Boolean loadNullValues) +231
CMS.DocumentEngine.Internal.DocumentFieldsInfo.LoadData(LoadDataSettings settings) +54
CMS.DocumentEngine.TreeNode.LoadCoupledData(String className, IDataContainer data) +190
CMS.DocumentEngine.TreeNode.LoadComponentsData(IDataContainer data) +147
CMS.DocumentEngine.TreeNode.New(String className, DataRow dataRow, TreeProvider treeProvider) +145
Meeg.Kentico.ContentComponents.Cms.PageTypeComponentDeserializer.Deserialize(String componentXml) in H:\Web\KenticoRepositories\kentico-contrib\src\Meeg.Kentico.ContentComponents\Meeg.Kentico.ContentComponents.Cms\PageTypeComponentDeserializer.cs:46
Meeg.Kentico.ContentComponents.Cms.TreeNodeExtensions.GetPageTypeComponent(TreeNode node, String columnName) in H:\Web\KenticoRepositories\kentico-contrib\src\Meeg.Kentico.ContentComponents\Meeg.Kentico.ContentComponents.Cms\TreeNodeExtensions.cs:41
FDLPHA.Controllers.HeroController.RenderBannerHero(TreeNode Page, Boolean ShowDefault) in H:\Web\dev.fdlpha.org\FDLPHA\Controllers\HeroController.cs:36
lambda_method(Closure , ControllerBase , Object[] ) +195
System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary2 parameters) +35 System.Web.Mvc.Async.<>c.<BeginInvokeSynchronousActionMethod>b__9_0(IAsyncResult asyncResult, ActionInvocation innerInvokeState) +39 System.Web.Mvc.Async.WrappedAsyncResult
2.CallEndDelegate(IAsyncResult asyncResult) +77
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethod(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.<>c__DisplayClass11_0.b__0() +80
System.Web.Mvc.Async.<>c__DisplayClass11_2.b__2() +387
System.Web.Mvc.Async.<>c__DisplayClass11_2.b__2() +387
System.Web.Mvc.Async.<>c__DisplayClass11_2.b__2() +387
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeActionMethodWithFilters(IAsyncResult asyncResult) +42
System.Web.Mvc.Async.<>c__DisplayClass3_6.b__4() +50
System.Web.Mvc.Async.<>c__DisplayClass3_1.b__1(IAsyncResult asyncResult) +188
System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult) +38
System.Web.Mvc.<>c.b__152_1(IAsyncResult asyncResult, ExecuteCoreState innerState) +26
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +73 System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) +52 System.Web.Mvc.Async.WrappedAsyncVoid
1.CallEndDelegate(IAsyncResult asyncResult) +39
System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult) +38
System.Web.Mvc.<>c.b__20_1(IAsyncResult asyncResult, ProcessRequestState innerState) +40
System.Web.Mvc.Async.WrappedAsyncVoid1.CallEndDelegate(IAsyncResult asyncResult) +73 System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) +38 System.Web.Mvc.<>c__DisplayClass5_0.<Wrap>b__0() +18 System.Web.Mvc.ServerExecuteHttpHandlerWrapper.Wrap(Func
1 func) +29
System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +1827
[HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'.]
System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride) +2521
System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage) +131
System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm) +29
System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter) +593
System.Web.Mvc.Html.ChildActionExtensions.RenderAction(HtmlHelper htmlHelper, String actionName, String controllerName, Object routeValues) +64
ASP.<>c__DisplayClass3_0.b__2() in H:\Web\dev.fdlpha.org\FDLPHA\Views\Shared\PageTypes\GenericPage.cshtml:15
System.Web.WebPages.<>c__DisplayClass42_0.b__0(TextWriter tw) +414
System.Web.WebPages.WebPageBase.Write(HelperResult result) +108
ASP._Page_Views_Shared__layout_cshtml.Execute() in H:\Web\dev.fdlpha.org\FDLPHA\Views\Shared_layout.cshtml:49
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +252
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +148
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +122
System.Web.WebPages.<>c__DisplayClass40_0.b__0(TextWriter writer) +309
System.Web.WebPages.WebPageBase.Write(HelperResult result) +108
System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action1 body) +89 System.Web.WebPages.WebPageBase.PopContext() +310 System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +375 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList
1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +88
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +775 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList
1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +775
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult) +775 System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList
1 filters, ActionResult actionResult) +81
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +973
System.Web.Mvc.Controller.ExecuteCore() +128
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +235
DynamicRouting.Kentico.MVC.DynamicHttpHandler.ProcessRequest(HttpContext context) in H:\Web\KenticoRepositories\DynamicRouting\DynamicRouting.Kentico.MVC\DynamicHttpHandler.cs:45
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +866
System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step) +213
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +91
`
When CI is run on different computers, the NodeID
s being assigned are not necessarily consitent. Therefore the matching of parent nodes by id here is not working.
Suggest changing to matching by NodeParentGUID
instead.
Hi Meeg
Great work by the way - I've been looking for something like this for a long time now.
I was hoping to use this with the Pages field type with the Adhoc relationships but i'm unable to select related pages. Maybe this is due to the auto generated relationship name being generated for the internal page?
Additionally if you can get the fields to line up with the others on the form/content tab it would really help. Having a seamless transition between page fields and the fields of the component will really bring it all together.
Thanks for the great work
Getting this error when trying to install Meeg.Kentico.ContentComponents on my MVC Site:
Error Could not install package 'Meeg.Kentico.ContentComponents.Cms 0.1.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.6.1', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
If you can republish awesome, i'm actually needing this for a demonstration at a talk I'm giving on Data Modeling and would love to give a plug in for it :)
From #5:
Additionally if you can get the fields to line up with the others on the form/content tab it would really help. Having a seamless transition between page fields and the fields of the component will really bring it all together.
This relates to #7 - when running CI (though the same would apply for staging and import/export) the NodeParentID
field can end up referencing the wrong TreeNode (or potentially a non-existent TreeNode) because the ID does not get "translated".
There is some discussion of how this could be achieved in the documentation though it is unclear if the methods discussed in the article apply to CI (it only mentions import/export and staging).
For the time being (as of v0.3.1) the NodeParentID
is being populated at runtime when component data is fetched using the available TreeNode extension methods, and does not get persisted with the component data. Persisting the NodeParentID
would be cleaner and more performant in scenarios such as nested components.
A blocker for investigation at the moment is that Kentico Contrib is running on a Free license and therefore cannot run CI to debug the issue or investigate a fix.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.