DotNetNuke Hosting with ASPHostPortal.com

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

DotNetNuke Tutorial - Easy to Use Bootstrap 3 in A DNN Skin

clock Augustus 23, 2018 12:25 by author Kenny

I decided to use the popular Bootstrap framework to handle all the messy layout and mobile aspects of the site.  This post doesn’t teach you Bootstrap or DNN Skinning. It just covers a few of the steps I needed to get everything to work.

1. Including the Bootstrap goods

The easiest way to include Bootstrap in your template is to include that from the Bootstrap CDN.  You will want to use DNN’s Client Resource Management controls to include your CSS and JS.  To include those controls, you will want to include the following at the top of your skin .ascx file:

<%@ Register TagPrefix="dnn" TagName="STYLES" Src="~/Admin/Skins/Styles.ascx" %>
<%@ Register TagPrefix="dnn" Namespace="DotNetNuke.Web.Client.ClientResourceManagement" Assembly="DotNetNuke.Web.Client" %>

Next you will include the .css and .js into your skin.  To include the CSS you will use the following at the top of your skin ascx file:

http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css" UseSkinPath="false" />

To include the .js, you will use the following at the bottom of your file:

http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js" />

2. Skin.css – don’t use it

Typically for a DNN skin you will use the skin.css file to define the css elements for your skin.  Since you are using the Bootstrap grid system, chances are a lot of the CSS in your skin.css will be deleted.  So carefully clean it up.

Also in your skin.css you will define styles for the Bootstrap nav bar.  This is one of the area’s of bootstrap that you will override the css in the default bootstrap CSS file.  So to do this, your skin.css file needs to appear AFTER the bootstrap css file on your webpage so it will override.

The problem here is that skin.css which is automatically included by DNN will always be included before the Bootstrap css file.

An easy solution is to rename your skin.css to style.css.  Since there is no skin.css, DNN will not try to include it.  Then just add another control to include your style.css file:

3. Navigation Menus – Mobile friendly

The other change I made was a difficult decision.  Bootstrap navigation does not support hovering.  In DNN when you hover over a navigation menu item, the child items appear for selection.  That’s hard to do on a mobile device.  The Bootstrap framework has opted for a click being required to drop down the child items in a navigation menu.  This means that any top level menus with content had to be moved to a child page and the parent needed disabled.  For example I used to have:

  • About Us
    • Partners

I had to change it to the following:

  • Company – This is a DNN disabled page
    • About Us
    • Partners

At first I did modify Bootstrap to drop down the child menus on hover.  To do this, you simply need to use the Bootstrap Hover Plugin.  However I decided to keep things less complicated and use the Bootstrap standard for the navigation menu. 

Best DotNetNuke Hosting Recommendation

ASPHostPortal.com provides its customers with Plesk Panel, one of the most popular and stable control panels for Windows hosting, as free. You could also see the latest .NET framework, a crazy amount of functionality as well as Large disk space, bandwidth, MSSQL databases and more. All those give people the convenience to build up a powerful site in Windows server. ASPHostPortal.com offers DotNetNuke hosting starts from $5/month only. We also guarantees 30 days money back and guarantee 99.9% uptime. If you need a reliable affordable DotNetNuke Hosting, we should be your best choice.



DotNetNuke - The Social CMS for Business

clock Augustus 8, 2018 11:03 by author Kenny

In today’s internet driven world, websites are becoming a norm to every business’s growth or branding strategy. Owing to this, the CMS or Content Management System has now become a household name. Wait, aren’t you aware of the term? Well, for the start, CMS is a web-based software application that lets you create, edit and store web content in an organized and manageable way.

There are a number of such CMS, available today, to facilitate people who want websites for themselves. You may have heard of DNN, Wordpress, Magento, Drupal, etc. These are some of the big names among them.

Once you are familiar with the term, there arrives the confusion on which one to choose. Before choosing and investing in a CMS, one must always examine certain features. Likewise, it should feature an easy-to-use editor interface, intelligent search capabilities, etc. Besides these generic requirements, there are also certain characteristics that become imperative for all CMSs.

Now, let’s make a quick jump to ‘which is the best CMS for your website or enterprise web solution’. Our favorite is DNN and we can justify why we love it. Here’s why DNN aka DotNetNuke should b your content management framework:

Seamless Content & Document Maneuvers

