DNN (dotnetnuke) Active Forum Module Control Panel a critical error has occured

Error when opening the DNN Active Forum Module Control Panel

When you attempt to open the forum module Control Panel, you receive a.net load error that says a critical error has occurred. Upon looking at the log files for the website within DNN, you’ll notice that the related error message looks something like this.

bsoluteURL:/Default.aspx
DefaultDataProvider:DotNetNuke.Data.SqlDataProvider, DotNetNuke
ExceptionGUID:1012073d-d31d-4a73-a051-31478c9de05d
AssemblyVersion:7.4.0
PortalId:0
UserId:3429
TabId:107
RawUrl:/Resources/Forum/ctl/EDIT/mid/506
Referrer:http://website.com.au/Resources/Forum
UserAgent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_3) AppleWebKit/600.6.3 (KHTML, like Gecko) Version/8.0.6 Safari/600.6.3
ExceptionHash:eUa1nHF8hNveOCQzqX0zOg==
Message:Object reference not set to an instance of an object.
StackTrace:
InnerMessage:Object reference not set to an instance of an object.
InnerStackTrace:
at DotNetNuke.Modules.ActiveForums.Controls.Callback.OnLoad(EventArgs e)
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Control.LoadRecursive()
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Source:
FileName:
FileLineNumber:0
FileColumnNumber:0
Method:
Server Name: SERVERNAME

 

The Fix

It is good practice to ensure that you have the latest version of the DotNetNuke forum module on your website. Especially if you are using the later versions of DNN.  Currently the module project has been moved into an open source project on GitHub. The latest version can be found here: https://github.com/ActiveForums/ActiveForums

 

 fixing the error

 you need to ensure that the web.config file also includes the following reference.

        <section name=”cryptography” requirePermission=”false” type=”DotNetNuke.Framework.Providers.ProviderConfigurationHandler, DotNetNuke” />

 

 

    <cryptography defaultProvider=”CoreCryptographyProvider”>

      <providers>

        <clear />

        <add name=”CoreCryptographyProvider” type=”DotNetNuke.Services.Cryptography.CoreCryptographyProvider, DotNetNuke” providerPath=”~\Providers\CryptographyProviders\CoreCryptographyProvider\” />

      </providers>

    </cryptography>


 Take note of where this is found in the web can feed file below.

Screenshot 2015 06 27 17 13 53

 

 

Google Analytics API Access V3

Accessing your Google Analytic Data via API

To allow a third party module or application to view and display your Google Analytics data for your website. You need to get a few things organised.

1. You need to have a Google Analytic account with your website registered.

Go to: http://www.google.com/analytics/   and follow their instructions to set up your URL under an account that you can manage and access with Admin permissions. We are not going to go through these steps here as it is a given that you will have this. Seek help from Google if you can’t manage.

 

2. Set up an API for your Google Analytics Account at the Google Developers Portal.

Go to: https://developers.google.com/  and login with your account.

To get started using Google Analytics API, you need to first create or select a project in the Google Developers Console and enable the API. Using this link guides you through the process and activates the Google Analytics API automatically.

Alternatively, you can activate the Google Analytics API yourself in the Developers Console by doing the following:

  1. Go to the Google Developers Console.
  2. Select a project, or create a new one.
  3. In the sidebar on the left, expand APIs & auth. Next, click APIs. Select the Enabled APIs link in the API section to see a list of all your enabled APIs. Make sure that the Google Analytics API is on the list of enabled APIs. If you have not enabled it, select the API from the list of APIs, then select the Enable API button for the API.
     Screenshot 2015 07 07 00 53 20
  4. In the sidebar on the left, select Credentials.
     Screenshot 2015 07 07 00 54 06

In either case, you end up on the Credentials page and can create your project’s credentials from here.

Create a client ID

From the Credentials page, click Create new Client ID under the OAuth heading to create your OAuth 2.0 credentials.

  1. For the APPLICATION TYPE select Service account.
  2. Click Create Client ID.
  3. For the KEY TYPE select P12 key. (The system will download a .P12 file. You will need this file to upload to the module)
  4. A dialog box appears. To proceed, click Okay, got it.

 

3. Add service account to Google Analytics account

The newly created service account will have an email address, <projectId>-<uniqueId>@developer.gserviceaccount.com; Use this email address to add a user to the Google analytics account you want to access via the API. For this tutorial only Read & Analyzepermissions are needed.

Select User Management (in the Analytics Admin)

Screenshot 2015 07 07 00 49 39

Enter the weird email address from the API credentials step above to give Read & Analyze permissions.

Screenshot 2015 07 07 00 51 16

 

In Summary

  1. You have created a Google Developer Account.
  2. Created an API and Given Permission to “Analytics API”
  3. You have Downloaded a P12 Credentials file.
  4. You have Authorised the associated weird google email address from the P12 account to have read permissions on your Analytics Account.

If you get all that right, then the module we use, will work to access your Google Analytics data from within your module.

 

DNN Blog Module 404 Error on Reading Post

When using DNN Blog Module you receive 404 page cannot be found error

The symptoms of this are fairly easy. When you click on the Read more link or the title of a blog that would normally take you to the full article of the blog. The page instead displays a 404 error.

