Blog Home  Home Feed your aggregator (RSS 2.0)  
Venexus DotNetNuke Blog - Monday, November 13, 2006
DotNetNuke Articles, Code Snippets, Errors, and News
 
 Monday, November 13, 2006

I got a new Dell D-820 laptop last week. I spent much of the week installing new software, setting up my dev environment, and moving all of the data from my Dell D-810. I was pretty much ready to rock n' roll with this new setup on Friday and giddy about the performance of the 2 Ghz Core 2 Duo and 2 Gb RAM (especially when compiling DNN 4 in VS 2005)....that was until a virus unleashed havoc on my pristine setup. AAAARRRRRRRRR!!!!!!! 

I have been a firm believer in Symantec and we have used it for years. I decided to try AVG at the recommendation of our network admin and other users and at this time I cannot say I recommend it. For whatever reason, AVG did not catch it until the virus had dropped a payload of bibical proprotions on my drive. I got the full treatment, including something I had not seen in a while...Blue Screen of Death. Not knowing at that time I actually had a virus, I went ahead and rebooted. Before Windows could finish loading, the virus set in to installing adware and trojans, more than I have ever seen for any payload. AVG finally decided to come to the rescue. I started a full scan and let AVG cleanup. Rebooted in safe mode and ran AVG again. I got everything removed...according to AVG, but had my network connections hosed up. I finally gave up and gave it our network admin to see if he could fix it. On Saturday I get the news that we were going to have to recover from the intial Ghost we made or from check points, that he could not fix the issue with the network connection. So, sometime in the wee hours of the morning on Sunday, I had my laptop back up and running with a check point that was a few days old. I decided to do another scan. AVG came out clean. Since I am biased to Symantec, I decided to use TrendMicro Housecall for another scan. It found 2 more trojans that AVG totally missed. That was the last straw. AVG removed, Symantec back on. May the writer of the virus burn in the firery depths of the blackest....

 

Monday, November 13, 2006 10:40:36 AM (US Eastern Standard Time, UTC-05:00)  #       | 
 Monday, November 06, 2006
We had a backup domain controller running on our dev machine. After moving it to a different server, we got the following error on our development DNN websites:

Server Error in '/' Application.

The current identity (NT AUTHORITY\NETWORK SERVICE) does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Web.HttpException: The current identity (NT AUTHORITY\NETWORK SERVICE) does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files'.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Stack Trace:

