Copied to clipboard

Flag this post as spam?

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


  • Mohammed BOUTEBEL 59 posts 97 karma points
    Sep 12, 2017 @ 08:35
    Mohammed BOUTEBEL
    0

    UPDATE not working on Courier Express ?

    Hello ! I have an issue with Umbraco Courier Express :

    Umbraco : 7.6. Courier : lastest version

    I activated the UPDATE function by changing the value in courier.config

    <contextMenuEnableUpdate>True</contextMenuEnableUpdate>
    

    The DEPLOY works as expected, but I have an error when I try to UPDATE from an instance to another

    System.ArgumentNullException: Value cannot be null. 
    Parameter name: destination 
    at Umbraco.Courier.Core.BaseRevisionHandler..ctor(ExecutionContext executionContext, Repository source, Repository destination, String revision) 
    at Umbraco.Courier.Core.Packaging.RevisionPackaging..ctor(ExecutionContext executionContext, Repository source, Repository destination, String revision) 
    at Umbraco.Courier.UI.Dialogs.UpdateItem.PackageSelectedItems() 
    at Umbraco.Courier.UI.Dialogs.UpdateItem.renderSteps() 
    at Umbraco.Courier.UI.Dialogs.UpdateItem.go(Object sender, EventArgs e) 
    at System.Web.UI.WebControls.Button.OnClick(EventArgs e) 
    at System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) 
    at System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) 
    at System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) 
    at System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) 
    at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint
    

    Here is my courier.config file :

    <?xml version="1.0"?>
    <configuration>
    
      <!-- Repository connection settings -->
      <!-- For each site, a custom repository must be configured, so Courier knows how to connect and authenticate-->
      <repositories>
        <!-- If a custom Umbraco Membership provider is used, specify login & password + set the passwordEncoding to clear: 
            <repository name="Sample" alias="sample" type="CourierWebserviceRepositoryProvider" visible="true">
                <url>http://sample.local</url>;
    
                Enter login details:
                <login>admin</login>
                <password>1234</password>
                <passwordEncoding>Clear</passwordEncoding>
    
                OR just add the user ID:
                <user>0</user>
            </repository>-->
    
        <repository name="dev-*********************.net" alias="dev-*********************.net" type="CourierWebserviceRepositoryProvider" visible="true">
          <url>http://dev-*********************.net</url>
         <user>0</user>
        </repository>
        <repository name="preprod-**************.net" alias="preprod-**************.net" type="CourierWebserviceRepositoryProvider" visible="true">
          <url>http://preprod-**************.net</url>
               <user>0</user>
        </repository>
    
      </repositories>
    
    
      <settings>
        <!--Enable error logging in /app_data/courier/logs/*.txt-->
        <debugMode>True</debugMode>
    
        <!--Enable short filenames for courier files, can be needed in env's with long root paths-->
        <enableShortFileNames>False</enableShortFileNames>
    
        <!--Enable the update pull dialog for courier-->
        <contextMenuEnableUpdate>True</contextMenuEnableUpdate>
    
        <!-- This strips the resouces from courier files, resources are still transfered as normal files
                But if you depend on modifying resources from the courier file, in memory, you might want to turn this off (set to "False")-->
        <stripResourcesFromCourierFiles>True</stripResourcesFromCourierFiles>
    
        <!-- Turn off Base64 encoding for resource transfers-->
        <disableBase64Encoding>false</disableBase64Encoding>
    
        <!--  Generate a mindmap of extracted revisions, useful for debugging -->
        <mapGraph>false</mapGraph>
    
        <!-- overwrite modes is either Always|Never|Compare -->
        <overwrite>
          <resources>Compare</resources>
          <items>Compare</items>
          <dependencies>Compare</dependencies>
        </overwrite>
      </settings>
    
      <security>
        <!-- Authentication method can be either: 'credentials' or 'token' - defaults to credentials if not specified.
             API key should be set if using token-auth and should match the API key of the site we're communicating with.
             Key should be a random generated key with a length of at least 10 characters. -->
        <auth>
          <method>credentials</method>
          <apikey></apikey>
        </auth>
        <filters>
          <ipfilter>
            <allow>*</allow>
          </ipfilter>
          <userfilter>
            <allow>*</allow>
            <!--<deny>editor</deny>-->
          </userfilter>
        </filters>
      </security>
    
      <!--
        <cache>
            <enable>true</enable>
            <locations>
                <add path="everything">
                    <provider id="*" />
                </add>
            </locations>
        </cache>
      -->
    
    
      <itemProviders>
        <folderItemProvider>
          <include>
            <!--<folder>~/media/assets/somefolder</folder>-->
          </include>
        </folderItemProvider>
    
        <fileItemProvider>
          <!--<folder>~/media/assets/somefolder</folder>-->
          <!--<file>~/media/assets/somefile.png</file>-->
        </fileItemProvider>
    
        <mediaTypeItemProvider>
          <includeChildMediaTypes>true</includeChildMediaTypes>
        </mediaTypeItemProvider>
    
        <documentTypeItemProvider>
          <!-- Include all avaiable templates as dependencies, if false, only the current standard template is included -->
          <includeAllTemplates>false</includeAllTemplates>
          <includeChildDocumentTypes>true</includeChildDocumentTypes>
    
          <!-- By default we won't add the built-in datatypes as dependencies, if needed, they can be removed from the list below -->
          <!-- Only datatypes which are installed as standard, and does not have any settings are ignored -->
          <!-- to add, find the datatype in the umbracoNode table and copy its uniqueId value to a node below-->
          <ignoredDataTypes>
            <add key="contentPicker">A6857C73-D6E9-480C-B6E6-F15F6AD11125</add>
            <add key="textstring">0CC0EBA1-9960-42C9-BF9B-60E150B429AE</add>
            <add key="textboxmultiple">C6BAC0DD-4AB9-45B1-8E30-E4B619EE5DA3</add>
            <add key="label">F0BC4BFB-B499-40D6-BA86-058885A5178C</add>
            <add key="folderbrowser">FD9F1447-6C61-4A7C-9595-5AA39147D318</add>
            <add key="memberpicker">2B24165F-9782-4AA3-B459-1DE4A4D21F60</add>
            <add key="simpleeditor">1251C96C-185C-4E9B-93F4-B48205573CBD</add>
            <add key="truefalse">92897BC6-A5F3-4FFE-AE27-F2E7E33DDA49</add>
            <add key="datepicker">5046194E-4237-453C-A547-15DB3A07C4E1</add>
            <add key="datepickerWithTime">E4D66C0F-B935-4200-81F0-025F7256B89A</add>
            <add key="numeric">2E6D3631-066E-44B8-AEC4-96F09099B2B5</add>
          </ignoredDataTypes>
        </documentTypeItemProvider>
    
    
        <mediaItemProvider>
          <includeChildren>false</includeChildren>
          <includeParents>true</includeParents>
        </mediaItemProvider>
    
        <documentItemProvider>
          <includeParents>true</includeParents>
        </documentItemProvider>
    
        <templateItemProvider>
          <macrosAreDependencies>false</macrosAreDependencies>
          <processTemplateResources>true</processTemplateResources>
          <localLinksAreDependencies>false</localLinksAreDependencies>
          <macroParametersAreDependencies>false</macroParametersAreDependencies>
        </templateItemProvider>
    
        <!-- Add the fully classified Class name to ignore a provider from loading... -->
        <ignore>
          <!--<add>my.namespace.*</add>-->
        </ignore>
      </itemProviders>
    
    
      <itemDataResolvers>
        <files>
          <!-- add new datatype elements for data types that stores files as a path ex: /meda/223/file.png -->
          <add key="Upload">Umbraco.UploadField</add>
        </files>
    
        <contentPickers>
          <!-- add new datatype elements for data types that stores page ids (ex: "1242" or "1726,2362,2323") -->
          <add key="contentPicker">Umbraco.ContentPickerAlias</add>
          <add key="MNTP-CSV">Umbraco.MultiNodeTreePicker</add>
          <add key="contentPicker2">Umbraco.ContentPicker2</add>
          <add key="MNTP2-CSV">Umbraco.MultiNodeTreePicker2</add>
        </contentPickers>
    
        <mediaPickers>
          <!-- add new datatype elements for data types that stores media ids (ex: "1242" or "1726,2362,2323") -->
          <add key="multiplemediaPicker">Umbraco.MultipleMediaPicker</add>
          <add key="mediaPicker">Umbraco.MediaPicker</add>
          <add key="mediaPicker2">Umbraco.MediaPicker2</add>
          <add key="MNTP-CSV">Umbraco.MultiNodeTreePicker</add>
          <add key="MNTP2-CSV">Umbraco.MultiNodeTreePicker2</add>
        </mediaPickers>
    
        <keyValuePrevalueEditors>
          <!-- Property editors storing pre-values as key/value pairs -->
          <add key="DropDownMultiple">Umbraco.DropDownMultiple</add>
          <add key="DropdownlistMultiplePublishKeys">Umbraco.DropdownlistMultiplePublishKeys</add>
          <add key="RadioButtonList">Umbraco.RadioButtonList</add>
          <add key="DropDown">Umbraco.DropDown</add>
          <add key="DropdownlistPublishingKeys">Umbraco.DropdownlistPublishingKeys</add>
          <add key="CheckBoxList">Umbraco.CheckBoxList</add>
        </keyValuePrevalueEditors>
    
        <localLinks>
          <localLinksAreDependencies>true</localLinksAreDependencies>
          <!-- Propertytypes that CAN contain locallinks (like the ones inserted with TinyMCE) -->
          <add key="TinyMCE3">Umbraco.TinyMCEv3</add>
          <add key="TextboxMultiple">Umbraco.TextboxMultiple</add>
          <add key="Textstring">Umbraco.Textbox</add>
          <add key="Simple Editor">Umbraco.MarkdownEditor</add>
        </localLinks>
    
        <macros>
          <macrosAreDependencies>true</macrosAreDependencies>
          <macroParametersAreDependencies>true</macroParametersAreDependencies>
    
          <!-- Propertytypes that CAN contain macro mark-up (like the ones inserted with TinyMCE) -->
          <add key="TinyMCE3">Umbraco.TinyMCEv3</add>
          <add key="TextboxMultiple">Umbraco.TextboxMultiple</add>
          <add key="Textstring">Umbraco.Textbox</add>
          <add key="Simple Editor">Umbraco.MarkdownEditor</add>
          <add key="Macro Container">Umbraco.MacroContainer</add>
        </macros>
        <templates>
          <add key="include" />
        </templates>
      </itemDataResolvers>
    
      <macroPropertyTypeResolvers>
        <contentPickers>
          <!-- Macro Property Types, that store Content IDs, to link to media or content -->
          <add key="contentPicker">Umbraco.ContentPickerAlias</add>
          <add key="contentPicker2">Umbraco.ContentPicker2</add>
          <add key="multiplemediaPicker">Umbraco.MultipleMediaPicker</add>
          <add key="mediaPicker">Umbraco.MediaPicker</add>
          <add key="mediaPicker2">Umbraco.MediaPicker2</add>
        </contentPickers>
      </macroPropertyTypeResolvers>
    
      <resources>
        <!-- files which should not added at any time-->
        <ignore>
          <add>/bin/*.pdb</add>
          <add>/bin/*.xml</add>
          <add>/bin/AjaxControlToolkit.dll</add>
          <add>/bin/Antlr3.Runtime.dll</add>
          <add>/bin/App_Browsers.dll</add>
          <add>/bin/App_global.asax.dll</add>
          <add>/bin/businesslogic.dll</add>
          <add>/bin/Castle.*</add>
          <add>/bin/ClientDependency.Core.dll</add>
          <add>/bin/cms.dll</add>
          <add>/bin/controls.dll</add>
          <add>/bin/CookComputing.XmlRpcV2.dll</add>
          <add>/bin/Examine.dll</add>
          <add>/bin/FluentNHibernate.dll</add>
          <add>/bin/htmlagilitypack.dll</add>
          <add>/bin/ICSharpCode.SharpZipLib.dll</add>
          <add>/bin/interfaces.dll</add>
          <add>/bin/Iron*.dll</add>
          <add>/bin/log4net.dll</add>
          <add>/bin/Lucene.Net.dll</add>
          <add>/bin/Microsoft.*.dll</add>
          <add>/bin/MySql.Data.dll</add>
          <add>/bin/NHibernate.*</add>
          <add>/bin/RazorEngine.*.dll</add>
          <add>/bin/System.Web.*</add>
          <add>/bin/TidyNet.dll</add>
          <add>/bin/Umbraco.Courier.*</add>
          <add>/bin/umbraco.DataLayer.dll</add>
          <add>/bin/UrlRewritingNet.UrlRewriter.dll</add>
          <add>/bin/umbraco.dll</add>
        </ignore>
      </resources>
    
      <!-- which types of relations should be supported by courier -->
      <!-- Relations are only supported between content and media out of the box -->
      <relations>
        <add>relateOnCopy</add>
        <!-- <add></add> -->
      </relations>
    
    </configuration>
    

    Is it an issue with my Express licence ? A configuration error ? Any idea ?

  • AL 4 posts 24 karma points
    Sep 14, 2017 @ 13:50
    AL
    0

    I'm having the exact same issue. Umbraco 7.6.5 running on Courier 2.52.15. I can deploy but get the same ArgumentNullException complaining about the 'destination' parameter when I try to update from the context menu.

  • Mohammed BOUTEBEL 59 posts 97 karma points
    Sep 15, 2017 @ 06:50
    Mohammed BOUTEBEL
    0

    Have you the Express licence too ? I suspect the UPDATE functionnality is only available on full version but still appears when activated in the courier.config file.

  • AL 4 posts 24 karma points
    Sep 15, 2017 @ 13:17
    AL
    0

    Yes, I also have the Express license., and I think you may be correct. I found this thread where someone indicated that you cannot use the "Update" feature with Courier Express: https://our.umbraco.org/forum/umbraco-pro/courier/70899-courier-express-on-v7

  • AL 4 posts 24 karma points
    Sep 19, 2017 @ 13:05
    AL
    0

    To confirm, I contacted Umbraco support and yes, this is because the Courier Express license only allows you to push content by right-clicking. This was their response:

    With the Courier Express license that you are using, you only have the option to transfer content by right click on the items in the backoffice and choose queue for transfer.

Please Sign in or register to post replies

Write your reply to:

Draft