Chris Hammond

DotNetNuke Upgrade and Consulting specialist

News

Thanks for visiting my blog, you can find more about me at ChrisHammond.com. I specialize in all things DotNetNuke

Cool Sites

My domains

Projects

Archives

May 2011 - Posts

A new free video series, DotNetNuke Module Development

If you haven’t checked out the DotNetNuke Video Library lately, you really should, there is a lot of great content in there. I just uploaded 5 new videos as part of a new series that I am recording.

Beginning DotNetNuke Module Development, creating a Task Manager module for DNN. This will be a series of videos that get created over the next couple of months revolving around the creation of an open source Task Manager module. The module will be part of the DotNetNuke Forge, and the source code will be hosted on Codeplex.com.

The first videos show you how to get up and running with a new project, creating the project in Visual Studio using a template, how to install the module, and how to create the module in the Forge and how to use Codeplex for source control. The next round of videos (coming in the next couple of weeks) will get you into the development aspects of DotNetNuke.

You can check out the first 5 videos now in the Video Library, or using these direct links.

  1. Task Manager Series Introduction
  2. Creating the Task Manager Project
  3. Task Manager solution overview and installation
  4. Creating a project in the DotNetNuke Forge
  5. Adding your source code to TFS on Codeplex
  6. More coming soon!

For a continually updated list of the videos in the series, check out the Module Development Wiki page which has the videos listed, and will be updated as new videos are added.

Wrapping up the Community Server to DotNetNuke Blog Series, next week!

I had hoped to finish up my Community Server to DotNetNuke blog series tonight, but I realized there is just too much less to cover!

I’m working tonight to get the HTTPModule that I created to handle the URL mapping from CommunityServer to DotNetNuke URLs into codeplex. I haven’t touched the code in a few months, and for simplicity sake I had just created using my standard DotNetNuke Module Template, which contains way more information than is necessary for a simple HTTPModule. I’m ripping out the module code and working on cleaning up the project/manifest so it will install properly as just an HTTPModule.

In combination of this module, and the URLMaster Friendly URL Provider from www.ifinity.com.au I have both of my sites that were converted from Community server, redirecting to DotNetNuke URLs. I would highly recommend checking out URL Master as a solution for all your DotNetNuke websites, not just conversion sites. I’ll have a separate blog post with more details on what I configured in URLMaster to make this all work.

We’re moving over the next 4-5 days, so it is unlikely that I will get the entire blog series finished up, but hopefully I can do so in the next week or so.

In the mean time check out the older posts.

Previous Posts: 
Part 1: An Introduction 
Part 2: DotNetNuke Installation 
Part 3: Converting users from CommunityServer to DotNetNuke 
Part 4: Getting the conversion tables ready for CS  to DNN 
Part 5: Moving Forum threads from CommunityServer to DotNetNuke
Part 6, Community Server to DotNetNuke Moving Forum replies and attachments
Part 7: CommunityServer to DotNetNuke handling URLs

Part 6, Community Server to DotNetNuke Moving Forum replies and attachments

This is the sixth post in a series of blog posts about converting from CommunityServer to DotNetNuke. It has been far too long since Part 5, apologies for that!

A brief background: I had a number of websites running on CommunityServer 2.1, I decided it was finally time to ditch CommunityServer due to the change in their licensing model and pricing that made it not good for the small guy. This series of blog posts is about how to convert your CommunityServer based sites to DotNetNuke.

Previous Posts: 
Part 1: An Introduction 
Part 2: DotNetNuke Installation 
Part 3: Converting users from CommunityServer to DotNetNuke 
Part 4: Getting the conversion tables ready for CS  to DNN 
Part 5: Moving Forum threads from CommunityServer to DotNetNuke
Part 6, Community Server to DotNetNuke Moving Forum replies and attachments
Part 7: CommunityServer to DotNetNuke handling URLs

Converting Forum replies

If you haven’t already, I would encourage you to check out the previous 5 blog posts, otherwise this post may have you lost! You can download the scripts for this process over at http://cstodnn.codeplex.com/ check out the source tab for all the latest as I haven’t done a new release lately, but I will after this blog series is done.

This blog post covers the 3rd SQL Script (CsToDNN_3.sql), as with all the scripts you should do a search and replace on a few terms (noted at the top of the file). The first thing we’ll do is go out and get the number of “threads” from the forums that we need to pull replies in for. Then starting with the first post that isn’t a new thread, meaning the first reply, we grab all the information for that reply and add it into the DNN Forum database.

