Articles from November 2008

Openforce 2008 Recap 

It is amazing to think that OpenForce ended over two full weeks ago ever since returning home I have been swampped and haven't gotten around to my promised posting regarding the panel discussion that happened at the end of the session.  Although a bit late I thought I would share the notes that I made from the panel discussion on the final day of OpenForce.  The following items are not necessarily in any particular order, just the way they were scribbled into my notebook.

Read more...

Posted by Mitchel on Saturday, November 29, 2008

Professional DotNetNuke Module Programming Cover Image 

Over the past few weeks as anticipation builds towards the release of my book, Professional DotNetNuke Module Programming, there have been questions about the cover art displayed on Amazon and other locations.  The currently published cover art does NOT include my picture, it includes the picture of the former book author.  Below is the new cover art with my picture that will hopefully start appearing soon!

book cover

Posted by Mitchel on Tuesday, November 25, 2008

Why Dynamically Attached Databases Cause Problems 

One item that many people find unusual about my DotNetNuke installation guides is my insistance on NOT using the Database.mdf, dynamically attached database file for the creation of a DotNetNuke database.  In my tutorials I have quickly dismissed the topic by noting that "issues" come up when trying to use a dynamically attached database and I leave it at this.  Well after seeing more questions on this topic recently in the DotNetNuke.com forums I wanted to take a moment to put my $0.02 out there as to WHY I don't like it.  I will do this by discussing quickly what the differences are in the two approaches, then I'll discuss the "downfalls" of each.

Differences in Approach

Everyone is most likely familiar with the common process for creating a SQL Server databse, during the creation process two files are added the .mdf which stores the actual data and the .ldf which stoes the log.  When the database is created the files are typically placed inside the "Program Files" folder, storing them with the rest of the SQL Server files, although this location can be changed by the Server Administrator.

The dynamic attachment method uses a pre-defined database.mdf file that is located in the App_Data folder of the DotNetNuke installation.  When the system connects to the database server this file is attached to the server and operates like a database on the server would normally, however, all data is stored inside the DNN location.

Why I Think Its Bad

One of the most common arguments supporting Dynamically attached databases is that they "save time".  Well That might be true for the first connection, however, in my experience the time spent troubleshooting later makes it a much longer process.  The first thing to remember is that the database is attached and it has a name associated with it, DotNetNuke when working with DNN, if you go to install a second DotNetNuke installation on the same server with the dynamically attached file an error will appear noting that the database already exists.  For beginners this can be a very upsetting experience.

However, the most problematic downfall of dynamically attached databases in my experience is that you must "Attach" the database before you can manipulate it in SQL Server Management Studio or SSMS Express.  This is a very common stumbling block as individuals will know that the database exists, however, SSMS will not show the database at all, until it has ben successfully attached. 

Overall

I feel that overall there are no compelling reasons that would direct a person to use a dynamically attached database rather than a standard SQL Server database especially when it comes to databases that need to be administered on a regular basis.  If working in a test environment it might be helpful to have a dynamically attached database, but that is a limited use case, and for the most part DotNetNuke databases at one point in their life will need to be administered, backed up, restored, or moved.  For these actions a standard database is a good way to go.

Please share any comments/feedback below.

Posted by Mitchel on Monday, November 24, 2008

Professional DotNetNuke Module Programming Update 

I thought I would take a quick moment to post one final update regarding the progress on my Professional DotNetNuke Module Programming book.  Tonight I have finished writing the two most complicated sections of the book, the Dedication and Acknowledgments.  I can't believe how hard it was to write those two small pieces of the book.

The good news is that this milestone essentially marks the 100% complete mark in the process on my side.  Author Review has been completed on all but one chapter, and I will have that finished tomorrow.  Once I am done with that, the folks with Wrox Press will take it from there and get the book ready for production.  Last week I talked with the managing editor and the updated cover art to include my picture should be going out soon, and as soon as I have a firm publication date I will let everyone know!

As I have mentioned before, thank you all for the support and feedback during this process, it has been a true learning experience for me!

Posted by Mitchel on Monday, November 17, 2008

First OpenForce 2008 Update 

Tom Kraak is doing a great job with Live Blogging over at Seablick.com, however, I thought it would be good to put a quick blog post up here about important items that I noted from both the Microsoft Keynote and the DotNetNuke keynotes that have happened this morning.

