DotNetNuke Hosting with ASPHostPortal.com

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

DotNetNuke Hosting - ASPHostPortal.com :: Tips Responsive Bootstrap skin for DNN

clock September 15, 2016 20:13 by author Armend

Bootstrap is a free collection of tools for creating websites and web applications. It contains HTML and CSS-based design templates for typography, forms, buttons, navigation and other interface components, as well as optional JavaScript extensions.

Twitter's Bootstrap is an excellent set of carefully crafted user interface elements, layouts, and javascript tools, freely available to use in your next web design project. This video series aims to introduce you to Bootstrap; taking you all the way from downloading the resources, to building a complete Bootstrap-based website.

While in the process of developing our own Responsive Twitter Bootstrap Skin for DotNetNuke , we had to jump over a couple of hurdles. First we had to figure out how to implement a dropdown on hover menu. Secondly, we had to overcome the Bootstrap issue where once you are on a child page, you cannot navigate back to the parent page in the menu. Bootstrap is against both of these features, however we feel as though these features provide a user friendly interface, especially while using a tablet or smartphone. With that said, we wrote this article to save you the headache to incorporate these two features in your Responsive Twitter Bootstrap Skin for DotNetNuke .

 

The real beauty was that I realized, I had included both the data-toggle="dropdown" and the data-hover="dropdown". You must only use the data-hover="dropdown" to fix both issues! The correct code is below:

Now you will have dropdown on hover menu items AND will be able to navigate to the parent page from the child page.

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 Hosting - ASPHostPortal.com :: Tips To Create Portals in DotNetNuke

clock September 8, 2016 20:11 by author Armend

In this post I will explains you how to create portal in DotNetNuke. Lets check it out

Introduction

DotNetNuke's portal system is one of its most compelling features. DNN Portals can be either Parent or Child. The different is from the url.

 


Parent Portal (example):

  • http://www.asphostportal.com
  • http://dnn.asphostportal.com


Child Portal (example):

http://www.asphostportal.com
http://asphostportal.com/dnn (As we have utilized "/" after area name, its called child portal)

Sometimes we have to create custom modules where we have to programmatically create portals. In this article we will plot how to make a a child portal programmatically. The technique needs few parameters to be passed which will be obliged to make the child portal. All these parameters have some settled reason. The part of individual parameters are unmistakably clarified in this technique.