Before grabbing the next reply we update the cs_forums_topics table, which houses the original CommunityServer ID and the new DNN Forum ID. This information will get used later so we can access the old CS urls and redirect them to DNN urls.

On a large forum this script will likely take the longest. I have seen anywhere from 30 minutes to 3-4 hours.

Grabbing the Forum Attachments

The next script is a quick one that I threw in after actually running the process on a website after some users complained that the attachments were missing. CsToDNN_4.sql is used to bring over the forum attachments into the DNN Forums.

The script is pretty simple, but you should only run it after you copy the storage folder from the /forums/ folder on your CommunityServer installation, you need to put the contents of the storage folder into your DNN installation in the /portals/#/forums/attachments folder (where # is the ID of your portal, typically 0 if you have one website in DotNetNuke).

Then run the script, that should bring over the attachments!

In the next blog post in the series I will talk about how to handle the old CommunityServer URLs and have them properly redirect to DotNetNuke URLs.

A couple of new open source releases from yours truly

Over the past few weeks I’ve been feeling awful open source like. We come from an open source background, and we, DotNetNuke Corporation, are still very very committed to stick with those roots. So I put together a couple of releases for projects I work on, and created a new project as well.

Wiki Module v4.5 almost ready for Release

A few weeks ago I got the next release of the DotNetNuke Wiki module (v04.05.00) into the Release Tracker here on DotNetNuke.com. While it isn’t officially released yet, you can go to Codeplex and download it right now, but only via the link on this blog post!

What’s new in 4.5? Well, lots of things! First thing, it is compiled against DotNetNuke 5.6.2, so if you aren’t running the latest version I would highly recommend the upgrade. You can find the release notes for the version on the previous link, but primarily they are bug fixes, a comment overhaul from Oliver Hine, and some layout enhancements regarding the “Index” of Wiki pages. I would encourage you to check out the new release, but do it in a test environment first. There are some fairly big changes, they shouldn’t break anything, but they may be different than what you expect.

The World’s Best Free DotNetNuke Skin

So the heading here is really just a funny joke, at least to me, but I’m gonna run with it! Lately I have had the urge to overhaul a number of my DotNetNuke websites with a similar theme, but different colors. I didn’t find a skin that I wanted to use on them all, so I wrote one myself. It is called MultiFunction, and it is released under the same type of license that DotNetNuke is. You can find it on codeplex at http://multifunction.codeplex.com, you can also check out the demo site at http://multifunction.dnndaily.com.

Let me know what you think. I’ve done some interesting things with this skin, such as put the images on Amazon S3 for the benefits of a CDN. If you install the skin without modification you’ll find it uses those images. I would encourage you to obviously host your own images, especially if you customize the skin. Check out the Documentation page for some examples of how to modify the skin through CSS.

The skin is a Visual Studio 2010 project, compiled against DNN 5.5., using MSBuild, and the http://dnnmoduleactions.codeplex.com project as well, so you need to install that before you can use the skin.

An Update to the DNNSimpleArticle Module

I’ve had some feedback with users having problems with the DNNSimpleArticle module as of late, so I wanted to track down what the issues were. Mainly it had to do with new installs of DotNetNuke that were missing the “search results” module on the Search Results page.

I ended up coming up with a fix for the module, as it doesn’t even rely on the SR module, but it does on the ContentList module on the search results page, due to the taxonomy support. I also took the opportunity of a new release to add in support for the DotNetNuke Sitemap Provider. So when you install v00.00.07 of DNNSimpleArticle it will define the sitemap provider as well, meaning articles in DNNSimpleArticle will be included in your sitemap.aspx file that is managed from the Search Engine Sitemap page under the Admin menu in DNN.

You can download the latest release of DNNSimpleArticle from http://dnnsimplearticle.codeplex.com, keep in mind that this module is compiled against DNN 5.6.2, so it won’t run on older versions.

DotNetNuke World

If you haven’t heard, DotNetNuke is holding their own conference in November of this year. DotNetNuke World, you can find out more information at http://bit.ly/DNNWorld

New Free DotNetNuke skin, Multifunction the world’s best

Are you looking for the World’s Best Free DotNetNuke Skin? Well, have I got just the one for you. MultiFunction, you can find it now on Codeplex, or check out the Demo web site to see it in action.

Now for some specifics. Did he really just call it “World’s Best”? Sure, but where’s the proof? What, my word isn’t good enough?

