The upcoming months I will be experimenting a lot with the new Backoffice. To quickly generate a development site I created a small Powershell script that generates a new Umbraco V14 site and install the latest Client scripts for Typescript development.
Let's start with adding a refererence to the Umbraco feed
Using the following script you will add a reference to the Umbraco nightly feed location, this ensures we get the latest Umbraco V14 version.
#Add prerelase feed location
dotnet nuget add source "https://www.myget.org/F/umbracoprereleases/api/v3/index.json" -n "Umbraco Prerelease"
Create new Umbraco Site
Next we will be creating the testsite . I am using the Umbraco unattended install option to quickly create the site and use LocalDB as a database. I don't worry about the username and password, these sites will never see the day of light
dotnet new umbraco -n BellissimaNightlySite --connection-string "Server=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Umbraco.mdf;Integrated Security=true"
cd BellissimaNightlySite
#Set info for installer
Set-Item Env:\UMBRACO__CMS__GLOBAL__INSTALLMISSINGDATABASE true
Set-Item Env:\UMBRACO__CMS__UNATTENDED__INSTALLUNATTENDED true
Set-Item Env:\UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERNAME "Soeteman Software Test User"
Set-Item Env:\UMBRACO__CMS__UNATTENDED__UNATTENDEDUSEREMAIL "testuser@soetemansoftware.nl"
Set-Item Env:\UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERPASSWORD "test123456"
#build site including dependencies
dotnet build
Add Client folder for Lit development
Next up is creating a client project using npm that will generate the project files for me. After that you can directly start developing your extension as mentioned in the documentation.
mkdir "client-src"
cd "client-src"
npm create vite@latest my-extension -- --template lit-ts
cd my-extension
npm install
npm install -D @umbraco-cms/backoffice
cd ../../
#start site
dotnet run
Complete Script
This is the complete script you can run to setup the environment.
#Add prerelease feed location
dotnet nuget add source "https://www.myget.org/F/umbracoprereleases/api/v3/index.json" -n "Umbraco Prerelease"
#Create new Umbraco Site
dotnet new install Umbraco.Templates::14.0.0-beta003
dotnet new umbraco -n BellissimaNightlySite --connection-string "Server=(localdb)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Umbraco.mdf;Integrated Security=true"
cd BellissimaNightlySite
#Set info for installer
Set-Item Env:\UMBRACO__CMS__GLOBAL__INSTALLMISSINGDATABASE true
Set-Item Env:\UMBRACO__CMS__UNATTENDED__INSTALLUNATTENDED true
Set-Item Env:\UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERNAME "Soeteman Software Test User"
Set-Item Env:\UMBRACO__CMS__UNATTENDED__UNATTENDEDUSEREMAIL "testuser@soetemansoftware.nl"
Set-Item Env:\UMBRACO__CMS__UNATTENDED__UNATTENDEDUSERPASSWORD "test123456"
#build site including dependencies
dotnet build
mkdir "client-src"
cd "client-src"
npm create vite@latest my-extension -- --template lit-ts
cd my-extension
npm install
npm install -D @umbraco-cms/backoffice
cd ../../
#start site
dotnet run
write host "Done, visit https://docs.umbraco.com/umbraco-backoffice/tutorials/creating-your-first-extension to continue developing"
References
The following references will give you more details about all steps taken in this script.
- Getting started with Umbraco V14
- Unattended Install
- Creating your first Umbraco V14 Extension
- Andy Butlands Blog
- Kevin Jump's EarlyAdopter's Guide Umbraco v14 Series' Articles
- Kevin Jump's Umbraco v14 Packages: Communicating with the server! Series
- Umbraco UI Library StoryBook
Hope you can use this Powershell script as well to quickly generate trial environments.