/// <summary>
/// Creates new child portal
/// </summary>
protected void CreateNewPortal(string strPortalName, string strPassword, string strConfirmPassword,
 string strFirstName, string strLastName, string strUserName,
 string strQuestion, string strAnswer, string strEmail)
{
 
try
{
PortalController.PortalTemplateInfo template = LoadPortalTemplateInfoForSelectedItem();
 
bool blnChild;
string strPortalAlias;
string strChildPath = string.Empty;
var closePopUpStr = string.Empty;
 
var objPortalController = new PortalController();
 
//Set Portal Name
strPortalName = strPortalName.ToLowerInvariant();
strPortalName  = strPortalName.Text.Replace("http://", "");
 
//Validate Portal Name
if (!Globals.IsHostTab(PortalSettings.ActiveTab.TabID))
{
blnChild = true;
strPortalAlias = strPortalName;
}
else
{
blnChild = true;
 
strPortalAlias = blnChild ? strPortalName.Substring(strPortalName.LastIndexOf("/") + 1) : strPortalName;
}
 
string message = String.Empty;
ModuleMessage.ModuleMessageType messageType = ModuleMessage.ModuleMessageType.RedError;
if (!PortalAliasController.ValidateAlias(strPortalAlias, blnChild))
{
message = Localization.GetString("InvalidName", LocalResourceFile);
}
 
//Validate Password
if (strPassword != strConfirmPassword)
{
if (!String.IsNullOrEmpty(message)) message += "<br/>";
message += Localization.GetString("InvalidPassword", LocalResourceFile);
}
string strServerPath = Globals.GetAbsoluteServerPath(Request);
 
//Set Portal Alias for Child Portals
if (String.IsNullOrEmpty(message))
{
if (blnChild)
{
strChildPath = strServerPath + strPortalAlias;
 
if (Directory.Exists(strChildPath))
{
message = Localization.GetString("ChildExists", LocalResourceFile);
}
else
{
if (!Globals.IsHostTab(PortalSettings.ActiveTab.TabID))
{
strPortalAlias = Globals.GetDomainName(Request, true) + "/" + strPortalAlias;
}
else
{
strPortalAlias = strPortalName;
}
}
}
}
 
//Get Home Directory
string homeDir = "";
 
//Validate Home Folder
if (!string.IsNullOrEmpty(homeDir))
{
if (string.IsNullOrEmpty(String.Format("{0}\\{1}\\", Globals.ApplicationMapPath, homeDir).Replace("/", "\\")))
{
message = Localization.GetString("InvalidHomeFolder", LocalResourceFile);
}
if (homeDir.Contains("admin") || homeDir.Contains("DesktopModules") || homeDir.ToLowerInvariant() == "portals/")
{
message = Localization.GetString("InvalidHomeFolder", LocalResourceFile);
}
}
 
//Validate Portal Alias
if (!string.IsNullOrEmpty(strPortalAlias))
{
PortalAliasInfo portalAlias = PortalAliasController.GetPortalAliasLookup(strPortalAlias.ToLower());
if (portalAlias != null)
{
message = Localization.GetString("DuplicatePortalAlias", LocalResourceFile);
}
}
 
//Create Portal
if (String.IsNullOrEmpty(message))
{
//Attempt to create the portal
var objAdminUser = new UserInfo();
int intPortalId;
try
{
                            // These parameters are required to assign admin to the portal
objAdminUser.FirstName = strFirstName;
objAdminUser.LastName = strLastName;
objAdminUser.Username = strUsername;
objAdminUser.DisplayName = strFirstName + " " + strLastName;
objAdminUser.Email = strEmail;
objAdminUser.IsSuperUser = false;
 
objAdminUser.Membership.Approved = true;
objAdminUser.Membership.Password = strPassword;
objAdminUser.Membership.PasswordQuestion = strQuestion;
objAdminUser.Membership.PasswordAnswer = strAnswer;
 
objAdminUser.Profile.FirstName = strFirstName;
objAdminUser.Profile.LastName = strLastName;
 
intPortalId = objPortalController.CreatePortal(tbTitle.Text,
objAdminUser,
tbDescription.Text,
"",
template,
homeDir,
strPortalAlias,
strServerPath,
strChildPath,
blnChild);
 
//Clears the cache
DotNetNuke.Common.Utilities.DataCache.ClearPortalCache(PortalId, false);
}
catch (Exception ex)
{
intPortalId = Null.NullInteger;
message = ex.Message;
}
                        // Sends email on portal creation
SendMailOnPortalCreation(intPortalID, strEmail, strPortalAlias, objAdminUser);
}
 
DotNetNuke.UI.Skins.Skin.AddModuleMessage(this, "", message, messageType);
 
}
catch (Exception exc) //Module failed to load
{
Exceptions.ProcessModuleLoadException(this, exc);
}
}

The motivation behind this technique to send email on effective creation of child portal. The sending of email obliges legitimate SMTP settings in the DNN site.

