Thursday, January 12, 2006

I've been trying to get an internal Commerce Bank DotNetNuke portal going.  The idea is that everyone on my team has enough projects, we don't need to be devoting man-hours to putting together minor internal websites when a content management system would do the job.

According to the DNN installation whitepaper, the basic installation is just a virtual directory in IIS, with a SQL authenticated data connection.  This would never fly with our DBAs, as they insist on Windows Authentication on all new projects.  No big deal, says I.  We'll just set up a Windows domain account with the proper rights in SQL Server, add <identity impersonate="true" userName="domain\account" password="password" /> to web.config, change the SQL connection string to reflect this change, and we'll be golden.  Well, not so much.

See, everything in DNN seemed to run fine, with the exception of the scheduler.  The scheduler is the part of DNN responsible for purging old data and indexing the site for search.  I read the scheduler whitepaper, and there was nothing in it other than some very basic concepts.  I Googled every term I could think of relating to DNN and scheduling, but found nothing related to my issue.

I finally decided to try running DNN in its own App Pool under the new Windows account.  To be honest, I've never really had much of a need to run anything under anything other than DefaultAppPool.  I created the new App Pool, assigned the virtual directory to it, pointed FireFox at it, and got nothing but "Service Unavailable."  D'oh!  Wonder what's up with that?  A little Google work found this gem.  The TechNet link is dead, but he gives enough detail to figure it out.  As he describes, I added my account to IIS_WPG and verified it had the other permissions he mentioned, fired off a resetiis, and everything was fine.

So I suppose what was going on behind the scenes had to do with DefaultAppPool running as Network Service, my DNN application running as my Windows account, and between the two of them not being able to launch the scheduler thread.  I feel a little silly having spent more than a day on this.  Why couldn't I find any information to lead me to the conclusion that I needed to run in a different App Pool?  Why did I have to dig and dig and experiment to figure this out?  Why couldn't there be something in the scheduling whitepaper that describes the permissions associated with scheduling?  Is this indicative of my own lack of knowledge, or is this something anyone might stumble into?  While I adore DNN as a project, I think it really needs some updated, in-depth documentation.

posted on Thursday, January 12, 2006 8:25:23 PM (Central Standard Time, UTC-06:00)  #    Comments [0]
Related posts:
Visual Studio 2003 in Vista
Custom Configuration Handlers in web.config
Name
E-mail
(will show your gravatar icon)
Home page

Comment (Some html is allowed: a@href@title, b, blockquote@cite, em, i, strike, strong, sub, super, u)  

Enter the code shown (prevents robots):