Copied to clipboard

Flag this post as spam?

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


  • anilkale 15 posts 115 karma points notactivated
    May 05, 2020 @ 05:46
    anilkale
    0

    How does Umbraco manages website code separate in github/MsTeam repo. What it keeps in umbraco database?

    Hi Team,

    As I am confused while using umbraco cms. Please assist on below points,

    1. When we create asp.net website project/solution(using .net f/w 4.7.2), do we need to keep it in azure repo?

    2. We then need to create one database (e.g. SampleDB) in SQL2017 (or azure sql).

    3. After installing umbraco 7 or 8 in above web application, when we run (ctrl+f5) application.

    4. After successfully login to umbraco website it ask to configure SQL db. Suppose we configure above created DB.

    5. Now it will show umbraco instance is up and running.

    6. My query is, now if we add/update/delete something(content/media/code) using umbraco running instance then, a. it will save all changes into the SQL database. b. it will internally change asp.net application code accordingly (this changed file we need to include it into project/solution, and then need to perform checkin/checkout in github/msTeams).

    7. If this is the scenario then - a. As umbraco maintains every changes then, is it required to keep website code in github/msTeams? If so, then why? b. If umbraco keeps changes into its instance then why it need of keeping website code in github/msTeams. c. When we deploy our final code will it take all libraries,scripting and page files from umbraco instance, then packages it and then deploy it on virtual directory of PROD environment.

    Please assist.

  • Marc Goodson 2155 posts 14408 karma points MVP 9x c-trib
    May 05, 2020 @ 06:17
    Marc Goodson
    0

    Hi anilkale

    The answer is... there is a mixture of resources that come together in an Umbraco solution, and they would typically be handled differently in terms of source control and deployment, and how you choose to work with Umbraco eg - Visual Studio locally, build + deploy - or updating via the Umbraco backoffice - This article here is useful for explaining some of the different parts: https://our.umbraco.com/Documentation/Getting-Started/Code/Source-Control/index-v7

    In summary, you have:

    Umbraco installation folders: Umbraco & Umbraco_Client (these relate to the particular version of Umbraco you are currently running on and change during an upgrade - you shouldn't need to include these in Visual Studio nor source control them, but they will need to be deployed to your production environment.

    Document Type Implementation: the definition of the types of pages in your Umbraco site, these are stored in the database, it's tricky to synchronise changes in Document Types between environments - it's one of the compelling reasons to use Umbraco Cloud hosting that enables this - additionally a third party package called uSync is designed to serialise these database stored items into files on disk so that they can be source controlled and deployed to another environment.

    Implementation Files = Views, Partial Views - these contain your specific implementation html + razor code, and live on the file system therefore they should be source controlled and deployed between environments. Templates also need a reference in the database, which can either be manually created between environments, or moved automatically with Umbraco Clould or uSync.

    Implementation Code - you may have a supporting C# class library project that contains custom models, helpers etc, this would be source controlled, but only the compiled dll would need to be deployed.

    Content - Content is stored in the database, again it is tricky to move Content between environments - generally people will either not try to move content! - have content only entered in the live environment or they will use Umbraco Cloud - or a further paid for product uSync Complete.

    Media - Media, is stored on disk and also has a reference to the media item stored in the database - people will either use Azure Blob storage and therefore Media is accessible between environments in a common container - or use Umbraco Cloud or uSync Complete to move media between environments - but you wouldn't source control the files on disk.

    Frontend assets - Your CSS/JS/SCSS/ETC lives in the file system and therefore you would source control changes and deploy changes between environments.

    There isn't a requirement to source control your implementation, you can just install Umbraco, and update templates, css etc via the Umbraco backoffice... but people tend to use a source control system in order to see what has changed when and by whom, and also utilise the repository in deployments of those other environments.

    So in summary - not everything in Umbraco is stored in the Database! different parts live on disk, some of these resources can be source controlled, and some of these should not be! Deployment between environments without Umbraco Cloud or USync can be fiddily!

    if that helps!

    regrds

    Marc

  • anilkale 15 posts 115 karma points notactivated
    May 05, 2020 @ 08:16
    anilkale
    100

    Thank you, Marc for your quick reply to requested queries.

    Almost all queries were covered with your input.

    Thank you,

  • anilkale 15 posts 115 karma points notactivated
    May 05, 2020 @ 09:22
    anilkale
    0

    Out of suggested 2-ways of working with umbraco, we were using, umbraco backoffice for development and deployment.

    We follow 2-types of development and deployment process, A) Continuous running project content management: we used to add/update/delete EVERYTHING required and deploy our code on prod, one every Friday.

    B) Long running project content management issue: we used to add/update/delete only CONTENT, required and deploy our code on prod, ONCE in a month.

    But so as to use existing umbraco instance, separate for all environment (DEV->QA->PROD), we need to replaced/overtire existing content for testing purpose. Once we test the content and website, we again need to revert back the CONTENT changes for Continuous running project purpose.
    It involves rework and missing of items, and manual mistakes.
    

    Do we use any other methods for long running project content management?

    Please assist.

Please Sign in or register to post replies

Write your reply to:

Draft