private void SendMailOnPortalCreation(int intPortalID, string strEmail, string strPortalAlias, UserInfo objAdminUser)
{
try
{
if (intPortalId != -1)
{
//Create a Portal Settings object for the new Portal
PortalInfo objPortal = objPortalController.GetPortal(intPortalId);
var newSettings = new PortalSettings { PortalAlias = new PortalAliasInfo { HTTPAlias = strPortalAlias }, PortalId = intPortalId, DefaultLanguage = objPortal.DefaultLanguage };
string webUrl = Globals.AddHTTP(strPortalAlias);
try
{
if (!Globals.IsHostTab(PortalSettings.ActiveTab.TabID))
{
message = Mail.SendMail(PortalSettings.Email,
strEmail,
PortalSettings.Email + ";" + Host.HostEmail,
Localization.GetSystemMessage(newSettings, "EMAIL_PORTAL_SIGNUP_SUBJECT", objAdminUser),
Localization.GetSystemMessage(newSettings, "EMAIL_PORTAL_SIGNUP_BODY", objAdminUser),
"",
"",
"",
"",
"",
"");
}
else
{
message = Mail.SendMail(Host.HostEmail,
strEmail,
Host.HostEmail,
Localization.GetSystemMessage(newSettings, "EMAIL_PORTAL_SIGNUP_SUBJECT", objAdminUser),
Localization.GetSystemMessage(newSettings, "EMAIL_PORTAL_SIGNUP_BODY", objAdminUser),
"",
"",
"",
"",
"",
"");
}
}
catch (Exception exc)
{
Exceptions.ProcessModuleLoadException(this, exc);
 
closePopUpStr = (PortalSettings.EnablePopUps) ? "onclick=\"return " + UrlUtils.ClosePopUp(true, webUrl, true) + "\"" : "";
message = string.Format(Localization.GetString("UnknownSendMail.Error", LocalResourceFile), webUrl, closePopUpStr);
}
var objEventLog = new EventLogController();
objEventLog.AddLog(objPortalController.GetPortal(intPortalId), PortalSettings, UserId, "", EventLogController.EventLogType.PORTAL_CREATED);
 
//Redirect to this new site
if (message == Null.NullString)
{
 
//webUrl = (PortalSettings.EnablePopUps) ? UrlUtils.ClosePopUp(true, webUrl, false) : webUrl;
Response.Redirect(webUrl, true);
}
else
{
closePopUpStr = (PortalSettings.EnablePopUps) ? "onclick=\"return " + UrlUtils.ClosePopUp(true, webUrl, true) + "\"" : "";
message = string.Format(Localization.GetString("SendMail.Error", LocalResourceFile), message, webUrl, closePopUpStr);
messageType = ModuleMessage.ModuleMessageType.YellowWarning;
}
}
}
catch (Exception exc) //Module failed to load
{
Exceptions.ProcessModuleLoadException(this, exc);
}
}

Conclusion:

By utilizing the above procedure simply make the child portals in DNN. Assuredly, this post describes the procedure clearly and and useful for you

 

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 Hosting - ASPHostPortal.com : How To Enable Google Analytics on a DotNetNuke Website?

clock Oktober 22, 2015 21:25 by author Kenny

How To Enable Google Analytics on a DotNetNuke Website?

Google Analytics is one of those must-have tools when running a website.  The tasks of tracking traffic sources, browser versions, search terms, etc. are all made easy.  The developers of DotNetNuke have also made using Google Analytics on a DotNetNuke website simple.

Installing Google Analytics in DotNetNuke is a fairly common request from many individuals and I know it can be a quite troubling question for most. The primary questions are how and where can I put the javascript code provided by Google. Well you have a few options. First you could put the code directly in the skin for the site, the advantages to that would be that you will automatically have the code on all pages, however, the disadvantage is that you cannot use that skin as is on another portal due to the site specific Google information. I personally go the route of adding a text/html module to my site and set it to show on every page and insert the script in a very specific location which I will discuss below. There are a few drawbacks to this method. First you will not get any statistics information on traffic to "edit pages" where other modules are not displayed and you also will not receive information regarding administration modules. However, in most circumstances this shouldn't be an issue.

The best way to include this information is to include the information in the Module header of the text/html module. This is to prevent the accidental removal of the script code if you happen to click inside the module as an admin to enter in-line edit mode. Below I will walk you through the steps needed to implement Google Analytics using this method. (NOTE: you can extend this for other javascript integrations if needed).

