DotNetNuke Developer Chris Hammond

DotNetNuke Core Team Member

News

Thanks for visiting my blog, you can find more about me at ChrisHammond.com or on my company's website at Engage Software.

Cool Sites

My domains

Projects

My DotNetNuke Daily Tips

So I’ve had a blog here on http://weblogs.asp.net/christoc/ for many years now, though my posting here has faded as of late I do occasionally blog a time or two here. In the past I’ve done a number of DotNetNuke Daily Tips, but that faded as well.

I’m reviving the daily tips, but not here on weblogs.asp.net, I’ve setup a new domain running DotNetNuke and the Engage: Publish module for my DNN blogging, you can check it out at http://www.dnndaily.com/ My goal is to get a post up nearly every business day, we’ll see how that holds up though ;) I’ve definitely got plenty to talk about, I just need to find the time each day to get it done.

I may come back to weblogs.asp.net occasionally but it will be far less frequent than things have faded to currently. Thanks to Microsoft and the guys at Telligent for running things here for so many years, but I find I like working with my own software better than working with Community Server nowadays so you’ll find me over there.

If you want to keep track of ALL my blog posting, including DotNetNuke, Car Racing, and random other things you can simply go to http://www.chrishammond.com/ where all my various blog posts are aggregated into one site.

Stay Classy

http://www.dnndaily.com/

Anyone still running this place? weblogs.asp.net

I’m getting a horrible amount of comment spam here on weblogs.asp.net lately. Anyone still maintaining this place? Anything you can do to beef up the spam filtering? I’m half tempted to turn off all comments on my blog posts and to quit using the site if things keep up as is! I would rather not do that, but it’s getting a tad ridiculous.

OpenForce is Coming! OpenForce is Coming! (v2009)

So really, it is just about here! I leave in just over 48 hours to head to Las Vegas for the third annual US OpenForce (DotNetNuke conference), once again being held at Mandalay Bay along with DevConnections.

If the previous two years were any sort of indicators this year is promising to be a good time! I’m excited about heading out to Vegas again, and getting to see all my DotNetNuke brethren. It’s going to be another busy week, registration and such on Monday, a keynote on Monday night. Conference Tuesday through Thursday, and then we (Engage Software) are once again providing post-conference DotNetNuke training.

I believe there’s still time to register for the event, as well as the post conference training. If you are registering for OpenForce last minute you can use this discount code for $200 off “Chammo”

Stay tuned to Twitter all week as those of us in attendance tweet about #OpenForce (though to be honest it might be hard to discern the OF posts for those who are there, and those who are trying to win the PowerDNN twitter contest). Perhaps we could get PowerDNN to use a different tag as they’ve generated a lot of buzz for their contest lately.

Anyways. Check out OpenForce if you get a chance! If you’re going to be in town early Monday. We’re having a little tweet up at Noon on Monday in the Mandalay Bay Lobby, we’ll meet up and then catch a cab (or multiple) over to In-N-Out Burger (if you haven’t had it before you are missing out, trust me).

follow me on twitter @christoc

Can you run DotNetNuke on Oracle?

A few days ago I was surfing through the forums on DotNetNuke.com and came across a post asking if you could run DotNetNuke on an Oracle database.

In short, yes you can. But why would you? This blog post will talk about that, and some of the reasons why I would never recommend that you use DotNetNuke on Oracle. (No offense intended to anyone who provides Oracle support for DNN, this is simply my personal opinion)

DotNetNuke is built with a provider model, what does that mean? It basically means that you can swap out functionality fairly easily. One of those providers is the database layer of the platform. DotNetNuke is built to run out of the box on Microsoft’s SQL Server, but there are other providers out there such as one for Oracle databases from a company called Acuiti Solutions.

Plugging in a data provider for Oracle will basically allow you to configure DotNetNuke to run on Oracle, bypassing the requirement for Microsoft’s SQL Server. Sometimes this is a business requirement, based on licensing concerns within an organization, sometimes it’s just a preference for people to stick with a database that they already know and love.

