It’s been awhile again…

July 16th, 2009 by George

2 months plus…it’s so fast. A lot of things have been changed, keep making sure not running out from the track, yet it never been easy to do so.

I’ll try to post more useful information on DotNetNuke and other stuff maybe…

This is just a post saying that both the blog and I are not dead yet.

DotNetNuke Customizing your Login – PART 3

June 1st, 2009 by George

This is a simplified extra add on from the previous topics:

The DotNetNuke Customization Shortcomings

The easiest way to have a customized login module is to buy third parties modules. However, it may not fully support other Authentication Providers such as LiveID and Facebook Login, worst it may not functioning well with other DNN modules. If you want to play safe, stick to the default DNN Authentication Providers. Continue Reading DotNetNuke Customizing your Login – PART 3

Moved to New Server.

May 28th, 2009 by George

Due to the slow Internet Connection to oversea websites and servers, I’ve switched back to Malaysia Server. The speed boost up but I guess most of my readers from western countries will suffer from the slow loading speed and most of the link may not work as the DNS propagation is still in progress.

The second reason is that this new server is much Cheaper than the previous hosting in Bluehost.com. I paid only RM 199 for this hosting for a year! (About USD$56). While Bluehost provide much more benefits but I hardly utilize 20% of it and its time to support local business after being so inactive in bluehost account for 2 years!

I’ll continue to write more about DotNetNuke and try to squeeze more time and clear my mind to write more on this blog. I have trouble keeping this blog just on DotNetNuke but without do that, it is hard to get audience. Thus, I’m thinking to move all DNN related posts into a static page rather than blog alike…not that will cost me more time…

Will see how…Happy Dragon Boat Festival!

Making DotNetNuke Logo Link SEO Friendly!

May 12th, 2009 by Oracle9

Often SEO geeks will advice you not to use the original Logo skin object due to that it will automatically append Default.aspx behind your domain name. This is very bad as it search engine may treat it as a duplicate page of your home page. Even Search Engine will not ‘punish’ you for that but your PageRank weight will definitely be dispersed into different URL like www.example.com and www.example.com/Default.aspx.

If you are using iFinity, most of the time the url problems will be solved. However, due to some server setting, the default.aspx name cannot be removed. In this case, all you need to do is to make a simple change to the DNN Logo Skin Object.

For DNN 5.1 Above, please scroll down for solution.

To do this, FTP access to /httpdocs/admin/Skins and look for Logo.ascx.vb.

Open it using notepad or other development programs like dreamweaver or visual developer and look for this line: (Should be in line 73 be default)

hypLogo.NavigateUrl = GetPortalDomainName(PortalSettings.PortalAlias.HTTPAlias, Request) & “/” & glbDefaultPage

Now all you need to do is to remove this code:

& glbDefaultPage

Save it and upload it back to the same directly. Walla! You can change your logo much easily from Portal Admin Setting while having a clean SEO friendly URL!

Unfortunately, I still haven’t figured out a simple method to remove the Home.aspx which most of the DNN users are having the same problem. If you know how to make your DNN auto generated home page url convert into your root domain name automatically , please share with us!

Update: This is the solution to remove relundant default.aspx in DotNetNuke 5.1 Logo Skin Object.

To do this, FTP access to /httpdocs/admin/Skins and look for Logo.ascx.vb.

Look for these lines: (Around line 78)

If Host.UseFriendlyUrls Then
hypLogo.NavigateUrl = FriendlyUrl(Nothing, “~/”, PortalSettings)
Else
hypLogo.NavigateUrl = “~/”
End If

Change FriendlyUrl(Nothing, “~/”, PortalSettings) to GetPortalDomainName(PortalSettings.PortalAlias.HTTPAlias, Request) & “/”

Don’t Let Search Engine Spider Follow Your Login and Register Page!

May 4th, 2009 by Oracle9

Crawl prioritization: Search engine robots can’t sign in or register as a member on your forum, so there’s no reason to invite Googlebot to follow "register here" or "sign in" links.
Source: Google Webmaster – About rel="nofollow"

So what is crawl prioritization? According to Google suggestion, a page should keep its amount of links under 100. The reason is pretty simple, avoid spam. Most of the websites put their Login and Register links on top of the page where search engine’s spiders crawl it within the first few lines of the source code. This is a waste of resources for search engine as well as the visitors.