Step By Step

  • Add a new Text/HTML module to a page of your site, you can position it anywhere, but I recommend the bottom of the page as administrative users will still see the module when they are logged in
  • Edit the text of the module to contain no text
  • Enter the module settings from the SolPart Action Menu
  • Expand the "Advanced Settings" section
  • Check the box next to "Display Module On All Pages?"
  • Insert your Javascript code in the "Header" box. This will ensure that the data is always retained
  • Now under "Page Settings" -> "Basic Settings" un-check the following boxes
    • Display Container
    • Allow Print
    • Allow Syndicate
  • Ensure that the "Cache Time" is set to 0 (Caching appeared to cause issues with this implementation in my testing)
  • Click "Update" to save your changes

This should complete the setup. You may now test to ensure everything is functioning correctly. You can log out as an administrator and view your site and no extra content should be displayed however if you look at the generated source you should see your javacript listed. Google Analytics should update within about 15 minutes to show that they are receiving your data.

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. 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 :: How to Clear Your DNN Cache

clock April 10, 2015 06:42 by author Ben

Have you found yourself needing to programatically clear DotNetNuke (DNN) cache but were dismayed to learn newer DNN versions no longer depend on an easily-cleared cookie? Here's a simple alternative to force the cache to clear

Clearing Cache
So you have a require to clear a DNN user's cache but you're employing a newer version of DNN that no longer retailers factors in an easily-cleared cookie. If this describes you then you're possibly:

  • Bypassing DNN's "correct" mechanisms (built-in objects and the Data Access Layer) by directly calling SQL stored procedures.
  • Querying straight through to data stored in SQL tables.

As an admin you have DNN's built-in alternatives for clearing cache and even "resetting the application domain". Your finish users, even so, lack these options and, actually, why would you desire customers to possess to accomplish something particular? You desire a solution that's hidden and automatic.

Cut to the chase:
Under is actually a link to a cost-free DNN7 module that does one factor: flush the cache. Drop the module on a web page, set the VIEW permissions for whatever group(s) you need the module to become active for and that's it.

The module itself has no configuration choices. The only genuine point to think about is who you would like the module to fire for. Users that are not logged in have no user-specific data to flush so you'll be able to rule out "Unverified Users" and, by extension, "All Users" (that is the mixture of "Registered Users" and "Unverified Users"). In most situations you will probably want to set the VIEW permission to "Registered Users".

Note that you simply do *not* want to use this module on pages with a lot of site visitors. Continuously flushing cache is definitely an outstanding way to cripple a busy web site. This module is greatest used on infrequently-visited pages (like a custom "user update" web page).

Additional Thoughts: Short and Sweet
The module necessary less than 10 minutes to create using DNN's constructed in "module creator" function (that indicates I designed it from within a DNN site utilizing absolutely nothing but the web browser) and less than 5 minutes to create the deployment package making use of DNN's constructed in "create package" feature but... those are topics for another day.

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 - ASPHostPortal.com :: Modify the Portal.css File From DNN Interface Site

clock Maart 31, 2015 08:38 by author Ben

In DNN website, there is a portal.css file for each portal present inside the web site. In some cases we need to modify the css classes of custom modules to create it responsive with skin from the portal, in that case its usually much better to keep these css classes in portal.css rather than Module.css of custom module, so that it may be effortlessly managed by modifying the portal.css from site interface without going towards the module code file.

Step by step approach to access the portal.css file are offered under.

Step 1

Log in to the DNN website as a Host. Go to the Admin -> Site Settings as shown in the image below.

Step 2

Make sure you have selected Stylesheet Editor from the menu.


Step 3

Upon clicking Stylesheet Editor, a text editor will come which contains all the css classes present in portal.css file.
Here, we can add any new classes or modify existing classes.