While I haven’t setup DNN to run on Oracle, it should be a fairly straightforward process, setup the database, setup the connection information, change the provider settings in the web.config, boom you’re done (maybe, like I said, I’ve never done it).

What now? Well, I imagine you go about installing DNN as you normally would, the difference being that it’s all setup on Oracle, instead of SQL Server. So you install, login, and start creating some pages. But you realize you need some custom functionality, so you look for a DotNetNuke Module to provide that functionality, perhaps it is one of the Core modules from the DNN project, then you are likely in luck as it looks like Acuiti provides you the required dataproviders for a lot of the core modules to interact with Oracle.

But what if you want to use a module from another vendor? Chances are that every one module out there written for DNN will NOT work with Oracle out of the box, not at least until you get an Oracle dataprovider for that module, and there in lies the catch to this whole idea. For each new module you want to use on your DotNetNuke install you will need to get an Oracle data provider, you are not likely to find that existing already so you will have to develop it yourself, or pay someone else to develop it. That will potentially increase your costs dramatically!

So, in short, you can use DotNetNuke on an Oracle database, but i wouldn’t encourage any of my customers to go down that route.

On a somewhat related note, just because you install DNN on a Microsoft SQL Server database doesn’t mean that all your modules must interact with MS SQL, you could easily write your own module that uses it’s own connection string and connects to an existing Oracle database somewhere to provide content and functionality from other business solutions. The provider model for DNN can be used to do this, or you could bypass the provider model and simply develop your custom module to talk to Oracle without the use of a provider.

Silverlight blogging? and a Microsoft Store in SoCal?

So I was talking to David Silverlight down in Miami Florida earlier this evening and he started asking me about blogging. I had to lead him towards the path of enlightenment (Windows Live Writer) as he was complaining that he completely lost the blog post he had just written. Once we got that squared away David got to posting.

So there are a couple of announcements from David’s blog post.

1. David Silverlight has started a new blog, Silverlight on Silverlight If you are interested in learning more about the application from the man it was named after check out the blog!

2. The even cooler thing though is information he has about the new Microsoft Store opening up in Mission Viejo on Thursday the 29th. If you have been under a rock lately you may have missed that Microsoft Opened up a store in Scottsdale, AZ last week in coordination with the Windows 7 launch, and now they are opening up another one.

I am excited to get to go to a Microsoft Store myself as I am sick of seeing all the Apple stores in the malls these days! I really wanted to walk into the local Apple store when I was at the mall with my wife today and yell “You guys should all go buy Windows 7”, but I refrained from doing so. I am planning on going to the Scottsdale Microsoft Store while we are down in Tucson visiting my parents for the Holidays.

If you are in SoCal head over to The Shops at Mission Viejo to check it out! You can also “maybe” get some invitation only perks by emailing David! Be sure to check out his blog post for info on that.

If a reader wants to send me the goody bag they receive from the store opening I’ll send you a signed copy of my book, DotNetNuke 5: A User’s Guide.

DotNetNuke Documentation

One of the biggest complaints about DotNetNuke, is, and always has been, the lack of documentation. I’ve been trying to help correct that problem for a while now. A year ago I started writing a book that was Published in June, DotNetNuke 5: A User’s Guide, I think it turned out to be a good resource for people looking to learn how to setup and use DNN to build a website.

The book however can’t cover everything about DNN, and wasn’t intended too. There are a number of other books out there for DNN, they all provide good resources as well, but people still want something more, something electronic, as a resource for documentation.

A few months ago (I can’t believe how time flies, I started this back in June or July I think) I started putting together a new project to try and tackle the DNN Documentation problem. I would like to introduce DotNetNukeDocs.com. What? Someone setup ANOTHER wiki project to try and document DNN? Yes, yes I did, but let me tell you why I think this project is different.

First off, I’m the project leader for the DotNetNuke Wiki module, and have been for a number of years. I’ve always had a problem with the Wiki module, I never really had anywhere to use it besides some documentation for our products at Engage. Unfortunately because of this lack of usage I haven’t done much with the Wiki module over the years, releases have been slacking, and features have been lacking. I figured out that every DNN Module project leader should have a direct need for their module, and I’ve come up with that need. DotNetNukeDocs.com has caused me to make quite a few changes to the Wiki module over the past few months, and right now that module is just waiting to be passed through the review process and become an official release, version 04.02.00.

