Let’s recap the 2005 year of DotNetNuke and Venexus.
|
- February - Venexus began testing DotNetNuke 3.0 beta as a replacement for it’s own custom ASP web framework and CMS.
- March - With the release of DNN 3.0 on March 12, Venexus started a development server for the DNN framework within the Virtual Business Framework.
- April – Venexus released a new web design using DNN 3.0

- May – Venexus adopted Gemini for its development project management and issue tracking application to manage development of VBF and DNN. Venexus upgrades an intranet site for Corban Funds using DNN.

- June – Venexus released 2 new DNN sites that month. FindNews.org, a DNN website that now has almost 700,000 articles and news it has aggregated from global news sources…testing the limits of DNN as far as DNN and database scalability is concerned.

The Fan’s Voice, a website for college football sports writers and enthusiast.

- July – Venexus upgraded Ryan ALM, Inc.’s website to use DNN. Venexus also begins developing custom DNN modules for existing clients.
- August – Venexus begins integrating it’s BCS, VBF, BES into DNN
- September – Digging deep into the code now and releases 2 more client websites.
- October – Venexus begins updating internal processes to utilize DNN where convenient. ChipTricks.com DNN development begins.


Development of DNN FIND begins.
PensionMonitor.com is released.

What an exciting year! DotNetNuke has let us push boundaries in web development that were unfathomable in ASP/VB. In summary, Venexus released 14 new DotNetNuke websites this year. We are heavily entrenched in DNN development and upgrading all of our processes to utilize the power of DNN and .Net.
What is in store for 2006?
- DNN 4! - We are testing it now. Can’t say it is really ready for production yet, but we are close! With further testing and upgrading all modules, we hope to be running all of our client sites in DNN 4 early this year.
- Venexus DNN Modules – Venexus will be releasing new modules for the DNN community. With the release of Scott Schecter’s NukeSyndicate, we plan on utilizing the power of RSS syndication to keep our module releases up-to-date and users informed. Stay tuned for more
- DNN FIND Search Engine - We are starting to crawl DNN related websites for DNN FIND to provide an index for others to use to do their own DNN research. This will be a DNN only search engine.
- DNN FIND Spider – We plan on releasing a packaged version of our multithreaded VB.Net crawler/spider to satisfy ISV requirements called DNN FIND Spider. A corresponding DNN module will be released for utilizing crawl data as a replacement for default DNN search.
- DNNModDev.org – a website devoted to DNN module developers?
I think that will be enough to keep us very busy the first part of this year, not including normal operations and custom DNN module development. I look forward to seeing IT budgets open their wallet in the first part of this year to upgrade their static and stagnant HTML or ASP websites. Someone just needs to show these companies how DNN can save them time and money, all while providing a powerful collaboration environment. I look forward to this exciting year and feel that with the new DotNetNuke Benefactor Program, DNN will finally get the recognition that it deserves. They built it, its up to us to make sure the sheeple will follow.
Server Error in '/' Application.
Object reference not set to an instance of an object.
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.NullReferenceException: Object reference not set to an instance of an object.
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:
[NullReferenceException: Object reference not set to an instance of an object.]
DotNetNuke.HttpModules.UrlRewriteModule.OnBeginRequest(Object s, EventArgs e) +702
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
|
Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.42
I have DNN 4.0.2 running on my laptop and frequently get this error. I started getting this error with the first version of DNN 4 and have hoped with each release that it would go away without any luck. I know of another person who is experiencing this error as well. Until I find the solution, this is a placeholder...
One of the first new features of DNN 4 I noticed was the ability to change the Module Title without having to go into Module Settings.
Hovering over the Module Title shows that it is editable:

Clicking on the Module Title allows you to edit the Title:

The Title is changed once the focus is moved off of the Module Title:

Even though a small change, this will undoubtedly save time by not requiring the extra clicks to get into the Module Settings. Very handy!
In Managing an Open Source Project for DotNetNuke you will find an interesting insight into the development of the DNN Forums Module Project from Chris Paterra. This is a great read for those who want to take a glimpse of what is involved with managing an open-source project.
Of particular interest, his comparisons between commercial and open-source development, provide an indepth look at managing the development of the Forums module.
Over the next few weeks, we will be digging into the source of this project (3.2.1) to make changes for a client. I look forward to reviewing the code and seeing how all the pieces work together. Stay tuned... 
DNN FIND Spider version 0.2 was built this morning after a successful nightly crawl test last night.
 DNN FIND Spider (DNNFS) is currently a standalone VB.Net application that spiders the web. We are using the spider to crawl DotNetNuke sites for inclusion in the DNN FIND index. Currently the DNN FIND index is comprised of data collected from RSS feeds and the DNNFS. If you have a feed or site that you would like to have aggregated or crawled, please let us know: support at DNN FIND dot com.
