DotNetNuke Hosting with ASPHostPortal.com

BLOG about DotNetNuke CMS, latest technology and Special DotNetNuke Hosting Package with ASPHostPortal.com

DotNetNuke Hosting - ASPHostPortal.com :: jQuery Tips for DotNetNuke Developers

clock Januarie 16, 2015 05:51 by author Ben

Make sure you call jQuery.noConflict();. This is necessary to not cause other client scripts and libraries to run errors. This is due to the fact that other client scripts might be using the $ designator for a JavaScript class. [jQuery.noConflict(); documentation]


If manually adding jQuery, try to load the jQuery library in the header before all others. Not doing this can lead to the jQuerylibrary not being loaded before another client script or library tries to use it. This is especially true of jQuery plugins.

Always call the jQuery core methods using the jQuery() format. This is related to the previous issue.

Check the jQuery plugin source code. Not all jQuery plugins use the long form of calling jQuery. This can result in errors if you have called jQuery.noConflict();.

In DNN 7+, register jQuery. DNN 7+ allows module developers to register jQuery to be loaded only when modules need it. Just callDotNetNuke.Framework.jQuery.RequestRegistration(). This prevents jQuery from being loaded when it’s not used. If your skin is using widgets, this is not necessary, but should be done for commercial modules regardless.

Use the jQuery hosted option. Look in the Host Settings (DNN 7). This is not necessary, but can reduce page load times, since the site visitor may already have the library loaded in case. However, if the hosted source is having problems hosting the library, your page load times could increase dramatically, as well as not load the library at all. Either way, your client side-code will break.

Only use jQuery Debug Version for debugging. Look in Host Settings (DNN 5). By default, DNN loads the jquery.min.js file. However, when you are debugging jQuery, this makes it nearly impossible to debug. Check this setting to tell DNN to load the uncompressed version of the jQuery library. Only do this on development machines, if possible.


Wrap onload scripts in a ready() function. Wrapping your scripts in the ready() function prevents conflicts with other scripts on the page, including Microsoft scripts, and the DNN Client API.

Best DotNetNuke Hosting Recommendation

Following reviewed for Best ASP.NET hosting companies that help with DotNetNuke, ASPHostPortal is Best ASP.NET Hosting for DotNetNuke Recommendation. They give 99,99% uptime assured, as well as 30 Days Money back assured, best friendly customer service, and many more.



DotNetNuke Hosting - ASPHostPortal.com :: Managing 'Couldn't load type "Dotnetnuke.common.global"

clock Januarie 15, 2015 06:50 by author Dan

Introduction

Today we will show you about Managing 'Couldn't load type "Dotnetnuke.common.global".There are a thousand reasons this feared message can show up, yet suppose it is possible that it shows up on a site that you are 100% certain no one has messed with in any capacity other than transferring documents for a long while.

The problem

The error itself is as follows:
Parser Error
Description: An error occurred during the parsing of a resource required to service this request. Please review the following specific parse error details and modify your source file appropriately.
Parser Error Message: Could not load type 'DotNetNuke.Common.Global'.

Source Error:

Line 1:  <%@ Application Inherits="DotNetNuke.Common.Global" Language="VB" %>
Source File: /global.asax    Line: 1

The setting

That was precisely the case I confronted today when a customer called me and reported the lapse. The customer was totally certain that no progressions had been performed other than transferring a few records, both to the application and the server itself (no redesigns, no apppool changes, no iis design changes). Just to be protected, I checked the dates of the records in the container envelope and additionally the date of the global.asax record and all had not been changed amid the recent months.

Conceivable reasons

Seeking the Web, I was panicked to see that there were in any event a couple of dozen conceivable reasons for this lapse. Case in point, there's a multi-page string in the Dotnetnuke discussions dicussing this blunder. Unfortunately, the greater part of the cases respected moves up to the center stage, recompiling or other stuff that had been changed.

So what else could not be right? All things considered, I again found than when something appears incomprehensible, it doesn't generally must be some amazingly confounded specialized issue.

Solution

The customer had admittance to the full site root by means of a FTP client. After attempting to transfer stuff, the customer coincidentally moved the App_data organizer inside an alternate envelope. That was it! I moved the App_data organizer once more to the root and everything was fine once more.