[HttpException (0x80004005): The current identity (NT AUTHORITY\NETWORK SERVICE) does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files'.]
System.Web.HttpRuntime.SetUpCodegenDirectory(CompilationSection compilationSection) +3482363
System.Web.HttpRuntime.HostingInit(HostingEnvironmentFlags hostingFlags) +226

[HttpException (0x80004005): The current identity (NT AUTHORITY\NETWORK SERVICE) does not have write access to 'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files'.]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +3434991
System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +88
System.Web.HttpRuntime.ProcessRequestInternal(HttpWorkerRequest wr) +252

I checked all the security permissions and ensured network service had full permission for the folder. I even reset permissions to make sure. No dice. I found the following trick to fix it quickly...despite my time looking for it.

In a command prompt, navigate to the following:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

Then run the following command:
aspnet_regiis -ga "NT AUTHORITY\NETWORK SERVICE"

Everything worked fine after running that. Since I am bound to forget this, I am posting it here for me and others, hopefully saving me or someone time.
Monday, November 06, 2006 1:18:19 AM (US Eastern Standard Time, UTC-05:00)  #       | 
 Sunday, November 05, 2006

Did you know that SQL Server Express now has Full-Text Indexing? With the soon to be release of our DotNetNuke search module, which requires SQL Server Full-Text Indexing, I thought it would be helpful to make a post here for those who did not know the differences between SQL Server Express versions.

SQL Server Express Edition Comparison

You have several specific products to choose from when you install SQL Server Express Edition Use the following table to see how features for SQL Server compare across other Express Edition products.

Express Edition Products for SQL Server Compared

Feature SQL Server 2005 Express Edition SQL Server 2005 Express Edition with Advanced Services SQL Server 2005 Express Edition Toolkit
Database Engine
*
*
 
Client Components
*
*
Full Text Search
 
*
 
Reporting Services
 
*
 
Management Studio Express
 
*
*
Business Intelligence Developer Studio
 
 
*

Each SQL Server Express Edition product has a specific use. Read the following sections to learn how each Express Edition product for SQL Server compares to the others.

SQL Server 2005 Express Edition

How does the Express Edition of SQL Server compare to other SQL Server Express Edition products? SQL Server Express Edition is perfect for use as an embedded database for a desktop application that requires a fully functional SQL Server Database Engine. SQL Server Express offers the smallest package size for faster downloads or to conserve space on deployment media.

SQL Server 2005 Express Edition with Advanced Services

How does the Express Edition with Advanced Services for SQL Server compare to the other SQL Server Express Edition products? SQL Server 2005 Express Edition with Advanced Services is perfect for use as a backend to a small, multiuser application that requires more advanced features such as Web reporting or Full-text Search.

SQL Server 2005 Express Edition Toolkit

How does the Express Edition Toolkit for SQL Server compare to other SQL Server Express Edition products? Install this package if you need the management tools and client components, but do not need the Database Engine.

Source: MSDN

Ready to download SQL Server 2005 Express with Advanced Services (has Full-Text Index)? Its free and here.

Sunday, November 05, 2006 7:31:30 PM (US Eastern Standard Time, UTC-05:00)  #       |   | 
 Saturday, November 04, 2006

If you are not familiar with Google Alerts, you should check it out. I have been tracking things from Google Alerts for at least 2 years, maybe longer. While I have noticed more things coming in for "DotNetNuke", starting on October 27th I noticed ALOT more alerts for "DotNetNuke" coming in. What did they all have in common? BLOGS. Also a few days ago, while looking into the activity of this blog, I noticed a new user agent I had not seen:

Feedfetcher-Google; (+http://www.google.com/feedfetcher.html)

If you go to that link, you are redirected to a FAQ page and at the bottom is a section called Feedfetcher. Here is an interesting Q and A:

How do I request that Google not retrieve some or all of my site's feeds?

Since Feedfetcher requests are all user-initiated, it does not follow the typical robots.txt guidelines for robots. For detailed information about how to prevent Feedfetcher from requesting all or part of your site, please see our removal instructions.

Very interesting. I was under the assumption that any "bot", and I will define Feedfetcher as a "bot" regardless of whether it is "user-initiated" or not, should obey robots.txt.

With that said, our feed aggregation module for Venexus Search Engine,  called Seamus, does obey robots.txt. I am sure this discussion will come about with the release of VSE, so I decided to go ahead and post it now in preparation. And speaking of Venexus Search Engine...we have made the final compile and are finishing testing tonight...but more on that later.

Saturday, November 04, 2006 7:55:52 PM (US Eastern Standard Time, UTC-05:00)  #       |   | 
 Thursday, October 19, 2006

I was updating a DNN site today and at the same time was migrating the SQL Server 2000 database to SQL Server 2005. I decided to use the Copy Database Wizard since I had never tried it and it worked great. However, the logins did not get updated properly. I created the login in the SQL Server 2005 security, but could not access the database via the old login. I tried doing a generic detach > attach with the same issue. Trying to edit the SQL Server Account through SQL Server Studio Management Studio would generate an error of "Login must be specified", yet it would not give me the ability to update (all grayed out). After doing some digging, I found the following stored procedure that did the trick:

EXEC sp_change_users_login 'Auto_Fix', 'USERNAME', NULL, 'PASSWORD'

After running the above, I was able to use the old login to access SQL Server. Now back to the grind...

Thursday, October 19, 2006 11:18:48 PM (US Eastern Standard Time, UTC-05:00)  #       | 
 Thursday, September 21, 2006

The news is out, DotNetNuke is going corporate. Perpetual Motion Interactive Systems, Inc., started by Shawn Walker, has been managing the DotNetNuke Project. According to a press release on the DotNetNuke website today, the formation of DotNetNuke Corporation in Seattle, Washington will "serve the growing needs of the project and its ever-expanding community".

This is indeed big news! At this time I am not sure whether to be excited or worried. While I understand the past year has been challenging, with such a huge adoption rate of the project among all types and sizes of business entities (we have seen this first hand), and has brought in the extra administrative burden to the core team, I had hoped that there was a plan to offset the growth. With any "open source" project, people immediately think "free" which has been the downfall of many projects IMO. In any business model, 0 times 0 is still 0. And let's face it, people just can't afford to work for free. While I am grateful for the core team and their many volunteer hours, and I for one am unable to devote such hours, I do feel these people should be compensated for their hardwork. I felt DotNetNuke was on the right path with the Benefactor program (we joined within hours of its announcement) and with the announcement of providing 3rd party module reviews and a 3rd party marketplace, I felt it was bound to gather the dough required to float the venture. But the idea of DotNetNuke going corporate has changed the possibilities greatly.

From the article:

“DotNetNuke Corporation is not a typical commercial entity,” Walker added. “Rather, it is dedicated to the public benefit goal at the heart of the DotNetNuke project, which is to create opportunities and spread entrepreneurship to the world by providing a superior Open Source web application framework."

AND...

In addition to spearheading the Open Source project, DotNetNuke Corp. will also focus on developing and delivering services which support the ecosystem, including marketing, sponsorships, and a wide range of partner-related activities. These activities are expected to generate revenue, but the company intends to focus on those opportunities that are consistent with the community values and public goals of the project, Walker said. This includes providing funding for aspects of the project that are difficult or challenging for volunteer teams to solely undertake such as professional marketing, large-scale platform and feature development, product certification and ecommerce initiatives, he added.

With that said, it seems to say, DotNetNuke is going corporate so that they can fund the development of additional activities that need more funding. Now one has to consider the rumors that have been flying about the changes in DNN 4.3 related to membership, and the mysterious source that funded these changes. Also, is there a reason for making the headquarters in Seattle, Washington? To get closer to Microsoft maybe? How will the business model change, or will it? Will DotNetNuke eventually be sold? I think there are still lots of questions in my mind about the reasoning for this move, but we all know the answer...$$$. I am not saying any of the items above are a bad thing. Afterall, anyone who complains about Microsoft being a monoploy is just jealous of a beautiful business model. At the same time, in the words of Google, "Don't be evil", should be taken to heart.

I want to think that this will be the big push DotNetNuke needed to get into the limelight, but only time will tell. In the meantime, we will be keeping busy with the many clients Venexus has accumulated over the last couple of years, all due to a little CMS called DotNetNuke. We can't thank DotNetNuke enough for our own business growth, and hope the new path is one that will continue to benefit the ecosystem and community and allow DotNetNuke Corporation to prosper.

Thursday, September 21, 2006 2:18:42 PM (US Eastern Standard Time, UTC-05:00)  #       | 
 Monday, September 18, 2006

DotNetNuke 4.3.5 was released Saturday. There are quite a few fixes in this release:

Component Issue Type Issue ID Summary Resource Status
(4.3.5) Stabilization Release Admin / Host Functions Bug DNN-3730 Failure to include all required fields when creating a profile property generates unfriendly error   Checked-In
Admin / Host Functions Bug DNN-3867 Templates created in 4.3.4 cause errors on parsing   Checked-In
Admin / Host Functions Bug DNN-3866 problem creating new portals in 4.3 (if updating from 4.0)   Checked-In
Admin / Host Functions Bug DNN-3822 Empty Categories still display header   Checked-In
Admin / Host Functions Bug DNN-3868 Page Head tags are not properly processed   Checked-In
Admin / Host Functions Bug DNN-3793 New AddCodeSubDirectory method fails in hosted environment   Checked-In
Admin / Host Functions Bug DNN-3791 Verified User Registration and User Profile Workflow Problem   Checked-In
Admin / Host Functions Bug DNN-3911 Add Vendor in admin menu   Checked-In
Admin / Host Functions Bug DNN-3748 Paging in User Accounts   Checked-In
Admin / Host Functions Bug DNN-3419 FB-101: Module Definition - Unused resource file entries in EditModuleDefinition.ascx.resx   Checked-In
Admin / Host Functions Bug DNN-3932 Host/Super User Accounts/User Settings ddl selected value does not persist.   Checked-In
Admin / Host Functions Bug DNN-3694 Need to stop duplicate portal aliases from being entered   Checked-In
Admin / Host Functions Bug DNN-3913 Slow performance on "Edit/Copy/Create Page" when long directory Tree   Checked-In
Admin / Host Functions Bug DNN-3804 FormatExeption on "PasswordUpdated"   Checked-In
Admin / Host Functions Enhancement DNN-3760 Breadcrumb enhancement: Allow use of tab title instead of name   Checked-In
Admin / Host Functions Enhancement DNN-3928 Add option to disable the forced profile update on Login   Checked-In
Admin / Host Functions Enhancement DNN-3835 Add ability to disable/enable Services   Checked-In
Admin / Host Functions Enhancement DNN-3839 Add ability for admin user to set the default profile Visibility   Checked-In
Admin / Host Functions Enhancement DNN-3834 Add ability for Admin to enable/disable Profile Visibility   Checked-In
Admin / Host Functions Enhancement DNN-3838 Add an option to suppress the Pager in the Users Grid when not needed   Checked-In
Control Panel Bug DNN-3874 New module creation don't add custom permissions for administrator   Checked-In
Core Modules Bug DNN-3946 PDF-Link (Download) Problem in Link and Documents-Module   Checked-In
Data Access (DAL) Bug DNN-2913 User Account management error   Checked-In
File Manager Bug DNN-3865 Add Buffering to Downloading of files   Checked-In
General Bug DNN-3999 URLControl fix causes error in UDT   Checked-In
General Bug DNN-3743 Email notifications won't be sent   Checked-In
General Bug DNN-3702 SMTP-Port and SubjectEncoding   Checked-In
General Enhancement DNN-2699 sitewizard.ascx doesn't allow debuging   Checked-In
HTML Editor Bug DNN-3926 text/html module is not secure.   Checked-In
Installation / Upgrade Bug DNN-3759 NullReferenceException while add new host portal   Checked-In
Installation / Upgrade Bug DNN-4039 ##.##.##.txt file does not remove assemblies   Checked-In
Localization / ML Bug DNN-3917 Right-to-Left support in ProfileEditorControl.vb   Checked-In
Localization / ML Bug DNN-3892 United States English   Checked-In
Localization / ML Bug DNN-1974 number of characters used for locales   Checked-In
Localization / ML Bug DNN-2612 XML Error in Resource Verifier   Checked-In
Localization / ML Bug DNN-2268 resource verifier cannot handle ASP.Net 2 resource format   Checked-In
Localization / ML Enhancement DNN-3594 sort order languages in language editor   Checked-In
PA Loader / DNN Files Bug DNN-3742 Error with [app_code] instalation   Checked-In
Search Bug DNN-2344 Pages with End Date won't get indexed   Checked-In
Search Bug DNN-3464 FB-065: Search - error when search results per page set to 0   Checked-In
Search Bug DNN-1778 Search module doesn't work in portals other than the default one? Checked-In
Search Bug DNN-2798 SearchItem Title (NVARCHAR)   Checked-In
Search Bug DNN-1902 Page Count is not checked correctly   Checked-In
Search Bug DNN-1891 Include Common Words setting is ignored   Checked-In
Search Bug DNN-3906 SearchResults   Checked-In
Security Bug DNN-3853 Get Permissions functions call GetRoles excessively   Checked-In
Security Bug DNN-3718 Password fields on register form need validation indicators   Checked-In
Security Bug DNN-3849 application pool crashes with wrong login on win2003 x64 server   Checked-In
Security Bug DNN-3576 FB-217: reset password option should not be available for admin/host   Checked-In
Security Bug DNN-3747 RequiresQuestionAndAnswer in 4.3.4 does not work (see also DNNP-3245)   Checked-In
Security Bug DNN-3964 Login-SuperUser event is no longer logged   Checked-In
Security Bug DNN-3479 After deleting UserName you cannot register again under same username   Unassigned
Security Bug DNN-3883 Administrator cannot be unlocked   Checked-In
Security Enhancement DNN-3833 Unauthorized User - No message when trying to log in   Checked-In
Security Enhancement DNN-3706 ProfileDefinition.ValidationExpression   Checked-In
Security Enhancement DNN-3968 seperate temporary and persistent cookie timeouts >Cathal Connolly Checked-In
Skinning Bug DNN-3984 DNNMenuNavigationProvider CSSNodeSelectedRoot bug   Checked-In
Skinning Bug DNN-3707 Skinning of HTML files enhancemet is broken   Checked-In
Templates Bug DNN-1826 Some templates as of 3.1.1 missing search results tab.. Checked-In
Templates Bug DNN-2234 Template default content incorrect   Checked-In
Templates Bug DNN-3708 Error creating portal when importing in templates (duplicate ModuleID?)   Checked-In
Templates Bug DNN-3661 C# module template error   Checked-In
Templates Bug DNN-3783 Site Wizard Bug   Checked-In
UI / Usability Bug DNN-3746 Login instructions not correctly displayed   Checked-In
UI / Usability Bug DNN-3798 Password Aging Settings Maximize button maximized incorrect section   Checked-In
UI / Usability Bug DNN-3882 Different Lists with same items have issues in Profile Editor   Checked-In

We upgraded 3 sites over the weekend:

DNN 4.3.4 > DNN 4.3.5

DNN 4.0.2 > DNN 4.3.5

DNN 3.2.2 > DNN 4.3.5

 

2 worked perfectly, the third (DNN 3.2.2 > DNN 4.3.5) failed. However, this client has numerous 3rd party modules installed and a couple of them are causing some issues.

Monday, September 18, 2006 11:14:38 AM (US Eastern Standard Time, UTC-05:00)  #       | 
 Thursday, August 03, 2006

Wow, we can't even keep up with all of the new releases of DotNetNuke lately... Download DNN 4.3.4

Digging a little deeper I see the reason for this quick build is due to a couple of security issues, one being a "Critical Issue".

I also found a page on DotNetNuke that I have not seen before:

http://dotnetnuke.com/SecurityPolicy/tabid/940/Default.aspx

At the bottom are a couple of documents:

Security Documentation
  Title Owner Category Modified Date Size (Kb)  
Secure Module Development Shaun Walker   7/21/2006 274.41 Download
Hardening DotNetNuke Installations Shaun Walker   7/21/2006 274.46 Download

Can't we go back to complaining about when the next release will be? Just kidding. It is good to see that the core team is proactive about keeping DNN patched and up-to-date. As a community, we need to do the same and update our systems as quickly as possible to keep DNN from getting a bad name.

Thursday, August 03, 2006 10:57:24 PM (US Eastern Standard Time, UTC-05:00)  #       |   | 
 Friday, July 28, 2006

There is a new release of the Venexus SignIn module available for download. This fixes the issue with the Terms and Conditions URL in the settings not staying set on DNN 4.3.x installations. This version has been tested in DNN 4.3.2 and DNN 4.3.3.

Note: This module is simply a upgrade from the old version to work on DNN 4.3. It has NOT been rewritten with all of the same features of the DNN 4.3 Login Module (Captcha, etc.).

Friday, July 28, 2006 9:39:08 PM (US Eastern Standard Time, UTC-05:00)  #       |  Venexus.Signin.zip (14.5 KB)
 Thursday, July 20, 2006

Shaun Walker has posted a feature matrix comparison of DotNetNuke versus ASP.NET 2.0 versus SharePoint Server 2003 ( SPS 2003 ) versus Microsoft Office Sharepoint Services 2007 ( MOSS 2007 ). This is a great breakdown of features showing the differences between the platforms and should help anyone who is trying to pitch DotNetNuke to the "decision makers".

Thursday, July 20, 2006 9:36:14 AM (US Eastern Standard Time, UTC-05:00)  #       | 

DNN 4.3.3 was released yesterday. We have our fingers crossed for this version! Stay tuned...

Thursday, July 20, 2006 9:22:31 AM (US Eastern Standard Time, UTC-05:00)  #       | 
 Wednesday, June 28, 2006

This has been an exciting month for DotNetNuke with over 300,000 registered users and the release of DotNetNuke 4.3. The new features in DNN 4.3 rock! And, offer many new features and functionality over its predecessors. While the new release is not without some new issues, and we do not believe this release is stable enough to be considered a production release, it does offer much promise into the future of DotNetNuke as it begins to catch-on with upper management (more on this later). If you just take a look at the number of downloads of DotNetNuke, there is a steady curve that leaves us all optimistic.

Date (UTC) Downloads Bytes Served
Jun 2006 * 99,379 667.2 GB
May 2006 72,360 423.2 GB
Apr 2006 70,736 411.4 GB
Mar 2006 81,935 480.8 GB
Feb 2006 84,530 492.9 GB
Jan 2006 93,425 547.6 GB
Dec 2005 111,006 651.2 GB
Nov 2005 150,077 891.7 GB
Oct 2005 43,193 256.2 GB
Sep 2005 38,540 303.8 GB
Aug 2005 38,103 354.8 GB
Jul 2005 43,292 462.6 GB
Jun 2005 60,881 592.6 GB
May 2005 23,931 369.1 GB
Apr 2005 39,365 613.0 GB
Mar 2005 45,624 577.6 GB
Feb 2005 34,013 279.7 GB
Jan 2005 25,517 186.2 GB
Dec 2004 24,219 137.8 GB
Nov 2004 20,151 108.3 GB
Oct 2004 13,932 68.5 GB
Sep 2004 13,180 63.9 GB
Aug 2004 14,067 67.5 GB
Jul 2004 14,508 69.6 GB
Jun 2004 23,907 115.0 GB
May 2004 13,300 53.2 GB
Apr 2004 21,074 80.1 GB
Mar 2004 4,300 15.9 GB
Feb 2004 0 0 bytes
Jan 2004 133 199.3 MB
Dec 2003 117 175.3 MB
Nov 2003 74 110.9 MB
Oct 2003 331 495.5 MB
Sep 2003 341 509.9 MB
Aug 2003 318 476.6 MB
Jul 2003 351 524.3 MB
Jun 2003 66 96.7 MB
May 2003 3,814 4.7 GB
Apr 2003 4,187 4.5 GB
Mar 2003 372 334.6 MB
     
Total 1,328,649 9.3 TB

* Partial data: End of month not yet reached

Figures authoritative as of:
SourceForge.net, tracker and forum data: 2006-06-28 09:50 UTC Download data: 2006-06-28 09:55 UTC Project Web: 2006-06-28 09:50 UTC

Source: SourceForge

It would be interesting to see the actual number of DNN sites in production, indeed.

We believe this trend will continue as businesses realize the power of the web application framework for their enterprise information portals (corporate portals, intranets, extranets, web presence, etc.). With the advantage of getting their existing static, or non-existant websites and intranets up-to-date with .Net 2.0 and SQL Server 2005, many companies are finding DotNetNuke an affordable solution when compared to other high priced content management solutions. However, one of the hurdles that must be conquered is the fact that most upper management (the ones who approve the budget and sign the checks), still cannot comprehend the ROI from building a corporate portal solution, with their "If it ain't broke, don't fix it" mentality, further digging themselves and their company into the dinosaur graveyard. Unfortunately, the developers have a hard time translating geek-speak to the uninitiated, which slows this process. But, with DotNetNuke being Open-Source, developers have an easier time to sell the idea to upper management, they just have to get the idea wrapped around their narrow brains...

So, we look forward to the coming months as DNN 4.3 progresses, adpotion of the application grows, and upper management evolve or retire. This is truly the Wild-Wild-West of content management systems for the masses.

 

Wednesday, June 28, 2006 12:27:52 PM (US Eastern Standard Time, UTC-05:00)  #       | 
 Wednesday, June 21, 2006

We are still experiencing the caching issue on Installation C I mentioned in a previous post. This is the first item we tested with the new release and it is still broken :-(

AssemblyVersion: 04.03.01
Method: System.Web.UI.Control.LoadViewStateRecursive
FileName:
FileLineNumber: 0
FileColumnNumber: 0
PortalID: 0
PortalName: Client Portal A
UserID: 1
UserName: host
ActiveTabID: 87
ActiveTabName: For Testing
AbsoluteURL: /Default.aspx
AbsoluteURLReferrer:
ExceptionGUID: c774691d-427e-41e1-abc0-714f3a1b7a4f
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
InnerException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
Message: DotNetNuke.Services.Exceptions.PageLoadException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. ---> System.Web.HttpException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Page.LoadAllState() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---
StackTrace:
Source:
Server Name: BARNEY

So far, this issue only appears on a DNN installation that uses a subdomain. Maybe this is related to using a subdomain somehow?  I made sure I had logged out of the main domain site, and the subdomain site, cleared browser cache and cookies, logged in again, and experieced the same issue.

UPDATE:

This issue does NOT occur if caching is turned off.

Update 6/28/2006:

Issue logged in DNN Butracker ID#: 3348

Wednesday, June 21, 2006 9:17:02 AM (US Eastern Standard Time, UTC-05:00)  #       | 

Just when we were about to abandon ship on the 4.3 release and roll back to 4.0.3, a new "point release" is issued...

"A "point" release has been posted for DotNetNuke 3.3/4.3 today. This point release contains fixes for a number of issues which were identified in the original Release Candidate packages." - Download from DNN

With weird caching issues and missing UserController methods,...which I will rant about later...we were prepared to roll back our development stack to the 4.0.3 release. Instead we will be testing the new version with our fingers crossed that it fixes many of the issues we have found. Check back later for the results!

Wednesday, June 21, 2006 8:45:26 AM (US Eastern Standard Time, UTC-05:00)  #       |   | 
 Monday, June 19, 2006

We are seeing some weird errors on a few DNN 4.3 installations we are testing. Specifically, there seems to be a caching issue when adding new pages. So far, we have experieced the error in the following environments:

Installation A:

My local development machine (Dell Latitude D810) running XP with all of the latest patches, local SQL Server 2005 Standard, fresh DNN 4.3 Source, using localhost.

Installation B:

Development server (Dell 1550) running Windows 2003 with all of the latest patches, remote SQL Server 2005 Enterprise, DNN 4.3 Upgrade (upgrade from DNN 4.0.3), using www.dnnmoddev.org domain

Installation C:

Development server (Dell 1550) running Windows 2003 with all of the latest patches, local SQL Server 2005 Standard, DNN 4.3 Install (non source version), using a subdomain of Venexus.com (someclient.venexus.com)

But NOT in Installation D:

Production server (Dell 2850) running Windows 2003 with all of the latest patches, remote SQL Server 2005 Enterprise, DNN 4.3 Upgrade (upgrade from DNN 4.0.3), using www.someclient.com.

On Installation A, when creating a new page, after clicking update, I am redirected to the home page and the newly created page is not in the SolPartMenu. I can refresh the page and it is sometimes suddenly visible, and other times, still not visible. If I go to Admin > Pages, I can see it in the list.

On Installation B, when creating a new page, we experience similar issues as Installation A, but also see weird behavior in some modules where the contents are not displayed.

On Installation C, all is the same as Installation A, but we see viewstate errors:

AssemblyVersion: 04.03.00
Method: System.Web.UI.Control.LoadViewStateRecursive
FileName:
FileLineNumber: 0
FileColumnNumber: 0
PortalID: 0
PortalName: Client Development Portal
UserID: 1
UserName: host
ActiveTabID: 82
ActiveTabName: Downloads
AbsoluteURL: /Default.aspx
AbsoluteURLReferrer:
ExceptionGUID: 2848db05-e95f-48c2-875a-7c4cb7c525df
DefaultDataProvider: DotNetNuke.Data.SqlDataProvider, DotNetNuke.SqlDataProvider
InnerException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request.
Message: DotNetNuke.Services.Exceptions.PageLoadException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. ---> System.Web.HttpException: Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request. For example, when adding controls dynamically, the controls added during a post-back must match the type and position of the controls added during the initial request. at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) at System.Web.UI.Control.LoadViewStateRecursive(Object savedState) at System.Web.UI.Page.LoadAllState() at System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) --- End of inner exception stack trace ---
StackTrace:
Source:
Server Name: BARNEY

This error occurs after creating a new page, then being redirected to the home page instead of the new page, and then clicking Add Page again. This is reproducible until I turn caching off from within Host > Host Settings > Other > Caching

In Installation D, everything works as expected.

On Installation A - C, if caching is turned down to LOW, it is still reproducible. Only turning caching off does the issue go away. Even more interesting is the viewstate issue on Installation C goes away when caching is turned off. My initial thought was that the viewstate error was somehow caused by using the subdomain. We have seen viewstate errors with authentication when jumping from venexus.com to subdomain.venexus.com and back. The only other viewstate errors we have seen is when a session timeout occurs in the middle of a form...which is kinda expected, but should be handled cleanly.

If anyone has seen this issue and knows of the cause, please let us know. We will update this post when we figure out the issue.

 

Monday, June 19, 2006 9:06:04 PM (US Eastern Standard Time, UTC-05:00)  #       | 

The following is a collection of information I have collected, found, and written concerning MS SQL Server Full-Text Indexing. In order to keep it in a single place, I decided to dump it all here and update as needed...

SQL Server 2005 Full-text Indexing came with several new features:

  • Significant performance increases especially with indexing.
  • A dedicated indexing service that works directly with SQL Serrver. This speeds up full-text operations and isolates SQL Server from changes to the search service made by other applications. 
  • Secure by default. All iFilters (the component which extracts the text from the content stored in the rows) must be signed before SQL Server FTS will load them. 
  • The ability to full-text index Indexed Views which simplifies partitioning.
  • Data definition language (DDL) statements for creating and altering full-text catalogs and indexes.
  • Improved Language Support SQL 2005 FTS now supports indexing and searching in 23 different languages. SQL 2005 FTS will respect language tags stored in the content which the iFilter can interpret. You can also override the language settings on a column in your query.
  • Accent Insensitivity-SQL FTS can now be configured to be accent insensitive so searches on resume will match with résumé. This option is enabled by default, but can be disabled.
  • Noise Insensitivity-SQL FTS queries will no longer break when one of the search arguments (SARGs) is a noise word. This option is enabled by default, but can be disabled.
  • Thesaurus support in the Contains and FreeText predicates. 
  • Multi-Column Queries-SQL FTS supports searching a single full-text indexed column, all full-text indexed columns, or a sub-set of the full-text indexed columns in a single query. 
  • Support for linked servers-It is now possible to query full-text catalogs on remote server through a linked server.
  • Replication support If a table is full-text indexed you can replicate the full-text properties to your subscriber if the subscription database is full-text enabled.
  • Backup and restored support for full-text catalogs. You can now backup your full-text catalog and restore it on a different server.
  • Attach/detach full-text catalogs with your databases. You can include your full-text catalog in your detached database files and optionally reattach your full-text catalogs along with your database. 
  • Properties SQL FTS 2005 now supports the indexing and querying of document properties stored in the Image or VarBinary(MAX) data type columns. 
  • Full-text indexing for XML data.
  • Troubleshooting utilities two new utilities ship with SQL 2005 to assist in the troubleshooting efforts: 
    • lrtest - an executable which allows you to see how the word breakers interpret a token at query time and at index time
    • CiDump - a tool which allows you to view the contents of your catalog to determine what is indexed, and how tokens are stored in the index.

    You can find these file in C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn 

  • The indexing logs are now stored as plain text in C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Log
  • Integration with SQL Profiler and logging of index operations.

If you have never used Full-text indexing, it's pretty easy to setup...

Go into the database properties and enable full-text indexing:

Right click on the table and select Full-Text Index > Define Full-Text Index...

 

Wizard will popup, click Next:

 

Select the Primary Key:

 

Select the columns you want to index:

 

Start a full population when complete:

 

Since we already had a few other catalogs, we needed to create a new one. And, this new catalog will now become the default catalong by slecting the option.

 

We also wanted to create a recurring task to populate the catalog daily while we are testing:

 

Just click Finish!

Alternatively you can use the following queries to create a Full-Text Index:

EXEC sp_fulltext_database 'enable'

EXEC sp_fulltext_table 'BrainDump', 'create', 'BrainDumpCatalog', 'PK_BrainDump'

EXEC sp_fulltext_column 'BrainDump', 'IndexWashedContent', 'add'

EXEC sp_fulltext_table 'BrainDump', 'activate'

EXEC sp_fulltext_table 'BrainDump', 'start_full'

 

If you go back and right click on the table and Full-Text Index, you will now see an option to "Stop Population". This means that the catalog is being built. Depending on the size of your table, once it has completed a population of the catalog, you can start performing queries...

There are four additions to SQL Server's version of SQL that allow access to full-text catalogs:

  • CONTAINS is used in the WHERE clause of a query to find matches to exact words and phrases, with other options such as word proximity, weighted terms, and inflection of words.

  • CONTAINSTABLE has the same functionality as CONTAINS but is used in the FROM clause of a query and offers the added ability to incorporate relevancy to the results.

  • FREETEXT is used in the WHERE clause of a query to perform matches on the meaning of the words or phrase.

  • FREETEXTTABLE is similar to FREETEXT except that it's used in the FROM clause and can add relevancy to the results.

Example Queries:

SELECT IndexWashedContent FROM BrainDump WHERE CONTAINS (IndexWashedContent, ' "someword anotherword" ')

SELECT IndexWashedContent FROM BrainDump WHERE FREETEXT(IndexWashedContent, 'someword')

Search using NEAR finds words that are close together:

SELECT IndexWashedContent FROM BrainDump WHERE CONTAINS(IndexWashedContent, '"someword*" NEAR anotherword')


You can also supply a weighted list of terms to CONTAINS, and it will prefer matches with a higher weight:

SELECT IndexWashedContent FROM BrainDump WHERE CONTAINS(IndexWashedContent, 'ISABOUT (someword weight (.8), anotherword weight (.4), andanotherword weight (.2) )' )

Full-text Indexing Performance:

Microsoft recommends these two settings for optimum performance:

The virtual memory (PAGEFILE.SYS file) setting for your operating system should be set to an amount equal to 3 times the amount of physical RAM in the server. If you have a non-dedicated SQL Server (a server running applications in addition to SQL Server) then you will want to add the virtual memory needs of these other applications to the amount calculated above.
 

The SQL Server MAX SERVER MEMORY setting should be set manually (dynamic memory allocation is turned off) so that enough virtual memory is left for the Full-Text Search service to run. To achieve this, select a MAX SERVER MEMORY setting that once set, leaves enough virtual memory so that the Full-Text Search service is able to access an amount of virtual memory equal to 1.5 times the amount of physical RAM in the server. This will take some trial and error to achieve this setting.

To find out how much virtual memory is being used by SQL Server and the Full-Text Search Service, you can use the Task Manager. By default, the Task Manager does not display the amount of virtual memory used by a process. To see this number in Task Manager, you must first go to the "Processes" tab. Once there, select "View", and then "Select Columns". From the "Select Columns" dialog box, click on "Virtual Memory Size", then "OK". Now you will be able to see the amount of virtual memory size used by each process on your server using Task Manager. Use this information to help you tune your server for use with the Full-Text Search service.

More Info:
Extending 2005 FTS

Language Features

Using Full-Text Search Catalogs

Extensions to SQL Server to Support Full-Text Search

Have anything to add? Please let us know.

Monday, June 19, 2006 12:28:44 AM (US Eastern Standard Time, UTC-05:00)  #       |   | 
 Sunday, June 18, 2006

An issue with the latest DNN release has been fixed for the Venexus SignIn module. The package can be downloaded via the attached enclosure. Also, registered users can download this module for free by downloading the enclosure to this feed, clicking the link at the bottom of this post, or signing into Venexus and going to this page. The DNN 3 version is also available for download at the site.

Sunday, June 18, 2006 3:32:41 PM (US Eastern Standard Time, UTC-05:00)  #       | 
Copyright © 2010 Venexus, Inc.. All rights reserved.