Current Features:
- Written in VB.Net
- Stores data in MS SQL Server
- Multi-threaded spider
- Obeys robots.txt
- Obeys meta robots tags
- Stores HTML and parsed (HTML removed) data
- Site specific crawls
Direction: So many crawlers, so little time! The goal is to get all of the other VBScript and Visual Basic (not .net) crawlers/spiders we have built into a single mega .Net spider. Porting the features and functionality of other crawlers we have, like TIC and TXS, is a first priority. However, the first objective is to make DNNFS to be a "global" crawler, rather than just a site specific crawler.
Currently DNNFS will crawl a single domain at a time, which is great for adding TIC features like HTTP Header Status reports for non-200 responses, giving a detailed view of problems on the website. In the hands of a DNN site operator, this could be used to view issues on the site that might otherwise be unknown without digging through web logs.
But, the work to be done next involves porting code to utilize a central database queue. By doing so, it will allow for multiple spiders to be setup on multiple servers, each talking back to the central queue for the next URL to be processed. Also, the queue can be manipulated by URL importance instead of relying on First In First Out queueing. With TIC, a global crawler, we have Domain AND URL importance affecting the queue. While a crawl is happening, an algorithm computes the "importance" of a URL based upon the importance of the domain and keywords found within the document. The more documents found on a site with related keywords, the higher the domain importance, which results in a higher URL importance during crawl time. However, this comes with a performance issue and may best be added as a backend process that updates the queue continuously. Most DNN operators would not need such features nor do they have sites to be crawled that have hundreds of thousands of pages like some of the sites we host. However, some of them might have large sites and/or would be interested in contributing their crawl data, which begs the question of developing a thin client for DNN operators.
Definite Features to be included in future releases:
- XML document support for crawl updates (similar to how Google sitemaps work)
- RSS support for site update notifications
- Non-200 status header response reporting
- Global crawls
- Central queue processing
- Multiple crawler support
Ideas we are kicking around:
- A distributed thin client for DNN operators
- DNNFS as a website stress tester? It would be easy to increase the number of threads by x fold to make a stress tester.
- Web services for remote queries
If anyone has any features, functionalities, or ideas that can be added to DNNFS that would help the DNN community, please let us know: support at DNN FIND dot com.
We were experiencing the following error 4 times per minute.
Scheduler Exception :
AssemblyVersion: -1 Method: FileName: FileLineNumber: -1 FileColumnNumber: -1 PortalID: -1 PortalName: UserID: -1 UserName: ActiveTabID: -1 ActiveTabName: AbsoluteURL: AbsoluteURLReferrer: ExceptionGUID: DefaultDataProvider: InnerException: Add failed. Duplicate key value supplied. Message: System.ArgumentException: Add failed. Duplicate key value supplied. at Microsoft.VisualBasic.Collection.Add(Object Item, String Key, Object Before, Object After) at DotNetNuke.Services.Scheduling.DNNScheduling.CoreScheduler.AddToScheduleInProgress(ScheduleHistoryItem objScheduleHistoryItem) at DotNetNuke.Services.Scheduling.DNNScheduling.CoreScheduler.WorkStarted(SchedulerClient& objSchedulerClient) StackTrace: Source:
Environment:
DotNetNuke Version: 3.1.1
Data Provider: SqlDataProvider
.NET Framework: 1.1.4322.2032
So, I went into Host > Schedule and started disabling each Scheduled Task until I found the culprit. This was pretty easy to figure out because the only non-core scheduled tasks that was new was the following:
UserPaymentTools.BuyNow.PurgeShoppingCart, UserPaymentTools.BuyNow
AND
UserPaymentTools.BuyNow.ServicePayments, UserPaymentTools.BuyNow
I tried every combination and each task created 2 scheduler exceptions per minute, despite having a frequency of 1 and 3 hours. I have disabled both task and no longer experience the error. I plan on following up with the developer of this module and will post my comments in a separate entry as this is the second major issue I have experienced from 2 modules I have purchased from this individual and did not receive a response from the first one...
I recently cleaned up our DNN default.aspx page by removing several meta tags. Many of the meta tags in default.aspx are useless and do nothing but make the payload bigger and pushes the main content further down the page. One of the meta tags removed was <META NAME="ROBOTS" CONTENT="INDEX, FOLLOW">. By default, all pages on a DNN site are Indexable and Crawlable. Search engines do not need to be told to index or follow a page. They will do this anyway as it is their nature. I suggest using this meta tag only if you do NOT want search engines to index or follow your page. However, it is important that if you modify default.aspx, make sure you set page to have read only access so that future DNN releases do not overwrite your "custom" page.
Now, we actually have a need for a Robots Meta Tag on a public page that we do not want crawled or index. So, to add the meta tag back in just for the page we do not want crawled or indexed, simply go into the Page Settings and expand Advanced Settings. In the Page Header Tags textarea, add <META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
Some other examples: <meta name="robots" content="noindex,follow"> - this tells the search engines crawlers/spiders to not index the page but to follow any links that are on the page for possible indexing. <meta name="robots" content="index,nofollow"> - this tells the search engines crawlers/spiders to index ths page but not to crawl any of the links on the page.
I recently posted some SQL statements on updating PageHeadText in the Tabs table for DotNetNuke and Google Analytics. I recently updated the SQL statement to exclude any deleted tabs.
UPDATE Tabs SET PageHeadText = '<script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script> <script type="text/javascript"> _uacct = "UA-xxxxxx-x"; urchinTracker(); </script>' WHERE (PortalID = 0) AND (ParentID <> '38') AND (IsDeleted = 0)
This will automatically change all pages for the portal to include the Google Urchin JavaScript into the page head. This will also filter out certain pages. For example 38, will filter out any Admin pages in the database for our setup. IsDeleted = 0 makes sure the page is not deleted. This is alot quicker, especially for portals that have thousands of pages, than adding a module to each page or updating each page individually in the Page Settings > Advanced Settings > Page Header Tags.
If you try to run DNN 3.X using .Net 1.1 AND DNN 4.x using .Net 2.0, make sure you put the sites into separate application pools if they are running on the same server. Not doing so will result in the following error in the event log:
It is not possible to run two different versions of ASP.NET in the same IIS process. Please use the IIS Administration Tool to reconfigure your server to run the application in a separate process.
In versions of IIS before 6.0, each application runs in a seperate process during run time. IIS 6 brings the ability to run spearate application pools and applications that are assigned to different application pools never run in the same process. So this was all new to me 
So, to change it is quite simple...
To create a pool designation in IIS 6.0
- Open the IIS management console and expand the local computer by clicking the plus sign.
- Right-click the Application Pools folder, point to New, and then click Application Pool. The Add New Application Pool dialog box appears.
- Enter the new pool designation in the Application pool text box, and then click OK.
To assign a pool designation to an ASP.NET application in IIS 6.0
- Open the IIS management console, expand the local computer by clicking the plus sign, and navigate to the folder that contains the ASP.NET application.
- Right-click the application and then click Properties. The application's properties dialog box appears.
- On the Directory tab, select the desired pool designation from the Application Pool list.
Configuring an ASP.NET Application for an ASP.NET Version
I had someone ask me this question the other day...I have been looking for a good DotNetNuke blog module, and have tested the core DNN Blog module project, and have yet to find one that really has all of the features and functionality I need.
The requirements that I always seem to find missing in a DNN blog modules are as follows:
- Categories - I need to be able to categorize my postings. I do not have time to have humpteen dozen different blogs on seperate pages. Categoizing helps with search engine optimization and overall blog navigation/organization.
- Search Engine Friendly URLs - I don't like, nor do most search engines like, parameterized query URLs. dasBlog does a great job with allowing SE friendly URLs, just checkout the URL for this post: http://dnnblog.venexus.com/Why+Are+You+Using+DasBlog+For+A+DotNetNuke+Blog.aspx
- RSS Enclosures - Adding audio/video to a blog is very cool...which reminds me I should start doing some of that with this blog