Here’s the background as to why I created the world’s best free DotNetNuke skin. For those of you who know me, you likely know I have a domain problem. Mainly, I have too many of them. Along with that problem goes another problem, too many websites. All of those websites (except for two) are running on DotNetNuke. And they all had different skins, different layouts, different everything.

I decided that it was time to bring things under one umbrella, a common layout (selection of layouts really) across all my web properties. There are plenty of free DotNetNuke skins out there, but nothing that I thought worked for all of my websites.

I started working on my wife’s website a few weekends ago, coming up with a new design for it. I was pretty happy with the website, along with the fact that I was able to really improve the “page speed” and “y-slow” performance of the website with a few minor tweaks. I also liked that I came up with a design that I thought would be flexible enough for all of my websites. You can see her site at http://www.nataliehammond.com/

I took the code I created from her website and created an open source Skin out of it. MultiFunction. MultiFunction is released under the same type of license that DotNetNuke is (although with a different owner, me), the MIT-BSD license. This basically means you can do what you want with the skin, you just have to leave the copyright intact in the source code.

Modifying the look of the skin using CSS is really easy to do. I have already applied the skin to two of my websites, ChrisHammond.com and Project350z.com. Here are the steps I used to setup the Project350z website using Multifunction with custom background images, and a custom header graphic.

Not necessarily the order you need to follow, but here’s an example:

  1. Download the MultiFunction SOURCE package from Codeplex. Install the MultiFunction Source package on the Host/Extensions page of your DotNetNuke testing/staging/development website.
  2. Using Photoshop open up the PSDs that were put into the /portals/_default/skins/multifunction/src_images/ folder. Modify the PSDs for the Header and Footer, along with the Header_Graphic, to customize the images as necessary. When done customizing SAVE the files as PNG or JPG depending on what you want to use. One tip, I also create a headerbg_rp and footerbg_rp file using the left most (1) pixel (full height) of the header and footer PSDs for the repeating backgrounds.
  3. Upload these files somewhere, I chose to host mine on Amazon S3 to benefit from the CDN aspect of the hosting of those files. In fact, MultiFunction points to files on that CDN, at least for now. If bandwidth/costs become an issue I reserve the right to shut that down! Smile 
  4. Customize your CSS, you can see my example CSS below.
  5. Put your custom CSS into the Portal.css file of your website, available from the admin/Site Settings page.
  6. Install MultiFunction’s INSTALL package on your DotNetNuke Production website from the Host/Extensions page.
  7. Apply the MultiFunction Two Column skin and Multifunction Main container to the Site Settings for your website as the default skin and default container. Apply the MultiFunction Edit skin as the Admin/Edit skin also using the Main container.
  8. Go to the Homepage of your website and apply the MultiFunction Home skin, rather than using the Two Column skin on the home page.

