What to include in the repository
Ucommerce comes with a ton if different folders, which can be difficult to get an overview of at first. Which folders should be included, and which can you skip when sharing the repository with your colleagues.
This article is meant to help you understand the structure of Ucommerce, so you can make the decision what you want to include, and exclude in the repository.
Ucommerce folder
Ucommerce lives in the folder which usually looks like this:
\MyWebsite\Ucommerce
Everything in this folder should be included in the repository, as this is where Ucommerce stores everything like config files, aspx files and so on.
Bin folder
When installing Ucommerce, .dll files will be built in the \bin
folder. These .dlls will be recreated when building the project, if you installed Ucommerce through Nuget.
If you installed through Umbraco Package manager or Sitecore widget installer. You will have to include the \bin
folder in the repository.
\MyWebsite\bin
App_Data folder
Ucommerce also adds a folder in the App_Data
directory, that looks like this:
\MyWebsite\App_Data\Ucommerce
This folder is where Ucommerce stores the index. You can include or exclude this. Remember that if you exclude this from the repository, anyone who pull the repository will have to create the indexes from scratch through the UI before their front-end will work. You can read more about ScratchIndexer here
ShadowCopy folder
The last folder to mention is our UcommerceAppsAssemblyShadowCopy
this folder lives here:
\MyWebsite\App_Data\TEMP\UcommerceAppsAssemblyShadowCopy
The AppsAssemblyShadowCopy
contains a copy of all bin files from Ucommerce\Apps\
, this is to make sure the \Ucommerce\Apps\
folder is not locked while the website is running.
This folder is created on an app recycle, so if it is not there, it will be recreated. This means you can exclude this folder just fine, and Ucommerce will automatically re-create it when you spin up the website.