This section explains how to setup the developer environment to develop with Litium Studio.
Note that the development setup may have a configuration not suitable in a production deployment (such as debug flag on, customer error settings, etc). For deployment follow the deployment instructions with the installation or upgrade package. Additional deployment guidelines can be found here >>.
Training material
If you are new to Litium Studio, a comprehensive step by step development environment setup is available in training material. Use it as a training project and then follow the instructions below in setting up your actual development project. (Note that some of the material in the training is repeated for clarity and some are left out to make it more readable.)
Infrastructure
For developing with Litium Studio we are recommending
- Microsoft Visual Studio 2013.2 or newer
- Visual Studio Extensions: Web Essentias 2013, you will find the extension in the Extension gallery inside Visual Studio or you can download the extension here. Turn off that Web Essentials should compile and minify your css and scss-files, the grunt-task in accelerator will handle the compillation instead.
- Visual Studio Exstension: VSCommands for Visual Studio 2013, you will find the extension in the Extension gallery inside Visual Studio or you can download the extension here. With the VS Command extensions you can get your Visual Studio to always start in elevated mode so you can attach to the IIS process without problem, to enable that you need to enter the settings for the VS Command and turn on the "Always start Visual Studio with elevated permissions"
- Sql Server 2012
Database and files folder, Integration considerations
Folder structure
The folder structure of physical files can be according to the standards set in your organization. Following is a recomended practise for ease of development. The diagram shows how the files in the installation package are mapped to the developer machine physical folders.
To begin setup the environment, copy the files as shown in this diagram.
Database
You may consider having individual developer databases or a single dev database for all developers. If you have individual developer databases, consider how you do the initial site content enrichment; you will probably need a seperate setup for content editors to come up with initial content.
If you have a single dev shared database, consider moving the storage folder to a network share. This is necessary for all developers to see the same media files such as content images.
The basic initial content enrichment is possible with dev environment if you have the shared database. However, developer test data may be a hindrance later on, so as the project progress, you will need to setup a staging\preflight environment for data enrichment.
Integrations
When developing integrations, its faster development if the integration can be run to the developer machine, or the integration code running machine can be remote debuggable to the dev machine.
However, consider that all integrations must be tested on a staging\preflight environment before going live.
Integrations to certain payment providers may not work from dev machines as they require public visibility of host machine, in which case you may do a port forwarding to dev machine, or have the staging\preflight environment publicly accessible.
Always start applying for payment provider test accounts early in the project if you are developing an ECommerce site to avoid administrative delays.