DNN is absolutely simple and user-friendly to work with, for all kind of users. Be it, administrators, content managers, designers, and developers - anyone can maneuver it at ease. Hence, clients can create, supervise and publish content without prior technical or programming knowledge of DotNetNuke.

Security - The Substantial Entity

DNN has proven to provide exceptional security, with a built-in Security model in the CMS architecture. It sorts users into groups based on the type of operation and provides specific permissions. It also helps in validation, encryption and bug tracking to build secure websites.

And most importantly - all of this without needing to install a third party application! Yes, here all the content and configuration is stored in MS SQL database, run by windows and backed by Microsoft. It ensures a thorough security check, with timely scheduled security updates.

Refined Multi-User Management

DNN has a robust multi-user management system. The users of different groups can be assigned, custom roles and permissions. It also includes social features, such as photos and biographical information along with expanded user profiles. With DNN, one can easily set up Social Media communities for organizations. Hence, it eventually supports social media authentication, to let others sign into the site using their social media accounts’ credentials.

Support for Mobile Websites

DNN has unique utility known as the DNN Evoq that helps to design responsive websites using its wonderful mobile templates. A mobile preview reviewer takes up the guesswork, to experiment all possibilities, before going live. For optimal viewing experience, DNN Evoq content detects characters selectively from thousands of mobile devices to tailors the design and content. This content supports all mobile platforms.

Comprehensive Synergy with Social Networking Sites

DNN Evoq social improve collaborations by quickly building internal and external communities. Thereby, it increases employee productivity, subsequently. It lowers the support cost by turning the customers into advocates, by creating external communities. This increases revenue opportunities as well.

Extensive Customization Opportunities

With DNN, one can render tailor-made websites, using the same default template skins and models. The Visual design used by CSS and the services framework is based on the web API.

It has many free extensions, which are less redundant when compared to other CMSs. Moreover, paid extensions are also available at different price ranges. Though some of these extensions are on the expensive side, you can always manage to find something within your budget.

Built-in eCommerce Solution

DNN has a built-in eCommerce solution for good services, such as selling physical goods, digital downloads, events or even donations. DNN works seamlessly with common payment gateways, such as Paypal, SagePay, Google Checkout, Barclays, HSBC, and Authorize.Net.

High Performance & Stability

DNN ensures great user experience for site visitors by running and loading the websites very quickly. This is possible with performance improving features, such as web farms, page caching and module caching. It improves SEO as well, with the highest search ranking pages, based on the search engine factor speed.

Invariably Affordable

Irrespective of the DNN version, the chosen venture would always be cost-effective. Because, you’d know, the custom ones usually cost a fortune.

The Support you can Count on

DNN is an open source module and constitutes a team of developers that provide technical support from all over the world.  These dedicated team support applications of DNN blogs, online forums, online help and other various websites. So investing in DotNetNuke is a safe bet.

With all these said, one can easily understand that the DNN CMS holds an upper hand over almost all others. Hence, obviously, the CMS products have become a household name in the eCommerce world, lately. Its wide range of applications helps to sustain several business models. Above all, thousands of reputable organizations, such as NASA, Lockheed Martin, Verizon, USAA and several others, use DNN for many years.

Best DotNetNuke Hosting Recommendation

ASPHostPortal.com provides its customers with Plesk Panel, one of the most popular and stable control panels for Windows hosting, as free. You could also see the latest .NET framework, a crazy amount of functionality as well as Large disk space, bandwidth, MSSQL databases and more. All those give people the convenience to build up a powerful site in Windows server. ASPHostPortal.com offers DotNetNuke hosting starts from $5/month only. We also guarantees 30 days money back and guarantee 99.9% uptime. If you need a reliable affordable DotNetNuke Hosting, we should be your best choice.



DotNetNuke Hosting Tutorial - How to Install Multiple DotNetNuke Modules Quickly

clock Augustus 2, 2018 12:16 by author Kenny

Once installed into DNN modules can easily be dragged and dropped to a page. You can also have multiple instances of the same module on one page. Modules can be shared across pages and, in the paid versions of DNN, even shared across multiple sites (via the Site Groups feature).

Imagine having a DNN site, but then having a need that is custom or specific to you or needing functionality that does not come with DNN out of the box. Let’s say for example you want to have a photo gallery on your site. A photo gallery module does not ship with DNN out of the box. These scenarios where you have a need for functionality that does not ship with DNN are prime scenarios for a custom module or 3rd party module.

