Tagged Posts

I'm happy to announce that I've been selected to speak at the OpenForce07 DotNetNuke conference in Las Vegas during this year's fall DevConnections. DevConnections looks to be one of the larger conferences this year now that the PDC has been cancelled for this year. I'll be presenting on "Portal Administration Best Practices". I look forward to sharing what I've learned over the last 4+ years working with DNN in corporate and noncorporate environments, I've worked on some of the largest DNN implementations out there and hope to be able to share some of my experiences with those projects. Being selected to present at the first DotNetNuke conference is a great honor. I know quite a few other guys from my company (www.engagesoftware.com) will be in attendance as well. My wife will also be coming out to Vegas, as OpenForce 07 is the 5th though the 8th of November, and her birthday is on the 4th, she'd kill me if I left her home. I've already got plans to rent a Harley out there for a day with another Core Team Member, and may setup a few rounds of golf while out there as well. On a sad note, I had also hoped to make it to the SDC in the Netherlands in September, but received notification this morning that I wasn't accepted as a speaker for that conference. I guess that means I can spend time in September prepping for the SCCA Solo Nationals, assuming I have my car built by then. See you all in Vegas! Stay tuned for more OpenForce 07 info as I have...
  Last week we were able to release the long awaited new release of Engage: Publish with all new bells and whistles.Engage: Publish is an article management system / workflow engine for your DotNetNuke portal. It provides advanced content management capabilities with workflow - approval, content categorization and related articles.  With Engage: Publish you’ll never have to worry about clicking the update button in DotNetNuke.  Your content history is safe and sound.  Plus, if you have multiple authors of content, you’ll be secure knowing that the content created by your authors will not be “live” until an administrator approves.  All this plus several different ways of managing content categories and displays you'll wonder how you ever lived without Publish.A demo of Engage: Publish can be found at https://demo.engagemodules.com and you can find tutorials, videos, and more on the Publish Wiki page.Features Proven Content Approval Workflow Multiple Levels of Category Creation Article Versioning Ajax-Enabled Ratings and Comments Tuned for Better Search Engine Optimization Multiple relationships, articles can be related to multiple categories, as well as other articles. Categories can be related to other categories in a parent/child hierarchy Printer friendly support RSS support Advanced searching within categories Successfully passed the DotNetNuke Review Program Many more  Engage: Publish 4.2 requires DotNetNuke 4.5.1, the ASP.NET Ajax Toolkit, and the ASP.NET Ajax Framework. Engage: Publish has been through the DotNetNuke Module Review programEngage: Publish is available for purchase from the DotNetNuke Marketplace, Snowcovered, and EngageModules.com. Posted from...