Anyone know of a good DNN blog module that will do the above???
Until I find the right DNN module, I am going to stick with dasBlog. dasBlog does all of the above items, plus works very well. I would prefer to be able to use a DNN skin than the builtin templates, nor do I have the time for developing a new dasBlog template, but everything else works nicely. I would love to see someone port dasBlog to a DNN module.
On a security note, I ran across this post about a dasBlog security issue. I have upgraded this blog to use .Net 2.0 and have not found any issues with the upgrade so far.
InnerException: The incoming tabular data stream (TDS) remote procedure call (RPC) protocol stream is incorrect. Parameter 1 ("@rawQuery"): Data type 0xE7 has an invalid data length or metadata length.
This is here as a placeholder because I have a feeling this is going to come up agaqin soon...We experieced this issue with a DNN module that called a stored proc on a database that was not located on the same server as where the DNN installation lived and a different database than the DNN database.
0xE7 = 231, which is correct for nvarchar. Running SQL Profiler, no trace of the stored proc being run was found.
**NOTE** The stored procedure that is being called is NOT in the DotNetNuke database.
We tried the following cases with interesting results:
Error Case:
Server A (Windows 2003 Standard running IIS), connecting to Server B (remote SQL Server 2005 database). ERROR = TRUE
Test Case 1:
Server A (Windows 2003 Enterprise running IIS), connecting to local SQL Server 2000 database. ERROR = FALSE
Test Case 2:
Server C (Windows 2003 Standard running IIS), connecting to local SQL Server 2000 database. ERROR = FALSE
Test Case 3:
Server A (Windows 2003 Enterprise running IIS), connecting to Server C (remote SQL Server 2000 database). ERROR = FALSE
Test Case 4:
Server C (Windows 2003 Standard running IIS), connecting to Server B (remote SQL Server 2005 database). ERROR = TRUE
Test Case 5:
Server D (Windows 2003 Standard running IIS), connecting to local SQL Server 2005 database. ERROR = TRUE
See the pattern? So, this definitely points to an SQL Server 2005 issue. This lead us down the route of changing the provider to see if the module would work. And guess what? It did. The error goes away. WTF? No time to run a packet sniffer. I am logging this here as a great mystery to solve some other time.
Update 1/9/2005:
During validation of a byte-ordered user-defined type passed through RPC, user-defined type validation performs de-serialization/re-serialization of the user-defined type and requires that the resulting bytes be exactly the same as the original. If the validation fails, you will see the error:
"System.Data.SqlClient.SqlException, Incoming TDS RPC protocol stream is incorrect. Parameter 1 ("<ParameterName>"): The supplied value is not a valid instance of data type <TypeName>. Check the source data for invalid values." - Reference: http://support.microsoft.com/default.aspx?scid=kb;en-us;910228 in section 4.1.4
DotNetNuke Search Engine...I noticed that there is now a page on the DotNetNuke site for the core DNN Search Project. I have not had a chance to explore much of the forum they provide on the page, but most of what I see are questions about how to use the module, instead of nitty gritty application details. I hope to find more details about any changes that took place between the previous version and DNN 4 and post them here for reference.
In the meatime, I am still working on the DotNetNuke Spider and Fulltext Search module. Unfortunately, several other projects have forced this on the back burner, but I try to squeeze in a line or two of code every night...