What I realized from this occurrence: Always search for the least difficult conceivable reason for a blunder first. Trust it bails some of you out there.

Best Recommendation for DotNetNuke Hosting

ASPHostPortal.com is The Leader of Best DotNetNuke Hosting Provider. They provide DotNetNuke Hosting with Affordable Price, Fast & Stable Network, and Structured Recovery System. They start their hosting plan from $1/month. With that price, your data will be safe and always properly backed up. Moreover, they also provide uptime and 30 days money back guarantees for all hosting plan. They have 5 different data centers in the world that can give best support for your DotNetNuke site. With their complete features and cheap price, your DotNetNuke site will be turn into great performance.



DotNetNuke Hosting with ASPHostPortal :: How to optimise DotNetNuke site for speed by improving page load, caching and use of CDN

clock Desember 23, 2014 05:42 by author Mark

How to optimise DotNetNuke speed by improving page load, caching and use of CDN

This is a real example of what can be done to get your sites running faster before upgrading the hardware.
Starting point - this blog mattjura.com with following specification: Server: Microsoft Windows NT 6.1.7601 Service Pack 1, IIS/7.5, .Net 4.0 and SQL Server 2008 R2 Express edition, 2GB RAM, 1GHZ CPU – running multiple sites. DotNetNuke

Stats before optimisation

WebPageTest.org results: Load time: 5.546s, First byte 1.491s, Start render 3.675s, Requests 66,

YSlow results: Overall performance score 70 Grade C
The page has a total of 46 components and a total weight of 558.8K bytes
Primed cache: HTTP Requests - 4, Total Weight - 56.2K

Google Page Speed results:
Page Speed Score of 54 (out of 100)
Not a good set of results but here are the steps to get the site running faster.

Server configuration - actions to complete

Enable content compression in: IIS Manager >> Compression
Add HTTP response headers in: IIS Manager >> HTTP response headers
(Enable HTTP keep alive and Expire web content after 7 days or as required)
Enable output caching in: IIS Manager >> Output Caching for the following file extensions .css, .gif, .jpg, .js and .png files (User-mode caching, using file change notifications)
This may not always be possible on the shared servers but if you do not ask you do not get.

Results:
WebPageTest results: Load time 3.82, First byte 1.489, Start render 2.751 Keep alive A, Compress Transfer A
YSlow results: Overall performance score 80 Grade C
Google Page Speed results: overall PageSpeed Score of 63 (out of 100)

DNN upgrade and configuration

Upgrade the site 6.02.05 >> 7.00.05 >> 7.03.04 (latest version)
Change the following settings in host >> host settings:
Basic settings - turn off copyright credits
Performance settings - cache setting heavy
Authenticated cacheability - Public
Client resource management - Enable Composite Files
Client resource management - Minify CSS
Client resource management - Minify JS
Scheduler mode - Timer Method
Enable Event Log Buffer - on
Auto sync file system - off
In Admin >> Site Settings turn off Enable Skin Widgets if not used

Results:
WebPageTest results: Load time 3.78, First byte 0.995, Start render 2.340 Keep alive A, Compress Transfer A, Effective use of CDN - yes
YSlow results: Overall performance score 83 Grade B
The page has a total of 34 components and a total weight of 331.9K bytes
Primed cache: HTTP Requests - 4, Total Weight - 23.4K
Google Page Speed results: overall PageSpeed Score of 88 (out of 100)

OK - getting better but still room for improvement.

Use Content Delivery Network

A CDN service will take all of your images, java script, and CSS (Cascading Style Sheets) and host them on to their network to quickly load them on your visitors browsers. Another benefit is that a CDN usually has a huge network of servers that are closer to your potential visitor ensuring that your site will load quickly wherever in the world they are visiting.
It has its drawback as you have to change your DNS settings to one supplied by CloudFlare however the process is very simple and takes 5 minutes. If your site has google ads or third party content you should try the rocket optimiser - free on all plans. Please check your site works as normal with rocket optimizer as it is still in beta at the time of writing this post.

