Beta release - Calculate your publishing power

by Fredrik Karlsson 27. January 2010 10:49

This is a part in a release by Dropit's section for measurement and Continuous Improvement, Mark Red, and their latest project to calculate yor publishing power.

Publishing Power?

Do you have a creeping feeling that you spent a lot of time to update the site without giving anything back? What gives updates to the Web back in the form of visitors and revenue?
Calculate the "publishing power" of each section of the site by "Pageviews of Section / Work in the Section". Publishing power indicates how much the requests you receive in relation to the time the editors devote to managing content. A high publication power indicates that the section get many visits with little effort.

Of course it is even more interesting to see how much revenue the workload is resulting in. If you use Google Analytics, you can calculate the publishing poser by "$-index for Section / Work for the Section".
If you have a site that is configured to measure income from e-commerce you'll find $-index for the site's sections in the report "Content Drilldown".
Read the entire post at Mark Reds blog

 EPiServer CMS integration

This is a very early release, so all there is right now is a property and a report. The property calculates the time you spend editing a single page and the report displays the accumelated time for a section of the web site.


The porperty is simply a hidden text field and a javascript function adds time.

Publishing power Report 

The report simply displays the amount of time spent editing a section (current page and all children) of the web site.

Future development

The first thing to add is the integration with Google Analytics. We need to display the page views so we can display the Publishing Power values. And as soon as EPiServer CMS 6 is released, we can use the Page objects to store the information. Lots and lots of a more elegant design!

After that, We're not quite sure. Any suggestions?

Source Code

This is a beta, the entire project is avalible here:
PublishingPower.rar (2.80 mb)

Tags: , , ,


blog comments powered by Disqus

Developer lunch - "From good to great developer - why does it matters and how can we achieve it"

by Fredrik Karlsson 24. January 2010 22:44

For this weeks developer lunch I thought I would pick a seminar I saw at TechDays 2009 here in Sweden.

It was "From good to great developer - why does it matters and how can we achieve it" by Chris Hedgate. Unfortunately, the recording only displayed the screen and not him and since the presentation relied on the audience being able to see him, I had to find another recoring. Luckily, I found pretty much the same presentation from JFokus, and this time they included Chris as well, success. See the movie here.

Tags: , ,


blog comments powered by Disqus

Developer Lunch: An Introduction to Microsoft F#

by magnus.wachenfeldt 14. January 2010 12:59

So, it was my turn to pick a video for our weekly developer lunch. I am not generally a fan of technical videos, but sometimes you find great ones.

This one however was really worth my time. An Introduction to Microsoft F# by Luca Bolognese, Microsoft's answer to Cristian Libardo. Competently and with a great sense of humor, he guides you through the basics of F# and proceeds to create a real world application for those still doubting the power and usefulness of F#.

A common misconception is that functional programming languages are strange, hard to learn and overly mathematical. This is very far from the truth. As Luca points out in the video, F# is much closer to how you actually think about a problem. I will not repeat what he is saying in the video - just make one hour free and watch it!

An Introduction to Microsoft F#
Microsoft F# Developer Center
Luca Bolognese's WebLog

Tags: , ,

Development | Languages

blog comments powered by Disqus

Checklist for deploying EPiServer sites

by Andreas Nylin 10. January 2010 20:20

There are many tasks that needs to be performed when a new EPiServer web site is deployed and it's easy to forget something. This is a checklist with some of the most common tasks that needs to be done on most new EPiServer web sites. You can download the list as PDF here.

Updated 2010-01-15. Added info on Google Page Speed, IIS Compression, Scheduled jobs and IIS SEO Toolkit.

Updated 2010-01-28. Apparently auto shrinking causes file system fragmentation which slows down performance so it should never be turned on.

Updated 2010-03-25. Added info on EPiServerLog.config. More detailed descriptions.


Order license for EPiServer
Make sure that correct license types have been ordered.

