Copied to clipboard

Flag this post as spam?

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


  • Alan Mac Kenna 147 posts 405 karma points MVP c-trib
    Jun 30, 2018 @ 17:52
    Alan Mac Kenna
    0

    Umbraco Cloud + Baselines + Child Sites

    I'm looking for some clarity on a specific use-case I have for the baselines functionality.

    I understand that the general way it works is that I have a master project from which I can create child projects and can then push updates from the master to the children. But can I do the following?:

    • When restoring content from the master, can I choose which content gets restored or is it an all-or-nothing scenario that you would only really do when initially creating the child project? What I want to understand here is if in the future I add a new feature (e.g. doctype and associated content) to the master site, can I push only that content to the child site without overwriting what may have been changed on that child site from the time the initial content restore was done when it was first created.

    • If I add new properties to doctypes on the master whose doctypes have already been pushed to the child site, are those new properties merged into the child sites doctypes without causing issues with the existing content or doctype on the child site?

    • Can I add new doctypes, custom libraries etc. to the child sites independently? What I'm not clear on here is whether or not all updates to the site setup (i.e. doctypes, templates, plugins, custom code etc.) need to come from the Master and be pushed to the child. What I'm hoping for is that the master site can provide custom code, templates, doctypes, plugins and umbraco core updates to their children but some elements can be maintained independently by that child site (i.e. custom child templates, doctypes, plugins and custom code relevant to that child site).

    Appreciate any insights.

  • Sofie Toft Kristensen 3 posts 105 karma points hq c-trib
    Jul 03, 2018 @ 12:54
    Sofie Toft Kristensen
    0

    Hi Alan,

    Great questions you have there!

    Let's see if I can give you some answers here:

    • For now you'll need to restore all the content from the Baseline project to the Child projects. Once you've restored everything once, you'll be able to do partial restores. A feature to be able to restore only some content on the Child projects has been requested: http://issues.umbraco.org/issue/UAAS-636 - feel free to add your vote to it!
    • Yes. The idea with the Baseline workflow is that you make changes to your Document Types, Templates etc, on the Baseline project. Then you push these changes to the Child projects.
    • When using the Baseline feature on Umbraco Cloud we do not recommend that you make code / structure changes directly on the Child projects. Any change made on the Child projects will overrule any changes coming from the Baseline project. Let's say you've made some changes to a Document Type directly on your Child project. Now you make some other changes to the same Document Type on the Baseline project and push the updates to the Child. These won't be applied, as the changes made directly on the Child project is "law"

    What is possible though, is to "break the bond" between the Baseline and the Child projects. You'll need to reach out to the Umbraco Support for this, and it will break the bond forever, meaning, you won't be able to update the Child project with updates from the Baseline project anymore. But it will enable you to build directly on the Child project without risking any issues related to the Baseline workflow.

    Phew. That was a lot. Hope everything makes sense! ;)

    -Sofie

  • Alan Mac Kenna 147 posts 405 karma points MVP c-trib
    Jul 03, 2018 @ 13:32
    Alan Mac Kenna
    0

    Awesome, thanks for those answers Sofie.

    To expand a little further on my needs... say I would never change a baseline doctype, template or other metadata in a child project. I'd only ever change these in the Baseline. But - and here's the nub of my question - if I were to add custom doctypes and code to the child project (nothing that would conflict with what exists in the Baseline), could I continue to push updates that I make to the Baseline project doctypes and code to its children without it breaking and telling me that the child schemas aren't in perfect sync, despite the fact that nothing would directly be in conflict.

    This might be a niche usecase :) Thanks for your help!

  • Sofie Toft Kristensen 3 posts 105 karma points hq c-trib
    Jul 03, 2018 @ 13:40
    Sofie Toft Kristensen
    0

    You're very welcome!

    I don't think it's a niche usecase as it sounds pretty normal to me? ;)

    Anywho - without being 100% sure, I believe making specific changes to the Child project is okay. As long as you do not tamper with any of the code and types coming from the Baseline project.

    Regarding restoring content and media from the Baseline project after making such specific changes on the Child project, I can't promise that would work.

    In theory it should, is there won't be any data to restore that's using the types you only have on the Child project.

    I must admit that I haven't tested these specific scenarios before, but this has made me curious. I'll see if I can find some time this week to give it a whirl, and get back to you with what I find!

    -Sofie

  • Alan Mac Kenna 147 posts 405 karma points MVP c-trib
    Jul 03, 2018 @ 13:51
    Alan Mac Kenna
    0

    That would be really great if you could see if that workflow is possible. What I'm considering doing is building a product as a service that I can roll out from a Baseline to multiple clients, rolling out common new features and updates from the Baseline. Some client's may have specific needs around templating/layout and custom Doctypes that need to be different from the baseline but should be able to exist happily alongside the baseline schema.

  • Sofie Toft Kristensen 3 posts 105 karma points hq c-trib
    Jul 04, 2018 @ 08:27
    Sofie Toft Kristensen
    102

    Hi Alan,

    I've had some time to test some different Baseline scenarios.

    Here's what I've found:

    Costumizing Child projects

    I created a Baseline workflow with one Child project. I then tried to create a new Document Type + Template directly on the Child project. I was still able to push changes from the Baseline project without running into any issues.

    What I also find in this process, was that you can actually on the Child project make individual changes to a Document Type coming from the Baseline project and still be able to push updates from the Baseline project! I didn't know this was possible, so I also learned something new here! Yay!

    Content

    In the last scenario - making changes to a Document type coming from the Baseline project - I found that it's no longer possible on the Child project to restore content from the Baseline project. This is because one of the Document Types coming from the Baseline project is no longer in sync between Baseline and Child. Which also makes total sense!

    So, to sum up: the usecase you've described is entirely possible with the Baseline workflow! :D

    As long as you make sure to restore the content from the Baseline project before you start customizing the Child project!

    -Sofie

  • Alan Mac Kenna 147 posts 405 karma points MVP c-trib
    Jul 04, 2018 @ 15:00
    Alan Mac Kenna
    0

    Hi Sofie,

    Thanks so much for looking at this. It fits perfectly with my needs. Really cool that doctype changes can be merged even though other properties might differ on the child project.

    Thanks again!

    -Alan

Please Sign in or register to post replies

Write your reply to:

Draft