Results:
WebPageTest results: Load time 3.01, First byte 0.995, start render 2.120 Keep alive A, Compress Transfer A, Effective use of CDN - yes
YSlow results: Overall performance score 94 Grade A !
The page has a total of 28 components and a total weight of 225.4K bytes
Primed cache: HTTP Requests - 2, Total Weight - 16.7K
Google Page Speed results: overall PageSpeed Score of 88 (out of 100)

Images, CSS, HTML

First to optimise the images, css files, and the code, implement sprites, optimise fav icon, replace deprecated menu.

Results:
WebPageTest results: Load time 2.361, First byte 1.230, start render 1.594 Keep alive A, Compress Transfer A, Effective use of CDN - yes
YSlow results: Overall performance score 95 Grade A !
The page has a total of 20 components and a total weight of 217.4K bytes
Primed cache: HTTP Requests - 2, Total Weight - 16.4K
Google Page Speed results: overall PageSpeed Score of 88 (out of 100)

How much has the speed of the site improved

WebPageTest results:
Load time improvement from 5.546 to 2.361 seconds
Start render improvement from 3.675 to 1.230 seconds
YSlow results:
Grade improvement from Grade C & score 70 to Grade A & score 95
Improvement from 46 components and a total weight of 558.8K bytes to 20 components and a total weight of 217.4K bytes
Google Page Speed
Improvement from PageSpeed 54 to PageSpeed 88

Note: "Without adding additional hardware I have managed to lower the load speed considerably. To improve it even more I could add more RAM and additional CPU on the server and move the database to its own full web edition SQL server, however with a current speed load below 3 seconds I could not justify the costs in this case. Please let me know if you have any other suggestions or what is your experience with the speed of your DNN sites".



DotNetNuke Hosting with ASPHostPortal :: How To Creating a webservice in DotNetNuke 7

clock Desember 19, 2014 06:57 by author Mark

I have recently been assigned to built a DotNetNuke web service to allow a windows application (or any type of web client for that matter) the ability to manage DotNetNuke user accounts (create, change roles, delete, retrieve email address, etc.).
Since I had a hard time finding a correct code sample or documentation that actually applies to DotNetNuke 7 and accessing it without being previously logged in to DotNetNuke, it was difficult to built anything. I finally found out how to do it correctly so I tough I would put my efforts to some use and write a blog post explaining how to do it step by step.

The basics

