DotNetNuke Hosting with ASPHostPortal.com

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

DotNetNuke 7 Hosting - ASPHostPortal :: How to Enable/Disable Allowed File Type in DotNetNuke

clock November 18, 2015 20:25 by author Jervis

DotNetNuke (DNN) is a good content management system that greatly simplifies the day to day administration and content management of sites. One nice feature is the file management system which allows users to upload files from their local computers to the file system on the DNN Web server portal root. They can then use the DNN GUI to add widgets such as the Documents module that provides a fast and simple way to give site visitors access to these files.

The Problem

Sometimes, though, users will encounter a seemingly mysterious error message when they are trying to upload files to DotNetNuke such as the message in the image at the start of this article. This message will say that the file they just tried to upload is a restricted file type and that they need to contact a hosting provider.

You and your users will be happy to hear that this warning looks more ominous than it really is. If you are in charge of the DotNetNuke installation then you may have heard of disallowed file type errors before.

Tracking Down the Issue

When speaking with the user who does not explain the specifics of the error they encountered, there are two possibilities that will immediately spring to mind when hearing about an error with the DotNetNuke file uploader.

  1. The first is that the file size exceeded the permitted file size in DotNetNuke.
  2. The second is that the file type is not a permitted type.

You should make sure to check both of these points while talking with the user and make sure that when you enable the file type, that the file size will not exceed that allowed by your installation of DotNetNuke.

Luckily it’s quite easy to update the list of  permitted file types in DotNetNuke

Here are the steps to update the list of allowed file types based on a DNN 7 installation that I am working with. Depending on your version of DotNetNuke, the path and procedure to manage the list of file types may differ.

  • Log into DotNetNuke with your SuperUser level account.
  • Click on the Host option on the top left toolbar
  • Click on the Host Settings menu item under the Basic Features menu.
  • Scroll to the bottom of the Host Settings page that appears
  • You will see an Advanced Settings sub-section
  • Click on the plus (+) beside the Other Settings option to expand this
  • You will now see a number of options, one of which is titled Allowable File Extensions
  • In the text box of Allowable File Extensions you will see a comma-separated list of the allowed extensions.
  • At the end of the list add the file extension you would like to enable. Please note that you do not add the ‘.’ in front of the extension, but simply a comma and then the actual file extension (such as ,ai for Adobe Illustrator file types, or ,docx for MS Word documents)

Do Not Over-Allow File Types

The reason that DotNetNuke restricts file types so carefully and only allows system SuperUsers to manage the list of file types is that some file types are more prone to allowing system compromises than others.

While managing file types, it is important to realize that each new file type that you add can introduce security risks to your site. On a closed Intranet system this is not so much of an issue, but on an Web site that is exposed to the Internet you should carefully evaluate the allowed file types to make sure that you are not exposing your site and users to unnecessary risks.



DotNetNuke 7 Hosting with ASPHostPortal.com :: How to Automate your DotNetNuke Module

clock Augustus 23, 2014 09:00 by author Kenny

DotNetNuke is an open source CMS based on Microsoft .Net technology. DotNetNuke can be easily installed and hosted. In general, DotNetNuke framework allows individuals to do whatever they wish with the application framework both commercially and non-commercially, with the simple requirement of giving credit back to the DotNetNuke project community. In this article, I will tell you how to automate the packaging of your DNN Module.

DotNetNuke is a program that runs on Microsoft ASP.NET. It is also a framework, meaning, it is a program that is designed to be extended. One of the ways you extend the framework is to create modules. These modules are installed inside a DotNetNuke installation and when they run in that DotNetNuke installation they extend the framework to create a DotNetNuke website also called a portal.

Here are the steps for automate the packaging of your DNN Module:

  • Delete all source code and start over from scratch with my templates installed. If you really don’t want to go through step #1, you can skip it, but you must then go on to Step 2 below
  • Open your project in Visual Studio
  • Install the MSBuildTasks project from Nuget:

PM> Install-Package MSBuildTasks

  • Create a BuildScripts folder in your project
  • Add two files

ModulePackage.targets

