Posted on

WordPress – Enterprise Application Platform

Just this morning I read an email from a technologist at a Global Fortune 500 company.  Turns out that WordPress is not an approved standard for the company and work on their new project, that happens to use my Store Locator Plus product, has been put on hold.    As a C-Level consultant that has provided services for a multitude of companies from small “mom and pop” type operations to international powerhouses, I can understand their trepidation but also had to put in my two-cents on why I thought WordPress should be approved as a web and mobile development platform.  Here is a recap of the message I sent along:

From a c-level perspective WordPress is one of the most solid web deployment platforms there is.    It is not longer just a blog nor just a CMS.   In discussions with Matt on the WordPress dev channels it has become clear that he wants WordPress to be a full web/mobile application development platform.   The core of WordPress will reflect that push.   IMO you cannot choose a better web deployment platform when considering current and future state of the technology.

From a technology perspective the platform is being developed with sound principles behind it.   A fully modular approach to avoid bloat yet be highly customizable.   Open source to not create vendor lock-in.   Stable with the largest worldwide development and testing team I’ve ever seen.    Oracle should be envious.

I’ve provided consulting at all levels for various Fortune 500 companies, including executive level, and would have no qualms about recommending WordPress or making it an approved tool to add to the corporate tool belt.

Posted on

web.config Inheritance in IIS


A couple of notes on IIS and how it works for virtual directories/applications and web.config inheritance and ASP.Net.


There is a configuration file that will automatically be inherited by an application’s web.config. This configuration file is machine.config and it defines the servers/computers schema for all of its web applications.

The root web.config files is also a server configuration file. This file resides in the same directory as the machine.config and is used to define system wide configurations.

Then you have the web site specific configuration also named web.config. From the websites root directory the web.config seems to work similar to .htaccess files.

Each directory in an may have its very own web.config file. Each virtual directory may also have its own web.config. Each virtual application has its own web.config file. Each one of these files inherit their parents web.config. This is done so you can define roles in the parent web.config file and it is enforced throughout the website.

Okay a virtual directory is the windows why of performing a soft link. It is not reflected in the file system. It is only reflected in IIS. An example:

Website = c:/intetpub/wwwroot/mysite/

Files = c/users/public/documents/

In IIS you can set a virtual directory by stating c:/inetpub/wwwroot/mysite/sharefiles/ that points to c:/users/public/documents/

You can actually add a virtual folder from another server on your network.

This is not reflected in the file system. If c:/inetpub/wwwroot/mysite/sharefiles/ directory was actually added, IIS will ignore it and point to the virtual directory. This was discovered when installing reporting for MS SQL that by default adds a ~/report virtual application. One of my applications already had an ~/report directory already and the virtual application took precedence. Applications work essentially the same as folders except in an virtual application operates in their own application pool.

If you want to stop inheritance you can the following to the site’s web.config:


If you want to not inherit certain sections of the configuration then you add a tag the child section.