DNN Blog

Author: Charles Nurse Created: 8/23/2005 RssIcon
My personal blog on DotNetNuke.
By Charles Nurse on 10/6/2006
I am currently in the UK spending some time visiting my family.

My parents don't have internet access at all, and my sister only has a dial-up connection.  So it has been a struggle to keep up to date with what''s going on. 

As developers with our broadband internet connection we don't always appreciate what the rest of the world have to put up with.  This experience has driven home the need to reduce our page payload, as many dotnetnuke sites are quite slow on dial-up !!

Tomorrow, I am...
By Charles Nurse on 9/11/2006
Xml is very useful.  It is a convenient way to structure information in a predictable way.  It does however have its limitations and it is critical that we understand what they are.  In this blog I am going to focus on some of the Xml classes provided in the .NET Framework and their performance implications.XmlSerializerFrankly, this class is a pig, performance-wise.  Both logging providers use this class to serialize (and deserialize) the log.  During my profiling tests the AddLog method (called in App_Start...
By Charles Nurse on 9/10/2006
As our current version is coming towards the end of its stabilization phase,  I find myself looking at what comes next.   At this time we haven't finalised a Roadmap (in terms of features) for vNext, but we have decided that Performance improvements will be a key component.I have therefore spent quite a bit of time in the last couple of weeks, profiling our current version (4.3.5).  I have been using a combination of tools,  Red-Gate ANTS Profiler, SQL Server 2005 Profiler, and CacheManager (by Steve Smith on...
By Charles Nurse on 8/16/2006
In DNN v3 we extracted the Desktop Modules into their own projects (and more recently we have created separate Project teams for these modules).  IMO these have been a great success.One of our Roadmap ideas for a while has been to do the same with Admin Modules.  ie to extract them into their own project.  Some of our admin/Host modules are rarely used - they are not required to run the application in most situations.  Recently, there have been some suggestions in the forums that the ability to change admin/host...
By Charles Nurse on 8/15/2006
DotNetNuke 4.3.x Users who have upgraded their sites from version 4.0.x are experiencing issues with creating new Portals.During development of the new features in DotNetNuke 3.3/4.3, most of the devlopment work was carried out in the 3.x code-base and then copied (and where neccessary modified) to the 4.x code-base.  This includes the scripts needs to upgrade the database.One particular script, however, was not synchronised correctly (3.2.6 -> 4.0.6).  The 4.0.6 script is empty, so the script changes that the...
By Charles Nurse on 8/10/2006
I have just returned from two days of meetings in Redmond with the Microsoft "Patterns and Practices" group.  This group is responsible for Enterprise Library, the various Appliation Blocks (we use the first version of the Data Application Block in our SqlDataProvider classes), and more recently the "Software Factories".Shaun and I were invited to spend some time with them to discuss areas where we could work together.  They were interetested in our feedback regarding challenges working in the "Web-Client" space,...
By Charles Nurse on 7/19/2006
I have now been working with DotNetNuke 4.x for nearly a year (if you include the development time with beta versions of VS2005), and I thought that it would be useful to discus the many options for developing modules.There has been much debate in the ASP.NET developer community at large, since the release of VS2005 (Visual Studio 2005) and VWD (Visual Web Developer), concerning the new development paradigm for Websites introduced in VS2005/VWD.  As a result of demands from developers, Microsoft has recently...
By Charles Nurse on 6/27/2006
Many people have commented that the dotnetnuke.com site is a little slower with the recent upgrade to 4.3.1 (especially for Login).If your site has a lot of users, you are probably getting the same "poor" performance.  (Note - the problem is not confined to 4.3.1 - it will also be a problem with 3.3.1, as it is due to one of the new User features).However, there is a simple solution, and here it is.1. Log in as admin or host2. Go to the "User Accounts" module (on the Admin menu).3. Select the "User Settings"...
By Charles Nurse on 6/25/2006
Just to prove I'm not a complete Geek, I've decided to Blog about the World Cup (Go England).  As I was born in England and emmigrated to Canada over 25 years ago, I still have an affection for my native land (Go England).While England have progressed now to the Quarter Finals (thanks to a brilliant goal by David Beckham against Ecuador this morning), I have been disappointed (as many other England fans) by their rather nervous play.A couple of teams have impressed me so far.  Germany has played much better...
By Charles Nurse on 6/22/2006
One of the biggest enhancements in 3.3/4.3 was the overhaul of the User Profile feature.  In ealier Blogs I have described some of these changes.  In this Blog, I will describe how you (the Portal Administrator) can manage your portal's Profile options.Manage Profile PropertiesIn previous versions of DotNetNuke, the available profile properties were defined in web.config, and were therefore the same for all portals in the same DotNetNuke installation.  With 3.3/4.3 we have implemented a system whereby a Portal...
By Charles Nurse on 6/14/2006
In an early Blog, I described the new Property Editor Control.  In this blog I will expand on this new control.As described earlier the control was developed in order to dynamically build a Profile form from an indeterminate collection of Profile Properties.  In discussions with Joe Brinkman, it immediately became clear to us that this control would have quite a few uses, and would be a powerful addition to the module developers toolkit.This article will begin to describe the underlying arhcitecture of the suite...
By Charles Nurse on 6/11/2006
Edit:  The Wizard is available for download here.There has been much discussion since November regarding the new Website "project" that Microsoft introduced in Visual Studio 2005/.NET 2.  This Website project model is quite different from the Visual Studio 2003/ .NET 1.1 paradigm.As a result of this significant change, Microsoft has responded to complaints from the developer community by releasing a new Web Application Project...
By Charles Nurse on 4/18/2006
In my previous Blogs on this topic I have described some of the major new enhancements coming for Membership/Roles/Profile.  This blog is a miscellany of new features/changes.New Profile StorageMany of the enhancements in this release are related to extending the flexibility of the Profile, and as a result of these enhancments we have found that we have outgrown the usefullness of the aspnet_Profile table and its Text Blob storage of profile information.We have therefore created a new table UserProfile which...
By Charles Nurse on 4/18/2006
Early on in the work on enhancing the profile, it became clear that if we provided the capability for administrators to add profile properties, then we could no longer predict what profile fields there would be and furthermore, what datatype these fields would have.It thus become obvious that we would need a dynamic Form generator, and once we started analysing the requirements for the generator, it became obvious that this control would have multiple uses.Enter the new PropertyEditorControl (and its siblings...
By Charles Nurse on 4/3/2006
Continuing my series of blogs describing the upcoming changes to users, in this blog entry I will describe the new "Edit User UI".  This UI is accessible by an administrator when clciking on the "edit" pencil in the User Accounts Grid.  It is also accessible when the user clicks on their own name when logged in.  (ie we have merged the Edit User and Profile UI).  The following Screenshots will give an idea of how this worksEdit User UI - Administrator ViewEditUser_1.pngNote:The...
By Charles Nurse on 3/31/2006
In continuing to provide information to the community on the enhancments expected in the Next release I would like to describe some of the new UI enhancments available in the User Accounts admin module.Below is a screenshot of part of the User Accounts Grid.UserAccounts.jpgOn the left of the grid, in addition to the usual edit link are three new image columns. These areA delete button (with client side confirmation)A Manage Roles button to directly jump to the manage roles UIAn image that indicates whether the user is online (if enabled in HostSettings)The Search functionality now supports all the profile properties (ie Search by City)There are three new Module ActionsDelete Unauthorized users (moved from a link within the module)Manage Profile Properties (more on this in a future Blog)User Settings - links to a settings page that:Displays Provider configuration settings such as password complexityAllows the Administrator to set portal wide User SettingsUse CaptchaColumn visibility (in grid)Set Redirect on Login/Logoff pageWhile not obvious from the screenshot, there are also a few changes to a how the grid works.The Alpha filters are now localizableThe columns displayed can be configured in User SettingsThe number of records to display has been moved to the User Settings page (to make the page less cluttered)...
By Charles Nurse on 3/27/2006
As part of the Membership enhancments for 3.3/4.1, I have just finished updating the repository with a new "Captcha" Control.  So you are asking, what is a Captcha Control.  In simple terms it is a Server Control that requires the "user" to enter a randomly generated  "Human Readable Security Code".Captcha.jpg

Captcha is often used in e-commerce situations, and to stop dictionary based denial of service...
By Charles Nurse on 3/22/2006
Ok - so I haven't been keeping this Blog up-to-date.As you will see, I do have a good excuse.  Over the last three months I have been pounding away at some very significant changes to the membership/roles/provider components of DotNetNuke.In planning what we would be doing in this cycle, it became clear at quite an early stage, that a lot of the enhancments regarding membership, roles and profile would be quite a challenge to implement using the MS MemberRole functionality.For anyone who has delved into the...
By Charles Nurse on 11/20/2005
So, today I'm off to the CFL Western Final between the BC Lions and the Edmonton Eskimos.  This is the first (CFL) Canadian Football League game I have been to in over 20 years. For those of you, who aren't Canadians, the CFL is Canada's answer to the American NFL.  Canadian Football is similar to American Football with a few minor differences. The Western Final will determine one of the finalists in the Grey Cup (the CFL equivalent of the Super Bowl), which is also going to be held in Vancouver next week (Nov 27th)....
By Charles Nurse on 11/14/2005
One of the most common errors reported in the ASP.NET forums is the infamous "BC30451: Name 'Config' is not declared" warning. Eg Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. Compiler Error Message: BC30451: Name 'Config' is not declared.Source Error:

Line 77: Line 78:             Dim AutoUpgrade As BooleanLine 79:             If Config.GetSetting("AutoUpgrade")...
By Charles Nurse on 11/14/2005
This is another issue that crops up regularly on the ASP.NET Forums, so I have decided to create a Blog that I can refer people to. DotNetNuke 4.0.0 has a number of issues with Medium Trust, due to undocumented changes in how .NET 2 handles partial trust situations. The first is one of the attributes on the node in web.config, which does not support the compilerOptions attribute under Medium Trust.  Luckily this does not appear to be a problem as removing it apparently causes no other problems....
By Charles Nurse on 11/2/2005
ASP.NET 2 introduces the concept of "page-based" assemblies.  In Visual Studio 2005 or Visual Web Developer Express 2005, you can right-click on a page in the Solution Explorer and build the page by selecting "Build Page".  This action will only cause the page selected, as well as any dependent code in App_Code, to be built.  To be more precise, this behaviour is also available for User Controls (.ascx files). One side-effect of this behaviour is that a website can now consist of pages in multiple languages, Page1.aspx can be a VB page and Page2.aspx...
By Charles Nurse on 10/5/2005
Yesterday marked a milestone in our efforts to prepare for .NET 2 support.  I was able to take the current "working" code in our Source Repository and make it run on .NET2. (build in 1.1 - run on 2.0) The process was quite simple. I downloaded the latest code and installed it on a test site under ASP.NET 1.1, together with every core module that ships with v3.1.1, as well as the Forum module, and the soon to be released Blog Module. Once installed I successfully added an instance of most of the...
By Charles Nurse on 9/30/2005
Shaun has recently blogged about the progress, we have made in migrating DotNetNuke to ASP.NET 2. He did however miss out one option for Commercial Developers.  In his blog he refers to the fact the a Commercial Developer, who is concerned about IP would need to use a "separate" web-project, for the UI components together with class libraries for the non-UI components, such as the Controller\Info classes and any providers needed. \lib ...
By Charles Nurse on 9/30/2005
As many of you have probably heard by now, at PDC2005 Microsoft previewed some of the technologies that have been grouped under the code-name "Orcas". For a Visual Basic developer, it was sometimes a bit depressing that all the examples that were used to demonstrate new technologies were in C#. However, the VB 9.0 team have introduced a concept into VB that is not present in C# 3.0 (at least not yet) - the concept of XML Literals. What is an XML Literal - simply put you can place any valid XML...
By Charles Nurse on 9/17/2005
WOW.  I just got back from PDC05 last night - finally crawled into bed at about midnight.  Its going to take some time to digest all the new technologies and tools that are coming in the next couple of years. Over the next few weeks I will be blogging about how some of these new technologies might be incorporated in DotNetNuke.  Some of these new technologies are available now (ie they are part of .NET 2) and some will be released in the "Orcas" timeframe (.NET 3?). I will also be blogging on how...
Attend A Webinar
Free Demo Site
Download DotNetNuke Professional Edition Trial
Have Someone Contact Me

Like Us on Facebook Join our Network on LinkedIn Follow DNN Corporate on Twitter Follow DNN on Twitter

Advertisers

Sponsors

DotNetNuke Corporation

DotNetNuke Corp. is the steward of the DotNetNuke open source project, the most widely adopted Web Content Management Platform for building web sites and web applications on Microsoft .NET. Organizations use DotNetNuke to quickly develop and deploy interactive and dynamic web sites, intranets, extranets and web applications. The DotNetNuke platform is available in a free Community and subscription-based Professional and Enterprise Editions with an Elite Support option. DotNetNuke Corp. also operates the DotNetNuke Store where users purchase third party apps for the platform.