Sitecore Network Environments

Our organization website goes to Sitecore CMS, but we are striving to create an environment for developers (4), designers (4), people with QA (3), authors (10-15) and approvers (4-10) since they can work independently, I know there will be dependencies, but the idea is to minimize it.

Here are a couple of rules:

1) The one who is responsible for the change must do everything until there is no dependence.

2) If one team is working on one function, it should not stop or affect the work of another team. For example, if QA is testing a feature, Derringers and Developers should continue to work on the same feature for new enhancements.

Matters related to the environments:

1) Where will the designers work? I mean, where will they add their html, js and images? On which server? In Sitecore? In Source Control (TFS)?

2) How should designers and developers work together? I know that developers will work on their local machine in Sitecore. And it will promote its work on the integration server, but how will they get the material of the designers? Suppose a function successfully goes into production, now it only requires graphic design changes, say, font styles and some images, and then when do designers need to make these changes? On which server? And after that, how this instance of Sitecore will sync with other instances of Sitecore. And to change the design, I don’t want the developers to promote any code or file.

3) What is the safest way to synchronize Sitecore environment / databases? Whatever is published on the website, we will need to return to the environment of DEV, QA and UAT.

We do not want to carry out manual promotion of code, html, js and image files. Is there a way to do such things automatically using commands or Sitecore. Personally, I don't like Sitecore packages.

4) Do you know any good link? Where can I find answers to such questions? Any site, book, blog?

I know one document, “Understanding Sitecore Deployments 6.2,” but some designers and how different environments will be synchronized are not discussed there.

Thanks.

+6
source share
2 answers
  • You do not need your designers to have access to Sitecore to create static markup / js / css / images, but for this to be included in Sitecore, you need someone to integrate it by adding sublanguages ​​or visualizations that have markups and links to css / js / images. If you have separated your designers and developers, it is usually useful to explain to them that you are using the asp.net web form environment, as there are special considerations to consider in this regard (for example, control identifiers and form use). Having them share source control with your developers is a huge advantage, as it limits the amount of refinement that might be required if they work tangentially and make separate updates.

  • It is worth conceptualizing the difference between static and dynamic content. If you need to make a “design change” that involves updating the / css / js markup, you will need to change that change throughout the software development life cycle, just as the developers do. In fact, developers would be better off doing this. If you need to make changes that are more "dynamic" in nature and were designed for - for example, to update text, links, images, even css in some cases, using the Rich Text Editor fields, which of course you could make to the designers. They will be the "editors", like everyone who uses the CMS. How much they are involved in the editorial process, a lot depends on how far you stretch the content-based paradigm. If you wanted, you could have all your pages just display a field with an advanced text editor, but that would be extremely bad practice from the point of view of Sitecore.

  • Browse a product called Team Development for Sitecore from Hedgehog Development.

  • There are many RSS feeds from leading Sitecore developers, such as John West, Alex Shyba etc. There are also many reading lists.

+4
source

This illustration Sitecore infrastructure shows how to organize the environment, avoiding overlapping and blocking. Answering your questions:

1 and 2) Both developers and designers work on their local machines using local instances of Sitecore. They use TFS as a version control system so that they can mutually integrate their work. Typically, designers work more with CSS, Javascrips, Images, Sublayouts (markup), and the developers of the code itself. We have a continuous integration server (Ex: TeamCity) that deploys changes in 3 different environments - CI Server (for building healthcheck), QA Server (for QA) and Prod Server (for publishing content and access to public). When, for example, a designer needs to solve a layout problem, he will do it on his local machine and then commit the changes to TFS. The next step, TeamCity will deploy the changes to the CI server, if the assembly is OK. The QA person can initiate the build and test the fixes. If everything works as expected, someone can run the build on the production server, and the fix continues.

You have another chart Production setup , which provides details on how you can configure the Production server to separate authorship of content and delivery of content. Here is the search. I found a few custom blog posts: posting content on sitecore content

3) You need TDS (Team Development for Sitecore). Use this tool to serialize / deserialize elements from one instance of Sitecore to another. Then you can have serialized files in TFS and share data in the team and environments. It's good that you can use TeamCity to automatically click elements in CI / QA / Prod environments;

4) The main source of information about Sitecore is their SDN. You can register for free (or have an advanced account if you have a sitecore license)

+3
source

Source: https://habr.com/ru/post/892778/


All Articles