A module’s settings also allows the site admins to easily control things like the module title, the start and end date and time (in case the site admin wants to schedule and expire content), the module’s container, and whether or not the module is indexed by search engines. 

Installing multiple modules through the DNN user interface is very time-consuming, but luckily there’s an easier and faster way of installing modules in DNN. So in order to do a batch installation of multiple modules just follow the steps outlined below.

1. Add your zipped modules to the “/Install/Module/” folder

Build your modules in release mode and drop the zipped modules into:

YourDnnFolder/Install/Module/

2. Navigate to “/install/install.aspx?mode=installresources”

Open up a browser window and navigate to the URL:

http://YourDnnSite.url/install/install.aspx?mode=installresources

… and all of the modules that you dropped into the module folder earlier will now be installed for you.

 

Best DotNetNuke Hosting Recommendation

ASPHostPortal.com provides its customers with Plesk Panel, one of the most popular and stable control panels for Windows hosting, as free. You could also see the latest .NET framework, a crazy amount of functionality as well as Large disk space, bandwidth, MSSQL databases and more. All those give people the convenience to build up a powerful site in Windows server. ASPHostPortal.com offers DotNetNuke hosting starts from $5/month only. We also guarantees 30 days money back and guarantee 99.9% uptime. If you need a reliable affordable DotNetNuke Hosting, we should be your best choice.



DotNetNuke Hosting Tutorial - View Event Viewers in DotNetNuke

clock Julie 11, 2018 12:35 by author Kenny

In this tutorial, you will learn how to view error log exceptions in DNN. You will also able to specify which log exceptions you want to record or ignore.
To view the error logs, you will need to have administrator portal access. Once you have login on the website, please go to the admin menu and you will see there is a menu called Event Viewer.

By default, all the error or event logs will be displayed on the site, you have an option to narrow the result list by specifying the log type by selecting one of the option in the dropdown list.

How to turn off the event logs in DNN?

To turn off specific event logs in DNN is pretty simple, if you scroll further down, you will be able to see there is a button called Edit Log Settings.

To enable or disable the event log, click the pencil edit icon. This will load another window popup and there is a tick box for you to untick it if you want to disable the event log.

Best DotNetNuke Hosting Recommendation

ASPHostPortal.com
ASPHostPortal.com provides its customers with Plesk Panel, one of the most popular and stable control panels for Windows hosting, as free. You could also see the latest .NET framework, a crazy amount of functionality as well as Large disk space, bandwidth, MSSQL databases and more. All those give people the convenience to build up a powerful site in Windows server. ASPHostPortal.com offers DotNetNuke hosting starts from $5/month only. We also guarantees 30 days money back and guarantee 99.9% uptime. If you need a reliable affordable DotNetNuke Hosting, we should be your best choice.



DotNetNuke Hosting - ASPHostPortal.com :: Tips To editing your DNN website

clock September 22, 2016 19:20 by author Armend

Tips To editing your DNN website

The following tips will help you with five of the most common tasks you'll perform on your DNN website.

1)Decrease Your File Upload Time

Save time - upload more than one file at a time! First, compress all the files you want to upload into a .zip file.  Then go to File Manager and select Upload A File.  Choose the zip file on your computer, then select which folder you want to upload it to. Be sure to check "decompress zip file." Now press the Upload File button.  This will move the single compressed file to the target location on the server, and decompress it.  So you just uploaded all of the files in the compressed folder with one upload.  If you are really watching your file quota, you may want to go back into the file manager and remove the zip file.  One downside of this little trick, it leaves the compressed file on the server after it is done.

 

2) Changing Your Workflow: Publish Content Before It's Visible

The more recent versions of DNN support this feature.  To turn this on, go to any HTML module settings.  Under HTML Settings, you'll find Work Flow. The default is Direct Publish while the other option is Content Staging.  If you choose Content Staging, the content will need to be published before it is made live on the site.  If you leave it as Direct Publish, the changes will go live as soon as you press save.  From HTML Settings, you can also see which modules are using these settings.  If you choose module, the setting is active in the module you are working on only. If you choose page, the setting is active on all of the HTML modules on the single page you are working on. If you choose site, the setting is active on the entire site.