A few months back there was a game of blog TAG going on with .Net related weblogs, I'm still bitter no one tagged me! So I'm starting up my own game of tag, this time it's DotNetNuke related tagging! So here it goes, the first in the game, and at the bottom of this post I'll list off 3 other DNN'rs that I'll "tag" and they should blog about their DNN history, and then tag 3 more DNN'rs each. So here goes my DotNetNuke History! I haven't reminisced in a while, I was trying to think of something interesting to blog about tonight, and figured I'd do a little community work! So here it goes, feel free to add your own "Story" when you get tagged, but first you must read mine! Back in the day I was working for a local company here in St. Louis, Swank Motion Pictures, www.swank.com. Don't let the name fool you, it's not that kind of company, it is a great family owned business here in St. Louis. I worked there for almost 3 years, that time around, I had previously worked there, twice. Back in 2002 I was working on Classic ASP apps, nothing too fancy, and without hardly any training whatsoever. In December of 2002 me and my boss took an Atomic.Net class with a training company in town called Quilogy, it was a week long class, and after the first day I was at home playing around with VisualStudio.net in the evenings. One of the first things I did while playing with .Net was to download the IBuySpy portal and store packages. I was actually interested in the two IBS packages because I was also a partner in a small racing business at the time, www.soloperformance.com, and I was interested in setting up a store on this newly learned wonder called .Net. Over the next two months or two I pieced together an application in which I merged the IBS Store and Portal into a single app, most of the work on this app was actually done while I was in San Francisco at VSLive 2003 in February. Sometime in Early January of 2003 I started to hear about this new application, the IBuySpy workshop, but for the life of me I couldn't figure out what it actually was, as I didn't see the original announcement for it in the forums. I saw forum posts referencing something called workshop but wasn't quite clear on what it was. It was probably a month or so before I figured out what the IBSW actually was, and started to try to use it. By Summer of 2003 I was using what was now called DotNetNuke on a few of the websites I ran for hobby, www.solo2.org at the time was one of the most prominent, but there were quite a few others as well. Sometime in the spring of 2003 I started to convert the application I had built using IBS Portal/Store into a DNN application. Considering how new I was to DNN, and actually how new DNN was to everyone, I was one of those guys who developed an application by hacking into the "core" code. Consider that my lesson learned! When I went to upgrade to DNN 2.* later, I learned just how painful it is to go from a hacked version of DNN to a newer version, and I've done my best since then to not hack into the core. By spring of 2004 I was actively posting in the DNN forum on asp.net, and also trying to assist with a project at the time known as ASP.NET Forums 2, I was hoping to help DNN and the Forums project merge together, or at least both use the same membership so that I could use them together to power SOLO2.ORG. In April of 2004 I got an email from my current boss. He saw some of my posts on the ASP.Net forums2 site and noticed I was in St. Louis, a few weeks later I was working for Engage Software in Des Peres, Missouri, www.engagesoftware.net. At the time Engage was starting to use DotNetNuke, and also a little bit of Rainbow portal for various client projects. I quickly came in and squashed all use of Rainbow portal, and we went complete with DotNetNuke for our portal projects. In July of 2004 I was informed I was being considered for membership on the DotNetNuke core team. This was a tremendous honor for ...
If you're looking for DotNetNuke Specialists be sure to check out Engage Software! We specialize in everything DotNetNuke. Posted from...
If you're looking for DotNetNuke support there are quite a few options out there.First, you can use the forums at DotNetNuke.com, but as heavily trafficed as those forums are some posts get lost in the rush.Second, checkout the Help page on DotNetNuke.com (thanks for M. Washington for pointing this out in the forums)Lastly, if you need some one on one support you can contact us at www.engagemodules.com either through the forums or contact forms, we offer paid support options for all ranges of business requirements. Posted from...
I've had too many clients come to me and ask how they can search through all of their Text/HTML modules on a portal to look for links that point to their development URL rather than their production URL. Instead of telling them they had to manually look at every page to find all instances of these invalid links I created a new module, available from www.engagemodules.comEngage: F3 allows you to quickly and easily search through all Text/HTML modules installed on a site, generate a report of links found, and directly links to the edit control for each of those modules to allow you to correct the invalid links.Above and beyond the use case where you are searching for a URL, you can use Engage: F3 to search for any string within any Text/HTML module on your site.Future enhancements will include the ability to search through content of other modules, such as our Engage: Publish module, as well as the ability to search and replace all instances of a string without having to manually edit each entry.Best of all Engage: F3 is free! You can get it now from www.engagemodules.com, you can also download the C# Source Code for the module. Posted from...
If you're looking for a great cause, check out the recent developments over at the Children's Discovery Institute website, located at www.childrensdiscovery.org This site recently launched on the DotNetNuke Platform, utilizing the Engage: Publish module for some of the Content Management tasks that DNN doesn't provide. We've had a few people around the office hard at work getting this site up and running over the last few months. It's always good to see a project of this magnitude, and importance launch. The design was created by the great folks over at https://cfx-inc.com/, if you've never seen their office, you have to check it out. They're in an old Catholic Church. Posted from...

Michael Washington has put out a new module developers guide for DotNetNuke, he's got a link in his latest blog to the documentation page on DotNetNuke.com. Check it out, Michael has been hard at work on these two documents (parts 1 and 2) over the past few months, and they are great resources for getting familiar with DNN development. Posted from...

