Content Generator Preview

by: Per Bjurström

Marek Blotny wrote a post some months ago about his Dummy Content Generator which was a great initiative. At the same time I was writing a tool called Content Generator that we are using for our internal testing which did something similar but without the nice XML for configuration. So, with Mareks permission, I incorporated parts of his code into my project and added some extensions and I think it turned out well. I will be publishing the source code as a open source project sometimes after the summer vacation.

What is it used for ?

Generate dummy data in EPiServer CMS 5 for testing purposes, for example large structures of pages to test performance on your templates. We have been using the tool ourselves for database optimizations in EPiServer CMS 5 R2.

How does it work?

Its a Windows client written in C# that communicates with a EPiServer CMS 5 site using WCF over the TCP/IP protocol, authentication is done using Windows credentials. Zero configuration required. Both server and client is using a background thread to be able to handle long running jobs. A XML-file loaded on the client is used to configure the layout of the structure. Both custom page types and properties are supported.

Installation

1) The following structure has to be copied to the target EPiServer CMS 5 site:

    bin/ContentGeneratorLibrary.dll
    bin/ContentGeneratorService.dll
    ContentGenerator/*

2) The following files has to be used on the client computer (the client application does not have to run on the server):

    ContentGeneratorClient.exe
    ContentGeneratorClient.exe.config
    ContentGeneratorLibrary.dll


Usage tips

  • The username and password must be a valid Windows credential (on the server) that is authorized to publish pages, for example the Administrator account. 
  • EPiServer CMS must be started by accessing at least one web page (WCF-service will be initialized on first request)
  • If you are running EPiServer CMS 5 in a development environment without assembly redirects in web.config you have to add them yourself (for example by copying them from a EPiServer Manager based installation).
  • If you want to use a different port than 8888 you have to add a appSetting in web.config called contentGeneratorPort with the new port number. The setting on the client is found under the Advanced settings tab.
  • Multiple clients can be used to generate pages on the same site if the server can handle the load.

Special considerations for generating large amounts of content (100,000+ pages)

  • Recommended web.config changes on low-end machines (without a dedicated database server):
        <siteSettings ... indexingDelayAfterPublish="00:00:00" ...
  • Make sure you disable all form of recycling on the IIS application pool, especially the timeout for inactivity.
  • Set the database size yourself to accommodate the content (instead of relying on autogrowth).
  • Set Recovery model on the database to Simple (or you will get very large log files).
  • Rebuild database indexes and statistics when you are done.
  • If possible, upgrade to EPiServer CMS 5 R2 which has a faster database when it comes to scalability.
  • Consider running the site on a 64-bit machine with at least 4GB RAM

Screenshots

image

image

Download the zip and have fun with it, but remember that you are using the tool on your own risk. Do not deploy it to a production environment.

ContentGenerator.zip

 

25 June 2008


Comments

Post a comment    
User verification Image for user verification  
Per Bjurström

About me

I'm a senior developer and architect on the development team in Stockholm and has been with the company since 1999. I live on Södermalm in Stockholm. My main focus areas are new technologies and how we can use them in our product development.

Messenger


Syndications


Archive


Tag cloud

EPiTrace logger