The DNN Spider will have the following features:
- Multi-threaded crawling
- Parsing ability
My biggest issue with other crawlers I have played with is their speed for larger websites or crawling patterns. I hope to provide a solution that alleviates any performance issues by utlizing a central database for queue processing. I'll keep you posted as it progresses...

The DNN FIND Module will have the following features:
- Portal specific search
- Global search via web services
- Fulltext Indexing of DNN Spider results
- Noise word filtering
- Supports "+" searches
- Supports "-" searches
- Double quoted phrases
- LSI keyword augmented results
- User interactive ranking algorithm
An example of the fulltext search module can be found at DNN FIND. Please note that this module is still in development and that not all features are available in this example.
Stay tuned for more...
I am getting the following error randomly on a localhost install of DNN on my laptop. Restarting IIS fixes the problem until it randomly occurs again.
Server Error in '/' Application.
Object reference not set to an instance of an object.
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.NullReferenceException: Object reference not set to an instance of an object.
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:
[NullReferenceException: Object reference not set to an instance of an object.]
DotNetNuke.HttpModules.UrlRewriteModule.OnBeginRequest(Object s, EventArgs e) +1123
System.Web.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +92
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64
|
This is a placeholder until I find the solution....
Not to self: Is this a session timeout issue? Seems like it happens after a long duration has passed before returning to localhost. Dig through the logs and look 
Lee Sykes of DNN Creative informed me this morning that there is an issue with modules that dynamically change the title.
Line 50 in CDefault.vb is commented out:
'Public Title As String = ""
This will cause many modules that use this property of CDefault to dynamically set the page title to break.
Source
I know this will cause some errors. I have several modules that alter the page title based on content for search engine optimization. This will definitley delay any upgrade we do from DNN 3 to DNN 4 in our production environment if it takes longer than 1 month for the next patch/release. I will post any updates here.
I successfully updated our development environment with DNN 4.0.1.
See below:
Current Assembly Version: 04.00.01
Current Database Version: 04.00.00
Upgrade Status Report
00:00:00.031 - Upgrading to Version: 4.0.1 00:00:00.750 - Performing General Upgrades 00:00:01.140 - Installing Module File D:\DNN4.0\Install\Module\Announcements.zip: 00:00:01.531 - Installing Module File D:\DNN4.0\Install\Module\Announcements_3.1_Install.zip: 00:00:01.968 - Installing Module File D:\DNN4.0\Install\Module\Contacts_3.1_Install.zip: 00:00:02.203 - Installing Module File D:\DNN4.0\Install\Module\Discussions_3.1_Install.zip: 00:00:02.500 - Installing Module File D:\DNN4.0\Install\Module\Documents_3.1_Install.zip: 00:00:02.750 - Installing Module File D:\DNN4.0\Install\Module\Events_3.1_Install.zip: 00:00:03.140 - Installing Module File D:\DNN4.0\Install\Module\FAQs_3.1_Install.zip: 00:00:03.375 - Installing Module File D:\DNN4.0\Install\Module\Feedback_3.1_Install.zip: 00:00:03.546 - Installing Module File D:\DNN4.0\Install\Module\HTML_3.1_Install.zip: 00:00:03.765 - Installing Module File D:\DNN4.0\Install\Module\IFrame_3.1_Install.zip: 00:00:03.968 - Installing Module File D:\DNN4.0\Install\Module\Image_3.1_Install.zip: 00:00:04.125 - Installing Module File D:\DNN4.0\Install\Module\Links_3.1_Install.zip: 00:00:04.453 - Installing Module File D:\DNN4.0\Install\Module\NewsFeeds_3.1_Install.zip: 00:00:04.625 - Installing Module File D:\DNN4.0\Install\Module\Survey_3.1_Install.zip: 00:00:06.875 - Installing Module File D:\DNN4.0\Install\Module\UserDefinedTable_3.1_Install.zip: 00:00:08.406 - Installing Module File D:\DNN4.0\Install\Module\UsersOnline_3.1_Install.zip: 00:00:08.797 - Installing Module File D:\DNN4.0\Install\Module\XML_3.1_Install.zip:
Upgrade Complete
Our Development Environment
Web Server: Dell 1550 Dual 1 Ghz processors with 2 Gb RAM Windows 2003 Stadard Edition with Service Pack 1
Database Server: Dell 7150 Quad Itanium processors with 12 Gb RAM Windows 2003 Enterprise Edition with Service Pack 1 (64 bit) Microsoft SQL Server 2005 Enterprise Edition (64 bit)
DotNetNuke: DotNetNuke Version: 4.0.1 Data Provider: SqlDataProvider .NET Framework: 2.0.50727.42 ASP.NET Identity: NT AUTHORITY\NETWORK SERVICE
I have confirmed that the DNN Search module errors I had experieced in DNN 4.0.0 have been fixed. As commented on the DNN 4.0 and Search Module Errors post by
DotNetNuke released version 3.2.1 and 4.0.1 yesterday as stabilization releases.
From what I understand, this release includes:
- Meduim Trust issues fixed within MS MemberRole
- FreeTextBox fixes
- More documentation
For more information and the downloads: Click Here
I did not seeing anything concerning a fix for DNN Search Module. I will make a post here if this has been fixed...UPDATE: See Comments Here
I will be upgrading my DNN 4.0.0 installation this weekend and will post the results. For those who are interested in upgrading their DNN 3.x site, DO NOT extract the 4.x version on top of the 3.x version!
I decided that I would try to make our upgrade from DNN 3.1 to DNN 4 as painful as possible by throwing Active Directory into the mix. I am exploring all methods, including the possiblity of using a custom method for AD authentication and DNN synchronization. So, this will be my placeholder for any valuable information/code tidbits...
Methods for Active Directory - Here they provide several methods for managing your Active Directory database via ASP.Net code. They cover querying user information using System.DirectoryServices, changing user accounts, and group management.
Active Directory Module - On DNN website - Notice: The Active Directory Module currently produced by Tam is slated to be included in an upcoming release of DotNetNuke. It is not "officially supported" at this time, although we are clearly preparing to do so. Please bear with us while we incorporate this useful functionality in an appropriate manner.
Retrieving User Info from DotNetNuke - Discussion on Tam's module and Active Directory
Building Secure ASP.NET Applications: Authentication, Authorization, and Secure Communication - Microsoft on AD and ASP.Net

Active Directory and ASP.NET 2.0 Beta 2 - Did you know MS shipped an Active Directory Membership Provider in Beta 2?
more coming soon...
|
Copyright © 2010 Venexus, Inc.. All rights reserved.
|