Oliver Hine and I have been trying to brain dump what we can about DNN into the DNNDocs website to start building up content. We haven’t put as much information as we would like to in there, but I think the site is starting to come along, and in order for it to continue growing I’m opening it up to the world. If you have information about DotNetNuke that you would like to put into the DotNetNuke Documentation Wiki please do! Get Registered on the website, once you do that I’ll add you to the contributors roll and you can start working on content. We do have a few rules (subject to change) that I would suggest reading before you submit your content.

Future plans for the site include some additional tracking modules to provide stats of who provides the most information into the Wiki, in return for this providing links back to those contributor’s websites, link love at it’s finest. I will also be adding more features to the Wiki module over the next few months to help solidify that module as a great solution for DNN Wikis, right now it definitely lacks some much needed features.

Stay tuned as we build up what I hope becomes a great resource for DotNetNuke Documentation, if you have any questions please let me know!

-Chris Hammond

DotNetNuke 5.1.3 Released

So DotNetNuke 5.1.3 was just released, I’ve already upgraded two of my sites without trouble and will be upgrading more of them here in a few minutes. This appears to be a simple stability release fixing some of the bugs in the previous release(s).

Check out Joe’s post on the release as well

You can get the latest version of DotNetNuke from www.dotnetnuke.com

Here’s a quick overview of what’s changed/fixed (from the Change Log)

  • Admin / Host Functions    Bug    DNN-10778    Portal Alias input field does not allow port number in alias
  • Admin / Host Functions    Bug    DNN-10675    GetRoleGroupByName Signature Mismatch between Method and Stored Procedure
  • Admin / Host Functions    Bug    DNN-10794    Encrypting/Decrypting a URL string doesn't work
  • Admin / Host Functions    Bug    DNN-10795    Cannot create a role with a period in the name
  • Admin / Host Functions    Bug    DNN-10707    Unable to edit SiteSettings
  • Friendly / Standard URLs    Bug    DNN-10796    URL control create relative URLs which breaks newsletters
  • Admin / Host Functions    Bug    DNN-10812    LOGO skin object behavior
  • RSS    Bug    DNN-10742    RSS
  • Admin / Host Functions    Bug    DNN-10741    Sitemaps for child portals
  • Admin / Host Functions    Bug    DNN-10733    Missing setter in TabInfo
  • Admin / Host Functions    Bug    DNN-10811    HTML Module displaying unpublished content
  • Admin / Host Functions    Bug    DNN-10746    Bug in Languages module
  • Skinning    Bug    DNN-10660    No manifest file is added to skin zip file
  • Admin / Host Functions    Bug    DNN-10661    Cant add child or parent portals if I use languages
  • General    Bug    DNN-10596    Multiple rows is added to WebServers table
  • Installation / Upgrade    Bug    DNN-10665    Install package is deleted even if its not installed.
  • Security    Bug    DNN-10641    Adjust Folder Permission Check in URLControl
  • Core Modules    Bug    DNN-10656    Problem with Console module
  • File Manager    Bug    DNN-10536    Host Filemanager Throws Exception on file delete.
  • Installation / Upgrade    Bug    DNN-10582    cannot install MinimalExtropy 1.0.4 after upgrade from 4.9.x to 5.1.1
  • General    Bug    DNN-10532    GetPortalSettings is broken without httpContext
  • General    Bug    DNN-10657    ProfileProperties are loaded twice and wrong?
  • General    Bug    DNN-10658    TokenReplace: [Membership:CreatedOnDate] doesn't work
  • General    Bug    DNN-10520    UserInfo.Roles is Nothing for unregistered users
  • Installation / Upgrade    Bug    DNN-10771    Parameter Count Does Not Match Parameter Value On First Access of Newly Installed Portal
  • Admin / Host Functions    Bug    DNN-10579    html module - buttons missing - inappropriate text
  • General    Bug    DNN-10589    Import Module Definitions
  • Skinning    Bug    DNN-10655    Search Skin Object does not always add skinpath to SRC
  • Admin / Host Functions    Bug    DNN-10777    Skin install lockout after installing skin as Host and ADmin
  • UI / Usability    Bug    DNN-10728    List of Premium sites is unusable, not wide enough
  • Localization / ML    Bug    DNN-10762    Can't use absolute file references for resource file
  • Admin / Host Functions    Bug    DNN-10717    Upgrade Error: Cannot insert duplicate key row in object 'dbo.Packages' with unique index 'IX_Packages'
  • Admin / Host Functions    Bug    DNN-10756    Portal delete examines hidden system directories
  • Skinning    Bug    DNN-10703    Error in /admin/printmodule.ascx.vb
  • Admin / Host Functions    Bug    DNN-10730    Orphaned Skin/Container Rows in db After Portal Delete (Manifests as GetAboutTooltip Error on Host > Extensions)
  • Admin / Host Functions    Enhancement    DNN-10805    Add Subject to emails from Event Viewer
  • Admin / Host Functions    Enhancement    DNN-10813    Send LogViewers logs as an attachment
  • Localization / ML    Enhancement    DNN-10597    Add SystemMessage support for Dictionary objects