I gave a presentation last night to the C# User's Group here in St. Louis on how to get started with C# module development in DotNetNuke. I said I'd put together a blog post with some resources, so here it is. How to develop and debug DNN with Windows Vista How to Upgrade a DotNetNuke Instance Using the DNN WAP Module DotNetNuke 4 Module Development Guide from Michael Washington Download DotNetNuke from DotNetNuke.com Here are a few links to sites running on the DotNetNuke platform (The first three sites use versions of the Engage Publish module) SeaPak.com St. Louis Children's...
My good buddy Chad Hobson has created his first meaningful technical blog post to help the masses. He had some issues when upgrading to Asp.Net Ajax Beta 2 for his AutoCompleteExtender controls and took the time to create a helpful post on how to make those controls work. Be sure to drop Chad a comment on his blog as well, tell him how cool he is in that mean looking photo. Posted from...
Last week I got back from Nashville and posted about DotNetNuke training. Today Brian and I got our training information in order and posted on up the Engage Software website. So if you're looking for DotNetNuke Training be sure to check out what we have to offer. Posted from...
If you need to build yourself a membership provider in DotNetNuke, to perhaps link up to an external membership store, check out this article from one of my Co-workers.https://www.engagesoftware.net/Blog/tabid/297/EntryID/41/Default.aspx  Posted from...
I got back from Nashville this evening. I took a flight down there Monday night to provide a couple of days of DotNetNuke training to one of our new clients down there. Overall it was a great trip. The client is great, staff was a blast, we had fun, and hopefully they learned a bit too! Tennessee is such a beautiful state. I love travelling down there.The more training I do with DotNetNuke the more I enjoy it. If you're looking for DotNetNuke training then be sure to check us out at www.engagesoftware.net I'd love to come visit your company and help you get ramped up on DotNetNuke.Here's a photo from my flight home, horrible camera phone pic :D...
Welcome to another installment of the DotNetNuke Tips to help simplify your life. This is a simple one, but can save you a TON of headache and troubleshooting.I was helping a coworker out today, trying to track down a gremlin for a new development install on Windows XP SP2. The coworker, we'll call Whistle, was having troubles getting his new environment up and running. The site wouldn't run thus it wouldn't create the proper database tables, stored procs and related data.After a few minutes of beating his head on the desk I sat down to assist. He had completed the usual setup process, created a database, extracted the ZIP file, modified the web.config file for the newly created database, and of course, he set the proper permissions on the folders.But for some reason the site wouldn't load in IE, repeating errors that DNN was unable to modify the web.config file. After his 10 minutes, and myself spending another 5 minutes trying to get it running we ran across the most simplest of issues, that I'm sure many of you have also faced, as have I a few times as well.When you setup the permissions on your folders, if you're on a domain, and setting up an IIS5 machine (Win2k or XP) be sure to change the "LOCATION" of the user to be the local machine and not the domain ASPNET user!Such a simple thing, yet very easy to miss and hard to track down. Stay tuned for more DotNetNuke tips, brought to you by Chris Hammond from Engage Software. Posted from...
Here's a blog entry from Shaun Walker discussing DNN having any sort of chance at the Packt Open Source Content Management System award.Hopefully we can drum up enough nominations to show that DNN is a force to be reconned with, even in the open source world where  "MS IS BAD"!If you want to nominate DNN be sure to visit the Nominations page!https://www.packtpub.com/nominations Posted from...
 Since I've yet to have time daily to post a new DotNetNuke tip I'm renaming my feature to just be DotNetNuke tips! I'll continue to post them when I have the time to do so.While I was off meeting with a client DotNetNuke dropped a new release! Go out and get it!If you're running any of the recent releases 3.3.* or 4.3.* it's highly recommended you upgrade to 4.3.4, there were some security issues found and resolved with those releases.More DotNetNuke Tips next week. Posted from...
I've been doing some testing on a recent DNN module and noticed some issues that I think a 301 Redirect will handle. Doing some quick googling I came up with the following topics to setup 301 redirects in asp.net. https://www.wwwcoder.com/main/parentid/263/site/2668/68/default.aspx https://scottwater.com/blog/archive/2004/04/14/PermanentRedirects.aspx I'll be building this into the module tomorrow and will report back on the results in the next couple of weeks. Currently I've got a site with close 100 pages of content, but google is only seeing 6 of those pages. I'm thinking if I implement 301 redirects for a link tracker I'm using this may help. Time will...