Custom CSS used on Project350z.com

   1: #Logo
   2: {
   3:     padding:25px 0 0;
   4: }.HeaderGraphic
   5: {
   6:     background-image:url(https://s3.amazonaws.com/dnncdn/p350z/header_graphic.png);
   7: }#GraphicHeader
   8: {
   9:     background-image:url(https://s3.amazonaws.com/dnncdn/p350z/headerbg_rp.png);
  10: }#GraphicHeader .page_header
  11: {
  12:     background:url(https://s3.amazonaws.com/dnncdn/p350z/headerbg.jpg) no-repeat scroll 50% 0 transparent;
  13: }.PageFooter
  14: {
  15:     background-image:url(https://s3.amazonaws.com/dnncdn/p350z/footerbg_rp.png);
  16: }.FooterWrapper
  17: {
  18:     background:url(https://s3.amazonaws.com/dnncdn/p350z/footerbg.jpg) no-repeat scroll 50% 0 transparent;
  19: }

Minified CSS used on Project350z.com

   1: #Logo{padding:25px 0 0;}.HeaderGraphic{background-image:url(https://s3.amazonaws.com/dnncdn/p350z/header_graphic.png);}#GraphicHeader{background-image:url(https://s3.amazonaws.com/dnncdn/p350z/headerbg_rp.png);}#GraphicHeader .page_header{background:url(https://s3.amazonaws.com/dnncdn/p350z/headerbg.jpg) no-repeat scroll 50% 0 transparent;}.PageFooter{background-image:url(https://s3.amazonaws.com/dnncdn/p350z/footerbg_rp.png);}.FooterWrapper{background:url(https://s3.amazonaws.com/dnncdn/p350z/footerbg.jpg) no-repeat scroll 50% 0 transparent;}

So, get to it, go download the World’s Best Free DotNetNuke Skin! And check out the demo

Now that I’ve blogged about the skin, I need to get it up on DotNetNukeBlogs.com, DNNDaily.com and DomoticsBlog.com

DotNetNuke Training Program Update and Changes

DotNetNuke Training Year in Review

For those of you who don’t know, I’ve been here at DotNetNuke Corporation now for just over 14 months. In May 2010 we started offering our DotNetNuke Training webinars on a regular basis, this program has been rather successful in it’s first year.

Over the past year we’ve basically offered four core webinars, Portal Admin, Content Admin, Module Dev and Skinning. These were offered on a monthly or semi-monthly basis for the past year. Anyone who paid for one of these courses got access to the recordings for the course for 30 days after they were delivered. This has worked out well from a training perspective, you can see some of the feedback we’ve received from various students over the past year on the Instructor page. Due to the frequency of the courses and the limited bandwidth I have as the sole deliverer of those materials, we haven’t been able to grow our training materials and offer new courses as I would have liked.

Going forward though we are changing things around. For the past couple of months we here at DotNetNuke Corporation have been selling a DotNetNuke Training Subscription to Professional and Enterprise Edition customers. This subscription has been well received and provided a well received offering to those customers who need training on their schedule, not on our schedule of live offerings.

We are proud to announce that the Training Subscription is now open to anyone in the DotNetNuke Community, you don’t have to be a Professional Edition or Enterprise Edition customer to access the subscription.

DotNetNuke Training Subscriptions

Basically the way it works is that for a set price a customer can buy a “seat” in our training program that gets a student access to any of the recordings we have from our previous and future training sessions, as well as the ability to register for any live training webinars that we offer during the time of their subscription.

The subscription runs for a year, and is priced considerably cheaper than accessing the individual courses. If you wanted to sign up for our four “core” courses you would pay a list price of $2700/person, with the subscription you can access all of those courses, plus others, for a year, for $999/person.

Here are the details for the training subscription program, which is available now to both Community Edition users, as well as our Professional and Enterprise customers.

For an annual subscription fee of $999 you get access to

  • Over 80 hours of previous webinar recordings (growing on a monthly basis)
  • Access to any new upcoming training webinars. We plan to offer new training webinars every month. A list of webinars being offered in May 2011 can be seen below.
  • Access to our attend our live “core” training webinars. We will continue to offer and update our Portal Administration and Configuration, Content Administration, Module Development, Skinning courses with new content as they relate to new releases of the platform. We will be offering this courses at least once every 6 months, though probably more frequently than that. Our next round for these 4 start in June and run through July.
  • Live webinar access provides you the ability to ask questions of the instructor, providing you a much richer experience than just watching recordings. You can ask questions as they relate to your websites and projects, getting answers you wouldn’t find anywhere else.
  • Suggest a Webinar, a new feature that we will be implementing in the coming months, this will allow subscribers to request webinar topics, while we won’t be able to do a webinar for every suggestion, you will see more sessions that relate directly to customer feedback.

    We are working on getting the Subscription listed and on SnowCovered with our core courses, until we do you can get signed up for the Training Subscription by contacting our Sales team for more information.

    NOTE: If you are a Professional or Enterprise Edition customer you should check with your sales representative or Customer Care for special pricing on the training subscription.

    Upcoming Webinars

    Starting this month we are offering new shorter webinars, to go along with our “core” webinars. The firs four webinars are listed below, along with the date they will be offered. Recordings for these will be available after delivery.

    • SiteMap Configuration and Customization (5/11/11)
    • Introduction to Content Localization (5/12/11)
    • Using MSBuild to Automate Module Development Packaging (5/18/11)
    • Introduction to MVP Development Templates (5/19/11)

    Previous Recordings

    Here is a listing of previous webinar recordings that you will immediately have access to when signing up for our Training Subscription. This list will grow each and every month as we offer new short webinars.

    • Portal Administration and Configuration
    • Content Administration
    • Skinning
    • Module Development
      • Content Item Integration
    • Short Webinars
      • Advanced Email in DotNetNuke
      • Basic Module Development
      • DotNetNuke Best Practices
      • Customizing Workflow in DotNetNuke
      • How to Upgrade DotNetNuke
      • Introduction to DotNetNuke Skinning
      • Professional Edition Configuration

     

    Training Feedback

    We are always open to new ideas, so if you have something you would like to see from the training program feel free to email me at training@dnncorp.com

     

  • More Posts