Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Alistair Jenkins 92 posts 314 karma points
    16 days ago
    Alistair Jenkins
    0

    Allowed Child Nodes issue

    Hi,

    Having a weird problem. I just created a new document type underneath my main document type. When I go to add this in the allowed child nodes list under permissions in my main doc type I see that there is nothing in the list (I have several other doc types that should appear there). When I go to the Content section and choose create I can see all the doc types there and can create a new one no problem.

    Now if I go back to add in my new doc type in the permissions list I can do that and it sits there alone in the list. I can save the doc type no problem, but when I go back to the Contents section and choose create the new doc type does not appear.

    I have tried restarting the app (it is hosted on an Azure web App) but this doesn't help.

    Can anyone tell me what's going on?

  • Jan Skovgaard 11031 posts 22288 karma points MVP 4x admin c-trib
    16 days ago
    Jan Skovgaard
    0

    Hi Alistair

    That does indeed sound weird - I'm wondering if perhaps there are some errors in the browser console log?

    Also can you check the umbraco log somehow and see if anything in there is marked with ERROR? I don't have that much Azure experience so I know it can be a bit tricky to access the file - But perhaps you can use and install Diplo Trace Log Viewer, which makes it possible to see and browse the log file sin the Developer section in the backoffice - https://our.umbraco.com/projects/developer-tools/diplo-trace-log-viewer/

    /Jan

  • Alistair Jenkins 92 posts 314 karma points
    16 days ago
    Alistair Jenkins
    0

    HI Jan,

    There was a warning in the Console about passwords on an unsecure page but no errors I could see.

    The most recent error in the Trace Log was

    2018-08-03 12:50:59,696 [P4740/D2/T39] ERROR 
    Umbraco.Core.UmbracoApplicationBase - An unhandled exception occurred
    System.FormatException: String "1113" is not a valid udi.
       at Umbraco.Core.Udi.ParseInternal(String s, Boolean tryParse, Boolean knownTypes, Udi& udi)
       at Umbraco.Core.Udi.Parse(String s)
       at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
       at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
       at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
       at Umbraco.Web.PropertyEditors.ValueConverters.MediaPickerPropertyConverter.ConvertDataToSource(PublishedPropertyType propertyType, Object source, Boolean preview)
       at Umbraco.Web.PublishedCache.XmlPublishedCache.XmlPublishedProperty.get_Value()
       at Umbraco.Web.PublishedPropertyExtension.GetValue[T](IPublishedProperty property, Boolean withDefaultValue, T defaultValue)
       at Umbraco.Web.PublishedContentExtensions.GetPropertyValue[T](IPublishedContent content, String alias)
       at ASP._Page_Views_umbLayout_cshtml.Execute()
       at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
       at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
       at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
       at System.Web.WebPages.WebPageBase.<>c__DisplayClass3.<RenderPageCore>b__2(TextWriter writer)
       at System.Web.WebPages.HelperResult.WriteTo(TextWriter writer)
       at System.Web.WebPages.WebPageBase.Write(HelperResult result)
       at System.Web.WebPages.WebPageBase.RenderSurrounding(String partialViewName, Action`1 body)
       at System.Web.WebPages.WebPageBase.PopContext()
       at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
       at System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance)
       at System.Web.Mvc.BuildManagerCompiledView.Render(ViewContext viewContext, TextWriter writer)
       at Umbraco.Core.Profiling.ProfilingView.Render(ViewContext viewContext, TextWriter writer)
       at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionResult(ControllerContext controllerContext, ActionResult actionResult)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilterRecursive(IList`1 filters, Int32 filterIndex, ResultExecutingContext preContext, ControllerContext controllerContext, ActionResult actionResult)
       at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<>c__DisplayClass2b.<BeginInvokeAction>b__1c()
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass21.<BeginInvokeAction>b__1e(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult`1.CallEndDelegate(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
       at System.Web.Mvc.Async.AsyncControllerActionInvoker.EndInvokeAction(IAsyncResult asyncResult)
       at System.Web.Mvc.Controller.<BeginExecuteCore>b__1d(IAsyncResult asyncResult, ExecuteCoreState innerState)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
       at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult)
       at System.Web.Mvc.Controller.<BeginExecute>b__15(IAsyncResult asyncResult, Controller controller)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
       at System.Web.Mvc.Controller.EndExecute(IAsyncResult asyncResult)
       at System.Web.Mvc.Controller.System.Web.Mvc.Async.IAsyncController.EndExecute(IAsyncResult asyncResult)
       at System.Web.Mvc.MvcHandler.<BeginProcessRequest>b__5(IAsyncResult asyncResult, ProcessRequestState innerState)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncVoid`1.CallEndDelegate(IAsyncResult asyncResult)
       at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResultBase`1.End()
       at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
       at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
       at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
       at System.Web.HttpApplication.ExecuteStepImpl(IExecutionStep step)
       at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
    
  • Jan Skovgaard 11031 posts 22288 karma points MVP 4x admin c-trib
    16 days ago
    Jan Skovgaard
    0

    Hi Alistair

    Ok, something seems have gone wrong somewhere on the node with id 1113. Not sure what though but I suspect this is the reason you're seeing this odd behavior.

    Unfortunately I must admit I'm not too sure what to do from here. But you will probably need to do a lookup in the database to figure out if it's a document type, datatype or a piece of content where a setting is messed up for some reason unless you don't have that many document types etc. in your solution then hovering over them should reveal the id's in the lower left corner of your browser. But I'm not sure which approach is better though.

    /Jan

  • Alistair Jenkins 92 posts 314 karma points
    16 days ago
    Alistair Jenkins
    0

    I also found:

    2018-08-03 11:49:18,632 [P4740/D2/T55] ERROR Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper - Could not validate XSRF token
    System.Web.Mvc.HttpAntiForgeryException (0x80004005): The provided anti-forgery token was meant for user "", but the current user is "me@mywork.co.uk".
       at System.Web.Helpers.AntiXsrf.TokenValidator.ValidateTokens(HttpContextBase httpContext, IIdentity identity, AntiForgeryToken sessionToken, AntiForgeryToken fieldToken)
       at System.Web.Helpers.AntiXsrf.AntiForgeryWorker.Validate(HttpContextBase httpContext, String cookieToken, String formToken)
       at System.Web.Helpers.AntiForgery.Validate(String cookieToken, String formToken)
       at Umbraco.Web.WebApi.Filters.AngularAntiForgeryHelper.ValidateTokens(String cookieToken, String headerToken)
    
  • Jan Skovgaard 11031 posts 22288 karma points MVP 4x admin c-trib
    16 days ago
    Jan Skovgaard
    0

    I don't think it's related to the issue you're experiencing but I'm not to sure what is the cause of this issue? Not even sure if it's Umbraco core related or if it's related to a custom package or feature or perhaps an installed 3rd party package?

    /Jan

  • Alistair Jenkins 92 posts 314 karma points
    16 days ago
    Alistair Jenkins
    0

    BTW, I was trying earlier to work out how to integrate a google calendar that you cold actually add events to in my webpage rather than just view via the iframes method and so tried to set up the Google Calendar API. As a result I created a Partial with this code in it:

    @inherits Umbraco.Web.Mvc.UmbracoTemplatePage
    
    <p>Google Calendar API Quickstart</p>
    
    <!--Add buttons to initiate auth sequence and sign out-->
    <button id="authorize_button" style="display: none;">Authorize</button>
    <button id="signout_button" style="display: none;">Sign Out</button>
    
    <pre id="content"></pre>
    
    
    
    <script type="text/javascript">
      // Client ID and API key from the Developer Console
      var CLIENT_ID = 'myId';
      var API_KEY = 'myKey';
    
      // Array of API discovery doc URLs for APIs used by the quickstart
      var DISCOVERY_DOCS = ["https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest"];
    
      // Authorization scopes required by the API; multiple scopes can be
      // included, separated by spaces.
      var SCOPES = "https://www.googleapis.com/auth/calendar.readonly";
    
      var authorizeButton = document.getElementById('authorize_button');
      var signoutButton = document.getElementById('signout_button');
    
      /**
       *  On load, called to load the auth2 library and API client library.
       */
      function handleClientLoad() {
        gapi.load('client:auth2', initClient);
      }
    
      /**
       *  Initializes the API client library and sets up sign-in state
       *  listeners.
       */
      function initClient() {
        gapi.client.init({
          apiKey: API_KEY,
          clientId: CLIENT_ID,
          discoveryDocs: DISCOVERY_DOCS,
          scope: SCOPES
        }).then(function () {
          // Listen for sign-in state changes.
          gapi.auth2.getAuthInstance().isSignedIn.listen(updateSigninStatus);
    
          // Handle the initial sign-in state.
          updateSigninStatus(gapi.auth2.getAuthInstance().isSignedIn.get());
          authorizeButton.onclick = handleAuthClick;
          signoutButton.onclick = handleSignoutClick;
        });
      }
    
      /**
       *  Called when the signed in status changes, to update the UI
       *  appropriately. After a sign-in, the API is called.
       */
      function updateSigninStatus(isSignedIn) {
        if (isSignedIn) {
          authorizeButton.style.display = 'none';
          signoutButton.style.display = 'block';
          listUpcomingEvents();
        } else {
          authorizeButton.style.display = 'block';
          signoutButton.style.display = 'none';
        }
      }
    
      /**
       *  Sign in the user upon button click.
       */
      function handleAuthClick(event) {
        gapi.auth2.getAuthInstance().signIn();
      }
    
      /**
       *  Sign out the user upon button click.
       */
      function handleSignoutClick(event) {
        gapi.auth2.getAuthInstance().signOut();
      }
    
      /**
       * Append a pre element to the body containing the given message
       * as its text node. Used to display the results of the API call.
       *
       * @param {string} message Text to be placed in pre element.
       */
      function appendPre(message) {
        var pre = document.getElementById('content');
        var textContent = document.createTextNode(message + '\n');
        pre.appendChild(textContent);
      }
    
      /**
       * Print the summary and start datetime/date of the next ten events in
       * the authorized user's calendar. If no events are found an
       * appropriate message is printed.
       */
      function listUpcomingEvents() {
        gapi.client.calendar.events.list({
          'calendarId': 'primary',
          'timeMin': (new Date()).toISOString(),
          'showDeleted': false,
          'singleEvents': true,
          'maxResults': 10,
          'orderBy': 'startTime'
        }).then(function(response) {
          var events = response.result.items;
          appendPre('Upcoming events:');
    
          if (events.length > 0) {
            for (i = 0; i < events.length; i++) {
              var event = events[i];
              var when = event.start.dateTime;
              if (!when) {
                when = event.start.date;
              }
              appendPre(event.summary + ' (' + when + ')')
            }
          } else {
            appendPre('No upcoming events found.');
          }
        });
      }
    
    </script>
    
    
    
    
    
    <script async defer src="https://apis.google.com/js/api.js"
      onload="this.onload=function(){};handleClientLoad()"
      onreadystatechange="if (this.readyState === 'complete') this.onload()">
    </script>
    

    Could this be the culprit?

  • Alistair Jenkins 92 posts 314 karma points
    16 days ago
    Alistair Jenkins
    0

    OK, found Node 1113. It is an image file, and one which has been on the site for ages without causing any problems.

  • Jan Skovgaard 11031 posts 22288 karma points MVP 4x admin c-trib
    16 days ago
    Jan Skovgaard
    0

    Ok so perhaps a reference to the image has been messed up somehow maybe? Any media pickers been changed recently?

    /Jan

  • Alistair Jenkins 92 posts 314 karma points
    1 week ago
    Alistair Jenkins
    0

    Hi Jan,

    Sorry for delay in replying, I'm only in once a week.

    I did change a media picker a while back and when I looked into it I found that , although I had gone to most of the pages it featured on and reselected an image after that, there were some I had missed. Presumably these were pages were causing the error. So, just to be sure, i downloaded the logo in question, deleted it from the media folder then uploaded it again so it had a different ID, then made absolutely sure I had reselected it on all the pages where it was meant to appear, then restarted the Web App.

    After restart there are no errors in the log, but this hasn't fixed the problem I'm having with the child nodes.

Please Sign in or register to post replies

Write your reply to:

Draft