DNN Blog 404

 If you explore the URL you will find that the URL references the blog title something like this: http://canopi.com.au/Blog/Post/355/Single-Server-Sign-On-SSO-Part-1 

 take note that the URL does not end with the .aspx

 

The Cause

The URL of the blog post is being rewritten through the friendly URL settings within the later versions of DNN.

 DNN Friendly URL Settings

 the friendly URL settings can be found within: HOST /  ADVANCED SETTINGS / FRIENDLY URL SETTINGS

 and by default in the later versions of DNN are enabled.  The problem arises when the web.config file is missing a setting for the advanced URL rewriting.

 

 The Fix

 the fix is very easy and involves editing  the web.config file.

1. Take a backup of the web.config file for your site
2. Open the web.config file, and search for ‘urlformat’. You should find this in the section, like this:


<add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="humanfriendly" />

 

3. Change the urlFormat value to ‘advanced’, like this:


<add name="DNNFriendlyUrl" type="DotNetNuke.Services.Url.FriendlyUrl.DNNFriendlyUrlProvider, DotNetNuke.HttpModules" includePageName="true" regexMatch="[^a-zA-Z0-9 _-]" urlFormat="advanced" />

Bulk Emailer–Customer Review

image

I wanted to place this review on the DNN store but there is no review button in my download page for your product. It may be because it is an old order or product version. Please would you turn it on so I can post it and feel free to post it with my name on your site.

Regards

Richard Sletcher

If you have not yet used the InteractiveWebs email module you don’t know what you are missing. It is spectacular. The system is vast and would require a manual to list all the super cool features but let me give you some of my highlights.

  1. The user interface is clean and extremely user friendly.
  2. You are able to send SMS and email
  3. The inclusion of MyTokens allows you to personalize at a whole new level. Let me rave for a moment…

Imagine you have a list of restaurant clients containing FirstName, LastName, BirthDay, FoodPreference. You could send out an email like this…

Dear [MyToken:FirstName]

Your birthday is coming up in [MyToken:DaysToBirthday] and we would like to help you celebrate by offering you a 20% on [MyToken:MealPreference]. 

Regards

Richard

… Get the idea?

The best part is that you can automate the entire process. You simply build a list of all people having a birthday in 5 days time and then tell the email to run every day. Each day the system builds a list of people with upcoming birthdays and sends an email or SMS all driven from your internal data. 

  1. You can schedule the emails to run in intervals as small as a seconds apart and as large as a years apart.
  2. And the best of all… The InteractiveWebs team is totally on the ball when it comes to support.

OK… ENOUGH! 

This is a killer module and I recommend that you take the time to try it out.

Richard – one seriously happy InteractiveWebs customer!

Network You – New DotNetNuke YouTube Video Module

imageRecently we launched a new website called Network You. The site can be found at networkyou.org.

Of particular interest on the site is a new module or ours soon to be released to the DotNetNuke Community called Mushroom Video Module.

The module will feed Youtube Play Lists from youtube.com directly into your site in an easy to manage and easy to use video feed.

 

The end result of the feeds looks like this:

 

image

http://www.networkyou.org/Network/GlobalVillage.aspx

With the video feeds being selected directly from a play list selector button that referenced a YouTube account name.

image

image

The module also uses the template system developed by InteractiveWebs for the display system that allows simple to load templates to be customized to the users requirements.

image

An example of the module with multiple feeds onto a single page is this one: http://www.networkyou.org/Network/Professionals/VideoTopics.aspx

We will be releasing the module to the public in the next few weeks. We would love to hear any comments!

Bing Ajax Control over HTTPS or HTTP Secure SSL

image

Today we updated some code in our Contact Details module for DotNetNuke.

The module makes it easy to add your contact details to a page in DNN.

There is a map control function that uses Bing Maps that can be seen in the demo here: http://www.interactivewebs.com/contactdetails/Demo.aspx

We have updated the module today to support the use of SSL or https connections to the page that contains the module.

How we did this

So here are the two ways to add the Bing Ajax control to your page in HTTP or HTTPS:

HTTP:

<script src=”http://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3” type="text/javascript"></script>

HTTPS:

<script src=”https://ecn.dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.3&s=1” type="text/javascript"></script>

Now on the HTTPS version notice I changed the URL to start with HTTPS, this is what pulls from the secure site over at the good Bing folks. Also notice I added the “s” parameter and set it to 1, default is 0, this tells the Bing API to get the image tiles for the map from HTTPS.

Why? you ask.

Well it seems that the API determines what protocol to use for JavaScript and other parts from the document.location.protocol, however when it comes to the map tiles it looks to a global setting that is set based on the parameter being passed.

Setting Mushroom Lite Template for DNN 6x Default Skin

DotNetNuke 6x has a great looking default skin called DarkKnight, and the skin design has previously caused some layout issues with the Mushroom Light Module Templates.

To correct this, we have created two new templates that are designed specifically to work with the DarkKnight skin in DotNetNuke.

Called:

  • DarkKnight-Small
  • DarkKnight-Large

They produce the following results…

image

With the Large template being the content on the left, and the bottom right showing the content of the small template.

This makes the module perfect for use with DotNetNuke 6x our of the box.

 

How to Set the Templates

The templates are selected through the normal RSS Template Tab in the module.

1. Select Load Template Button

image

2. Select the appropriate template and press the select button.

image

That will load the new templates and be ready to use on your site.