MSBuild.Community.Tasks.Targets

  • Right click on the project in Visual Studio Solution Explorer and choose “Unload Project”
  • Save changes if prompted
  • Right click on the unloaded project and choose the Edit option
  • At the bottom of the file, before the </Project> section add

<PropertyGroup>
  <Extension>zip</Extension>
  <DNNFileName>CHANGEME.dnn</DNNFileName>
  <PackageName>CHANGEME</PackageName>
  <MSBuildCommunityTasksPath>$(SolutionDir)\Build</MSBuildCommunityTasksPath>
</PropertyGroup>
<Import Project="BuildScripts\ModulePackage.Targets" />
<Target Name="AfterBuild" DependsOnTargets="PackageModule">
</Target>
<Import Project="$(SolutionDir)\.nuget\nuget.targets" />

  • Change the “CHANGEME” text to match the name of your .DNN file and the name of the ZIP file that you want the package created as.
  • Save the Project changes.
  • Right click on the project in Solution Explorer and choose Reload Project.
  • Switch into Release mode in Visual Studio and do a Build of your project.
  • This should create two files, ModuleName_Version#_Install.zip and ModuleName_Version#_Source.zip.

What I typically do then is install the module to a test DNN install to make sure that everything is working correctly. You’ll want to make sure that the ZIP files created contain all the right files, and they get installed correctly, so a test installation is the best way to go through that process.

If something fails, try to track it down, then do another Build in Release mode, rinse and repeat the installation process in your test install until you get everything working properly.

Now going forward, after you do a release, you go into your AssemblyInfo file, change your version number there, and into your .DNN File and change your Version number there. Next time you build in Release mode the module will create a new VERSION number ZIP file, leaving your last version builds there as well.



Cheap DotNetNuke 7 Hosting :: How to Fix 404 Handling Error on DNN 7

clock Junie 5, 2014 06:15 by author Ben

404 Handling is the process of managing what happens when a visitor comes to your site and enters a Url/follows a link which isn't valid. The correct handling of 404 errors can really mean the different between a professional looking site, and one that still looks like it is in development. The name ‘404 Error’ is used because the web server returns a response code of ‘404’, meaning it couldn't find a matching file/resource for the Url. A well developed 404 strategy will retain users, keep search engines up to date and in general make your site look like a polished and finished effort.

Here is the tips how to fix 404 Handling Error on DotNetNuke 7 :

Keep in mind that a prerequisite for this strategy is that you must be using ASP.Net 3.5 SP1 or later. This will not work in earlier .Net Framework versions. Look at the customErrors section below in web.config:



There are a few things to notice here. First, the addition of redirectMode=”ResponseRewrite”. This enables a rewrite of the error page rather than a redirect. The next thing to notice is the specific instruction on what page handles 404 errors. Rather than ‘TheErrorPage.aspx’, 404 errors are handled by ‘404.aspx’.

Now we get to some specifics in DNN. In your DNN site create 'TheErrorPage.aspx' and '404.aspx' (or whatever you want to name them) in the root of your website. From my testing this does not work if you were to add this as a page within DNN itself (i.e. via Pages → Add). Instead, manually add these error pages in the root of the site.

Lastly add this bit of code to the 404.aspx error page:


This code simply ensures a 404 status is returned when the page loads, which should only be for 404 errors. You could do this in C# as well. You can add any HTML you would like to this page so you can provide a friendly 404 error page.

404 Error on DNN 7 Installation
If you are encountering an issue with DNN 7 installations that causes most of DNN's URLs to result in 404 errors then please try to following fix.

Within your site's web.config file locate the opening tag for the "modules" section of the web.config file which is:
"<modules>" (without quaotation marks)

Then modify it so that it reads as follows:
"<modules runAllManagedModulesForAllRequests="true">" (without quotation marks)

Then save the web.config file and restart your site.
That should resolve the issue and allow your links and pages of your DNN 7 installation to resolve correctly.


Need DotNetNuke hosting? Please visit our site at http://www.asphostportal.com. Just with only $4.00/month to get DotNetNUke hosting. If you have any further questions, please feel free to email us at [email protected].

ASPHostPortal.com, Microsoft No#1 Recommended Spotlight Hosting Partner, is now providing this FREE DOMAIN and DOUBLE SQL Space promotion link for new clients to enjoy the company's outstanding web hosting service.



