DotNetNuke

DNN ability to 'Publish Web Site'

3 years ago I've posted a workaround regarding DNN BUG App_GlobalResources and 'Publish Web Site' in VS2005 The issue is still not resolved and I recently received an email I would like to thank you a lot for your post on a DNN forum which explain how to use DNN in precompiled mode. ( AppGlobalRessources...... ) T H A N K S !!!!!!!!!! I am glad that the workaround is still useful, but DNN team should create a new version(even with breaking changes) ......

Do not pass data between static methods using static data members.

In one of static class in our application, I found local static members that were used to pass data between calls of static methods. It’s wrong and can cause errors that are intermittent and very hard to reproduce. The problem will happen if the same code executed for 2 users simultaneously. In this case value for one user could be used for the second user and result will be unpredictable. The code was similar the following: public static class HelperClass { private static string _dataToPass = ""; ......

Helper String function to TrimLength

/// <summary> /// If lenght of the string is greater than max allowed, remove the end /// </summary> /// <param name="str"></param> /// <param name="maxLength"></pa... /// <returns></returns... public static string TrimLength(string str, int maxLength) { if (str.Length > maxLength) { str = str.Remove(maxLength); } return str; } ......

Possible errors when using Web Setup project to upgrade version, that was XCopied

I am using Web Setup project to install Web Site Project(customized version of DotNetNuke). It installs a lot of DLL with meaningless names(like App_Web_42q_drww.dll) into BIN directory.If user upgrades later to the new version of the project MSI installer seems smart enough to delete old DLLs and install another set of DLLs with different unfriendly names.The problem happens if site to upgrade wasn't installed using Web Setup MSI, but was XCopied.The sample scenario is the following:An administrator ......

DotNetnuke 4.4 RewriterUtils.RewriteUrl breaking change in adding QueryString.

I am using modified version of DNN HttpModules\UrlRewrite\UrlR... in particular I am calling their Friend RewriterUtils.RewriteUrl function. In 4.0.3 version it expected URL parameter without QueryString and added queryString from context.Request.QueryString inside the function.But in 4.4. my code stopped working.The reason was that they removed the code to add querystring information from the function and made it responsibility of a caller.It certainly makes sense, but it will be easier ......

DotNetNuke changes in Web.Config from 4.0.3 to 4.4

I moved from DNN 4.0.3 to DNN 4.4 and noticed that there are significant web.config changes (actually as a part of 4.3 Membership Services Provider Abstraction ). However I didn't find any clear documentation about Web.Config changes.From my understanding the folowing changes happened:1. Microsoft ASP.NET membership defaultProvider changed from "DNNSQLMembershipProvider" to standard MS AspNetSqlMembershipProvider -System.Web.Security.SqlMem... and profile providers sections ......

DotNetNuke.Services.Upgrade.ExecuteScripts method

DotNetNuke function Upgrade.ExecuteScripts(ByVal strProviderPath As String)actually doesn't use strProviderPath, but always uses ApplicationMapPath & "\Install\Scripts\" folder. It reads all files in the folder and deletes them after execution. It is also triggered only by InstallDNN.The behavior is different to install\modules folder, where modules are installed also during UpgradeDNN. The issue reported here(in comments). I've also asked a question in DNN Forums "Is "install\scripts" folder ......

DotNetNuke function FindControlRecursive -not clear name.

DotNetNuke has function FindControlRecursive. Initially I assumed that it search down hierarchy, but it doesn't work as I expected.After reading code it seems that it searched siblings or parens siblings up to the top of hierarchy.So the name is misleading. Fortunately there is a separate function FindControlRecursiveDown, that does what I needed ......

FreeTextBox editor requires IE permission "Allow Paste Operation via script" to support Paste with Control-V.

Many sites including DotNetNuke are using FreeTextBox ASP.NET HTML Editor. I've noticed that on my Windows Server 2003 machine running IE I am not able to do Control-V to paste text to the editor, even if I can right-mouse click and select “Paste” . It was quite annoying. Accidentally I found that IE permission "Allow Paste Operation via script" is disabled on this machine. I've enabled it and now I can use Control-V to paste. I am not sure which security risks are envolved with enabling ......

DotnetNuke Changes to Promote User to SuperUser

I implemented mixed Authentication for DotNetNuke ( Use Windows Integrated Authentication for seamless logon intranet logon and use Forms authentication for users unable to use Windows Integrated authentication), similar to as I did it before for my ASP.NET application . See my previous post about some problems that I had. It is also required to promote imported from Active Directory Administrator user to SuperUser. The current DNN core doesn't support this.It only allows to create a new SuperUser. ......

DotNetNuke "Upload Custom Module" command sometimes does nothing.

I've noticed a few times that when in DotNetNuke 4. "Upload Custom Module" page I had a custom module in the list, “upload new file“ link does nothing instead of importing module. It seems related to caching issue (see problem here). I suspect that even if the file is shown in the list, it still not in cache. It will be more reliable to check list control directly instead of cache. And why the list to upload should be saved to cache? Additionally even if the list is empty, it is better ......

Using Web Application Project(WAP) for development of DotNetNuke modules with Edit and Continue Support

I am using Web Application Project(WAP) for development of DotNetNuke modules. The general approach is discussed in DNN forum thread here. My VS solution consists of main WAP Project and one or more User Control Libraries similar to described in Tutorial 6: Creating and Using User Control Libraries. The main WAP Project basically includes one DNNDebug.aspx file (as well as web.config and global.asax), that allows me to load and test my user controls. The User Control Libraries(DNN modules) are physically ......

Using exported Portal Template in DotNetNuke

Scott McCulloch has a nice article "Exporting And Importing DotNetNuke Portals”. I want to add that exported portal can be used to replace existing portal using Wizard. It also can be used as a default portal by changing Install\DotNetNuke.install.... file by specifying <portals> <portal><templatef... It is assumed that NewPortal.template and NewPortal.template.resources files are located in \Portals\_default folder. ......

DotNetNuke: InstallationDate entry in web.Config can be missing.

We had couple sites when during install of DotNetNuke(4.0.3) there was a known "Nothing to Install At This Time" message.I've tried to investigate , how it could happen.At the first installation the function Install.InstallApplication (Install\Install.aspx.vb) checks web.config file.If InstallationDate is missing, it tries to call Config.UpdateMachineKey, which should add InstallationDate element and save web.config.If the save not succced, the “DotNetNuke Configuration Error“ error(403-3.htm) ......

DotnetNuke: increment copyright year in the source code made it harder to identify the changes.

I've downloaded new 4.3.1 version and wanted to find which files were changed. Using VSS directory differences, I found that ALL files have been changed. Looking for details, I understood, that in most files only Copyright year was changed from 2005 to 2006. I think that it was a bad idea, because it make harder for users of DNN core source code to identify the changes. More ......

Meaning "IsPublic" for DotNetNuke Roles.

DotNetNuke Roles have "IsPublic" attribute. I wandered what the business meaning of the value. After reading the 4.0.2 code my understanding that if IsPublic=true, user is able to subscribe to the role, if it is free (see DotNetNuke\admin\Security\Register.ascx.vb).
I didn't find any more business logic coded.
It seems that even if public=false, role is visible to user and even available for payed subscription.
(I haven't tested it yet.)

 

DotNetNuke should cache GetHostSettings calls to database.

I've opened SQL profiler and noticed that opening single page in DotNetNuke causes tens of calls to database. In particular opening the Admin Pages List causes more than 50 calls to  GetHostSettings SP.

They should re-design to cache the results.

Lazy roles Synchronization in DotNetNuke.

There is a thread: Role SynchronizationMode that asked what the meaning of the parameter in core AddRole method.I investigated ability to syncronize roles from custom database to DNN and can post answer for this question(according to 4.0.2 core). Parameter SynchronizationMode is used to implement “lazy” synchronization for roles. If new role has been added to AspNet_Roles DNN calls synchronization to update satellite dnn_Roles table. Parameter SynchronizationMode is used in RoleController.AddRole ......

Reset DotNetNuke windows authentication back to normal.

In my previous posts (here and here) I described the problems that I had to implemented mixed Authentication for DotNetNuke.Important step for administrator is “Before switching to Windows Authentication ensure that your LAN acoount has host/administrative permissions for the portal.”. If it wasn't done, you can't access administrative features. It is possible to use SQL command to re- activated Windows Authentication. I am using call to SP ModuleSettings_SiteSettings... that I've created ......

Create CSS Links in DotNetNuke.

I wanted to have another page (not default.aspx) in DotNetNuke based application. I found that there is no common code to generate CSS links. Actually, core code to create CSS links is duplicated in a few places. I've created a common class, that can be used in my custom page, as well as from Default.aspx and Components\Skins\Skin.vb . The class is posted in comment to the isssue. ......

Full DotNetNuke Archive

«April»
SunMonTueWedThuFriSat
303112345
6789101112
13141516171819
20212223242526
27282930123
45678910