Microsoft Keynote

The morning started with a keynote address from Scott Guthrie which I believe revealed a number of awesome new things that are either available now, or coming with VS 2010.  Some people have said that these items were already announced at PDC, but I had not heard of them.  The quick summary is below.

Dynamic Data (Scaffold)

Starting with .NET 3.5 SP 1 there is a dynamic data feature that can be used with ASP.NET to create a dynamic data scaffold, similar to that of what can be done with SubSonic and other ORM tools.  Allowing for input and output items to be created by the system.  Great new item.

Charting Components for Windows and Web

They also announced that free charting components are now available, allowing 2 and 3 dimensional charting for both Windows and Web Applications.  This can be downloaded via http://code.msdn.microsoft.com/mschart.  For those of us looking for charting functionaliy, this is an amazing product, free of charge, and from what I can tell, VERY full featured.  The download includes 200+ samples as well to get used to the process.

Markup Snippets in VS 2010

One of the big things announced with the VS 2010 demo was the ability to have snippets in the markup side of web forms, and they provided a very dramatic example of the exact time and keystroke savings, and I have to say it was AMAZING!

VS 2010 Interface Goodies

Many various VS 2010 goodies were discussed, including the ability to view two code files at once, that the new UI will be built on WPF, as well as full support for multiple monitors, actually being able to open items on other monitors!  All great additions for developers.

DotNetNuke Keynote

After the Microsoft keynote, Shaun Walker was up for the DotNetNuke Keynote.  Shaun started with a quick overview and sharing of stats regarding the progress that has been made over the past year.  Then the discussion turned to the future, and the key features and enhancements within DNN 5. 

Some of the key DNN 5.0 features that were highlighted were the use of jQuery to highlight the targeted pane when adding modules from the control panel.  The other big ticket items were the improvements in Page Management and the biggest one of all the ability to set Deny Permission and permissions on admin modules.  The discussion on DNN 5.0 ended with the announcement that DNN 5.0 RC 2 will be available for public review this afternoon, NOTE: NOT RECOMMENDED FOR PRODUCTION USE!!!!!!

After the discussion of DNN 5, Exact Target discussed a specific implementation of DNN.

Lastly we came to the "powerful" moment of the keynote.  The discussion of DotNetNuke Corporations Target Areas as well as a new offering.  I'll start with the key areas, as Identified by Shaun.

First, the "Vision" of DotNetNuke Corporation is "DotNetNuke will be the most deployed. most valuable and most cost effective web application platform in the world".  After this, he identified 4 areas of focus that the corporation will work on.

Stewardship

When discussing the Corporations role in stweardship, Shaun identified the following key points.

  • Nuture Growth
  • Encourage and Facilitate participation
  • Staty faithful to open source ideals

Strength

  • Improve financial and business strength
  • Developing strategic partnerships
  • Grow team with smart, talented people

Opportunity

  • Create more opportunity for vendors
  • Increase commercial ecosystem reach
  • Support customer success by innovation

Confidence

  • Improve support for business customers
  • Focus on superior product quality
  • Increase trust in company and platform

After discussing these values he progressed into "Step One" of the implementation plan for this.  Which was to re-brand the current DotNetNuke offering as "DotNetNuke Community Edition".  Then, create a new commercial offering called "DotNetNuke Professiona", which is going to benefit businesses by taking the base and adding the following.

  • Support
  • Stability
  • Security
  • Scalability

This could be done by creating a certified release, and unlimited support for that release.  Additional benefits will be coming as well, all on a yearly basis, as service by DotNetNuke corporation.  This will be made available in Q1 2009.  They say that doing this will result in more additions to the community edition.

This is all for my update for now, feel free to share feedback below!  I'll be posting more updates during the week.

 

 

Posted by Mitchel on Tuesday, November 11, 2008

DotNetNuke 4.9.0 Authentication Provider Install Error 

Recently working with a client of mine we discovered a bug in DotNetNuke 4.9.0 that has been reported to the DotNetNuke corporation, but will not be resoled until another relese is completed.  This bug affects the installation of ANY Authentication provider and is only an issue on DotNetNuke 4.9.0 installations.  The bug will manifest itself as a JavaScript error when trying to install the provider.

The fix is quite simple, while still logged in as host navigate to "Host" -> "Host Settings".  From here expand the "Other Settings" section and uncheck the box for "Enable AJAX".  Click "Update Settings" to apply the changes, then click "Restart Application" to ensure that the change has been made.