For example, we need border color based on the skin color and we have used style_cat_border css class in our custom module to style the border. So, in order to add border style that will fit with the skin, its always a nice to add this class in portal.css class rather than Module.css file of module.

Once can easily change it by going to portal.css of website as shown in the image below. In the end click on Save Style Sheet to implement the changes.


As we've got observed within the above explanation, it often greater to help keep all these css classes which needs to be changed determined by skin from the DNN website inside the portal.css in the internet site which in turn may be very easily managed via internet site interface.

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 With ASPHostPortal.com :: How to Integrating the Google Tag Manager (GTM) into DNN

clock Maart 27, 2015 05:40 by author Mark

Today I will explains about Integrating the google tag manager (GTM) into DNN. Google has an awesome scripts-management engine called GTM (Google Tag Manager). Though it talks about managing tags, in reality it actually manages script-integration. Particularly Google-scripts (like Adwords and tracking stuff), but also jQuery and similar.

How does it work? In general you create a “set” of “tags” (read: scripts w/parameters) in a web-interface provided by google. Then you integrate that set with some iFrame/Script-HTML-snippet in your layout. If one day you would like to add another tag or change the tag-integration-rules, you do this on the GTM-System, without having to modify your page. Note that the GTM-System also allows various rules, like automatically integrating different scripts depending on the page that is being viewed; adding custom parameters etc. – very powerfull.

The integration is a bit tricky with DNN, because it uses an iFrame which must be added right after the tag and before the default tag.
To learn more about GTM, visit the Google Tag Manager website.
To integrate your tag, use this snippet in your default.ascx (remember to replace the xxxx with your code). Note: this works with DNN 6+ and 7+.

<script runat="server">
     protected override void OnInit(EventArgs e)
     {
         base.OnInit(e);
         var tp = (CDefault)Page;
         tp.FindControl("Body").Controls.AddAt(0, new Literal() { Text = "<!-- Google Tag Manager --><noscript><iframe      src='//www.googletagmanager.com/ns.html?id=GTM-XXXX'height='0'width='0'style='display:none;visibility:hidden'></iframe></noscript><script>function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':newDate().getTime(),event:'gtm.js'});varf=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src='//www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);})(window,document,'scr" + "ipt','dataLayer','GTM-XXXX');</scr" + "ipt><!-- End Google Tag Manager -->" });      
     }
 </script>

By the way – the easiest way to test and use this is by trying the DNN App for GTM I created.

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 :: Utilizing jQuery to Solve Issues : Automatic Checkbox Checking

clock Maart 18, 2015 06:24 by author Ben

The much more I find out the a lot more excited I get about how slick it's and so straightforward to work with. It can genuinely give some rally cool features to your site as well as give a good way for me as a programmer to circumvent some tasks that can be hard to accomplish using server side programming.

Today I was presented using a process on an current internet site using the DotNetNuke publishing platform. The consumer has designed a form employing a module inside the framework. The kind is used to order some stuff and the visitor has to click quite a few verify boxes based on what they wish to order. There is certainly also ha a bunch of pages with data concerning the items. Every web page includes a direct hyperlink on i to acquire towards the order web page. Now, when the visitor clicks this link the check box for that distinct item ought to be checked, simply to make issue simpler.

I have no intention on going in towards the framework to alter the behaviour from the module so I thought I'd attempt some jQuery on this.

Initial off the only thing I truly know is the fact that the order kind will have a header like this "<h1>Order form</h1>" (potentially the module can exist on several pages, even several times around the same web page) and that the item page may have the item name within the url, which is also the text on the verify box.

My thought was that very first verify when the order kind exist around the web page by looking for the header then check the referrer url and evaluate this towards the verify box names. This is the code:

$(document).ready(function()
{
if($("h1:contains(Order form)"))
{
setOrderCheckboxes();
}
});

