The conception, birth, and first steps of an application named Charlie

Subscribe: Atom or RSS

Charlie’s Own Two Feet

by Alister Jones (SomeNewKid)

If you have been following my weblog for a while, you will know that it has been nearly three months since I last created an entry. The reason is that shortly after the last entry I accepted an invitation from Telligent to work on the www.asp.net website. In order to meet my new responsibilities, I needed to put Charlie to one side for a while. However I miss working on Charlie, and I would like to keep the project ticking along. And so we return to the story of Charlie.

Right now Charlie includes two hacks and suffers one nuisance. I have decided to address these issues as a way of getting back in to Charlie.

The first hack is that the names of the plugin assemblies are hard-coded. Here is an example:

// Security Plugin
ISecurityPlugin securityPlugin =
   (ISecurityPlugin) pluginFactory.InstantiatePlugin(
      "Charlie.Security.SecurityPlugin, Charlie.Security");

The second hack is that while Charlie is designed to serve multiple websites from a single installation, a fudge exists to “feed” Charlie a single site ID value. Charlie should properly figure out the ID from the URL of the incoming request.

The one nuisance is that any change to Charlie’s database schema or database content requires making the change in two places. To start with I fire up Enterprise Manager and make the change (since Charlie currently has no administration screens). I then need to duplicate the change in the SQL installation scripts I maintain for the occasions in which I need a completely fresh database installation. This duplication of work has proven to be error-prone. I would like to be able to make the changes just in the installation scripts, and then force Charlie to perform a fresh database installation.

If I address these issues, Charlie will largely be able to self-configure. So let’s see if I can encourage Charlie to stand on its own two feet.

by Alister Jones | Next up: A Bucket Full of Plugins

0 comments

----