Copied to clipboard

Flag this post as spam?

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


  • Heiko Luxenhofer 38 posts 138 karma points
    Nov 29, 2014 @ 15:41
    Heiko Luxenhofer
    0

    Courier deployment macro parameter

    Hallo,

    we have a problem with Courier deployment. Users can add macro in richttext editor and can select content as parameter with content picker. If we deploy this content with macro inside to our production environment the old content id is referenced. Courier doesn´t replace it. Does anybody know how to achieve this?

    Umbraco Version: 1.7.8 Courier Version: 2.10.0.102.v7

    Heiko

  • Sören Deger 733 posts 2844 karma points c-trib
    Dec 02, 2014 @ 14:06
    Sören Deger
    0

    Hi all,

    same issue here (Umbraco Version 1.7.8, Courier for V7).

    The deployment to live is tomorrow.

     

    Can anyone help me to solve this?

     

    Best regards 

    Sören

  • Niels Hartvig 1951 posts 2391 karma points c-trib
    Dec 02, 2014 @ 14:22
    Niels Hartvig
    1

    I'll have a look right away!

  • Niels Hartvig 1951 posts 2391 karma points c-trib
    Dec 02, 2014 @ 14:26
    Niels Hartvig
    1

    I'm able to reproduce, so I can confirm this is a bug! Will be looking into a fix.

  • Ben 6 posts 26 karma points
    Dec 02, 2014 @ 16:52
    Ben
    0

    Hi Niels, I have the same problem in Umbraco 6.2.0 and Courier 2.7.8.35. Are you looking to port this fix back to the version for umbraco 6.2? 

    Thanks

  • Paul Sterling 718 posts 1534 karma points MVP 8x admin c-trib
    Dec 02, 2014 @ 18:13
    Paul Sterling
    0

    @All -

    Can you verify you have the following set to true in courier.config so that Courier knows to handle Macro Parameters:

    macrosAreDependencies
    macroParametersAreDependencies

    With these set to true a macro in an RTE property using macro parameters should be resolved and transferred.

    -Paul 

  • Paul Sterling 718 posts 1534 karma points MVP 8x admin c-trib
    Dec 02, 2014 @ 18:54
    Paul Sterling
    0

    @All

    Update...yes I see a potential issue with Courier for v7 as Umbraco uses a plugin approach for property editors - I'll address that and include in the next build.  

    @Ben - I don't see the issue with v6 however, could you include details and repro steps on the issue tracker?  http://issues.umbraco.org/issues/COU

    -Paul

  • Paul Sterling 718 posts 1534 karma points MVP 8x admin c-trib
    Dec 02, 2014 @ 22:16
    Paul Sterling
    101

    @All 

    We've made an update to address content/media picker types when used as macro parameter types and the containing values.  While we prepare an update release the fix is available in this build for evaluation:

    http://nightly.umbraco.org/UmbracoCourier/Umbraco%207/Umbraco.Courier.Hotfix.v2.10.115.zip

    Note that you'll need to update your courier.config to reflect any property editors being used as content/media pickers for macro parameters.  By default these are the pickers handled:

      <macroPropertyTypeResolvers>
        <contentPickers>
          <!-- Macro Property Types, that store Content IDs, to link to media or content -->
          <add key="contentPicker">Umbraco.ContentPickerAlias</add>
          <add key="multiplemediaPicker">Umbraco.MultipleMediaPicker</add>
          <add key="mediaPicker">Umbraco.MediaPicker</add>
        </contentPickers>
      </macroPropertyTypeResolvers>
    
    -Paul
  • Ben 6 posts 26 karma points
    Dec 02, 2014 @ 22:47
    Ben
    0

    @Paul - Thanks for the quick reply. I'm not at the client's site at the moment so I cannot be 100%, however I used the default Courier.config in your zip file here: http://our.umbraco.org/FileDownload?id=12670 with only an amend to supply the destination umbraco instance in the repositories section. The default config does indeed have these settings turned on. 

    I am using the advanced courier mode where you create revisions that can later be transferred to any Umbraco instance. Looking through the XML courier creates for a revision, I cannot see how it would work, as the Node Id's are present in the XML. These are different on the target instance, so I got a random content Node selected. Is there anything I can check to see where the process is going wrong? How is the process intended to work? Looking at the data I would assume you'd have to substitute the Node Id's with Guids, and maintain a mapping table on each umbraco DB, otherwise we'll have problems with collisions/severed-relations in different databases. 

    I'll go fill out the repo for you. 

    Thanks 

    Ben

     

  • Paul Sterling 718 posts 1534 karma points MVP 8x admin c-trib
    Dec 02, 2014 @ 23:38
    Paul Sterling
    0

    @Ben 

    Thanks for the reprp steps...with 6.2 the paramaters are resolved properly and updated on extraction to the correct content/media id's on the target instance.  So must be something different in the setup or process.

    -Paul

  • Ben 6 posts 26 karma points
    Dec 03, 2014 @ 00:02
    Ben
    0

    @Paul - Okay, I was puzzled by how you'd achieve that with the data I've seen in the database table and in the XML files. The node ID present in the XML file is unaltered so it is essentially an arbitary ID on the destination database. It needs updating (as you indicated), but there don't seem to be any good candidates within the database data to key the mapping on. Title can be duplicated easily if you have the same named Content in different folders within the site. Version seems to be different on the source and destination, and there arn't any other obvious candidates. I was speculating that if I was doing this, I'd probably replace the NodeID's with Guids in the XML and maintain a mapping table within the database at each end (NodeID->Guid and Guid->New NodeID). An alternative is to leave the Node ID's as they are and create a mapping XML file in the revision? What should I look for to trace the flow through?

    Thanks

  • Ben 6 posts 26 karma points
    Dec 03, 2014 @ 10:17
    Ben
    0

    @Paul - Had another look at the site this morning, and realised there was one important difference with what we're doing. It's actually a Macro Container (technically a custom data type based on a Macro container, with a restriction on which macros can be used) rather than a RTE. Sorry, I should have made that distinction. I assume the same mechanisms should apply in this case, but it is different control.

  • Sören Deger 733 posts 2844 karma points c-trib
    Dec 03, 2014 @ 10:23
    Sören Deger
    0

    @Paul - Thank you for the hotfix! Our customer will check this morning. I'll give you feedback as soon as possible.

  • Paul Sterling 718 posts 1534 karma points MVP 8x admin c-trib
    Dec 03, 2014 @ 20:46
    Paul Sterling
    0

    @Ben 

    Make sure you have the Macro Container type listed in courier.config under the <macros> element.

    <add key="Macro Container">Umbraco.MacroContainer</add>

    If you have that and still the parameters aren't resolved there may be something "custom" in your data type that Courier doesn't know about.  In that case you'd need to create a custom resolver.  If you like, you can pack up your site (or perhaps package the data type andf all its parts along with a sample usage) and send to me directly.  Just ping me on email in that case.

    -Paul

  • Heiko Luxenhofer 38 posts 138 karma points
    Dec 04, 2014 @ 12:07
    Heiko Luxenhofer
    0

    Thank you very much for the hotfix. This solved our problem

  • Sören Deger 733 posts 2844 karma points c-trib
    Dec 04, 2014 @ 12:08
    Sören Deger
    0

    @Paul - Sorry that I answer you just now. Thank you very much for the quick hotfix! It solved the issue for us!

    Best regards

    Sören 

  • Carlos Mosqueda 240 posts 431 karma points
    Dec 11, 2014 @ 17:54
    Carlos Mosqueda
    0

    @Paul or anyone.

    How would I install the Hotfix?  We installed 2.10.115 throught the Backoffice as a local copy, but when I tried installing the hotfix I got this error.

    Do I just need to push a DLL instead?

     

    Could not upload file
    System.Exception: Error unpacking extension... ---> System.IO.FileNotFoundException: Could not find file 'D:\WebSites\eContent\App_Data\554b0809-7bad-4b5a-8e1a-6df0ee1910c5\package.xml'. at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath) at System.IO.FileStream.Init(String path, FileMode mode, FileAccess access, Int32 rights, Boolean useRights, FileShare share, Int32 bufferSize, FileOptions options, SECURITY_ATTRIBUTES secAttrs, String msgPath, Boolean bFromProxy, Boolean useLongPath, Boolean checkHost) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize, FileOptions options, String msgPath, Boolean bFromProxy) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access, FileShare share, Int32 bufferSize) at System.Xml.XmlUrlResolver.GetEntity(Uri absoluteUri, String role, Type ofObjectToReturn) at System.Xml.XmlTextReaderImpl.OpenUrlDelegate(Object xmlResolver) at System.Threading.CompressedStack.runTryCode(Object userData) at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData) at System.Threading.CompressedStack.Run(CompressedStack compressedStack, ContextCallback callback, Object state) at System.Xml.XmlTextReaderImpl.OpenUrl() at System.Xml.XmlTextReaderImpl.Read() at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace) at System.Xml.XmlDocument.Load(XmlReader reader) at System.Xml.XmlDocument.Load(String filename) at umbraco.cms.businesslogic.packager.Installer.LoadConfig(String tempDir) at umbraco.cms.businesslogic.packager.Installer.Import(String InputFile) --- End of inner exception stack trace --- at umbraco.cms.businesslogic.packager.Installer.Import(String InputFile) at umbraco.presentation.developer.packages.Installer.uploadFile(Object sender, EventArgs e)
  • Paul Sterling 718 posts 1534 karma points MVP 8x admin c-trib
    Dec 11, 2014 @ 18:11
    Paul Sterling
    0

    @carlos 

     

    The hotfix is just an archove of files, not a package, so you simply replace the files that are different in the specified folders.  Easy!

    Also, please note that this is still being evaluated, we'll have a release shortly.  If you find any issues when evaluating please let us know:  http://issues.umbraco.org/issues?issueFolder=51-18

    Thanks!

  • Carlos Mosqueda 240 posts 431 karma points
    Dec 11, 2014 @ 18:52
    Carlos Mosqueda
    0

    Thank you. We will not implement the hotfix and in turn wait for the next release.   For our needs, I guess we do not need the hotfix.

     

    Thanks for the info!

Please Sign in or register to post replies

Write your reply to:

Draft