Jan 21, 2011
visibility 4820
star star star star star
(1 votes)

Initialize Community 4.0 without IIS

Introduction

Sometimes you want to initialize EPiServer Community without involving the IIS.  For example when you decide not to use IIS for servicing your web pages or when you want to do unit testing.

Command line program

I've therefore created a little command line program that does this. It initializes Community (and also search) and fetches the first blog post made (ID = 1). You can then use this code as a base for doing your own programs that need access to the Community API.

To use it just compile it and place it amongs a web.config (for a community site) and a connectionstrings.config along with every dll the web.config wants plus the dll's the project needs.

Download

 InitializeCommunityCommandLine

 References

 

Thanks to Kristoffer @ dev for giving me the inspiration and the file this program was heavily based on!

Jan 21, 2011

Comments

Jan 21, 2011 07:51 PM

Thank you Thomas, this was exactly what I was looking for!

Jan 21, 2011 10:30 PM

Very cool Tobias. ;-) This is a much smoother way than the hack including reflection that was needed in Community 3.x.

Jan 24, 2011 04:24 AM

Nice post Tobias!

Jan 24, 2011 02:31 PM

This code seems only to handle single site installations. It crashes when Initialize(null) is called on SiteMappingConfiguration if episerver.config contains multiple sites. To solve this i just changed the following

//before
new SiteMappingConfiguration().Initialize(null);
SiteMappingConfiguration.Instance.SiteId = "MyRelateSite";

//after
SiteMappingConfiguration.CurrentHostNameResolver = delegate { return "local.myrelatesite.com"; };
new SiteMappingConfiguration().Initialize(null);

error Please login to comment.
Latest blogs
Composition Over Inheritance: Why Your Content Contract Is Not a Base Class

Inside the structural conformance pattern in SaaS CMS — from server-side inheritance to pipeline governance. A contract in Optimizely SaaS CMS is...

Vipin Banka | Sep 19, 2026

Optimizely Opti ID Integration: Why the API Key Was Missing from the DXP Management Portal

While working on an Optimizely CMS 12 Opti ID integration recently, we ran into an issue that initially appeared to be related to SSO authenticatio...

Madhu | Sep 18, 2026 |

Extending a Contract: What You Can Override

Contracts share fields across content types — but not every field setting can be overridden. Push the same contract onto several components, and CM...

Chirag Khanna | Sep 18, 2026 |

Building a Blazor Server UI Inside the Optimizely CMS 13 Admin Shell

What I learned shipping a Blazor Server UI inside Optimizely CMS 13 — Razor components in a NuGet package, the Blazor hub next to MapContent(),...

Stanisław Szołkowski | Sep 17, 2026 |