Order licenses for EPiServer modules
Make sure that correct license types have been ordered.

Access rights in EPiServer

Check access rights in the EPiServer page tree
Make sure that Administrators and Editors have the correct access levels. Remove everyone from pages that shouldn’t be accessed by normal users.

Remove test users and groups in EPiServer
Go through the list of users and groups and remove those that shouldn’t have access to the site.

Create users and groups in EPiServer (WebAdmins and WebEditors)
Create required users and groups and set their access rights. Create WebAdmins and WebEditors groups for administrators and editors.


Set compilation debug to false
Set the debug attribute of the compilation section to false.

Set attributes for mailsettings section
· host = the mail server that should be used to send mails
· from = set to an address or remove
· port, userName, passWord (for mail server if needed)

Search for ":\" and “\\” and check that all paths are correct
Verify that all file system paths are correct.

Check access rights in web.config
Check the authorization section under each location section and verify that the specified groups are correct.


Set siteUrl =

Set uiUrl =

Set utilUrl =

Set SiteDisplayName = Site name used in title, etc

Verify paths for virtualPath/providers
Verify that all paths are correct in the virtualPath section.

Set predefined image formats for the image editor
This is done in the imageEditor > sizePresets section.

Set uiEditorCssPaths (~/EditorStyles.css)
Verify that the path is correct.

Set attributes for outputcache
· httpCacheExpiration = 01:00:00 (one hour)
· httpCacheVaryByParams = * or parameters (id,epslanguage)
· httpCacheVaryByCustom = remove if not needed

Set stringDelayedLoadThreshold = 50
Lazy load is used if a property that inherits from long string is longer than 50 characters.


Verify that the correct databases and users are specified


Set level value="Off"
Logging should be disabled until it’s needed.


Create an ApplicationInitializing.txt file in the web root.
The text in the file will be displayed for users if the application is busy during initialization. Example content of the file: "The application is loading. Please wait."


Set Recovery mode = Simple

Set Auto shrink = false
Auto shrink causes file-system level fragmentation, which slows down performance.

Remove testusers
Make sure any testusers are removed.


Create a robots.txt file in the web root
Specify any paths you want to exclude from search engines, such as: /Util/

Google Analytics

Verify that Google Analytics scripts are included in the page and that the correct key is specified.

Validate Pages

Verify that the pages HTML code validates

Validate the site with IIS SEO Toolkit

Browser Compability

Verify that the page looks ok in these browsers:

Internet explorer 9

Internet explorer 8

Internet explorer 7

Internet explorer 6


Google chrome




Analyze the page with Yslow and Google Page Speed
Analyze all JavaScript and CSS files and make sure they are only loaded when needed.

Make sure that any ScriptManagers has ScriptMode set to Release
Script files will be minified when ScriptMode is set to Release.


Verify that a favicon is displayed


Verify that the page title is displayed correct



Verify that images can be uploaded

Verify that images are displayed

Verify that automatically resized images are displayed (thumbnails, etc)


Verify that mails sent from forms are sent and received
Test Xforms and any custom built forms.


Perform test searches and verify that relevant results are shown

Error pages

Add custom error pages in IIS

Verify that error pages are displayed for 404, 500, etc


Create a separate Application Pool for the site
Every site should run in its own Application pool

Disable IIS logging
Logging should be disabled until it’s needed.

Enable Gzip compression in IIS for static and dynamic content
Blog post about HTTP compression in ASP.NET:
This is good resource on how to setup compression in IIS7:

EPiServer Admin

Verify that scheduled jobs are active
Setup scheduled jobs to run in an appropriate interval.



blog comments powered by Disqus

Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 2.5 Sweden License.

Welcome to the Dropit blog!

Here we, the people that work at Dropit, will write about stuff that interests us. For example web development, especially with .NET and EPiServer - but we'll also talk about other techniques that interest us, marketing on the web, social phenomenons, pop culture, games and software development in general.