To keep this post short, just to remember this few points:

  1. Less links means your visitors will have a better chance to click on the right and valuable links.
  2. Lots of links will only confuse your visitors. Are you trying to make them accidentally click on ads?
  3. Let spiders focus and index on important links by skipping the pages with no content and repeated links. For example, login, Home and Register page.
  4. Less links means faster indexing and less broken links.
  5. It is pointless to let spiders follow javascript links. The spiders are not smart enough to do any javascript call and action. Just put rel="nofollow" to skip it.
  6. Too many links will confuse the search engine and thus not giving you sitelink on SERP.

If you’re a DotNetNuke users and wish to put rel="nofollow" on your login or register link, the simplest way to do is download login.ascx and user.ascx from /httpdocs/admin/Skins

All you need is to add nofollow tag as following example:

<asp:LinkButton rel="nofollow" ID="cmdRegister" runat="server" cssclass="RegLog" CausesValidation="false"></asp:LinkButton>

That’s all! Happy SEOing.

I should write something. How about some nonsense?

April 10th, 2009 by Oracle9

I’ve been busy lately. Not on the work load but the mind. Thinking always is the fastest way to drain all the energy out from my body.

So, everyone is getting a twitter and dying to let other people know if you’re sneaking off from your day job, chatting on the FaceBook or fighting with your constipation in toilet…and yes, I’ve got one for the portal as a promotional tools…Actually, the account was registered on last year around November where actually no one know what can the litter twitter miracle.

Long before the existence of twitter, there are few similar products that do the same thing…the one that I can recalled now is GoldFish which been featured in Prison Break several times. So why Twitter can be so successful while other being buried without anyone notice it? To cut it short, Twitter has to be very thankful to bunch of Internet Master and Gurus where they actually help to create this miracle.

Well, since it has become the most effective tool to Internet Marketers nowadays, most of the twitter contents are bunch of marketing information and I actually quite surprise that many people actually like to read it! (That is why I start back to text a bit in Twitter). Anyway, this is just another product that being push and worship by bunch of Internet Marketers…just like FaceBook…why not other social websites but Facebook? It’s all about Internet Marketers preferences. Believe it or not…we called it Internet Gurus phenomena…

They are the big guys to decide which website / tool to survive…

Do you actually use Facebook to do something useful to you? Like managing events, creating groups or so…I bet most of your don’t even know what is RSVP! Ok…no offence because I don’t use it either…who still want to login to computer while can use your phone to sms the person straight away? I mean…for the case in Malaysia…LAR…

P1wimax spend a lot in Advertisement. It seems that its Alexa ranking is higher than Streamyx! No idea…If we just look at the price, it is definitely cost more than the Streamyx….but if we calculate the hidden cost like waiting and spoiling your mood few times a week, then a roughly extra RM60 is still cheaper than the lousy Streamyx….but of course if you’re a BT fans then it may not be your option lor…as streamyx is the only ISP that doesn’t really cares about fair usage policy and abusing its subscribes etc etc etc…btw sorry for the pasar Manglish in this post lar har…

Seems that I actually have many things to rant once I started to write…Today is the day while this hosting left 60days in Bluehost and I’ve decided not to renew it. Most probably I will switch back to Malaysia hosting as I really tired of using a Streamyx National Local Intranet to connect to oversea website…I waste enough time to load this blog and other website hosted in Bluehost…due to the stupid lousy connection to oversea servers.

Who cares lar….not so many readers in my blogs also what…

I’ve to do step forward to do something extraordinary soon. It’s time to change!

DotNetNuke Accessibility Skins

March 27th, 2009 by Oracle9

I have trouble find the right keyword to search for skins or templates that so called accessibility. If you have no idea what is it about, please visit the best accessibility website.

DotNetNuke Accessibility issues has been raised by few people in DotNetNuke forum and blog (Accessibility standards & xhtml compliance) before but none has taken seriously by the core developers. However, I’ve managed a old accessibility skin template made in 2006 from Think of Design which the skin and skin objects are no longer available for download.

Another website is selling accessibility skin template with a annoying moving panel on the right and a expensive price of USD$119.00.