DotNetNuke Daily Tip for 7/19/2006 DotNetNuke comes with a lot of functionality out of the box that people don't even know exists. Once of those items that has been overlooked by many with the latest releases of DotNetNuke is the DNNMenu, part of the ClientAPI Framework that Jon Henning has worked on. The SolPartMenu is by far the most used menu for DotNetNuke, it's been part of DNN since the early days, and really can be quite powerful in its implementation. It's also been a big beef with a lot of skin designers as getting solpartmenu working just right can be a bit tricky, and torturous at times. I'm actually a fan of the SolPartMenu, but for today's tip I want to point you to a few resources on the DNNMenu. I recently, as in last night, implemented the DNNMenu for my wedding site I've been putting together the past few days, you can see it implemented at www.horsesandcars.com. The DNNMenu was created by Jon Henning, the same developer of the Original SolPartMenu. Here's a quote from Jon “A few people asked me, the author of the Solution Partners Hierarchical Menu Control, why I would develop a competing menu control to my own.  The answer is simple.  The SolpartMenu is old and carries a lot of baggage with its almost 4 years worth of backwards compatibility.  It has been a goal for v2 of the solpartmenu to abstract all of the common logic not specific to the menu into separate js files that could be reused by other controls and applications.  This is exactly what the ClientAPI is; an abstraction of logic like positioning, DOM access, XML, etc.  The script for the menu should contain only code for the menu, thus making it easier to maintain and enhance.  So in essence, the DNNMenu is in a lot of ways the solpartmenu v2.0.”  And some of the features for DNNMenuKeyboard NavigationThe menu can now receives focus as the user tabs through the controls on the page.  Once it has focus, you can use the arrow keys to navigate its structure.  Pressing enter will invoke the menu item's clickaction.  Populate On DemandThe DNNMenu will support POD in the same manner as the DNNTree control.  This provide a nice performance boost for those of you concerned with page sizes.  I even had time to make the module actions menu support POD.  See chart below for comparisons between each option and other menus. Mouse In DelayOne of the features of the Solpart menu that was continually asked for was a mouse-in delay.  This delay allows for people who are navigating to the sub-menus and accidentally move off the parent some grace period to get it right.  The DNNMenu defaults this value to a quarter of a second (.25).  I believe this is acceptable, however, for users used to the fast response times of other menus, it may look like the DNNMenu is a little sluggish.  Note:  At this time there is no way of configuring this property in the skin. No Hardcoded MarkupProbably the biggest regret I had in the original design of the Solpart menu was the hardcoding of certain tags in the code.  This included the NOWRAP attribute added to the menu items, the use of spacer.gif and   to obtain the correct spacing, and the worst of all, the hardcoding of the border around the menu items when hovering.  None of this hardcoding is present in the DNNMenu.  Note:  the one exception is the spacer.gif that is used to do the iframe trick.  I need a url to point the IFrame to in order to not get the security error when the site uses SSL. Option to Remove All Use of TablesThe menu supports a property that will completely remove its use of tables.  Hopefully this will appease those developers and skinners who think that tableless designs are the way to go.  I originally had the UseTables property default to False, but since it was too difficult to keep things lined up across browsers without adding some...

After a long haitus over the past few weeks the DotNetNuke Daily Tips are back! Sometimes you want to put a skinobject in your DotNetNuke Skins that you need to act like a module. Inheriting from PortalModuleBase instead of SkinObjectBase. SkinObjects though don't get loaded like regular modules and due to that you may run into issues where you can't easily access the TabId of the existing page. Here's how to get that information easily.Dim objPortalModule As PortalModuleBase = DotNetNuke.UI.Containers.Container.GetPortalModuleBase(Me)thisTabId = objPortalModule.TabIdPut the above code in your skinobject code and you will now have a PortalModuleBase object that you can use to easily access some of the basic DNN properties you're used to using from PortalModuleBase.The above is VB code, any self respecting C# developer should be able to figure out the appropriate C# code. If not, email me and I'll bill you at my hourly rate ;)Stay tuned for another DotNetNuke Daily Tip coming tomorrow! Posted from...

DotNetNuke Daily Tip for 6/30/2006 Ever need to make skin file changes and you don't want to go through the process of repackaging your ZIP file and uploading the file to your site? Here's a quick way to make skin file changes without having to go through the package and upload process. If you develop your skins with the HTML files you can edit the HTML files on the server, they should be located in the /portals/##PORTALID##/skins/##SKINNAME##/ folder. You can directly edit the HTML files. Once you've made these changes go to the admin/skins menu and reparse your skin package. If you develop your skins using the ASCX file method any changes you make to the ASCX files will be made immediately to the skins on your site so you don't have to reparse the skin package. Stay tuned for another DotNetNuke Daily Tip coming next week! Posted from...

Check out the blog posting from Charles. There's a new module upgrade wizard in the next release of DNN to allow converting from VS2003 projects to VS2005 projects. "We are now pleased to announce that as part of the next release of the 4.x code-base (4.3), we will be providing a "Module Upgrade Wizard", to enable Module developers to quickly port their v3.x modules to the new design environment." I'll be playing with this over the next few days as I work on upgrading our AMS module to VS2005. Posted from...
Brian's been updating our site a bit and added a DotNetNuke Development section to the website. He also posted my mug up there for a little flare! Posted from...
RSS URL

Chris Hammond

Chris Hammond is a father, husband, leader, software developer, photographer and car guy. Chris focuses on the latest in technology including artificial intelligence (AI) and has spent decades becoming an expert in ASP.NET and DotNetNuke (DNN) development. You will find a variety of posts relating to those topics here on the website. For more information check out the about Chris Hammond page.

Find me on Twitter, GitHub and LinkedIn.