3) Make Your Content Appear and Disappear Based on a Date Range

DNN Software has a date range on pages and modules that enables you to schedule a module's visibility. You can use many different variations of these 2 settings:

  •     Start Date (not supplied), Expiration Date (not supplied): module or page will always be visible
  •     Start Date (supplied), Expiration Date (not supplied): module or page will not be visible until the start date; once it is, if will show until you delete the page or module
  •     Start Date (not supplied), Expiration Date (supplied): module or page will be visible immediately and will continue to be visible until the expiration date.
  •     Start Date (supplied), Expiration Date (supplied): module or page will be visible on the start date and automatically stop showing on the expiration date.

4) Accidental Deletions: You Can Recover Them!

Don’t worry.  If you unintentionally deleted something, go to Admin->Recycling Bin.  You'll see a tab for pages and a tab for modules.  Choose which one you need and click Restore Selected Pages or Restore Selected Modules. Do not click Empty Recycle Bin. If you do, you'll need to contact our support team for a more involved solution.

5)  Copying and Pasting Advice

If you've ever tried to copy and paste from a third party editor (like Word), you may have noticed that everything ends up looking funky. There's a reason for this.  Word uses several hidden characters for formatting that you never see while typing or copying. But you definitely see the end result when you press save! Because of this, DNN Software provides a tool for you to migrate your content from your editor to your website.  Check out the toolbar of your HTML/Text Editor, and you'll see a paste options button. Your choices are:

  •     Paste (same as Control + V): this will paste the contents of your clipboard to your web editor. 
  •     Paste from Word: this strips out any non-essential word tags and characters.  This will leave the fonts in place.
  •     Paste from Word, strip font: this is the same as Paste from Word, only now we strip the fonts as well.
  •     Paste Plain Text: this means no fonts, not formats, no fluff.  Just text.
  •     Paste As HTML: this pastes the content in your clipboard as HTML code.
  •     Paste HTML: this will paste HTML code directly to the text editor.

We recommend using either the Paste from word, strip font or Paste as plain text.  If you strip the font, the content will adopt the font that the rest of your site uses.  This means everything still looks uniform.  If you don’t mind going back in and reading some bolds, underlines, lists, or any of that, then Paste plain text is for you.  This will make sure that just words, numbers and punctuation get pasted.
I hope you find these DNN tips useful. Contact our support team any time for extra help!

 

Best Recommended DotNetNuke Hosting

ASPHostPortal.com is the leading provider of Windows hosting and affordable DotNetNuke Hosting. DotNetNuke Hosting from ASPHostPortal.com provides a safe, reliable and performance-driven foundation for your DotNetNuke website. DotNetNuke is the perfect Content Management System for managing and developing your website with one of ASPHostPortal’s Hosting plans. ASPHostPortal has ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch, ASPHostPortal guarantees the highest quality product, top security, and unshakeable reliability, carefully chose high-quality servers, networking, and infrastructure equipment to ensure the utmost reliability.



DotNetNuke - ASPHostPortal.com :: 10 Tips For DotNetNuke Skins for SmartPhones

clock Julie 28, 2016 20:28 by author Armend

10 Tips For DotNetNuke Skins for SmartPhones

DotnetNuke skinning is changing with the latest trends one of which is building websites for smartphones and handheld devices like iPod, iPad, Android-based smartphones and many more. In this Article I have shared 10 tips which will be extremely useful for DotnetNuke Skinning for smartphones and most handheld devices.

 

Tip #1

basic mobile styles
html, body {
background: #fff;
color: #000;
margin: 0;
padding: 0;
font: 12px/15px sans-serif;
}


Do not rely on support of font related styling

Tip #2

No width content, careful with floats

  • {width: auto;}
  • {float: none;}

Tip #3

Setting the viewport

Add to <head> section
<meta name=”viewport” content=“width=device-width”/>
In DNN, add to default.ascx
<script language=”javascript” type=”text/javascript” >
var script = document.createElement(“meta”);
script.name = “viewport”;
script.content = “width=device-width”;
document.getElementsByTagName(“head”).item(0).appendChild(script);
</script>

Tip #4

