In my previous blog post I wrote about how to make the most out of your Sitefinity license file. In today’s post I will continue the licensing topic and provide you with further insight on using your license on development, staging, and production environments. Let’s look at how to best utilize the license for those work environments.
Developers usually like to work on their machines with a local website copy, so that they can freely experiment in their sandbox environment. The Sitefinity license allows for all developers working on a project to be assigned as licensed users, which will allow them to obtain a copy of your license key and install Sitefinity on their local machines. Moreover, being licensed users will allow developers to submit support tickets form their own Sitefinity.com accounts. Licensed users can also share tickets between each other for better knowledge management and collaboration in a globally distributed team. In case you have more than one Sitefinity license, you should assign developers as licensed users only to the license used for the Sitefinity website they are working on.
Unlike other Telerik products that are licensed per developer seat (e.g. Telerik Ultimate Collection), Sitefinity allows for unlimited number of developer seats (licensed users). Developers can be assigned as licensed users from the Licensed Developers page of your account. All licensed users can login to their accounts and be able to download your Sitefinity license key that will allow them to them to work with Sitefinity on their localhost domain.
Source control tools can be used with Sitefinity in the same way as they are used with standard ASP.NET websites. There is also TeamPulse, which is a great project management tool that integrates with Microsoft Team Foundation Server and it helps teach you best agile software development practices.
Staging environment is often used to test a website before it is moved to production. Such environment should be set up on a similar server configuration as the one used in production. You can host a staging copy of your Sitefinity website using your production license file.
The server can be set up a in a way that the staging website is accessible from a subdomain (e.g. staging.mywebsite.com) of your production domain (e.g. mywebsite.com). You should make sure that you registered your production domain name with the Sitefinity license and updated your license file in order to disable the Sitefinity copyright page for the staging subdomain. Refer to my previous blog post for details on that.
The Sitefinity license allows you to have unlimited number of subdomains for your registered root domain. The CMS will never display a copyright page for such a subdomain and your project stakeholders can browse the staging website as if they were browsing it on a production server.
Before you transfer a website to a production server, it is important that you have:
- fully tested the website
- registered your domain with the Sitefinity license and updated the license file used for the website
Then, it is just a matter of copying all files in the website folder from your development/staging environment to the production server. The files can be coped via an FTP client such as FileZilla. You should then configure IIS on the production server, change the Sitefinity database connection string(s) to reflect the location of the production Sitefinity database. Details on website deployment are available in the documentation.
While transferring a Sitefinity website between different work environments is somewhat a standard ASP.NET website transfer process, we are looking into ways to provide automatic website synchronization between those environments by end of this year or beginning of next year.
I’m wondering what are your existing website development/deployment processes and what will have the most value for you in a website synchronization feature? Please, share your feedback in the comments below.