..it happens. When you get 404 errors for all pages on fresh installation, just change <modules> in web.config to <modules runAllManagedModulesForAllRequests="true">. Thats it.
This blog is about life of true developer. Projects, coding, testing, ideas, interesting customers from around the world - all these events make life of developer interesting and active. In this blog i will try to describe my experience. Hope it helps someone :)
Thursday, 11 September 2014
Friday, 17 January 2014
DotNetNuke 7.2.0: Prevent "Getting Started Page" for SuperUsers
In DNN 7.2.0 has been added "Getting Started Page" for Super Users. It looks like this:
So, "Getting Started Page" appears on the next conditions:
- Current User is SuperUser.
- Current TabID is equal to the param "GettingStartedTabId" (for current Portal) from the "PortalSettings" table.
- Setting "EnableGettingStartedPage" from the "HostSettings" table should be equal "True".
You can hide this message in few ways:
- Just tick a checkbox "Don't show this again" at the bottom left corner. But this will hide "Getting Started Page" for current SuperUser only, and will show it for other SuperUsers.
- Change "EnableGettingStartedPage" setting from the "HostSettings" table to "false". After this change, "Getting Started Page" will not be displayed for all SuperUsers.
- If you like to change it for all future installations you plan to do, then you can edit "Install/DotNetNuke.install.config.resources" file in your installation package. In this file you can find "<EnableGettingStartedPage>True</EnableGettingStartedPage>", what is very easy to change to "False".
BTW: I have not found a way on how to change "EnableGettingStartedPage" setting from the "HostSettings" at the FrontEnd.
Friday, 24 May 2013
DotNetNuke folder: encrypted files caused access denied error
Had to spend over the 3 hours with a client until found that files in the folder are encrypted. This caused "Access denied" error and did not allow DotNetNuke to work properly :( BTW: encrypted files in the Windows 2008 environment highlighted with green. To remove encryption just select all files, right click and remove encryption from the files.
Tuesday, 29 January 2013
DotNetNuke 7 styles checkboxes and radiobuttons
This happens at the dnn.jquery.js script (/* DNN customized checkbox/radiobox */). It makes changes for all checkboxes and radiobuttons: controls are hidden, but instead it shows styled span.
It looks beauty and great, but sometimes i need simple HTML checkboxes, like this
. Had to digg a lot, but have not found where is a problem. So had to check myself and found easy fix. All you need to show simple checkbox or radiobox, just add class="normalCheckBox" or "normalRadioButton" and your controls will be standard.
Enjoy :)
Thursday, 20 December 2012
SearchItemWordPosition grows very fast because duplicates
One of my clients got this problem. His DB went from the 80 Mb to 1 Gb in just one week. After deep research i found table SearchItemWordPosition contains 33 millions records and takes a lot of space in the DB. On deeper search i found it contains a lot of duplicates and this problem is very common in the DNN Community. So first of all i have made a script to remove duplicates:
Tuesday, 22 May 2012
ClientDependencyLoader takes 100% of CPU
One of my clients had serious problem with DotNetNuke 6.1.4 Pro. His site had small number of visitors at start, but after some advertisement, number of visitors jumped to the 30,000 uniq visitors per day. Site was under the good dedicated server (2*Xeon and 16 Gb RAM), so client did not expect any problems with performance. But one day CPU has taken 100%. Site was very hard to open. It was real problem. We had to make deep digging with JetBrain tools and at the end of end we found problem. 90% of each thread calls ClientDependencyLoader from the ClientDependency.Core! It was a source of problem. To turn it off we had to change the web.config:
<compilation debug="false" strict="false">to this one:
<compilation debug="true" strict="false">I know, this is not good trick, but at least CPU back to the normal 25-35%.
Thursday, 26 April 2012
To find pages with installed module you can run this SQL code (just replace HTML with Friendly Name of required module):
Friday, 20 April 2012
Monday, 16 April 2012
DotNetNuke Tokens
List of tokens:
[Portal:Currency] Currency String
[Portal:Description] Portal Description
[Portal:Email] Portal Admin Email
[Portal:FooterText] Portal Copyright Text
[Portal:HomeDirectory] Portal (relative) Path of Home Directory
[Portal:LogoFile] Portal Path to Logo file
[Portal:PortalName] Portal Name
[Portal:PortalAlias] Portal URL
[Portal:TimeZoneOffset] Difference in minutes between Portal default time and UTC
[User:DisplayName] User’s Display Name
[User:Email] User’s Email Address
[User:FirstName] User’s First Name
[User:FullName] [deprecated]
[User:LastName] User’s Last Name
[User:Username] User’s Login User Name
[Membership:Approved] Is User Approved?
[Membership:CreatedDate] User Signup Date
[Membership:IsOnline] Is User Currently Online?
[Profile:<Property>] Use any default or custom Property defined for user profiles as listed in Profile Property Definition section of Manage User Accounts. Please use non-localized Property titles only.
[Tab:Description] Page Description Text for Search Engine
[Tab:EndDate] Page Display Until Date
[Tab:FullUrl] Page Full URL
[Tab:IconFile] Page Relative Path to Icon file
[Tab:KeyWords] Page Keywords for Search Engine
[Tab:PageHeadText] Page Header Text
[Tab:StartDate] Page Display from Date
[Tab:TabName] Page Name
[Tab:TabPath] Page Relative Path
[Tab:Title] Page Title (Window Title)
[Tab:URL] Page URL
[Module:Description] Module Definition Description
[Module:EndDate] Module Display Until Date
[Module:Footer] Module Footer Text
[Module:FriendlyName] Module Definition Name
[Module:Header] Module Header Text
[Module:HelpUrl] Module Help URL
[Module:IconFile] Module Path to Icon File
[Module:ModuleTitle] Module Title
[Module:PaneName] Module Name of Pane where UDT resides
[Module:StartDate] Module Display from Date
[DateTime:Now] Current Date and Time
[Ticks:Now] CPU Tick Count for Current Second
[Ticks:Today] CPU Tick Count since Midnight
[Ticks:TicksPerDay] CPU Ticks per Day (for calculations)
[Portal:Currency] Currency String
[Portal:Description] Portal Description
[Portal:Email] Portal Admin Email
[Portal:FooterText] Portal Copyright Text
[Portal:HomeDirectory] Portal (relative) Path of Home Directory
[Portal:LogoFile] Portal Path to Logo file
[Portal:PortalName] Portal Name
[Portal:PortalAlias] Portal URL
[Portal:TimeZoneOffset] Difference in minutes between Portal default time and UTC
[User:DisplayName] User’s Display Name
[User:Email] User’s Email Address
[User:FirstName] User’s First Name
[User:FullName] [deprecated]
[User:LastName] User’s Last Name
[User:Username] User’s Login User Name
[Membership:Approved] Is User Approved?
[Membership:CreatedDate] User Signup Date
[Membership:IsOnline] Is User Currently Online?
[Profile:<Property>] Use any default or custom Property defined for user profiles as listed in Profile Property Definition section of Manage User Accounts. Please use non-localized Property titles only.
[Tab:Description] Page Description Text for Search Engine
[Tab:EndDate] Page Display Until Date
[Tab:FullUrl] Page Full URL
[Tab:IconFile] Page Relative Path to Icon file
[Tab:KeyWords] Page Keywords for Search Engine
[Tab:PageHeadText] Page Header Text
[Tab:StartDate] Page Display from Date
[Tab:TabName] Page Name
[Tab:TabPath] Page Relative Path
[Tab:Title] Page Title (Window Title)
[Tab:URL] Page URL
[Module:Description] Module Definition Description
[Module:EndDate] Module Display Until Date
[Module:Footer] Module Footer Text
[Module:FriendlyName] Module Definition Name
[Module:Header] Module Header Text
[Module:HelpUrl] Module Help URL
[Module:IconFile] Module Path to Icon File
[Module:ModuleTitle] Module Title
[Module:PaneName] Module Name of Pane where UDT resides
[Module:StartDate] Module Display from Date
[DateTime:Now] Current Date and Time
[Ticks:Now] CPU Tick Count for Current Second
[Ticks:Today] CPU Tick Count since Midnight
[Ticks:TicksPerDay] CPU Ticks per Day (for calculations)
Friday, 13 April 2012
Backup MSSQL Database To External Path
It is very popular question from my clients. They have web access only to MS SQL database, but have to backup it to the external path. Ok, it can be done easy:
- At the external server/computer make a folder, for example "C:\External_Backup".
- Then go to the properties of this folder, tab "Sharing". Make public share with name "External_Backup" and add permissions for "Everyone" and "ANONYMOUS LOGON". Do not worry - its for few mins only, then we disable it.
- Temporary disable Firewall.
- Try to connect to this share from the Explore in this way "\\your_ip\External_Backup". You can see files and peform any actions in this folder.
- In the web client of MSSQL database run query like this: BACKUP DATABASE your_db_name TO DISK = '\\your_ip\External_Backup\your_db_name.bak';
- Enable Firewall and remove share from the public access.
Wednesday, 9 November 2011
Hover for IE
Hover for IE lt 9 works for links only. To fix this problem it needs to add few lines to the page:
Monday, 26 September 2011
Batch file with non-MSDOS coding
Sometimes it needs to run Batch file with non-MSDOS coding. Have spent a lot of time on it until found a way how to convert it. Just had to use Standard->WordPad, it allows to open file with any encoding and convert it to MSDOS encoding. Easy and fast.
Saturday, 21 May 2011
ModuleSettings and TabModuleSettings Difference in DotNetNuke
If you do not like to read preambula and want to know what is the difference between ModuleSettings and TabModuleSettings, then you can read it here.
Have been worked with it for a long time. Also asked a lot of DotNetNuke gurus, but they did not provide concrete answer about difference between ModuleSettings and TabModuleSettings. In generally it looks the same. For example, we have Settings.ascx. Inside we save some settings, for example Template. So our code should be like this:
Have been worked with it for a long time. Also asked a lot of DotNetNuke gurus, but they did not provide concrete answer about difference between ModuleSettings and TabModuleSettings. In generally it looks the same. For example, we have Settings.ascx. Inside we save some settings, for example Template. So our code should be like this:
Sunday, 8 May 2011
Create User Programmatically in DotNetNuke
One colleague asked about example on how to create user in DotNetNuke programmatically. Here is simple example on C# how to do this:
DotNetNuke Module Development Certification
Last Friday have successfully passed 2 certifications: DotNetNuke Module Development Certification and DotNetNuke Professional Certification. Both are 100% successfully done. Very good feeling after it.
This info should be published at DotNetNuke official site within new Partners Directory and should make more clear selection process for customers.
PS: Will add link, once it will be available at the official DNN site.
DotNetNuke Unauthenticated Users Cache Bug
This is very popular bug for Unauthenticated Users in DotNetNuke. User arrives to the page, clicks link and nothing happens! It looks like page does not refresh at all. No PostBacks, nothing. And this gluck happens only for Unauthenticated Users. When user is logged in, then everything works fine.
This bug relates to the Cache Settings of the module. It can be fixed in few clicks:
This bug relates to the Cache Settings of the module. It can be fixed in few clicks:
- Go to the Settings of the module.
- Scroll down to the "Page Settings" - "Basic Settings" and expand it.
- There is a param "Cache Duration (seconds)". By default it is different from zero. You should set it to zero. It fixes problem.
Hope this helps!
Saturday, 7 May 2011
Custom Event In The Custom Control
It is good rule to add Custom Events in the Custom Controls you build. It allows easy to use your control from the external code without any problems.
How to add Custom Event? Very easy, just add this code to your class:
Custom Events are easy to create and easy to use. Lets use it!
Hope this helps!
How to add Custom Event? Very easy, just add this code to your class:
// delegate declarationpublic delegate void ChangingHandler(object sender);
// event declarationpublic event ChangingHandler OnDoFilter;
// this one is to call event
private void FireOnDoFilter(object sender)
{
if (OnDoFilter != null)
{
OnDoFilter(sender);
}
}
Custom Events are easy to create and easy to use. Lets use it!
Hope this helps!
Friday, 6 May 2011
DotNetNuke Telerik Editor ToolBars
Each DotNetNuke developer can easy add RichEditor to the project. All what you need is to add control to your .ascx file, like this:
This code adds two RichEditors. One like simple textbox (DefaultMode="BASIC") and another fully WYSIWYG . RichEditor with WYSIWYG looks like this:
This is great! Users like it to use. It has a lot of ToolBars. Control provides very good functionality. But sometimes it needs to remove some ToolBars. So how to do this in the DotNetNuke module?
<%@ Register TagPrefix="dnn" TagName="TextEditor" Src="~/controls/TextEditor.ascx" %><dnn:TextEditor runat="server" id="tbFirst" DefaultMode="BASIC"></dnn:TextEditor><dnn:TextEditor runat="server" id="tbSecond" DefaultMode="RICH"></dnn:TextEditor>
This code adds two RichEditors. One like simple textbox (DefaultMode="BASIC") and another fully WYSIWYG . RichEditor with WYSIWYG looks like this:
This is great! Users like it to use. It has a lot of ToolBars. Control provides very good functionality. But sometimes it needs to remove some ToolBars. So how to do this in the DotNetNuke module?
Thursday, 5 May 2011
DataExporter for DotNetNuke
Very often Administrators and Developers of DotNetNuke have to work with data from the DataBase. Usually it needs to receive and to process the DataSet or transmit for processing into another application.
forDNN Team has made this module to make process of retrieving data from the DB more easy.
This module is pretty simple and fast. It allows to select DataSource: table, view or a custom query. List of tables and the view presented in the form like DropDowns. DropDowns contains names and number of entries for each of table/view.
Also module allows to choose the format in which data will be exported from the database. It supports three data formats: Excel, XML and CSV.
Module is available at the CodePlex: Installation and Source.
DotNetNuke Not Uniq Emails
Sometimes clients ask to make registration at the site with uniq emails only. It somehow prevents to appear duplicates of the users. But sometimes site is live already and have a lot of registered users, then it needs to find all users with not uniq emails in DB and to fix. It is possible with query like this:
SELECT UserID, UserName, FirstName, LastName, Email, DisplayNameFROM {databaseOwner}{objectQualifier}UsersWHERE Email IN(SELECT EmailFROM {databaseOwner}{objectQualifier}UsersGROUP BY EmailHAVING COUNT(Email)>1);Hope this helps!
Subscribe to:
Posts (Atom)