keep it simple

  • What are mobile visitors looking for?
  • What information do they want/need?
  • Do mobile visitors have time/interest in all of my tedious sidebar content?
  • With a barebones stylesheet, which elements are clearly superfluous?
  • Which navigational elements are absolutely necessary? Which are redundant?
  • Are there entire regions of my page that would be better off not displayed?


Display only the essential no leftpane or right pane

.leftpane, .rightpane {
display: none;
}

Tip #5

top navigation (vertical)
.mi, .mi .txt {display:block !important; text-align:left; margin:0 !important;}

Tip #6

Control image width

#content img {max-width: 250px;}
or
img {max-width: 250px;}

Tip #7

Slim headings
h1, h2, h3, h4, h5, h6 {font-weight: normal;}

Tip #8

links
Highlight links


a:link, a:visited {
text-decoration: underline;
color: #0000CC;
}
a:hover, a:active {
text-decoration: underline;
color: #660066;
}
Use the tel: de facto standard
<a href=“tel:+1999999999“>Call us!</a>
Avoid target=_blank

Tip #9

Forms

  • Minimum input
  • Do not use tables for layout
  • Use definition lists (dl, dt, dd)

Tip #10

  • Keep URIs of site entry points short
    www.example.org/example.html accept example.org/example
  • careful with color contrasts
  • Use (minimum) web standards
    XHTML 1.0 / HTML 4.01 / XHTML-MP, CSS 2.1, DOM 1, ECMAScript 3
  • Always specify a doctype
  • Use standard media types
    Static: JPEG, GIF, PNG / Dynamic: 3GP, AVI, WMV, MP4

Do not use the following tags

  • × frames
  • × tables for layout
  • × nested tables
  • × image maps
  • × graphics for spacing
  • × horizontal scrolling
  • × do not rely on plug-ins, DHTML behaviors, embedded objects or script

 

 



DotNetNuke - ASPHostPortal.com :: How To installing DotNetNuke 8.0.3 using WebMatrix

clock Julie 21, 2016 20:58 by author Armend

DotNetNuke is a widely used open source CMS for building web sites and web applications on the Microsoft Web Platform. DotNetNuke is often used in conjunction with WebMatrix, a free tool that allows for the creation, customization and publication of ASP.NET web
The following tutorial will demonstrate how quick and easy it is to get your DotNetNuke application up and running!

Installing DotNetNuke

To install the DotNetNuke application from WebMatrix:

  1. Select the App Gallery option.
  2. Choose the DotNetNuke Community Edition icon. The application can be given a new name or keep the default name.
  3. Select a database.
  4. Choose SQL Server and ensure that the Windows Integrated Authentication radio button is selected.
  5. Click Next.
  6. Once prompted to install DotNetNuke, click I Accept. The DotNetNuke Installation will take a few minutes to complete. Once completed, you will receive a confirmation message.
  7. Immediately after Installing DotNetNuke, load the DotNetNuke application by clicking the OK button.

Configuring DotNetNuke

To configure DotNetNuke in WebMatrix, use the Installation Wizard to complete the following steps:

  • Click the Run button on the menu ribbon. Be sure to run the root folder of the DotNetNuke application.
  • Upon running the DotNetNuke application, there will be three options for installation:
    • Customer
    • Typical
    • Auto
  • For purposes of this article, the Typical installation will be used.
  • The Installation Wizard will perform a permissions check. Upon completion, you will be notified.
  • After the permissions check, enter your database information.
  • Once all of the database information is provided, the Installation Wizard will install the database and create the connection for you.

    Note: The installation of the database could take a few minutes to complete. Once installed, a confirmation message will be provided.

  • Once the confirmation message is received, click Next to proceed.
  • Provide your host information on the next screen.
  • Click Next.


Once the installation is complete, you will be able to log into your DotNetNuke portal.



DotNetNUke - ASPHostPortal.com :: How To Create An Announcement With A Slider

clock Junie 8, 2016 20:57 by author Armend

DotNetNuke has come a long way recently with making things much more w3 compliant. This has allowed for more than just cleaner code; it has also allowed for much more control of your website through jQuery and CSS. Also, according to the forums, it looks like things are getting even better for compliance and control. In this tutorial, we will tell you how to create an announcement with a slider in DotNetNuke.

 