// Automatically set checkboxes if the visitor previously viewed
// a page named the same as the checkbox
function setOrderCheckboxes()
{
$("input[type='checkbox']").each(function()
{
// The text element is always a sibling directly following the checkbox
var checkboxName = $(this).next().text();

// DNN url replaces characters in PageName
checkboxName = checkboxName.replace(" ", "").replace("-", "");

if(document.referrer.indexOf(checkboxName) != -1)
{
$(this).attr("checked", true);
}
});
}

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 With ASPHostPortal :: How to modify DotNetNuke Login Page? The Easy Way

clock Maart 16, 2015 05:42 by author Mark

The DNN login page is the most forgotten part in all DNN users and even some professional DNN portals like PokerDiy.com and neoteo.com. There are few modules that allow you to have a simplified login or pop up login like digg.com but you need to pay or it and it is not cheap and easy to change the design.
dnn-login-sample

In order to make changes to your DNN Login page, you have to understand the components in the login module. The DNN Login module consists of 4 parts which is the DNN Membership Authentication System, The Authentication Provider, The Login Module itself and the Language Resources Files (.resx).

The linkage of these components are as below:
Login Module loads Authentication Provider(s) into it and the provider as a gateway to the DNN Membership Authentication System. For example, if a user using LiveID to login your DNN Portal, the LiveID Authentication Provider redirect the user to MSN LiveID Gateway and then pass the credential back to your DNN Portal and match it with the DNN Membership Authentication System.

Login Structure

However, DNN Membership Authentication System also consist of Member Registration, Password Reminder and Forgot Password Question which makes the designing work on Login Works kinda tricky, not even need to mention the words that are loaded from the language resource files.
Ok, lets start changing those ugly interface! First we need to locate all the files that need to be changed. You will need to have FTP access to your DNN installation root.

Step 1: Changing the Login Module Container

The Login Module is basically the Admin’s Container by default where there is actually no login page but a “DNN Control” (Home/ctl/Login.aspx) unless you create a page and specified it in Admin > Site Setting > Advance Setting > Login Page.

Step 2: Locating Files that need to be changed

Now we need to locate the Login Authentication Providers at /DesktopModules/AuthenticationServices/ There will be 3 default providers which is DNN, LiveID and OpenID. You will find Login.aspx and Login.ascx.resx (under App_LocalResources) inside it and that are the files you are going to change it. For the DNN authentication files, you can get them at: /admin/Users/user.aspx and /admin/Authentication/login.aspx
Make sure you didn’t mixed up with login.aspx in providers.

Step 3: Changing the Text and Words

You can either change it using DNN Language editor which is located in Admin > Language in control panel are directly look for the files in FTP. I actually prefer the later method as it is more easier to read and modify using Visual Web Developer.
“Register” “Forgot and Password” at
/httpdocs/admin/Authentication/App_LocalResources/Login.ascx.resx
*If you have more than one portal, the file name will be “Login.ascx.Portal-0”

<data name="Remember.Text" xml:space="preserve">
     <value>Remember Login</value>
 </data>
 <data name="cmdForgotPassword.Text" xml:space="preserve">
    <value>Forgot Password ?</value>
 </data>
 <data name="cmdRegister.Text" xml:space="preserve">
     <value>Register</value>
 </data>

All you need to to change the text inside between the “value” attribute. I’d not recommend you to put html/css into it as it will increase the load time and may messing up xhtml coding standard…

Step 4: Changing the files.

First, we need to deal with the Login Tabs which is using the DNNTabStrip webcontrol. You can find this file at:
/httpdocs/admin/Authentication/Login.ascx
Inside the file, look for:

<DNN:DNNTabStrip
 ID="tsLogin"
 runat="server"
 TabRenderMode="All"
 CssTabContainer="LoginTabGroup"
 CssContentContainer="LoginContainerGroup"
 DefaultContainerCssClass="LoginContainer"
 DefaultLabel-CssClass="LoginTab"
 DefaultLabel-CssClassHover="LoginTabHover"
 DefaultLabel-CssClassSelected="LoginTabSelected"
 visible="false" />

