Copied to clipboard

Flag this post as spam?

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


  • Craig100 1136 posts 2523 karma points c-trib
    Dec 31, 2018 @ 13:39
    Craig100
    0

    Deploy says MacroAlias missing, but it isn't.

    Hi,

    Have a new UC project, schema is GIT Pushing and Pulling with no errors. Come to first push of content, I'm getting an error saying there is a missing macroalias. Looking at the macro in the back office and it's UDA file on local and cloud, the alias is there. The error happens as the packaging takes place for transfer.

    (Late edit: It has CMSImport installed, if it makes a difference)

    I've tried resaving the macro, restarting, republishing and reindexing, can't think of anything else. If someone could give me a pointer to anything else to try I'd appreciate it. The full error follows:-

    788a39d4 - Executing, 20% - Create manifest on source
    ❤
    ❤
    788a39d4 - Executing, 25% - Review manifest on target
    788a39d4 - Executing, 25% - Update manifest on source
    ❤
    788a39d4 - Executing, 25% - Review manifest on target
    788a39d4 - Executing, 25% - Update manifest on source
    788a39d4 - Executing, 25% - Review manifest on target
    ❤
    788a39d4 - Executing, 28% - Negotiate files transfer.
    ❤
    788a39d4 - Executing, 30% - Create package on source
    788a39d4 - Executing, 80% - Exception!
    788a39d4 - Executing, 80% - Abort remote session
    788a39d4 - Failed, 80% - Total time 00:00:22.843.
    
    -- EXCEPTION ---------------------------------------------------
     (proper exception traces at the end of this log)
    System.Collections.Generic.KeyNotFoundException: Parameter not found: macroalias, on macro: Ticklist.
    ----------------------------------------------------------------
    
    EXCEPTION:
    
    System.Collections.Generic.KeyNotFoundException: Parameter not found: macroalias, on macro: Ticklist.
       at Umbraco.Deploy.Core.MacroParser.<>c__DisplayClass8_1.<ProcessValue>b__1(Match attributeMatch)
       at System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
       at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
       at Umbraco.Deploy.Core.MacroParser.<>c__DisplayClass8_0.<ProcessValue>b__0(Match macroMatch)
       at System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
       at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
       at Umbraco.Deploy.Core.MacroParser.ProcessValue(String value, ICollection`1 dependencies, Direction direction)
       at Umbraco.Deploy.ValueConnectors.RichtextValueConnector.GetValue(Property property, ICollection`1 dependencies)
       at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
       at Umbraco.Deploy.ServiceConnectors.ContentConnectorBase`2.MapProperties(PropertyCollection properties, ICollection`1 dependencies)
       at Umbraco.Deploy.ServiceConnectors.DocumentConnector.MapVersion(IContent content, ICollection`1 dependencies)
       at Umbraco.Deploy.ServiceConnectors.DocumentConnector.GetArtifact(GuidUdi udi, IContent content)
       at Umbraco.Deploy.ServiceConnectors.DocumentConnector.GetArtifact(GuidUdi udi)
       at Umbraco.Deploy.ServiceConnectors.ServiceConnectorBase`3.Umbraco.Core.Deploy.IServiceConnector.GetArtifact(Udi udi)
       at System.Linq.Enumerable.WhereSelectEnumerableIterator`2.MoveNext()
       at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
       at Umbraco.Deploy.Environments.LocalUmbracoEnvironment.CreatePackage(Guid sessionId, Manifest manifest)
       at Umbraco.Deploy.Environments.LocalUmbracoEnvironment.CreatePackageAsync(Guid sessionId, Manifest manifest, CancellationToken token)
       at Umbraco.Deploy.WorkItems.DeployRestoreWorkItemBase.<CreatePackageOnSource>d__16.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Umbraco.Deploy.WorkItems.SourceDeployWorkItem.<ProceedToPackage>d__17.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Umbraco.Deploy.WorkItems.SourceDeployWorkItem.<ExecuteAsyncSub>d__16.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at Umbraco.Deploy.WorkItems.SourceDeployWorkItem.<ExecuteAsyncSub>d__16.MoveNext()
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
       at Umbraco.Deploy.WorkItems.SourceDeployWorkItem.<ExecuteAsync>d__15.MoveNext()
    

    TIA

    Craig

  • Dave Woestenborghs 3504 posts 12133 karma points MVP 8x admin c-trib
    Dec 31, 2018 @ 14:39
    Dave Woestenborghs
    0

    Are you using this macro in a RTE or grid editor somewhere ?

    Dave

  • Craig100 1136 posts 2523 karma points c-trib
    Dec 31, 2018 @ 16:34
    Craig100
    0

    Yes, it's in various RTEs. Might even be in an RTE in Nested Content too, though haven't checked every single instance. Also, should mention (I'll edit original query) it has CMSImport installed.

  • Craig100 1136 posts 2523 karma points c-trib
    Jan 02, 2019 @ 12:06
    Craig100
    0

    As the Macro does have it's alias set the error message would appear to be incorrect. I've inspected umbraco.config and can see it's used in 75 RTE's:

    <!--?umbraco_macro macroalias="Ticklist" text="Some text"?-->
    

    two of which are in Nested Content sections:

    <?UMBRACO_MACRO macroAlias=\"Ticklist\" text=\"Some text\" />
    

    Removing it's use in the Nested Content sections made no difference.

    Deleted the macro and recreated so it had a new GUID also made no difference.

    The site has a "site" node and a "settings" node. Both use the ticklist macro. The "settings" node transfers with out incident. Once that transferred ok, I noticed the main site node transferred too (without being queued!) However, if I queue the main site for transfer either on it's own or as part of a whole content transfer, it gives the same error.

    Craig

  • Craig100 1136 posts 2523 karma points c-trib
    Jan 03, 2019 @ 09:44
    Craig100
    0

    In conclusion, I still don't know what caused the original error, but, having now re-cloned the Dev environment to local, it no longer errors when deployed.

    Craig

  • kleptbit 42 posts 98 karma points
    Jul 29, 2020 @ 15:29
    kleptbit
    0

    I have this exact same error (but it's a property not a macro alias), but can't clone dev to local, as this is a migration of an existing site from 6 to 7.15 (via CMSImport) then to the Umbraco cloud.

    I am stumped as to how I am going to migrate this site.

    In my case the error message is title casing the camel cased property name from documentRoot to documentroot, which suggests there is something going awry in the regex, or maybe before that in the ValueConnectors.RichtextValueConnector.GetValue:

    -- EXCEPTION ---------------------------------------------------
     (proper exception traces at the end of this log)
    System.Collections.Generic.KeyNotFoundException: Parameter not found: documentroot, on macro: xxxxDocumentList.
    ----------------------------------------------------------------
    
    EXCEPTION:
    
    System.Collections.Generic.KeyNotFoundException: Parameter not found: documentroot, on macro: SeftonDocumentList.
       at Umbraco.Deploy.Core.MacroParser.<>c__DisplayClass8_1.<ProcessValue>b__1(Match attributeMatch)
       at System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
       at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
       at Umbraco.Deploy.Core.MacroParser.<>c__DisplayClass8_0.<ProcessValue>b__0(Match macroMatch)
       at System.Text.RegularExpressions.RegexReplacement.Replace(MatchEvaluator evaluator, Regex regex, String input, Int32 count, Int32 startat)
       at System.Text.RegularExpressions.Regex.Replace(String input, MatchEvaluator evaluator)
       at Umbraco.Deploy.Core.MacroParser.ProcessValue(String value, ICollection`1 dependencies, Direction direction)
       at Umbraco.Deploy.ValueConnectors.RichtextValueConnector.GetValue(Property property, ICollection`1 dependencies)
       at System.Linq.Enumerable.ToDictionary[TSource,TKey,TElement](IEnumerable`1 source, Func`2 keySelector, Func`2 elementSelector, IEqualityComparer`1 comparer)
    
Please Sign in or register to post replies

Write your reply to:

Draft