That said, let's begin by the basics and just make a publicly accessible web service that allows anyone to ping the web service and get a pong back. For that we will use the new DotNetNuke 7 Services Framework which makes it quite simple if you know how to use it.
In order to make a web service that will work withing DotNetNuke 7, you will need to fire up Visual Studio and create a Class Library project (c# or VB but all examples here will be in c#).
That done, we will then reference some required DotNetNuke 7 required libraries (using the Add Reference dialog box), here's the list:

  • DotNetNuke.dll
  • DotNetNuke.Web.dll
  • System.Net.Http.dll
  • System.Net.Http.Formatting.dll
  • System.Web.Http.dll

Then we also need to reference the System.Web class from the .NET tab of the same dialog box.
Finally, we neet to set the output path of the project to the DotNetNuke bin directory and we are ready to code.
Here is the code, the explanations follow:

  • We simply start with some using statements for our requirements as shown above
  • We create a namespace for our service and whatever name we use here will be part of the url. I used MyService just for this example but use any name that makes sense for your service.
  • Now we create a public class for our controller. You can create multiple controllers if you need to and the controller is just a group of related actions that make sense to group together. In my real project I have a PingController for testing purposes, a UsersController for any actions that relate to user accounts etc. Just use a name that makes sense since it will also show up in the url. Two things to be careful here:
  • The name of your controller must end with the word Controller but only what comes before it will show in the url, so for PingController, only Ping will show in the url path.
  • It must inherit DnnApiController so it will use the DotNetNuke Services Framework.
  • Then we create the actual action, in our case, PublicPing. It is just a simple method which return an HttpResponseMessage and can have a few attributes. By default the new services framework will respond only to host users and you need to explicitly allow other access rights if needed, in this case the [AllowAnonymous] makes this method (or action if you prefer) available to anyone without credentials. The second attribute, [HttpGet] will make this action respond to HTTP GET verb, which is usually used when requesting some date from the web server.
  • Finally in that action, you insert whatever code you action needs to do, in this case just return the string "Pong!", just remember that you need to return an HttpResponseMessage and not a string or int or other object.

Ok so our controller and action is done, now we just need to map that to an actual URL and that what the last part of the previous code does. In essence this code tells DotNetNuke to map a certain url pattern to the methods defined in your class. You can use that code as is just replacing MyService by whatever your service name is.

Testing:

That's all there is to it, your service is ready!  To test it, first compile it, then just navigate to http://yourdomain/DesktopModules/MyService/API/Ping/PublicPing and you should see "Pong!" in your browser as a response.

Passing parameters

Ok, so the basic code above is working but it doesn't do anything useful. Lets add something more useful by creating an action that will give us the email address for a specific user id.
Again, here's the code and the explanations will follow (place the code inside the same namespace as the previous one)

  • First we build a UsersController class that will hold all actions related to user accounts, it is not absolutely necessary, you can have many actions in the same controller, however since this action is not at all related to our PingController, let'a make a new one more descriptive.
  • We then make a GetEmail action (method) that will accept a userid parameter. The [RequireHost] parameter here will make it accessible only to host users, we'll see later other authentication options.
  • The code in the method itself is pretty much self explanatory. The only interesting thing to note here is that because our class inherits DnnApiController, we already have a PortalSettings object available. That's the big advantage of making use of the DotNetNuke Services Framework. You will have a ModuleInfo object to represent your module (if there is one with the same name as your service, which is not necessary such in this case), a PortalSettings object that represents the portal at the domain name used to access the service (portal alias) and finally a UserInfo object representing the user that accessed the web service.

Testing:

If we now navigate to http://yourdomain/MyService/API/Users/GetEmail?userid=2 you should receive the email address back from the server unless of course that userid does not exist, make sure to test with a userid that actually exists for that portal. If you where not previously connected with a host account, then you will be asked for credentials.

Limiting access to certain roles

Ok, that works but you need to give host credentials to any person needing to use your webservice. To avoid that you can replace [RequireHost] by [DnnAuthorize(StaticRoles="Administrators")] which will limit access to administrators. Better but you still need to give them an admin account. So the easy way to give only limited access would be to create a new role in DotNetNuke just for your web service and replace Administrators by that specific role name in the authentication parameter.

Using HttpPost : (answer to a comment down bellow)

To answer Massod comment bellow, it is almost the same thing but you need to create an object to contain the posted data.
Let's make a simple ping that uses POST, first we need to create an object that will contain the posted data such as:

Then we create the service method something like this:

Note that normally, a post would only return ok and no message, I am just doing this so we can test here.

Now since this is a POST verb, we can't test it by only using url parameters, we need to make an html file with a form to test it out. It would be someting like this:

The important thing to not here is that you can't just create your POST method taking a string even if this is only what you need, you do need to create an object that will take your parameters.
Also don't forget that this is only for testing, you usually don't want to make this publicly available, you would normally use another parameter than [AllowAnonymous] such as  [DnnModuleAuthorize(AccessLevel = SecurityAccessLevel.View)] and [ValidateAntiForgeryToken] unless you really want that to be public.
Let me know if you have any more questions.



DotNetNuke Hosting with ASPHostPortal.com :: Integration of WSDL to DNN Modules

clock Desember 19, 2014 05:55 by author Ben

I had been functioning with DNN for a long time, Believed this weblog could help other DNN develops. There are two approaches to Contain WSDL files into a DNN module. Service Reference and Web Reference.
Right here I will discussing about Web References.

So to Contain them into DNN initial Correct Click On References within your Project Solution
References -> Add Service Reference -> Advanced(Left bottom Corner) -> Add Web Reference.

Paste your WSDL link towards the URL

Once you hit Add Reference button, Visual Studio will update the Web.config at the Module level.
But need to delete the Module Level Config files.
But Dont forget to take a backup of it, If anything goes wrong

And Set few parameters at Site level web.config file



Remember If you Creating DNN module package and your module uses any kind of SOAP services.
You ought to add parameters to Target Site’s Config file otherwise the site may not work.

Happy Coding



DotNetNuke Hosting with ASPHostPortal.com :: Security Actions to Safeguard Your DotNetNuke CMS

clock Desember 18, 2014 05:46 by author Ben

DNN Security Out Of the Box
DNN (DotNetNuke) is currently the premier CMS of the US Government as a result of it's robust security and integration with current safety functions. Nevertheless even DNN is not totally excellent out of the box, and there are numerous additional safety attributes that can be put in location depending on your particular DNN eCommerce requirements. These security suggestions variety from easy to complex and cover many various aspects of possible security risks. No guide can accurately assess your particular safety requirements. In the event you would prefer to adequately secure your DNN web site, contact Clarity these days.

Improve Password Complexity and Use Specifications

Increasing password complexity is among the easiest and most successful methods to significantly boost security. Probably the most common and successful requirements are length and complexity. eight or much more characters along with a minimum of a single capital letter, one lowercase letter and 1 number is a good begin. You are able to contemplate requiring a non-alphanumeric character as well as putting restrictions on how lengthy a password may be used. Even with powerful password needs, you might be only preventing against brute force attacks.

Modify 'Host' and 'Admin' Passwords and Limit Their Use

Altering the Host and Admin password to incredibly complicated passwords is the single most successful step for safety, as each accounts are recognized to exist and are the most vulnerable to brute force attacks as a result of that. Make sure that any password you set for these accounts exceeds the password recommendations listed above. You should also think about limiting access to these accounts, as they may be essentially the most powerful accounts and would leave your site essentially the most vulnerable if they have been compromised.

Hash Password Storage

By default DotNetNuke utilizes encryption of user passwords. This provides a good degree of protection, and enables you to retrieve your password as encryption is a reversible operation. Nonetheless, should you usually do not want to help password retrieval, or want to make certain maximum protection, you may select to utilize Hashing as an alternative. Hashing is really a non-reversible operation, so even if your database is accessed or stolen, a hacker can't reverse engineer your password.

 



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: Set Cache in DNN application/ site

clock Desember 9, 2014 07:44 by author Ben

How to set Cache in DNN application/ site

Today I will show you how to set cache in DNN application/site. It is very important to set cache timing for your applications. In DNN application/ site you can set cache in host setting page. To do that you need to login with the application/ site with host login and go to “Host Settings” page. Hit the “Advance Settings” tree and then click on “Performance Settings” link. Then you can find a dropdown where all the cache types are listed, name as below,

  • No Caching: 0
  • Light Caching: 1
  • Moderate Caching: 3
  • Heavy Caching: 6

I will mention later on about the number associated with the cache name, its importance  and where you need to choose a cache type, later in this tip.
This is the screenshot of the “Performance Settings” panel.

Below is the code I have picked from hostsetting.aspx file (admin\host\hostsettings.ascx).. To set the cache time of your site you need to set the value with the cache name which will render in the host settings page under performance settings panel.

<asp:dropdownlist runat="server" Width="150">
<asp:listitem resourcekey="NoCaching" value="0">No Caching</asp:listitem>
<asp:listitem resourcekey="LightCaching" value="1">Light Caching</asp:listitem>
<asp:listitem resourcekey="ModerateCaching" value="3">Moderate aching</asp:listitem>
<asp:listitem resourcekey="HeavyCaching" value="6">Heavy Caching</asp:listitem>
</asp:dropdownlist>

The value in dropdown ranges from 0 to 6. The code above takes the value set in the dropdown and multiplies it by 20 to determine the cache duration



DotNetNuke 7.3 Hosting - ASPHostPortal.com :: How to Navigate to Another Page from DotNetNuke Custom Module

clock Desember 8, 2014 07:43 by author Dan

Today, we will explain about Navigating to Another Page from DotNetNuke Custom Module. In a few circumstances, there is a prerequisite to add usefulness that permits clients to explore from one page then onto the next in Dotnetnuke Custom Module. For instance, in the event that you have a custom module called "Register" and the client has successfully registered, you may need to explore the client to an alternate page to view client login detail where an alternate custom module as of now been included request to view login client detail.

In Dotnetnuke module we require the Tab Id of the page so as to explore to an alternate page.So to attain this we can include a dropdown field in Edit page of our custom module(register) to demonstrate all the accessible Tab/ Page names of DNN site where client can choose the Page name to redirect which  inside keeps the Tab Id as quality. Then, we can utilize that Tab Id value as a part of request to explore to other page.

[Code in C#]

EditRegister.ascx

//Adding a Dropdown field in EditRegister.ascx page to allow admin or host to select the redirect page name
<asp:DropDownList ID="ddlTabNames" runat="server"></asp:DropDownList>

EditRegister.ascx.cs

//Adding available page names to the dropdown using object of TabController
if (Page.IsPostBack == false)
{
       DotNetNuke.Entities.Tabs.TabController objTabController = new DotNetNuke.Entities.Tabs.TabController();
 
        ArrayList arrlTabs = null;
        arrlTabs = objTabController.GetTabs(this.PortalId);

        string strKey = string.Empty;
        string strValue = string.Empty;

        ddlTabNames.Items.Clear();
 
       //Get the tabname and tabid of each tabs or page using object of TabInfo and added to dropdownlist field
        foreach (Entities.Tabs.TabInfo objTab in arrlTabs)
        {
            strKey = objTab.TabName;
            strValue = objTab.TabID.ToString();

            ddlTabNames.Items.Add(new ListItem(strKey, strValue));
        }
}

       //Using ModuleControler object we need to save selected Page TabId in module specific variable
        ModuleController objController = new ModuleController();
        objController.UpdateModuleSetting(this.ModuleId, "TabID", ddlTabNames.SelectedValue);

ViewRegister.ascx.cs

       Now From custom module view page we can redirect to another Page or Tab of DNN website using following code

       //Get the selected TabId
       int iProfileTabId = Convert.ToInt32(Settings["TabID"]);

       //Redirect to selected Page
        this.Response.Redirect(Globals.NavigateURL(iProfileTabId), true);



DotNetNuke 7.3 Hosting with ASPHostPortal.com :: How To Fixing duplicate Display Names in DotNetNuke

clock Desember 3, 2014 05:31 by author Mark

Fixing duplicate Display Names in DotNetNuke

Since DotNetNuke 6, it is possible to require unique display names. This allows social modules to display a name for a user without exposing the login UserName or the real person first and last names. If you site uses social features, it is important that those display names be unique to prevent a user to post content in the name of another user.
By activating this feature, users are no longer able to register with a Display Name already in use. However, there are 2 oversights. First, the user or an admin can change the Display Name after registration to anything else (including a Display Name already in use). Secondly, you may already have duplicates before you activate this feature, and they don't get automatically changed. In this blog post, I provide you with both solutions the these problems.
Prerequisites

BACKUP YOUR WEBSITE FILES AND DATABASE

This procedure has only been tested on DotNetNuke 7.3.3, so I recommend you first upgrade to this version. If you feel like trying it out on other versions, feel free to do it and post your results in the comments, but make sure you do that backup first.

1. Activating the feature

  • First, we will activate the feature requiring unique display names.
  • Connect to your website as an administrator
  • Navigate to Admin -> Site Settings
  • Click the User Account Settings tab
  • In the Registration Settings section, tick Require Unique Display Name
  • Click the Update button at the bottom
  • Now, it will be impossible for user to register using a Display Name already used by another user.

2. Correcting the problem

  • I created a patch or DotNetNuke 7.3.3 that will prevent users and admins to change the Display Name to something already in use. Like I said before, this is for DotNetNuke 7.3.3, feel free to test and comment on other versions, but make sure you have backup. I submitted a the bog repport DNN-5874 and patch (pull request 160 now pull request 177) to DotNetNuke and I hope it will be applied to DotNetNuke 7.3.4Upgrade DotNetNuke to version 7.3.3 (or try with another version and report in the comments)
  • Download the file PatchDNN-5874.zip
  • Extract that file to your root DotNetNuke folder overwriting the files
  • (optional, if you site has other languages):

Go to Admin -> Languages
Translate those keys:
File                                                                                                                           Key
DesktopModules/Admin/Security/App_LocalResources/EditUser.ascx.resx      DisplayNameNotUnique.Text
DesktopModules/Admin/Security/App_LocalResources/User.ascx.resx          DisplayNameNotUnique.Text
We have now resolved this issue allowing users to change their display name to another one in use.

3. Fixing existing duplicates

  • Now that the issue is resolved for the future, we need to resolve it for the past. Your site may already have duplicate display names before this patch. In order to solve that, I have created a small module that will display all duplicates and allow you to change them in batch by clicking a single button, it will append the UserID to the display name to all users except the first that registered with that display name.
  • Download the file DuplicateDisplayNamesFix_00.00.01_Install.zip
  • The source package is also available if you are a developer DuplicateDisplayNamesFix_00.00.01_Source.zip
  • Install it like any other module (Host -> Extensions -> Install Extension Wizard
  • Create a temporary page that is only visible by administrators (or use an existing admin page)
  • Place the Duplicte Display Names Fix module on that page
  • The module will display a list of all users with duplicate display names or a message if none are present
  • You can export the list to Excel or CSV if you want to keep that information for your records (to send them an email for example)
  • Now you can click the GO button to rename them. (this operation cannot be undone, make sure you have that backup.)

If you don't think to use the module again you can now uninstall it and delete the temporary page.



DotNetNuke 7.3 Hosting With ASPHostPortal.com :: DNN 7.3 Issue with Url Master

clock Desember 2, 2014 07:12 by author Mark

DNN 7.3 has been released and contains lots of changes for performance and stability, bug fixes and some new features.
I was first alerted to an issue with Url Master and DNN 7.3, who found that the API cleanup in 7.3 had removed an old DNN API that Url Master was leveraging, which meant that the site would stop working after the 7.3 Upgrade.   The error you get if you upgrade DNN without first upgrading Url Master to 2.8.2 is this:

500 Internal Server Error
The requested Url does not return any valid content.
Administrators
Change this message by configuring a specific 404 Error Page or Url for this website
.

This is the default URL Master error output (unless you have debug mode enabled) which intentionally hides the actual exception for security reasons.  If you open the event log, you’ll find something like this:

Exception: Method not found: 'DotNetNuke.Entities.Portals.PortalAliasCollection DotNetNuke.Entities.Portals.PortalAliasController.GetPortalAliases()

The solution is that you need the latest version of the Url Master module, version 2.8.2, which uses a newer method to get the portal alias data.
Get the Url Master Module 2.8.2 Download

If you haven't upgraded to DNN 7.3 already, you must upgrade to 2.8.2 before upgrading.

Just download the 2.8.2 install package, and upgrade via the Host->Extensions page.  You do not need to update your licence – this version is available to *all* existing Url Master customers.

If you have already upgraded and have found that your site is dead with this error, then you will need to manually patch the files.  Here are the steps:

  • Download the Url Master install package
  • Extract the zip file locally on your computer to a folder, so you can see the files inside the zip
  • Within the extracted zip file, you will see 4  files.
  • Copy these 4 files into the \bin directory of your site that needs to be upgraded.  Use FTP or copy/paste or any other method to get it into the \bin directory.
  • Once they are copied into the bin directory, try the site again.  It should start and run normally.
  • Once your site is running again, install the (compressed) file as normal through the Host->Extensions page.  This won't change the versions installed, but it will bring your extensions catalog up to date.

I appreciate if people spread these instructions to those who are running Url Master and are intending to upgrade to 7.3 as a preventative measure.



About ASPHostPortal.com

We’re a company that works differently to most. Value is what we output and help our customers achieve, not how much money we put in the bank. It’s not because we are altruistic. It’s based on an even simpler principle. "Do good things, and good things will come to you".

Success for us is something that is continually experienced, not something that is reached. For us it is all about the experience – more than the journey. Life is a continual experience. We see the Internet as being an incredible amplifier to the experience of life for all of us. It can help humanity come together to explode in knowledge exploration and discussion. It is continual enlightenment of new ideas, experiences, and passions

Author Link


 photo ahp banner aspnet-01_zps87l92lcl.png

Corporate Address (Location)

ASPHostPortal
170 W 56th Street, Suite 121
New York, NY 10019
United States

Tag cloud

Sign in