Posts Tagged ‘ASP.NET’

Release: Cross-Portal Symbolic Link Folder Provider

Monday, December 5th, 2011

I am pleased to announce a beta release of my cross-portal symbolic link folder provider.  It may be downloaded via CodePlex on its project homepage.  As is all of my DotNetNuke work, this project is fully open-source and available under a liberal BSD license.

The DotNetNuke content management system is designed with multi-tenancy in mind, and allows an arbitrary number of websites (“portals”) to be created therein. These portals may be configured at the root of a given domain (e.g., “http://dotnetnuke.com”) or as a child portal below the root of a portal hierarchy (e.g., “http://dotnetnuke.com/mychildportal”). Historically these child portals have had no structural link to their parent counterpart, other than sharing a similar base URI.

This provider is designed to expose the file system in a parent portal to all child portals via specially-formed symbolic links. This allows administrators of child portals to access and utilize these files in a natural manner via existing dialogs and other DotNetNuke services. It creates an implicit linking between these two portal entities, and in configurations where there is significant overlap in data usage between parent in child portal (for example, when a child portal represents a single department within a larger corporate environment) allows for greatly simplified administration. (more…)

Downloads: Commerce Server UpmMembershipProvider and DotNetNuke

Wednesday, June 17th, 2009

Slightly more than a year ago, I detailed the steps necessary to integrate Commerce Server 2007 — and specifically the UpmMembershipProvider membership subsystem — into the DotNetNuke web application framework.  This entry is located here: Using Commerce Server’s UpmMembershipProvider with DotNetNuke.

However, subsequent to my original posting detailing this approach, I experienced some IPR issues that required my removing the download links to the actual assembly and source code.  While the information in the entry itself was largely sufficient to recreate this adapter, it required a reasonably significant amount of expertise to do so.  As a result, I suspect that many were unable to utilize the material therein.

I am pleased to announce that I have reached resolution on the relevant IPR issues that precluded my releasing the associated code, and have re-enabled the download links in the original post.  For convenience, I am also including them below.

(more…)

A Second Look: Enabling ASP.NET 2.0 Localization in a DotNetNuke Application

Wednesday, October 29th, 2008

Some time ago, I wrote about an approach for enabling ASP.NET 2.0 localization within a DotNetNuke application.  This approach not only required a core modification, but the change introduced a potential breaking change with third party modules.  This was clearly unsatisfactory, and the fact that I was unable to fully solve the problem has been vexing me for some time.

As my research on the recently-released Linq to Sql Adapter (currently hosted on CodePlex) wound down, I decided to investigate a new approach to solving the problem.  In my opinion, an optimal solution would fulfill the following requirements:

  1. Require no core changes
  2. Be side-by-side compatible with the existing DotNetNuke localization services
  3. Require little configuration by a hosting user
  4. Allow strongly-typed per-portal and per-culture access to existing global DotNetNuke resources
  5. Minimal additional in-memory footprint and reasonable performance
  6. Enable use of the meta:resourcekey attribute in DotNetNuke modules
  7. Be fully compatibility with third-party modules

I am pleased to announce a preview release of a custom BuildProvider that, to my knowledge, accomplishes all of these goals.

(more…)

Enabling ASP.NET 2.0 Localization in a DotNetNuke Application

Tuesday, April 8th, 2008

Editor’s note: This approach has been obsoleted in favor of the more straightforward, core-friendly ASP.NET 2.0 Localization approach outlined here.


DotNetNuke provided rich localization support (in the DotNetNuke.Services.Localization namespace) long before ASP.NET caught up in version 2.0. Indeed, the core DotNetNuke libraries and UI continue to heavily rely upon this custom implementation to this day.

However, after ASP.NET 2.0 was released, there were apparently a number of issues revolving around the new localization, backwards compatibility, and the existing DotNetNuke localization. As a result, the core team chose to disable all ASP.NET 2.0 localization at the application level and to rely exclusively upon its internal implementation. This is unfortunate, but understandable — the core team has a lot of audiences, and must balance the act of pleasing them all.

DotNetNuke localization is excellent, and for almost every scenario, I strongly recommend using this API.  However, there do exist some niche circumstances that lend toward using ASP.NET 2.0 localization.
Fortunately, with a few small changes, it is possible to restore limited ASP.NET 2.0 functionality to your DotNetNuke installation. Herein I discuss these changes and their system-wide impact.

Before I begin, all the usual warnings apply: back up your data, attempt this only on a development machine, thoroughly test before entering production, et cetera, et cetera. Caveat lector!

With that, let’s get started. (more…)