---
title: Preparing your environment for team development
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Kentico provides the following features that help users collaborate when developing websites:

> **Info:**&#x20;
>
> ### [Continuous integration](https://docs.kentico.com/k12sp/developing-websites/setting-up-continuous-integration.md)
>
> Enables development in the following environment:
>
> - Multiple development instances, each with its own database\
>   – AND –
> - A central source control system for managing files
>
> Allows developers to serialize the data of objects from the database into XML files on the file system. The files can then be added to a source control system and used to synchronize database data between team members along with standard project files.

> **Info:**&#x20;
>
> ### [Object locking](https://docs.kentico.com/k12sp/developing-websites/preparing-your-environment-for-team-development/working-with-object-locking.md)
>
> Usable in the following environments:
>
> - Multiple development instances with a shared database\
>   – OR –
> - Single instance used by multiple developers
>
> When working with a shared database, collisions can occur if multiple people edit the same object at the same time. To avoid overwriting of work, developers can lock objects for editing (check out) and unlock them (check in) after finishing. When an object is checked out, other developers cannot modify it. Locking is available for most objects with editable code, such as [CSS stylesheets](https://docs.kentico.com/k12sp/developing-websites/designing-websites-using-css.md) or [web part containers](https://docs.kentico.com/k12sp/developing-websites/developing-websites-using-portal-engine/using-web-part-containers.md).
>
> **Note**: We strongly recommend setting up [web farm synchronization](https://docs.kentico.com/k12sp/configuring-kentico/setting-up-web-farms.md) for any collaborative environment with a shared database. Web farms ensure that all instances are always up-to-date by synchronizing cached content and settings.

> **Info:**&#x20;
>
> ### [External editing of code](https://docs.kentico.com/k12sp/developing-websites/preparing-your-environment-for-team-development/editing-object-code-externally.md)
>
> Many objects used for website development in Kentico contain code (for example [CSS stylesheets](https://docs.kentico.com/k12sp/developing-websites/designing-websites-using-css.md), [Page layouts](https://docs.kentico.com/k12sp/developing-websites/developing-websites-using-portal-engine/editing-page-layouts.md) or [Transformations](https://docs.kentico.com/k12sp/developing-websites/loading-and-displaying-data-on-websites/writing-transformations.md)). The system allows you to store the code within the project's file system in addition to the database and synchronize the changes. You can then edit the code in external editors and manage it using a source control system.
>
> **Note**: This feature only manages code. Other object data and settings remain only in the database and are _NOT_ represented in the file system.