DotNetNuke 7.0 Hosting - ASPHostPortal.com :: GZIP Compression to Improve Your DotNetNuke Performance

clock Februarie 11, 2014 07:47 by author Jervis

In this article, I want to describe about IIS SEO Toolkit and the YSlow plugin for FireFox. The SEO Toolkit is invaluable for finding things like broken links, bad markup, etc, while the YSlow plugin analyzes things from a pure performance perspective. I recommend both highly for fine tuning your DotNetNuke websites.

One of the things that YSlow recommends is to compress the files that are sent from the server to the user’s web browser. DotNetNuke provides the option to use GZip compression on the Host Settings page. Turning this feature on is one of the first things I do when I set up a new DotNetNuke installation.

YSlow has the following to say about compression:

“Compression reduces response times by reducing the size of the HTTP response. Gzip is the most popular and effective compression method currently available and generally reduces the response size by about 70%. Approximately 90% of today's Internet traffic travels through browsers that claim to support gzip.”

That’s great! Unfortunately, not every file on your DotNetNuke site is compressed when you enable that setting at the host level. In fact, in a test against a recent version of DotNetNuke in my local environment, YSlow reports 18 components that should be compressed. When you enable GZip compression in the DotNetNuke Host Settings, that number drops to…..17. This is due to the actual page itself being compressed (which is wonderful, don’t get me wrong). But what are the other 17 components? Static files. Namely JavaScript files (.js) and Cascading Style Sheets (.css).

Now, the fact that there so many external files its an altogether different issue that I will side-step for the purpose of this blog post. Of course I would love it if DNN had 1 dynamically created minified JS file and 1 dynamically created CSS file, period. However, that is currently not the case, and even if it was – wouldn’t you want to gzip those files as well?

Here is the compression report from a recent version of DotNetNuke that has GZip enabled:

You can see that DotNetNuke does pretty darn well with respect to the YSlow configuration, except where it comes to dealing with external files (this report was run with the “Small Site or Blog” ruleset, for those that are curious). So, how can I improve this section of the YSlow report? By letting IIS gzip the static files, of course!

The report above is from a local environment, but this is exactly how dnnGallery.net behaved prior to implementing some Gzip compression in IIS.

The steps that I used to get IIS to perform GZip compression on all of the static files in my website were as follows:

1. Enable static file compression in IIS
2. Install IIS Resources
3. Add the appropriate file extensions using the IIS Metabase Explorer
4. Restart IIS

Enabling static file compression in IIS

So, first I enabled IIS compression of static files. Note that this is a server-wide solution, and will apply to each of your web sites hosted in IIS. Here are the relevant steps from the MSDN documentation:

To enable server-wide HTTP compression

1. In IIS Manager, expand the local computer, right-click the Web Sites folder, and then click Properties.

2. Click the Service tab, and in the HTTP compression section, select the Compress application files check box to enable dynamic compression.

3. Select the Compress static files check box to compress static files.

4. In the Temporary directory box, type the path to a local directory or click Browse to locate a directory. Once a static file is compressed, it is cached in this temporary directory until it expires, or the content changes. The temporary directory must be on a local drive on an NTFS-formatted partition. The directory cannot be compressed, and should not be shared.

5. Under Maximum temporary directory size, click a folder size option. If you click the Limited to (in megabytes) option and enter a number in the text box next to it, IIS automatically cleans up the temporary directory according to a least recently used rule when the set limit is reached.

6. Click Apply, and then click OK.

After I performed this step, only one random .txt file was compressed, how useful! You can check which files are compressed by looking in the temporary folder that was specified in the above steps.

Add file extensions using the Metabase Explorer

After I installed the resource kit tools, I opened the new Metabase Explorer application from my start menu and performed the following steps:

1. Expanded [Machine Name] –> W3SVC –> Filters –> Compression and selected gzip
2. For the row named “HcFileExtensions” I added “js” and “css” to the “Data” list
3. For the row named “HcScriptFileExtensions” I added “axd” to the “Data” list

Run it and you’ll see the result



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


Corporate Address (Location)

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

Tag cloud

Sign in