The Css Classes are located at /Portals/_default/default.css by default. You can either change the css file, override it in skin.css / portal.css or redefine the classes in login.ascx
If you look at the pokerDIY login tabs, you will see that the tabs have been pushed into 2 lines which makes the layout very messy. You can simply widen it by changing the “width=160” to a larger number in the following lines and you will have the problem solved.

<asp:panel id="pnlLogin" runat="server" Visible="false">
     <table cellspacing="0" cellpadding="3" border="0" summary="SignIn Design Table" width="160">

Ok, now you have change the “Register” and “Forgot Password?” text but what about the design? For these, you need to look for “cssclass=”CommandButton” in the following lines located inside the same login.ascx.

<asp:Linkbutton id="cmdRegister" resourcekey="cmdRegister" cssclass="CommandButton" text="Register" runat="server"/>
 <asp:Linkbutton id="cmdPassword" resourcekey="cmdForgotPassword" cssclass="CommandButton" text="Forgot Password?" runat="server" />

We’ll leave the other parts of codes inside the file and CSS coding for a moment. Now we proceed to change another login.ascx which is located in:
/DesktopModules/AuthenticationServices/DNN.ascx
There are few basic things you need to change to make your login looks beautiful which are: The width, Label text/icon, login button, input box and the text inside it. You can find them in these lines:

<dnn:label id="plUsername" controlname="txtUsername" runat="server" resourcekey="Username" />
 <dnn:label id="plPassword" controlname="txtPassword" runat="server" resourcekey="Password" />
 <asp:textbox id="txtUsername" columns="9" width="150" cssclass="NormalTextBox" runat="server" />
 <asp:textbox id="txtPassword" columns="9" width="150" textmode="password" cssclass="NormalTextBox" runat="server" />
 <asp:button id="cmdLogin" resourcekey="cmdLogin" cssclass="DNNLogin" text="Login" runat="server" />

Like many others, you probably thought of removing the stupid help icon in the login page. It is simple if you’re only having a single language website version. All you need is to replace the <dnn:label to standard html code.
If you need to persevered the language resources function, you may substitute the dnn label control into standard asp label control as follow:

<asp:label id="plUsername" controlname="txtUsername" runat="server" resourcekey="Username" />

To change the textbox design as well as the font inside, simply look for <asp:textbox and change the cssclass value and thing applies to <asp:button for the login button.
After you’ve changed all the cssclass value in dnn.ascx, you may proceed to LiveID.ascx and OpenID.ascx using the same method.

Step 5: CSS Styling codes

Now we’ve reached into the hardest part where we need to use css to make a stylish login page. First, I would suggest you to put a new name for each of the value inside the CssClass attribute. This is because the default value are general classes which are shared with other modules and controls in the whole portal.

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 - ASPHostPortal.com :: How To Integrating your Zoom search page into DNN

clock Maart 15, 2015 11:36 by author Mark

Integrating your Zoom search page into DNN

At this point, you should have a working search page which you can access and perform search queries on as seen above. You can use your search page just as it is, and simply modify the "search_template.html" file to match the look of your site. However, if you want to further integrate the search page inside your DNN website (so that it will maintain the same skinning and various modules you are using), then read on.
First, we need to "Add" a new page in DNN to serve as your new Search Page. This will contain a search form, and your search results. You can name this something appropriate like "Site search".
On this new page, we will need to add an IFRAME module (if you do not see "IFRAME module" in the Modules list, you will need to login as "host" and "Find/Install additional modules"). You can title this added module as "Search" or something similar. Now click on the "Edit IFrame Options" button.
Here you should specify the Link Type as a URL, and copy and paste the URL of your working search page (from before) in the "Location:" text box as seen below. For the width, specify "100%" and we recommend a decent height of something around 600 pixels (or enable Auto height if your search page is on the same domain as your DNN site).

 

