Jan 21, 2011
visibility 4718
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
Finding Thomas Part 3 - The Moment of Recognition

Remember Thomas? In digital landscape, Thomas is the returning visitor who reads everything, opens every email, converts on nothing. In standard...

Ritu Madan | Jun 26, 2026

Add more scheduled job settings from the Optimizely CMS 12 admin UI -- with OptiScheduledJob.ExtraParameters

  Optimizely (EPiServer) CMS 12 ships a great scheduled-jobs framework, but it has one frustrating gap: a job has nowhere to store its own...

Binh Nguyen Thi | Jun 25, 2026

Automated Search & Navigation to Graph Migration with Claude Code

A Claude Code plugin that scans your S&N codebase, applies Graph SDK transformations, and validates the result. Install once, run one command. CMS ...

Connor Fortin | Jun 24, 2026

Migrating from Find to Graph: Lessons Learned from a Real CMS 13 Project

While migrating a search solution from Optimizely Search & Navigation (Find) to Optimizely Graph in CMS 13, I encountered several issues that were...

Binh Nguyen Thi | Jun 24, 2026

Optimizely: Upgrade Opti-ID and .NET 10 in CMS 12

Many Optimizely customers are planning their roadmap around a future migration to Optimizely CMS 13. As a result, upgrades such as Opti ID adoption...

Madhu | Jun 23, 2026 |

Understanding Optimizely Graph: Caching, Webhooks & Avoiding Stale Content (Optimizely SaaS CMS)

📌 Scope: This post covers Optimizely CMS (SaaS) only — using the official @optimizely/cms-sdk and @optimizely/cms-cli packages with Next.js 15. If...

Kiran Patil | Jun 23, 2026 |