I’m helping a client to make a website for free which need to be very friendly to disable person where half of the readership will have some sort of disability. I’ve to concern for the deaf, visual impaired, blind and so on. I found that dotnetnuke may not the a good choice as I found that none of the software are able to read the DotNetNuke Menu bar (DNNNAV) which I have to replace it using hardcoded link ro houseofmenu.

The main trouble I’ve ran into is the color switcher which seems that there are no ready made skin object for that and I can’t even find some JavaScript to do it. It seems that I’ve to write it myself which it is kinda time wasting as I’m not a programmer or so.

So, if you have or know where to get some free codes or skin objects or even some tutorials for color switcher, please kindly leave a comment below and I’ll be very grateful for you help! In return, I’ll certainly give this skin for free once it is done so that more websites will be accessible for the minority.

DotNetNuke Customizing your Login – PART 2

March 27th, 2009 by Oracle9

Changing Ventrian Property Agent LightBox Buttons

March 22nd, 2009 by Oracle9

A lot of Ventrian’s users missed the old look of the lightbox button where it used to be images and not the ugly text links like this:

Property-Agent-default-Lightbox

The reason of the above ugliness is a result of localization enhancement. Well, compare to the lightbox used in other platforms like wordpress and joomla, majority of the people are adapted to the image version and the look above certainly will give a bad impression to your visitors….”it is site still under construction or something???”

The fix is actually simple.
Property-Agent-image-Lightbox

All you need to do is to change the language resource file. For you convenience, I’ve packed the buttons and the resx file. All you need to do download the file from the link below, unzip it and put the file accordingly:

Upload the 3 images to
/DesktopModules/PropertyAgent/Images/Lightbox/
and replace the “ViewProperty.ascx.resx” in
/DesktopModules/PropertyAgent/App_LocalResources

http://www.mylifebbs.com/FreeDownload/dnn/Property-Agent-Image-Buttons-UNZIP-ME.zip

Note: If you have previously localized your property agent from DNN, be warned that directly replace the file from FTP will override your other previous changes. You may open the new .resx file using a notepad, scroll to bottom to look for the changes and copy it to the DNN Language editor.

Have fun!

How to modify DotNetNuke Login Page? The Easy Way.

March 14th, 2009 by Oracle9

Frankly speaking, there are not much great designers specialized in DNN Skinning due to its complexity. The root of the cause is due to the different system structure where I believe it is more programmer friendly than designer.

To skip all the explanations and go for the download, please scroll till the end of this post.

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”

   1: <data name="Remember.Text" xml:space="preserve">
   2:     <value>Remember Login</value>
   3: </data>
   4: <data name="cmdForgotPassword.Text" xml:space="preserve">
   5:    <value>Forgot Password ?</value>
   6: </data>
   7: <data name="cmdRegister.Text" xml:space="preserve">
   8:     <value>Register</value>
   9: </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:

   1: <DNN:DNNTabStrip
   2: ID="tsLogin"
   3: runat="server"
   4: TabRenderMode="All"
   5: CssTabContainer="LoginTabGroup"
   6: CssContentContainer="LoginContainerGroup"
   7: DefaultContainerCssClass="LoginContainer"
   8: DefaultLabel-CssClass="LoginTab"
   9: DefaultLabel-CssClassHover="LoginTabHover"
  10: DefaultLabel-CssClassSelected="LoginTabSelected"
  11: 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.

   1: <asp:panel id="pnlLogin" runat="server" Visible="false">
   2:     <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.

   1: <asp:Linkbutton id="cmdRegister" resourcekey="cmdRegister" cssclass="CommandButton" text="Register" runat="server"/>
   2: <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:

   1: <dnn:label id="plUsername" controlname="txtUsername" runat="server" resourcekey="Username" />
   2: <dnn:label id="plPassword" controlname="txtPassword" runat="server" resourcekey="Password" />
   3:
   4: <asp:textbox id="txtUsername" columns="9" width="150" cssclass="NormalTextBox" runat="server" />
   5: <asp:textbox id="txtPassword" columns="9" width="150" textmode="password" cssclass="NormalTextBox" runat="server" />
   6:
   7: <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:

   1: <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.

Instead of teaching you how to code CSS, I’ve made a nice login page which complete codes for you to download. For FREE of course!

Updated: Please read this How to DotNetNuke Customizing your Login – PART 2 for example codes and screen shots.