One of our favorite updates of DNN modules to this new compliance, is the DNN Announcements module. With the latest release, we now have the ability to set up the announcements as a list and apply some cool jQuery to it. We decided that we wanted to have the main image fade in and out and the title and description to slide in from the bottom. We came across the s3Slider jQuery plugin which seemed to provide exactly what I was looking for. We have outlined the steps below on how to add it to your DotNetNuke site.

The HTML

  • Add the Announcements module to your page.
  • Click the “Settings” link.
  • Expand the “Announcements Settings”
  • Remove exisiting code from Header Template, Item Template, and Footer Template.
  • In the “Header Template:” text area, enter the following code:

<div id="s3slider">
<ul id="s3sliderContent">

  • In the “Item Template:” text area, enter the following code:

If you want your description area to be at the top of the image area, use the class top in the span.
If you want your description area to be at the bottom of the image area, use the class bottom in the span as I have here.

<li class="s3sliderImage">
[IMAGESOURCE]<span class="bottom"><strong>[TITLE][EDIT]</strong><br />
[DESCRIPTION]<br />
[READMORE]</span>
</li>

  • In the “Footer Template:” text area, enter the following code:

<li class="clear s3sliderImage"></li>

  • Also, in the “Footer Template” area close out the ul and div that was started in the “Header Template” area

The CSS

In your skin.css file, insert the following styles: (note the widths and heights in the CSS. They need to be exactly the same as the image for the announcemnts.)

