World is now on Opti ID! Learn more

Per Bjurström
Mar 27, 2014
  6151
(13 votes)

Creating site from NuGet packages

Today we are releasing a new version of the Visual Studio extension that runs completely standalone, no requirement on Deployment Center (no MSI’s, no GAC etc.). Sites created with the Visual Studio extension are configured with NuGet packages out-of-the-box and are more similar to ordinary ASP.NET projects (both SQL and geolocation databases are for example stored in App_Data to mention one thing). The new templates also use Universal Providers to simplify deployment to Azure.

It may not be obvious but the Visual Studio extension does not need an internet connection to create new sites, which actually is a requirement from Microsoft for project templates (so no connection to nuget.episerver.com required). You can of course go online and update the solution to the latest greatest versions after the site is created, the Visual Studio extension will not be released as often as our NuGet packages even though we will of course keep it up to date over time.

There are also a couple of smaller changes such as the “Scheduled Job” template exemplifies stoppable jobs with UI feedback. Big thanks to you that tested and contributed to the previews builds. See release notes for details.

image

How do I get it?

Under Tools –> “Extensions and updates” inside Visual Studio, search for “EPiServer” in the “Online”-section. Or the “Updates”-section if you already have it installed. As part of this release we are also in the process of updating the Getting Started guide and releasing an updated SDK.

Want to create your own project templates?

An interesting part of this release is the project templates (what you see under File->New Project->EPiServer), they are just an empty project that installs the new EPiServer.CMS package. That means that you can have your own “empty” starter projects and just add this package to get a working EPiServer site.

I created a sample starter kit off the Visual Studio templates with a start page and the media types:

  1. git clone https://github.com/bjuris/EPiServerStarterKitSolution.git (or click on “Download ZIP”)
  2. Open the Solution File and in Package Manager Console run: Install-Package EPiServer.CMS
  3. Start the site, hit F5. Ready to go.

image

Feel free to fork and change to your heart’s content.

Do I need the Visual Studio extension for this? No, but the Visual Studio extension comes with some 20 item templates with everything from Initialization Modules to Page Types, they work on any ASP.NET project. So, even though you don’t use our project templates you can still use the item templates which at least I find highly usable.

Mar 27, 2014

Comments

Petter Klang
Petter Klang Mar 28, 2014 08:40 AM

I like it!

Thomas Solbjør
Thomas Solbjør Mar 28, 2014 02:21 PM

The EPiServer.CMS package contains SQL scripts to create the database. Will EPiServer.LiveMonitor, EPiServer.CMO (and other packages) also be updated to be able to create the tables and sprocs they need?

And how should we go on to deploy this to another server? xcopy application files, but what about the database?

per
per Mar 28, 2014 03:17 PM

Thanks Petter.

You can use either Detach/Attach or Backup/Restore to move a SQL database. The CMS packages are the first in line to support deployment via NuGet, more will follow.

Mar 28, 2014 09:33 PM

We will expose cmdlets (actually the CmsCore package already does but documenation will come) to make it possible to upgrade database from e.g. PackageManager console in VS (in case the package contains any db schema changes). There is also a cmdlet to generate a upgrade package, a physical folder which can be copied to a production server. The folder contain a .bat file to upgrade the db schema on the production server.

Please login to comment.
Latest blogs
Troubleshooting Optimizely Shortcuts: Why PageShortcutLink Threw an Error and the Solution

As developers working with Optimizely, we often encounter unique challenges that push us to explore the platform's depths. Recently, I tackled a...

Amit Mittal | Jul 9, 2025

Commerce 14.41 delisted from Nuget feed

We have decided to delist version 14.41 of the Commerce packages as we have discovered a bug that prevents current carts to be saved into...

Shahrukh Ikhtear | Jul 8, 2025

How Optimizely SaaS CMS Isn’t Just Another Commodity

CMS platforms these days are becoming commoditised. The modelling of most systems lends itself to automation. Giving marketers more flexibility wit...

Chuhukon | Jul 4, 2025 |

How to Set Up CI/CD Pipeline for Optimizely Frontend Hosting Using GitHub Actions

As I promised in my previous blog post about getting started with Optimizely Frontend Hosting, today I’m delivering on that promise by sharing how ...

Szymon Uryga | Jul 2, 2025

Environment-specific badges in the Optimizely CMS

Step 1: Add Environment Info to the UI Create a custom UIDescriptor and a ComponentDefinition to inject a badge into the CMS UI. using EPiServer.Sh...

Rajveer Singh | Jul 1, 2025

Boosting by published date with Relevance

Goal: To ensure that the latest published or last updated content is ranked higher in your search results, you can modify your query to include a ...

Rajveer Singh | Jul 1, 2025