Moving from Courier to Deploy

    As of Umbraco 7.6, sites running on Umbraco Cloud will need to be running Umbraco Deploy, and not Umbraco Courier. Courier has been replaced by Deploy, and Deploy is highly specialized to be working on Umbraco Cloud.

    In normal circomstances, the move from Courier to Deploy will happen automagically when you click the button in the portal for upgrading to Umbraco 7.6. If for some reason your Umbraco project was upgraded, but not switched to Deploy. i.e. if you did the upgrade manually.

    This is a guide for moving from Courier to Deploy. First step is to aquire the latest Umbraco Deploy package and a valid Deploy Key from the support heroes. Use the inapp chat in the Umbraco Cloud portal to get this.

    Prerequisits for using the guide is that you have a running site, that contains all metadata, like document types, data types and templates.

    1 Removing Umbraco Courier

    First you need to remove all Courier related files and folders.

    • /bin/Concorde.CacheHandler.dll
    • /bin/Concorde.CacheHandler.LiveEdit.dll
    • /bin/Concorde.CacheHandler.UI.dll
    • /bin/Umbraco.Courier.Core.dll
    • /bin/Umbraco.Courier.DataResolvers.dll
    • /bin/Umbraco.Courier.EventHandlers.V7.dll
    • /bin/Umbraco.Courier.Persistence.dll
    • /bin/Umbraco.Courier.Persistence.V7.NHibernate.dll
    • /bin/Umbraco.Courier.Providers.dll
    • /bin/Umbraco.Courier.RepositoryProviders.dll
    • /bin/Umbraco.Courier.Contrib.Resolvers.dll
    • /bin/Umbraco.Courier.FormsProvider.dll
    • /bin/Archetype.Courier.dll
    • /App_Plugins/Deploy
    • /config/courier.config
    • /config/splashes/noNodes.aspx
    • /umbraco/Plugins/Courier/Webservices/Repository.asmx

    Finally these 3rd party dlls has been part of Courier. If you are not using them in your custom code, you should ensure that they get deleted as well.

    • /bin/FluentNHibernate.dll
    • /bin/NHibernate.dll
    • /bin/lesi.Collections.dll
    • /bin/Antlr3.Runtime.dll
    • /bin/Castle.Core.dll

    Finally all .courier files found in /data/Revision needs to be deleted aswell, as they will no longer be used.

    2 Adding Umbraco Deploy

    Adding Umbraco Deploy will be simple, all content from the package recieved, except /config/UmbracoDeploy.config needs to be copied into the webroot.

    Next you need to update the web.config to letting it know about Umbraco Deploy. First add the following section to the configuration/configSections part

    <sectionGroup name="umbraco.deploy">
      <section name="environments" type="Umbraco.Deploy.Configuration.DeployEnvironmentsSection, Umbraco.Deploy" requirePermission="false"/>
      <section name="settings" type="Umbraco.Deploy.Configuration.DeploySettingsSection, Umbraco.Deploy" requirePermission="false"/>
    </sectionGroup>
    

    Secondly add the umbraco.deploy element to the web.config in configuration

    <umbraco.deploy>
        <environments configSource="config\UmbracoDeploy.config"/>
        <settings configSource="config\UmbracoDeploy.Settings.config"/>
    </umbraco.deploy>
    

    By now Umbraco Deploy has been setup for the site, and what is still needed is to generate new metadata files. These are files called .courier previously, and in deploy they are named .uda files. To generate the files, start the site in IIS, and open a command prompt in the /data folder, here you need to create a marker file called deploy-export. The file is generated by typing echo > deploy-export. If you watch the folder, the file will change into a deploy-process and finally a deploy-success. You shuold notice that the /data/Revision folder will be filled with .uda files.

    Modify Workspace Dashboard

    When using Umbraco Courier the entry in the /Config/Dashboard.config should contain the following:

    <section alias="UmbracoDeploy">
      <areas>
        <area>content</area>
      </areas>
      <tab caption="Your workspace">
        <control>/app_plugins/deploy/views/deploy.html</control>
      </tab>
    </section>
    

    When switching to Umbraco Deploy this needs to be modified as the location to the deploy dashboard has changed. Make sure the entry looks like this:

     <section alias="Deploy">
       <areas>
         <area>content</area>
       </areas>
       <tab caption="Your workspace">
         <control>/App_Plugins/Deploy/views/dashboards/dashboard.html</control>
       </tab>
    </section>
    

    Setup Deploy Api Key

    Final step is to setup a valid deploy key. You need to get this from Support as well. Once you have it, add it as a appsetting in the we web.config file.

        <add key="Umbraco.Deploy.ApiKey" value="[UniqueKey]" />
    

    Everything is now ready to be committed to the site, and pushed.