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.
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
Message:Object reference not set to an instance of an object.
InnerMessage:Object reference not set to an instance of an object.
at DotNetNuke.Modules.ActiveForums.Controls.Callback.OnLoad(EventArgs e)
at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Server Name: SERVERNAME
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” />
<add name=”CoreCryptographyProvider” type=”DotNetNuke.Services.Cryptography.CoreCryptographyProvider, DotNetNuke” providerPath=”~\Providers\CryptographyProviders\CoreCryptographyProvider\” />
Take note of where this is found in the web can feed file below.
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:
- Go to the Google Developers Console.
- Select a project, or create a new one.
- 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.
- In the sidebar on the left, select Credentials.
In either case, you end up on the Credentials page and can create your project’s credentials from here.
From the Credentials page, click Create new Client ID under the OAuth heading to create your OAuth 2.0 credentials.
- For the APPLICATION TYPE select Service account.
- Click Create Client ID.
- For the KEY TYPE select P12 key. (The system will download a .P12 file. You will need this file to upload to the module)
- 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)
Enter the weird email address from the API credentials step above to give Read & Analyze permissions.
- You have created a Google Developer Account.
- Created an API and Given Permission to “Analytics API”
- You have Downloaded a P12 Credentials file.
- 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.
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.
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 URL of the blog post is being rewritten through the friendly URL settings within the later versions of DNN.
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 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" />
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.
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.
- The user interface is clean and extremely user friendly.
- You are able to send SMS and email
- 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…
Your birthday is coming up in [MyToken:DaysToBirthday] and we would like to help you celebrate by offering you a 20% on [MyToken:MealPreference].
… 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.
- You can schedule the emails to run in intervals as small as a seconds apart and as large as a years apart.
- And the best of all… The InteractiveWebs team is totally on the ball when it comes to support.
This is a killer module and I recommend that you take the time to try it out.
Richard – one seriously happy InteractiveWebs customer!
Recently 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:
With the video feeds being selected directly from a play list selector button that referenced a YouTube account name.
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.
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!
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:
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.
One of the most asked for features of the DotNetNuke user registration process is to allow users to register without the need for a user name.
Today we have added this feature to the DotNetNuke Advanced Login Module.
User Name Omission
Normally DotNetNuke requires a user name to be entered at registration. The Advanced Login Module will automatically create a DNN user name at registration time, even if the token for User Name is not included in the registration form. This way you can allow users to register with an email address and no user name, while in the background the Advanced Login Module handles the user name for you.
How It Works
If omitted from the registration form, the user name will be taken from the email address.
email@example.com for example will generate a user name using all data from before the @ symbol.
firstname.lastname@example.org = david as the user name.
If david is already taken as a user name, then david-01 or david-02 etc. will be used automatically.
This keeps the username familiar to users should it ever be provided to them, yet keeps the registration process as simple as possible.
The module is available as a Free DNN Module trial on our site.
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.
They produce the following results…
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
2. Select the appropriate template and press the select button.
That will load the new templates and be ready to use on your site.
Advanced Login module for DotNetNuke works with DotNetNuke 4x, 5x and now 6x.
However because DotNetNuke 6x has some popup effect by default with the login button it interferes with the Advanced Login Module popup mode.
To fix this issue, the solution is relatively easy.
After selecting “Popup" from the Advanced Login Basic Settings Edit the skin object login and register as follows.
Save Tab Changes
Update to Templates
Then we need to make a small mod to the templates. After Selecting the Templates tab, click on Custom Script.
And modify the script to:
add any custom initialization logic here,
add any custom login form validation logic here,
return true if pass validation
add any custom registration form validation logic here,
return true if pass validation
Note: We added two new lines highlighted in yellow.
Save Tab Changes and you should be done. With the default skin in DNN 6.0.1, now the advanced login popup mode should work fine. Look at the Advanced Login Module for more assistance with configuring the module with different skins.