Working with Multiple Developers in the EPiServer Environment
Chris Osterhout SVP of Strategy#CMS, #Episerver, #Code
This guide provides the steps for setting up an EPiServer website development environment for multiple developers.
The capabilities that a Content Management System (CMS) platform provides for managing a website are incredibly beneficial, giving site owners control over every aspect of their web presence. However, as a company’s website expands and the need for a larger digital strategy evolves, it often becomes necessary to expand in-house development teams in order to meet the site’s needs. This expansion can often lead to a “too many cooks in the kitchen” problem, in which no source code repository exists, website code files get overwritten, and people become confused about which updates have been applied.
At Diagram, our clients often ask us about best practices for configuring an environment with multiple developers. While development firms like Diagram usually have a comprehensive process in place for managing a multi-developer environment using tools such as TeamCity or Octopus Deploy, many companies with an internal development team simply need a way to get started. In order to help them do so, we’ve put together the following steps:
1. Create a Development Server
The first step in creating a shared development environment is to create a server dedicated to hosting the development version of your website. This server will contain a copy of your website and database, and this development site will now serve as the master for all content and related assets used during development.
2. Create a Source Repository
Using a tool such as Apache Subversion (SVN) or Git, create a repository that will store all of your site template code changes. Then, fill the repository with the code from the development site which was just installed on the development server. Developers will use this repository to access and update the site’s code.
3. Create (Check Out) a Local Install of the Development Site
When individual developers modify the site’s code, they will do so on their own individual computers. In order to do so, they will need to install the site on their local system. Developers will “check out” files when copying them from the repository, and the repository will track the version of the code that is installed both on the repository and their local machine, allowing any conflicts to be resolved before code is uploaded to the development server.
4. Hook the Local Install to the Development Database
Historically, developers working in a shared environment would create a full version of a website, including the database, on their local machine. However, maintaining multiple versions of the site’s files and database across different systems can become cumbersome and confusing, so it is preferable to have each individual developer’s system use the main development site database that was created in step 1.
5. Share the Application Data Folder from the Development Server
Sharing this folder will allow assets and search index files to be accessed from all development computers, ensuring consistency across the multi-developer environment. For instructions on how to share the application data folder in EPiServer, see this post on EPiServer World.
Following these steps will help you get started setting up your multi-developer environment, but if you have any further questions or need assistance, please feel free to contact us. If you have any other questions about managing development environments or tips of your own, please leave a comment below.
Related Posts
What is Umbraco CMS?
Migrating your content management system? Why not consider Umbraco? Learn about this .NET CMS, pricing and why it's the right choice for your organization.
Umbraco Cloud vs WordPress
Discover why Umbraco outshines WordPress with superior support, security, and a hybrid CMS architecture, offering a meticulously vetted, versatile platform for modern web development.
Results Matter.
We design creative digital solutions that grow your business, strengthen your brand and engage your audience. Our team blends creativity with insights, analytics and technology to deliver beauty, function, accessibility and most of all, ROI. Do you have a project you want to discuss?
Like what you read?
Subscribe to our blog "Diagram Views" for the latest trends in web design, inbound marketing and mobile strategy.