Users that are familiar with DotNetNuke administration are most likely familiar with the old way of creating a custom registration page within a DotNetNuke portal. It was as simple as adding a new page, putting the modules you desired on the page including the "User Account" module to get the actual registration functionality. From there a simple change in "Site Settings" for the "User Page" and you are set to go! Well, for those of you working with DNN 5.2.3 and later (Possibly previous 5.x versions as well, I'm not 100% sure when the change was) will find out that the module definition I mention is no longer listed? What do you do now?
Read more...
Posted by Mitchel on Monday, April 26, 2010
Recently when I was presenting at Tech Days Canada I was preparing some examples of how LINQ could be used to do in-memory manipulations of data to help avoid repeated database calls. In the presentation I showed some quick code samples, and I thought that I would follow this up with a few simple examples here in a blog post. Before I start I wanted to share that the code shown here is actual production code that is being used to run the reporting on MyWebKeepAlive, the keep alive service offered by my company IowaComputerGurus.
Read more...
Posted by Mitchel on Friday, October 09, 2009
As I have mentioned in past posts here on this blog and via other communication channels I strongly believe that ANTS profiler which is offered by Red Gate software is a must-have tool for all software developers. Most recently with my day job I have been working with profiler a lot more than usual and it prompted me to re-visit the concept of profiling within the constructs of a DotNetNuke installation. I've had many individuals with questions before about, is it possible to profile a DNN module, or how do you set it up. Well this article will walk through all of the steps necessary to profile a single module within a local installation.
Read more...
Posted by Mitchel on Monday, August 10, 2009
As everyone that is a regular reader of this blog is already aware of I am a big fan of the WAP development model for all DotNetNuke development projects. Now, one of the most common issues that individuals have reported to me is that "design-time" support is not there for common DotNetNuke user controls that are common to integrate with custom modules. The controls I'm discussing are the DNN Label, Text Editor, and Url Controls. Luckly though it is VERY simple to get full design time support for the controls and this article will show you how to accomplish this!
Read more...
Posted by Mitchel on Tuesday, August 04, 2009
As many of you know I attended and presented at the Day of DotNetNuke event this past weekend in Tampa Florida. First and foremost I want to take a moment and thank Will Strohl and all others that put the effort forward to organize this great event. I was very impressed with how well organized everything was, and overall the sheer size of the event. With what I believe was close to 150 people there was a variety of interests and viewpoints expressed. The sessions were great and the conversations before, during, and after the event were even better.
Read more...
Posted by Mitchel on Monday, June 15, 2009
My recent postings regarding DotNetNuke have been very popular among the community and each of them have covered specific aspects of performance improvement. However, none of them have gone through the full collection of "performance optimizations" that are possible. This article is going to summarize the items from the existing articles and will try to explain some additional, bigger picture elements that come into play, and considerations that must be thought of during any site configuration.
Read more...
Posted by Mitchel on Wednesday, February 18, 2009
It seems that every client project I have started in recent months has involved a new form of complexity in SQL Server scripts. The most recent task that I had to tackle was with generating a comma separated list based on entries in a table. Now this was something that I needed for each and every row of a result set, so I didn't want to do the actual list creation in .NET. So, reaching back to some content and examples that I built for my "Creating Dynamic SQL Pivots" article which will be published in an upcoming edition of SQL Server I found the following helpful snippet of code.
Read more...
Posted by Mitchel on Friday, January 30, 2009
One of the biggest failure points I see with third-party DotNetNuke modules, including some of my first released modules were failures due to the lack of support for ObjectQualifier or DatabaseOwner values within the SqlDataProvider files. Although the process to add support for these two tokens is easy to add, it is very hard for those of us that like to test our database structures outside of DotNetNuke before we actually commit to building our modules. Thankfully, with a bit of research, I have found a way to build SQL Scripts for DotNetNuke using SQL Server Management Studio (SSMS) in a normal fashion and using a simple find/replace operation to bring everything into compliance with DotNetNuke integration. This post will explore the method that I use to accomplish this.
Read more...
Posted by Mitchel on Monday, January 26, 2009
While working through some issues recently with some legacy code writen by someone else I was faced with a horrible case of a shared object that was writing to the file. This was a "custom" logging implementation and opened a file for append, inserted the line, and then closed the file. Well in times of heavy load the system would encounter errors such as "Cannot access ___ because it is being used by another process". So in effect the file was either still open, or the lock was not yet released. This post goes through a bit of the detail on how I resolved the issue.
Read more...
Posted by Mitchel on Thursday, January 22, 2009
One very common scenario in when working with User Interface database queries is the concept of a "Dynamic Search Query". A select statement that can have optional items in the where clause. There are a number of methods to implement this, however, they have varying levels of difficulty and, overall each have their own tradeoffs, in implementation, readability, performance, and accuracy. This article explores a few of the most common methods of doing this.
Read more...
Posted by Mitchel on Friday, January 09, 2009
 | An error has occurred. Error: Mitchel Sellers' DotNetNuke, .NET, and Other Topics Blog is currently unavailable. |
 | An error has occurred. Error: Mitchel Sellers' DotNetNuke, .NET, and Other Topics Blog is currently unavailable. |