New Module Versions included

  • HTML 05.01.04
  • Form and Lists 05.00.03
  • Forums 04.05.03

New Providers included

  • AspNetMembershipProvider 05.01.03
  • DNNMembershipProvider 05.01.03
  • FileBasedCachingProvider 05.01.03

You can also check out what is currently on the roadmap for 5.2! http://support.dotnetnuke.com/project/RoadMap.aspx?PROJID=2

OpenForce Conference

Did you know about the DotNetNuke Conference coming up soon? I’ll be speaking there again, I hope to see some of the blog readers out there! This is a must attend conference if you want to learn about DNN and interact with key players in the DNN world, it is a great time, I promise you that!

DotNetNuke OpenForce '09 Connections

Post Conference Workshop

Once again Cuong Dang (my coworker) and I will be teaching a post OpenForce workshop there in Las Vegas. This year’s workshop is “Build a custom DotNetNuke site in 1 day” in which we will break the class up into groups, designers and developers, each group implementing specific items in the morning, coming back together in the afternoon to put it all together. Last year’s workshop was a great success and we hope to have an even better time this year! For more info check out our Workshop page.

Denver DotNetNuke meetings starting up!

Just a quick reminder about the Denver Visual Studio User Group meeting 9/28, I will be presenting about DotNetNuke, basically providing an overview to the group. The meeting starts at 6pm, though there is food and other activity starting at 5pm. For more information check out http://www.denvervisualstudio.net/

We also hope to have the first Denver DotNetNuke User Group meeting in October, hopefully at the presentation on 9/28 we'll have an announcement about when/where the first DNN meeting will be. If you can't attend the visual studio group check back here http://denver.dnnug.com/ for information about the October meeting when it is available.

Please forward this on to anyone else you know who may be interested in a Denver DotNetNuke group, have them register on the website for future notifications.

-Chris

http://denver.dnnug.com/

DotNetNuke Upgrade error: Cannot register or retrieve components until ComponentFactory.Container is set

So I was doing some testing of the DotNetNuke 5.1.2 release that came out last week, and ran into a little issue, with some investigation I found it wasn’t a DNN issue, but an issue with security on the operating system. Here’s the error message I found

System.InvalidOperationException: Cannot register or retrieve components until ComponentFactory.Container is set

At first I was like WTF is this, can’t say I have ever seen or heard of this error before. I started looking around and came across a forum post that mentioned the same error. Luckily for me the last post in the thread pointed out the issue.

“My problem was that I did not unzip the .VB files due to auto security settings . Right click on .zip file properties and remove restrictions and I was all rocking..  
Don't know why I never had run into this before.. odd indeed :). Anyhow. All fine now.. Thanks!”