Next, click on the expand box next to the "QueryString Parameters" heading. We will need to add all the parameters that Zoom will use so that the page can pass these parameters along to the actual "search.asp" script within the IFrame. Click on the "Add QueryString Parameter" link and specify the following:

 

This allows the main search query to be passed to this page. If you would like to have more parameters in your custom search forms (search forms that you will place on other pages of your site), then you will need to add them here as well. If you are not familiar with the idea of the custom search form or what other parameters are necessary, don't worry, as this will be explained a little later below and you can come back here to add more parameters as needed.

 

Now click "Save" to return to your search page. You should now see your Zoom search page loaded within the IFrame of your DNN search page!

 

Run a few test searches and you should find that everything should be working within your new DNN search page.
If you wish to modify the text or layout (or the colours and fonts of the search results) within the IFrame, you will need to change the "search_template.html" file. Please see chapter 6 of the Users Guide ("How do I customize the look of my search page?") for more information.

Note: You may notice that when you click on a search result, the link opens within the IFrame of the search page. If you wish to change this behaviour, go to the Zoom Configuration window, and select the "Search Page" tab. Under "Results linking", change the selected option to "Frame or window:" and enter "_top" (without the quote characters, but note that the underscore is important) in the text box next to this option. Re-index your website and upload the files for this change to take effect. You will now find your search result links will open outside of the IFrame.

Additional note: If you make the IFRAME very tall, you'll find that when you click on the "Next >>" results link down at the bottom of the search results page, the browser would not scroll back to the top of the frame automatically. To fix this, edit your "search_template.html" file and replace the <body> tag with the following:

<body onload="location.href='#'">

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 - ASPHostPortal.com :: The Best Way to Modify DNN 7 Login Module Skin Design

clock Maart 13, 2015 07:08 by author Ben

DNN 7 finally comes with pop up login window but many people actually fooled by its tricky method to perform that. The DNN 7 pop up login module is developed employing Jquery to load the default login web page through iframe!

For that reason, to modify the design and style of the login panel, you will ought to look for 3 major parts:

  1. The pop up windows design.
  2. The login page.
  3. The Login module.

Initial, in case you wish simply to disable to pop up login, all you will need to do is disable “Enable Pop-up” below Website Setting > Usability Settings. *This setting is site wide.

If you only wish to disable the only login module pop up, you'll ought to locate this file in
root\admin\Skins\Logo.ascx.cs
Then look for line 119-122 and take away it.

if (PortalSettings.EnablePopUps && PortalSettings.LoginTabId == Null.NullInteger)
{
    loginLink.Attributes.Add("onclick", "return " + UrlUtils.PopUpUrl(loginLink.NavigateUrl, this, PortalSettings, true, false, 300, 650));
}

To modify the pop up window design, all the style definitions are situated in default.css in /portals. folder. Appear for something that has .dnnforms I’ll leave this in an additional subject.

Modifying the Login web page is straightforward, essentially it really is is dependent upon your skin on the web page. If you’re making use of pop up window, I advise you to create a blank skin for the login page to speed up the loading. (As it utilizes iframe to load whole login web page whilst displaying only the login form within the pop up window, maintain the login web page easy to speed it up)

Now the tough element, Login Module. You may want to locate these 2 main files:

root\DesktopModules\AuthenticationServices\DNN\Login.ascx and

root\DesktopModules\AuthenticationServices\DNN\Login.ascx.cs

Whilst you are able to pretty much leave the .cs file alone, the .ascx file is essential for modifying the html structure from the module. The very good factor about DNN 7 login module would be the tableless coding structure where it is possible to play about with the style only using CSS and Jqeury.

The new installation of DNN 7 will not shipped with LiveID and OpenID Authentication any longer. I will leave that portion out for now.

Until next time then, really feel cost-free to ask me if you necessary much more sophisticated guide. I’ll attempt my greatest to help.

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.



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