Now you can install your authentication provider.  Once the installation is complete, simply re-enable Ajax and everything is back to normal!  I hope this helps those of you looking to install authentication providers on 4.9.0.

Posted by Mitchel on Thursday, November 06, 2008

Are you ready for OpenForce? 

With OpenForce North America just a little over 3 days away I can feel the excitement building Bill Walker today announced the OpenForce Social event, which I think is going to really be a fun event, especially being ONLY for OpenForce attendees.  I know as of right now i have meetings scheduled with 5 people outside of the regular conference time.  If you are going, be sure to stop by booth 606 to say hello, or introduce yourself at the Social Event, or e-mail me and setup a time to meet if you want a bit more time.

Last year was a good event, but this year is really shaping up to top last years event by providing more community events and focus.  Post a comment if you are going, I'll be sure to try and find you to say hello as well!

For those not attending, I'll be trying to blog as much as I can during the course of the event!

Posted by Mitchel on Thursday, November 06, 2008

Professional DotNetNuke 5 Module Programming Update 

A while I provided an update and even asked for a bit of community input regarding the content to be included in my soon to be released book "Professional DotNetNuke 5 Module Programming".  I have to first of all thank all members of the community that provided feedback and suggestions as to what you wanted to see covered in the book.  I took all comments very seriously and did my best to ensure that the book can tailor to the needs of the greatest common denominator.

With that in mind today I reached what I consider to be a major milestone in the book writing process, the 100% submission mark.  As of this morning, the first draft of all chapters, appendix items, and code samples have been submitted.  It has been a very long process, in the works since early July if I recall correctly, but finally I can start to see a book that is going to be very helpful to the entire development community.  Now that the book's content has been defined, I thought I would share the final, at least for now, table of contents.  The following is a listing of chapters and appendix items included in the book.

Chapters

  1. Introduction to DotNetNuke and Resources
  2. Creating the Development Environment
  3. Underneath the Hood of DotNetNuke
  4. Guestbook Module Requirements
  5. Starting the Module Creation Process
  6. Investigating DotNetNuke Components
  7. Creating the Module Backend
  8. Creating the Localized Module Interface
  9. Packaging, Installing, and Debugging the Module
  10. Implementing Optional DotNetNuke Interfaces
  11. DotNetNuke Scheduled Tasks
  12. DotNetNuke User Controls
  13. Module Navigation and Communication
  14. Third-Party Components and Controls
  15. DotNetNuke, Modules, Ajax, and jQuery
  16. Creating DotNetNuke SKin Objects
  17. Creating DotNetNuke Authentication Providers
  18. DotNetNuke Development Best Practices

Appendix Items

  • Community Resources
  • Additional Web.config Options
  • Distributing Your Module
  • DotNetNuke Manifest (.dnn) File Explained
  • Working with User, Tab, Portal, and Module Classes

I'll be sure to post more updates both here and on my blog when the book gets closer to release!

Posted by Mitchel on Thursday, November 06, 2008

SQL Server RANK, ROW_NUMBER, and Partition 

Finally getting the opportunity to get back to SQL Server 2005 development, and coming to the conclusion that NOT all of my projects have to support SQL Server 2000 I started looking all of those "fun" new items that we all really wanted. This article is going to go through a scenario that demonstrates how to use Common Table Expressions, Rank() and Partition to get results for a very common data scenario. We will present this information with an introduction to the problem, scripts to setup the problem in a test environment, and lastly the implementation, with a review/summary at the end.

Read more...

Posted by Mitchel on Saturday, November 01, 2008

Proper Basepath Formatting in DNN Module Manifest 

After struggling with an issue when installing a custom authentication provider that no-one could seem to help with, I finally found the resolution.  I had a <basepath>desktopmodules/myfolder</basepath> declaration inside the script area.....well DNN packages need the /'s to be \'s.

After asking around for almost 2 weeks, that was the end fix to a long running error, so I thought I'd put this out there as a helpful reminder for all of us!  The good news, a new version of my Custom Authentication Provider will be released now!  :)

Posted by Mitchel on Friday, October 31, 2008
An error has occurred.
Error: Mitchel Sellers' DotNetNuke, .NET, and Other Topics Blog is currently unavailable.

Disclaimer