That wasn’t quite clear as to the resolution, but it was enough to get me going in the right direction. The server the sites are running on is Windows Server 2003, I noticed in the folder of my extracted files that all the VB files were missing, meaning that the OS had failed to extract them. To correct this right click on the ZIP file and choose properties, and look for the UNBLOCK option at the bottom of the properties window.

image

If you choose that option, then extract the contents of the file you should be able to upgrade DNN successfully. I’m not sure what Windows Update provided this new security, but I imagine that is the cause as I’ve tested this on two servers and never seen the issue before today.

Hopefully this post helps resolve the issue for anyone else who runs into it.

St. Louis Day of .Net In Review, plus other travel info

So I spent the past four days in St. Louis, my home of fourteen years, well, it was my home of fourteen years, until about a month ago when we moved to Denver. I came to town to speak at the St. Louis Day of .Net event on 8/28-29.

I got into town on Wednesday and went over to the house we lived in to clean out a few things that we had left behind in the garage. Mainly a broken engine block for the 240z and some bookshelves. I had posted on craigslist the day before that I was giving any of this stuff away, and told people to be there around 5pm, well when I got there, there was one vehicle waiting, a lady coming to check out the bookshelves. Unfortunately they weren’t going to work for her, not fitting in her car, so I was without hope for anyone to take those.

I managed to get a hold of a guy wanting the engine block for scrap metal, and he came over and picked that up. From there I visited with my brother-in-law, sister-in-law and nieces for the evening and then stayed at my buddy Nick’s house.

Thursday was an eventful day spent at the Engage Software offices in Des Peres, with an announcement from the DotNetNuke Corporation of the acquisition of Snowcovered.com, the leading marketplace for DNN extensions.

I spent a little time prepping for my DNN Jumpstart sessions for the Day of DotNet event, worked on a few client projects, lined up some DotNetNuke Training later in September, and then headed over to the hotel/casino for the speaker’s dinner Thursday evening.

Friday morning started out very early, my DotNetNuke Jumpstart sessions were scheduled for Fri/Sat at 7:30am, so I headed over to the casino around 6am Friday morning to help get things situated and then get setup for my presentation. The session went well, though it did start late because the registration for the event was still trying to process people.

I setup my office phone to forward to my cell phone while I was gone, and not long after my presentation it rang, client work took up the rest of the morning from the speaker’s room at the conference. Friday afternoon and Saturday I spent time jumping into various sessions, talking to past and current clients who were attending the event, and also talking with some of the other speakers at the event.

The event ran very smoothly, I heard more than a few people say what an excellent event it was, and more than worth the $100 price of admission. The Ameristar was top notch, and always had food and drinks available.

If you get a chance I highly recommend attending the event next year, I’m sure the planning for it will begin here shortly! I want to thank the organizers for running a great event, and also the speakers in the DotNetNuke topics, thanks for coming together so quickly before the event to put together a good showing!

Saturday evening my buddy Nick and I headed off to tear down the bookshelves in the garage, and disposed of those, grabbed some dinner from my favorite, CB&W, Crazy Bowls & Wraps, and then later on a frozen custard from Ted Drewe’s.

Sunday morning I got up and headed over to the SCCA Autocross, it was only the second one I attended this year, mainly I just wanted to go over and see some people I didn’t get to say good bye to before we left St. Louis in July. From there I headed off to the airport. I got to the airport at 10:10am, for what I thought was a 11:45 flight, but while trying to print my boarding passes I was presented with two change of flight choices. I couldn’t figure out why until I saw the “you’re too late to check in for your flight”, apparently my flight was at 10:20am!

I can’t say I’ve ever done that before, missed a flight completely. Fortunately there was another flight at 11:50a to Chicago, and now I’m sitting here in Ohare waiting for my flight to Denver, which should put me back in Colorado around 5pm this evening Mountain time. I had hoped to spend more time at home, but it looks like it just wasn’t in the cards. I’m off to Pittsburgh Monday afternoon for a few days of interaction with a client teaching them how to do module development against DotNetNuke Professional.

More Posts Next page »