#s3slider { width: 500px; height: 242px; position: relative; overflow: hidden;}
#s3sliderContent { width: 500px; position: absolute; top: 0; margin-left: 0;}
.s3sliderImage { float: left; position: relative; display: none;}
.s3sliderImage span { position: absolute; font: 14px/21px Arial, Helvetica, sans-serif; padding: 10px 13px;  width: 500px; background-color: #000; filter: alpha(opacity=70); -moz-opacity: 0.7; -khtml-opacity: 0.7; opacity: 0.7; color: #fff; display: none;}
.top { top: 0; left: 0;}
.bottom { bottom: 0; left: 0;}

The jQuery

Now that we have all of that in place, we can add the jQuery to make it work.

  • Include a refrence to jQuery in your skin. This is already done if widgets are inabled on your site.
  • Download the files from the s3Slider site. http://www.serie3.info/s3slider (link opens in new window)
  • Upload the s3Slider.js file to your skin folder.
  • In your skin file (for example: skin.ascx), enter the following code: (you can put this at the top or the bottom of your skin)

<script type="text/javascript" src="<%= SkinPath%>s3Slider.js"></script>
<script type="text/javascript">
    $(document).ready(function() {
       $('#s3slider').s3Slider({
          timeOut: 7000
       });
    });
</script>

  • Now just start adding the content of your announcements! Be sure to make your images the same size as what is set in the CSS.

DotNetNuke Hosting Recommendation

ASPHostPortal.com

ASPHostPortal.com is Perfect, they have a suitable hosting plan for a starter in DotNetNuke Hosting. ASPHostPortal is the leading provider of Windows hosting and affordable ASP.NET Hosting. ASPHostPortal proudly working to help grow the backbone of the Internet, the millions of individuals, families, micro-businesses, small business, and fledgling online businesses. ASPHostPortal has ability to support the latest Microsoft and ASP.NET technology, such as: WebMatrix, WebDeploy, Visual Studio 2015, .NET 5/ASP.NET 4.5.2, ASP.NET MVC 6.0/5.2, Silverlight 6 and Visual Studio Lightswitch, ASPHostPortal guarantees the highest quality product, top security, and unshakeable reliability, carefully chose high-quality servers, networking, and infrastructure equipment to ensure the utmost reliability.

 



DotNetNuke - ASPhostPortal.com :: How To Create A Web farm For Your DotNetNuke Website

clock Junie 3, 2016 20:40 by author Armend

How To Create A Web farm For Your DotNetNuke Website

With a little luck and a lot of hard work there will come a time when your website’s popularity outgrows the capabilities of a single server. It’s time then to consider moving to a server-cluster also called web farm where you can host your website over multiple servers, balancing and shifting the load all across them so that your visitors continue getting the fast website experience that they’re used to.

Server clustering is now a part of Windows Server and IIS 7, so you can easily set up your web farm and get a dramatic boost in your website’s performance by setting up shared configuration for your website with 2 or more servers.
By using a server farm you can also avoid buying newer and costlier hardware, putting older servers to work to share the load at a lower cost. Additionally a web farm also enhances the security by creating redundancy which will keep the website online and functioning even if one of the server fails.
In this article we will learn how to set up your web server farm through IIS 7 Shared configuration feature for your DotNetNuke website.

 

Requirements for a DotNetNuke Web Farm

Setting up a web farm for DotNetNuke requires a setup in which there are at least two servers to handle the client requests. The servers access the files from a separate file server and the database from a special database server.  The requests are routed to the servers by a special load balancer which makes sure that the requests are evenly divided between the servers.

If your application does not have major file writing operations you can also store the files locally on the two servers and remove the file server from the configuration. This server setup uses file replication to store the files across all front-end servers and any file change on one of the servers is replicated across all servers. This scheme is not suitable if your servers need a lot of file updates and changes because of the extra load that will impose.
Setting this up on IIS7 has become easier than ever thanks to the new Shared configuration feature of IIS7 which allows you to place a common configuration file that will automatically configure all the front-end server you possess.

There are two stages to setting up a web farm for DotNetNuke. You have to configure DotNetNuke to work with a web farm and you have to configure a web farm environment At the server level.
Let’s discuss the configuration of DotNetNuke first. We’ll learn how to configure IIS7 shared configuration a little while later.

Setting up DotNetNuke for Web farm

Modifying the Web.config File to Enable Web Farm Support for DotNetNuke
DotNetNuke uses the web.config to store application settings that decide how it will work. To enable the support for web-farms you have to tell DotNetNuke that it’s in a farm environment. To do this you need to enable web farm support in the Config file.

  • Create Common Machine Keys : DotNetNuke requires that the machine keys of all the frontend servers in the web farm be identical. You can choose the machine keys of any server and must copy it across the servers. The machine two keys to replicate are ‘MachineValidationKey’, and ‘MachineDecryptionKey’.

  The Keys are in configuration->appsettings section of the web.config file.

  • Enable Web Farm : Check that the EnableWebFarmSupport setting is set to ‘True’ in the Configuration->AppSettings section of the configuration file. If this setting does not exist then add it.

  • Add Support for DB Logging Provider : In a farm environment the logs must be kept in a database. You need to setup DotNetNuke to keep the logs in a database. To do this make sure that the value of the defaultProvider node in configuration->dotnetnuke->logging node is set to ‘DBLoggingProvider’.
  • Setting up the Scheduler : DotNetNuke’s scheduler which looks after the regular maintenance tasks needed to keep the website running popularly must also be configured according to the needs of the web farm. Some of the tasks must be run on each machine, while others must be run on specific ones. You’ll need to change the schedule manually.

To change the task schedule first log in as the Super User and go to the Schedule option of the Host menu. Clicking on the button ‘Run on Servers’ will bring a text-box where you can fill the server name where you want each task to run.

The tasks that you may need to modify include : DotNetNuke.Services.Scheduling.PurgeScheduleHistory, DotNetNuke.Services.Log.Eventlog.SendLogNotifications, DotNetNuke.Services.Search.SearchEngineScheduler, DotNetNuke.Modules.Admin.ResourceInstaller.InstallResources, and DotNetNuke.Services.FileSystem.SynchronizeFilesSystem.

You’ll also need to enable the task DotNetuke.Services.Cache.PurgeCache. Make sure this task is enabled and updated.

  • Enable File Based Caching : DotNetNuke does not support database based caching in a web farm scenario. To optimize the caching performance the caching should be file based only. Make sure the node configuration->dotnetnuke->caching has the value ‘FileBasedCachingProvider’ for the attribute ‘defaultProvider’.

Configuring IIS 7 To Work With Your Web farm

Before IIS7 setting up a web farm on IIS was a non-trivial affair because IIS offered no automated replication and configuration across all servers. From IIS7 you can create a standard configuration on one server and replicate it across all servers by sharing only some configuration files. This makes it much more easier to create a web farm for your websites.

First configure your web server as usual to host the website, and when you’ve set up everything use the ‘Shared Configuration’ facility of IIS to export the server configuration files. The files should be exported to a UNC Share location which will be accessed by all the servers in the web farm for the configuration settings.
You will have to similarly enable shared configuration across all your servers and point to the same location where you have the original configuration settings saved. All the servers will copy those configuration settings.

You can easily setup the file server using the following command on the command prompt of the server which you want to use as the file server. Otherwise you can also use the windows graphical interface to set the necessary user permissions for the shared area.

md %SystemDrive%\serverconfig
net share serverconfig $=%SystemDrive%\serverconfig /grant:Users,Change

Note that we are also granting the users the right to modify the shared  contents.

The UNC share will also act as a file shared server, and the servers will grab the files from the share to serve to the client requests. Make sure that you set the file server location as the Home directory of the web server to enable this. A file share is essential to a DotNetNuke web farm.

This concludes the tutorial to establish a Web farm for your DotNetNuke website. If you have made the configuration changes to both DotNetNuke and IIS then your web farm environment should be up and running.



DotNetNuke - ASPHostPortal.com :: Tips To Make DotNetNuke Sites Run So Fast

clock April 28, 2016 20:08 by author Armend

Overview

First of all I want to start out by saying that a lot of the information that is displayed here can be found in previous blog postings.  Posts such as DotNetNuke Host Settings Explained, DotNetNuke Scheduler Explained, DotNetNuke Performance Settings Explained, and Simple DotNetNuke Performance Enhancements.  Are good starting points for some of the detail behind my recommended changes.

 

The following changes are simply the configurations that I have found to be the best "baseline" configurations.  Consideration is needed in regards to the site setup, update frequency, traffic, hosting environment and users to ensure that you have the proper setup for your specific environment.  I will discuss the settings section by section, simply noting the changes that are made.  Please reference the specific "Detail" document for more information.

DISCLAIMER: Follow these recommendations as a guide only, I am not responsible for any effects of implementing these changes.

Host -> Host Settings Changes

The first place I visit is the Host Settings page.  There are a number of key updates and changes needed in this section.  Again, only changes are noted here.

Appearance

In this section I unchecked the "Show Copyright Credits" box

Advanced -> Authentication Settings

In this section I unchecked "Enabled" for any provider that will not be used in the portal, typically the LiveId and OpenId providers

Advanced -> Performance Settings

In this section I change the "Module Caching Method" to Memory.  the "Performance Setting" to HeavyCaching.  And the "Compression Setting" to GZip Compression.

Advanced -> Other Settings

In this section I change the "Scheduler Mode" to Timer.  I enable the "Event Log Buffer" and I disable the "Auto-Sync File System" option
These are the most common Host Settings changes that I complete.  Depending on the site I'll make a few other small edits.

Host -> Scheduler Changes

The biggest change that I make here is to change the "SearchEngineScheduler" task to run typically once every 12/24 hours.  This reduces a big load on the server.

Other Changes

From a DotNetNuke configuration change that is all that I modify.  Overall those changes typically result in very noticeableperformance improvements, but many times it just isn't enough to keep the sites running as smooth as possible.  So depending on the situation I have a number of other items that I work with.

Regular Purging of Event Log

As most people that have used DotNetNuke have discovered the EventLog table can become a very troublesome hindrance on the performance side of a site.  Enabling the Event Log Buffer helps reduce the effects of a large EventLog, however, the best policy is to clean the EventLog on a regular basis.
I do this one of two ways.  On my own sites I have an SSIS package within SQL Server that truncates the table every 24 hours.  On client sites I utilize my Scheduled SQL Jobs module to keep a 7 day rolling history of the EventLog data.  The key here is that we MUST keep the event log small.

Skin Selection and Menu Provider

The next item of consideration is a multi-part consideration.  I focus on finding CSS based skin layouts that utilize third party menu components such as Telerik and Css NavMenu.  With a simple skin change to sites I have noticed page load times that have reduced by over 50%.
Finding a good designer that creates well laid-out skins with third party menu providers has been a key performance enhancement, at least in the page.  I have NOT benchmarked these numbers though since DNN 4.6.2, so the core menu provider might have better performance.

Compression/Caching Modules

As a last step, if I really need to get the most performance out of a site I will tend to lean towards Snapsis PageBlaster as a good option.  I currently use PageBlaster on this site only and have had very good luck with it, although when configuring the module you must be careful to test all functionality first.  This was another change that once implemented I noticed very visible performance improvements.

Summary

There you have it, that is my secret trick to improving DotNetNuke site performance!  Many people charge a lot of money to make these simple performance tweaks and I just laid them all out on the table for you free of charge.



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