Archive
Monthly
Go
|
|
DNN Blog
By Joe Brinkman on
5/22/2012 4:03 PM
KnockoutJS is taking the ASP.Net world by storm. DotNetNuke 6.2 will include several core features which rely heavily on KnockoutJS. In Part 1 and Part 2 of my Introduction to KnockoutJS series I discussed some of the basics of bindings which are at the heart of KnockoutJS. Later this week, I’ll continue my series on KnockoutJS. In the meantime I wanted to highlight a great learning opportunity for those who are interested in learning how to use KnockoutJS with DotNetNuke. Given its usage in DotNetNuke 6.2 it should come as no surprise that KnockoutJS will be prominently featured at the Charlotte Day of DotNetNuke on June 2nd.
|
By Joe Brinkman on
5/12/2012 4:34 PM
 Every week it seems more and more people are asking me how they can run DotNetNuke on Windows Azure. Last year David Rodriguez released the DotNetNuke Azure Accelerator which aims to simplify the process of installing DotNetNuke on Windows Azure. It was a great alternative to manually deploying DotNetNuke but it required the user to know how to use the Windows Azure Management Portal for setting up their Azure account. The original version of the accelerator also included the DotNetNuke installation package within the download. This meant that the accelerator was closely tied to the DotNetNuke version and had to be updated with every DotNetNuke release.
|
By Joe Brinkman on
5/1/2012 10:19 AM
This year’s DotNetNuke World conference is just around the corner and we are once again looking for speakers. DotNetNuke World will be October 10th through the 12th in lovely Orlando, Florida. Registration will be opening soon, and like last year we will be offering great early bird pricing. This year’s event is shaping up to be twice as large as last year. More speakers, more sessions, and more attendees. Much like past years, we are accepting session submissions that focus on Development, Design, Administration and Business. We have expanded the number of rooms this year so that we could accommodate more sessions with a broader appeal to business decision makers and end users. This year’s conference will focus on the “Social Revolution” but other topics are equally welcome.
|
By Will Strohl on
3/27/2012 9:50 PM
 Search engine optimization (SEO) has been on the top of most minds in the website design and development for many years now, so I won’t bore you with details about what it is and why it’s important. At this point, that should be obvious. However, maintaining your SEO is a never-ending challenge. This is never more apparent than when you switch platforms on the web, no matter how big or small that platform may be. I have recently run into such a challenge.
|
By Matthias Schlomann on
3/2/2012 8:55 PM
I am proud to announce the 2nd release of the Metro7 style Skin for DotNetNuke 6. Ths release included 4 fixes and 1 enhancement. The Metro7 style skin for DotNetNuke supports WindowsPhone7 and included all 4 colors (blue, orange, green and red) in one install package. Also an upgrade from Ali Nawaz version 01.00.00 for DotNetNuke 5 with file cleanup is supported.
|
By Joe Brinkman on
11/2/2011 1:55 PM
If you have downloaded and installed DotNetNuke 6.1 you have probably noticed that the core modules are “missing” from the DotNetNuke packages. This is a large change from every previous version of DotNetNuke. Ever since Shaun first released DotNetNuke in 2002, we have included a number of modules in the core platform. How these modules have been packaged has changed over the years, but customers have become accustomed to seeing them. In DotNetNuke 6.0 we provided a great new capability that integrates the DotNetNuke Forge and DotNetNuke Store (SnowCovered) into the core platform. This feature means that every module in the Forge can be quickly discovered and installed into the platform in just a couple of clicks. If you haven’t tried this feature, I definitely recommend you give it a try. It is definitely one of the great new features in the DotNetNuke 6 platform.
|
By Joe Brinkman on
11/1/2011 4:41 PM
DotNetNuke has undergone many changes over the last 8 years in the way the product is developed and managed. Having been part of the main engineering and product teams from the early days of the Open Source project I have had a number of roles on the team. Last year I moved from being focused on application development as part of the Engineering team to being more focused on product management. A big part of my role on the product management team was handling release management.
|
By Chris Hammond on
10/25/2011 2:41 PM
Dear DotNetNuke Community,
Movember is coming up, and I am getting the DotNetNuke Team going again this year. For those of you who weren’t with the company last year Movember is this. You start with a clean shaven face on November 1st, and grow a mustache (not a beard, not a goatee) for the ENTIRE month, to raise awareness (and money) for cancers that effect men, primarily prostate cancer.
|
By Israel Martinez on
10/12/2011 3:34 PM

This is part 1 of a 7 blog series that will give you the information you need to turn an idea into a Smartphone Website that captivates your audience. In this blog series you will learn 4 key areas needed when creating mobile websites. These include:
- Planning for mobile success
- Selecting a Web Content Management System (WCMS) for your mobile website
- Testing your mobile website
- Achieving mobile success
|
By Joe Brinkman on
10/5/2011 5:08 PM
 I am pleased to announce that DotNetNuke 6.0.2 is officially released. This maintenance release further solidifies DotNetNuke 6.0 and resolves a few outstanding issues which were not addressed in the 6.0.1 release. Like with the 6.0.1 release, our goal was to continue providing quick resolution of outstanding issues to ensure that customers could upgrade to the 6.x platform with little difficulty.
|
By Chris Hammond on
9/8/2011 6:23 PM
If you follow any of my blogs, you may remember all the discussion last fall about Movember. Yes, you read that correctly, Movember, take the N in November and replace it with an M, Movember! Why would you ever rename November to Movember? To raise awareness for cancers that affect men, primarily prostate cancer, but others as well. The basic premise of Movember is this, for the entire month, you grow a mustache. How simple is that? Start on November 1st, clean...
|
By Richard Dumas on
8/30/2011 10:34 AM

We are extremely enthusiastic about the upcoming DotNetNuke World Conference, which will be held in Orlando, November 9-11. We expect this to be a unique and unparalleled opportunity to learn about DotNetNuke while having a great time in one of the happiest places on earth. I would like to thank our customers, partners, sponsors and community members for the overwhelming support they have already shown for this event. DotNetNuke World 2011 is already on track to be our largest event ever!
In order to give everyone a chance to get back from their summer vacations and make their travel plans we are extending our discounted summer pricing until after labor day (September 14, 2011). However, If you are planning to attend the event I encourage you to register now. The conference price is now only $499 and the 3-day conference package that includes a full day of pre-conference training on designing, developing and administering DotNetNuke sites is only $799. After September 14th, prices will increase to the regular rate of $599 and $949 respectively.
|
By Joe Brinkman on
8/24/2011 4:47 PM
 I am pleased to announce that DotNetNuke 6.0.1 is officially released. This maintenance release was focused on resolving a number of issues that were found in the 6.0.0 release. Given the extensive set of changes in DotNetNuke 6.0 we recognized the need to quickly identify and resolve issues discovered by our customers as they tried the new release in production environments. This maintenance release further improves what many customers have already told us was a pretty stable release.
|
By Joe Brinkman on
8/18/2011 10:01 AM
Late last year, I began work on getting DotNetNuke to run on Windows Azure. After a few months of research and numerous dead-ends, I finally had a fully working prototype. During this same period, David Rodríguez, was also doing some work with DotNetNuke and Azure as well. After working through a few dead-ends of his own, David found the Azure Accelerator project from Slalom Consulting and decided to use this as a base for developing a DotNetNuke version.
|
By Joe Brinkman on
7/20/2011 7:34 PM
I am pleased to announce the launch of DotNetNuke 6. This release marks a significant milestone in the history of DotNetNuke platform. Keep reading to find out all that DotNetNuke 6 has to offer both seasoned users and those just seeing the platform for the first time.
|
By Ruben Lopez on
7/15/2011 9:26 AM
DotNetNuke 6 will include many new features. Two of them are the new APIs to work with files and folders, named respectively FileManager and FolderManager. They provide easy and useful methods and replace the now deprecated FileSystemUtils, FileController and FolderController classes. These APIs have been created on top of a new Provider, the FolderProvider. This new Provider allows to work with different storage locations. By default, there are 3 storage locations: insecure filesystem (StandardFolderProvider),...
|
By Joe Brinkman on
7/14/2011 7:18 PM
After 8 months of effort the finish line is in sight. With almost 3000 code checkins touching more than 2000 individual files, this release has been monumental in it’s scope compared to most DotNetNuke releases. Not since the days of DotNetNuke 2.0 and 3.0 have we accomplished so much in a single release. In spite of the sheer number of changes we have made, DotNetNuke 6 is one of the most stable platform versions in quite a while. That is not just my opinion but the opinion of the vast majority of people participating in our beta testing.
|
By Chris Hammond on
7/7/2011 10:36 PM
So this year will be my 3rd year, (would be my 4th if I hadn’t bailed at the last minute on year 1), that I will be speaking at the St. Louis Day(s) of .Net. If you haven’t been to the STLDODN you should definitely check it out. It is a great two day event, and at $125 (if you register by 7/8/2011) the price can hardly be beat! The event is being held this year on August 5th and 6th, 2011. Again at the Ameristar Casino in St. Charles, MO, about 10 minutes from where I used to live (two moves ago now). Read the full blog post for all the details.
|
By Joe Brinkman on
7/7/2011 4:47 PM
 The clock is winding down on the DotNetNuke 6 release. All of the features have been integrated and we are now focused exclusively on polishing the app before we ship later this month. At this point we have identified all of the issues we plan to resolve for the initial launch and are working through final phases of the testing process. In order to assist people in planning for a smooth upgrade process for 6.0 we are providing a second beta release so that people can retest upgrades and installations which may have had serious issues with Beta 1. If you find an issue we ask that you enter it in the bug tracker so that we can evaluate whether it a showstopping issue or whether it is something that could be held for our first 6.x maintenance release which we expect to be about a month after the DotNetNuke 6.0 launch.
|
By Joe Brinkman on
7/5/2011 1:51 PM
I am pleased to announce that DotNetNuke 5.6.3 is officially released. This release resolves a number of security issues with previous versions and resolves a few outstanding issues from 5.6.2 including: - Updated Telerik Version – 5.6.3 includes the Q1 2011 SP2 version of Telerik ASP.Net AJAX controls. This version of Telerik includes support for the final version of IE9 along with dozens of bug fixes.
- Improved Security – This release includes 6 different security enhancements and fixes.
|
By Joe Brinkman on
6/17/2011 11:09 AM
For the past 4 years I had the task of working with the speaker selection committee to solicit speakers for the annual DotNetNuke conference. This is a challenging task as we must filter through almost two hundred submissions to find the handful of sessions that will be presented at the conference. With few exceptions the submissions are excellent and we would be lucky to have any of the speakers presenting at the conference. This year was no different. Not only did we get submissions from speakers who have spoken at past conferences, but we also received a number of entries from new speakers as well. In total, we had 177 sessions that we had to whittle down to 27.
|
By Joe Brinkman on
6/2/2011 11:49 AM
DotNetNuke 6 has been a release experience unlike any in the history of DotNetNuke. We have had more packaged releases, more visibility into the code, more discussions with the community and a greater iterative approach to development than at any point in our past. The community has been able to follow along with us as we progressed from the early UI concepts to a much more polished and refined look. If you were really adventurous, you could watch this transition on almost a daily basis as we kept up a steady stream of code updates on CodePlex. Because we intentionally moved to a longer release cycle, we have been able to go through many iterations, getting community feedback all along the way. With each release our community has told us what they liked, and what they didn’t. After each CTP we have been able to incorporate some of the feedback to help arrive at a much better product. As a result we have been able to progress to what we think is a much more contemporary look, even while taking into account the needs and desires of the overall community. This is just not something that was possible when we were operating under shorter release cycles.
|
By Chris Hammond on
5/25/2011 5:21 PM
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. ...
|
By Michael Washington on
5/23/2011
|
By Joe Brinkman on
5/19/2011 9:04 AM
It is once again that time of year when we ask all of you to submit your session abstracts for this years North American DotNetNuke user and developer conference. This years conference has a new name, a new location and a significantly reduced price. DotNetNuke World will be November 9th through the 11th in lovely Orlando, Florida, with registration costing as low as $349 for those registering early. So make sure to save the dates on your calendar, and you should definitely plan to register early for the best conference pricing. Much like past years, we are accepting session submissions that focus on Development, Design, Administration and Business. We have expanded the number of rooms this year so that we could accommodate more sessions with a broader appeal to business decision makers and end users. This years conference will focus on the “Cloud, Mobile, Social Revolution” so keep that in mind as you are developing your session abstracts.
|
By Joe Brinkman on
5/12/2011 10:31 AM
DotNetNuke has always shipped with a lot of functionality in the form of modules. Some of the modules that ship with DotNetNuke are fairly shallow, while others have very rich functionality. One of the modules which is often overlooked on many sites is the Form and List module. This module has a lot of rich functionality for defining tabular data structures as well as a complete templating system for displaying or collecting the data defined by the structure. Recently, I saw some examples from Armand Datema at 2DNN which showed that Form and List can be leveraged for building sophisticated website functionality. I decided to use this same technique in my CMSExpo talk on DotNetNuke Core Modules. For my demo, I wanted to use the Form and List module to create a banner rotator.
|
By Joe Brinkman on
5/6/2011 12:50 PM
It has been 4 weeks since our last CTP release. The DotNetNuke development team has been working hard and it definitely shows in this latest release. CTP 3 includes major improvements to features spotlighted in previous CTPs but also includes some new features as well. We are making good progress on 6.0 which is scheduled for a mid-summer release, but we still have a few features to finish up and quite a few places that need some UI cleanup, but I think you’ll see that this release is definitely making huge strides in terms of stability and polish. We continue to get a lot of great feedback from the community on the previous CTPs. Don’t assume that what you see in the CTP is how things will work in the final release. We are spending a lot of time trying out different designs and implementations to get community feedback on particular features. Often, it is only when using a feature in a more realistic environment will you find the limitations of a design or implementation. I encourage you to take a few minutes to try out the new CTP and join the conversation. With your help we can make DotNetNuke 6.0 a truly great release.
|
By Joe Brinkman on
4/30/2011 2:07 PM
One of the biggest complaints of anyone using XSLT in .Net is that we are stuck on XSLT and XPATH 1.0. While 1.0 provides a lot of capability it is easy to run headlong into the shortcomings of the language. For a number of reasons which I’ll never understand, Microsoft has not chosen to support XSLT 2.0 or XPATH 2.0 in .Net which forces developers to either live with the limitations of 1.0 or use a 3rd party XSLT engine. Neither of those options is really great. There are a number of modules in DotNetNuke which rely heavily on XSLT for advanced formatting: Reports, Form & List and XML module are three that come immediately to mind. It would be great if we could break out of the limitations imposed by the reliance on XSLT 1.0. Well, in fact you can. .Net has supported the concept of XSLT Extension Objects for quite a long time. Essentially, extension objects are .Net code that you can call from within your XSLT. With this capability you can easily code whatever functionality is missing from XSLT 1.0. This is just what a group of Microsoft MVPs did with the EXSLT.NET module which is a .NET implementation of EXSLT. Much of the work done in EXSLT was subsequently incorporated in XSLT 2.0.
|
By Ken Grierson on
4/9/2011 12:33 PM
Just a short general commentary on the state of QA at DotNetNuke as we march toward DotNetNuke 6.0 Release
|
By Joe Brinkman on
4/8/2011 11:14 AM
Building software is a challenging business. That is one of the things I like about it. There is always a new obstacle to overcome or new technology and techniques to better solve an old issue. In short, building software is like solving a giant puzzle that has multiple correct answers. Some of the answers may require brute force or crude techniques where others may be elegant in their simplicity. There are never any shortage of challenges in software development. Even when your own code works correctly, sometimes external factors can conspire against you and create new challenges.
|
By Joe Brinkman on
4/4/2011 7:57 AM
It has been a scant two and a half weeks since we released the first Community Technology Preview for DotNetNuke 6.0 and we are now ready to follow that up with another CTP release. In this release we have a number of new features which are approaching completion and where we would like some feedback. While many of these features are fully functional, we are still working on cleaning up the user interface to provide a unified look across the core platform. Please take a few minutes to install the latest CTP and let us know what you think.
|
By Joe Brinkman on
3/29/2011 8:51 AM
When DotNetNuke was first launched back in 2002, website navigation was just beginning to undergo a major shift. At the time most sites still used a relatively static navigation structure with very little interactivity beyond a few simple hover animations and hyperlinks. In fact, the original navigation structure for DotNetNuke was only a single level deep. Over the course of the following 3 years things progressed very rapidly. Sites began borrowing UI elements from desktop applications in order to provide users with a more familiar look and feel. In 2003, DotNetNuke explored a number of navigation options and finally settled on a menu control provided by a developer from a company up in Naperville, Illinois. Solutions Partner Inc., was home to Jon Henning, an experienced JavaScript and .Net developer who had crafted his own menu control that was completely customizable using JavaScript, CSS and .Net. The Solpart menu was highly configurable and provided designers with the ability to fully integrate the navigation structure into the overall site design. If you have ever seen a DotNetNuke 1.x website, you would realize what a major advance this was.
|
By Joe Brinkman on
3/23/2011 2:39 PM
I am pleased to announce that DotNetNuke 5.6.2 is officially released. This release resolves a number of outstanding issues with the 5.6.0 and 5.6.1 versions and adds a few new significant enhancements including: - User Management – 5.6.2 now includes the ability to restore or remove soft-deleted users. For more information on this feature please see the recent blog post by Ash Prasad and my follow-up video post.
- Improved Performance – This release includes 20 different performance enhancements that continues our focus on providing a fast, scalable web platform for delivering your content and applications to your users.
|
By Cuong Dang on
Thursday, March 17, 2011 8:49 AM
The skin contest last year was a great opportunity for many people to show off their skills while ‘giving back’ to the community with their free skins and design.

Since the technology landscape is always changing, the User Experience team thinks it’s time to challenge our community once again in the DotNetNuke Design Challenge so everyone can get involved by building something cool (if you haven’t already).
As you might know, DotNetNuke skinning involves more than just writing semantic markup and packaging files; we want to show the world the powerful skinning engine with freedom to creativity. We are proud to bring you the third contest this year!There are fewer categories this year and more awesome prizes!
|
By Joe Brinkman on
3/16/2011 12:56 PM
 Today marks another milestone in the upcoming Hadron release of DotNetNuke. For the first time ever, DotNetNuke is offering a Community Technology Preview that will allow you to begin testing the latest version long before we have completed all the features. As I discussed last week, the CTP is not intended to be production ready software but is an opportunity for the community to get a chance to start kicking the tires. The CTP is an important milestone as it will allow us to gather feedback from the community much earlier in the release cycle and thereby allow us more time to incorporate that feedback into the final release.
|
By Joe Brinkman on
3/11/2011 1:39 PM
"What's in a name? That which we call a rose by any other name would smell as sweet." Romeo and Juliet (II, ii, 1-2)
Sometimes a name is everything. It can convey meaning and emotion. In the world of software, a name can convey the stability or instability of a release. The name, or label, that we apply to a release is our way of communicating to you some important information about our product.
Next week, for the first time since DotNetNuke was created, we will be releasing a Community Technology Preview (CTP). This CTP will be for the upcoming DotNetNuke 6.0 release. Later this spring we will release another CTP, a Beta or two and a Release Candidate (RC).
Each of these terms (CTP, Beta, RC) represents a specific milestone in our release process and it is important to understand the distinction to know what you can expect in each release. Most developers in the Microsoft ecosystem will understand the terminology, but this post is intended to be a refresher so that as we discuss these releases in our community everyone will know what we are talking about. Our definitions may be slightly different than the way it is used by other companies and that is ok, as long as we are consistent in our usage.
|
By Joe Brinkman on
3/11/2011 11:55 AM
In my position as the release manager for DotNetNuke, I end up installing DotNetNuke numerous times every week. While I have a set of PowerShell scripts which makes this process relatively painless there were still some areas that I felt needed improvement. In the past I have created all of my sites as applications in a virtual directory under the default site in IIS 7.5 (Windows 7). This usually results in some URL for my site that looks like this: http://localhost/myDNNsite.
|
By Joe Brinkman on
3/8/2011 3:18 PM
DotNetNuke is a web content management system and an application framework that has grown over the past 8 years to solve many of the challenges faced by developers when building websites and web applications. Because of this rich feature set, it is possible that there may be areas of the platform which you have yet to explore. In this ongoing series, I plan to use short video clips to highlight some of my favorite features of the platform. A few weeks ago, Ash Prasad, a software engineer at DotNetNuke Corp. discussed a new feature he worked on for 5.6.2. Ash did a really great job on the feature and I thought it would be worthwhile to show this feature in action. The new user management features definitely make deleting and restoring users much easier and restores the ability to permanently delete users from you DotNetNuke site.
|
By Joe Brinkman on
3/4/2011 10:37 AM
Over the past year the DotNetNuke team has been working hard to improve the pace of our releases and to provide the community with the opportunity to participate in beta testing in order to provide feedback prior to a release. As of this morning DotNetNuke 5.6.2 beta packages are now available for download from our Beta Downloads page. We have made a number of fixes to the platform and incorporated a couple dozen performance enhancements. 5.6.2 further stabilizes the 5.6 platform and should be a solid foundation for your DotNetNuke site. Please keep in mind that this is just a beta and is not intended for production use. Upgrades to the final 5.6.2 release are not supported. We still have a few additional issues that we expect to be resolved prior to our Mid-March release but welcome any feedback.
|
By Chris Hammond on
3/4/2011 12:05 AM
|
By Joe Brinkman on
2/24/2011 8:09 AM
This past weekend a new DotNetNuke Blog release candidate was posted on CodePlex. This version of the blog addressed several longstanding issues with the Blog module and should be the final Release Candidate prior to the official release. In 4.1.0 we really focused on fixing some of the biggest problems with 4.0 and doing some security hardening based on feedback from our security team. In addition we added support for custom JS and CSS and temporarily removed support for Twitter (we’ll be bringing back an improved Twitter option in the next release). One of the features that I was really excited about including in this release was the ability to support code formatting in the blog module. There are many different methods that I have used over the last several years to format code in my blog posts. The common denominator in every case is that it generally required me to add some custom JavaScript and CSS in the blog post so that it could be displayed properly. In addition to code formatting, we also wanted to support the ability of administrators to include their own CSS to override defaults.
|
By Joe Brinkman on
2/9/2011 5:50 PM
For the last year or so there has been a lot of interest in the DotNetNuke community about how to run DotNetNuke on Windows Azure. Many people have looked at the problem and could not find a viable solution that didn’t involve major changes to the core platform. This past fall, DotNetNuke Corp. was asked by Microsoft to perform a feasibility study identifying any technical barriers that prevented DotNetNuke from running on Windows Azure. I was pleasantly surprised by what I found and over the course of the next few weeks I’ll present my findings in a series of blog posts. Yes Virginia, there is a Santa Clause, and he is running DotNetNuke on Windows Azure. - Understanding Azure
- SQL Azure
- Azure Drives
- Web Roles and IIS
- Putting it All together
Part 1: Understanding Azure Background Prior to the official launch of Windows Azure, Charles Nurse had looked at running DotNetNuke on Windows Azure. At the time it was concluded that we could not run without major architectural changes to DotNetNuke or to Windows Azure. Since that time several other people in the community have also tried to get DotNetNuke running on Windows Azure and have arrived at the same conclusion. David Rodriguez has actually made significant progress, but his solution required substantial changes to DotNetNuke and is not compatible without also modifying any module you wish to use. DotNetNuke already runs on a number of different Cloud platforms and we really don’t want to re-architect DotNetNuke just to run on Azure. That approach was rejected because ultimately Azure support is only needed by a small fraction of our overall community. Re-architecting the platform would require significant development effort which could be better spent on features that serve a much larger segment of our community. Also, re-architecting the platform would introduce a significant amount of risk since it would potentially impact every Module and Skin currently running on the platform. The downsides of re-architecting DotNetNuke vastly outweigh the anticipated benefits to a small percentage of our user base.
|
By Chris Hammond on
1/28/2011 11:20 PM
Last week Microsoft released a new tool called WebMatrix, a tool for developing web applications and easily installing existing web applications. You can learn more about WebMatrix by visiting http://www.microsoft.com/web/webmatrix/. What does this have to do with DotNetNuke? Well WebMatrix makes installing DotNetNuke very easy! Even easier than before when just using the Web Platform Installer also from Microsoft. To be honest,...
|
By Joe Brinkman on
1/19/2011 7:14 PM
I am pleased to announce that DotNetNuke 5.6.1 is officially released. This release resolves a number of outstanding issues with the 5.6.0 version and adds a few new significant enhancements including: - Razor Scripts – 5.6.1 includes the new RazorHost module which allows you to use Razor scripts in your DotNetNuke installation. For an example of what can be accomplished, checkout the recent entries in the Razor Hackathon.
- Child Portal Aliases – In the past you were forced to designate a portal as either a child portal or parent portal at the time the portal was created. In 5.6.1, you will be able to add Child Portal Aliases at any time, to any existing portal.
- Improved Portal Alias Handling – In the past, it was possible to create multiple Portal Aliases for your site. This has always caused potential SEO issues. In 5.6.1 we have taken portal aliases one step further. You will now be able to designate a single portal alias as the default alias. The administrator can specify special handling for the portal aliases including the ability to use the default portal alias as the base domain for the “canonical url”. Alternatively, the administrator can choose to use a 301 redirect so that all portal aliases will be redirected to the default portal alias.
During the 5.6.1 development cycle our security team received a few reports of security issues that affected previous versions of the platform. Based on these reports we did further testing on the platform and identified additional areas that we felt warranted additional hardening as a preventative measure. Because of the number and seriousness of the issues identified, and the additional hardening work done to the platform, we recommend that everyone upgrade to the 5.6.1 version to ensure your sites remain secure.
|
By Joe Brinkman on
1/13/2011 1:12 PM
Today Shaun Walker and I had the pleasure of demonstrating how well DotNetNuke works with Microsoft WebMatrix and the new Razor scripting engine at CodeMash. CodeMash is a great regional development conference that focuses on exposing developers to a wide variety of languages and platforms. A common theme throughout CodeMash has always been how we can simplify our development processes without loosing power and flexibility. WebMatrix and Razor As you saw with the Razor scripts that were submitted as part of our recent Razor Hackathon, it is possible to build a wide variety of modules and scripts using Razor. As you probably saw in the announcement during the WebMatrix launch event at CodeMash, DotNetNuke 5.6.1 Release Candidate is now available for immediate download from the DotNetNuke CodePlex download page. The Release Candidate contains the final RTM version of the Razor engine and we expect the final DotNetNuke 5.6.1 version to ship next week on January 19th.
|
By Chris Hammond on
1/4/2011 7:49 PM
Late last year I created a blog post and video about a new version of the module development template that I released on Codeplex. This new template uses MSBuild scripts instead of NANT scripts to automate the packaging process for the modules built with the template. The MSBuild script works well out of the box, to package your module you simple change into RELEASE mode and then execute the build. If your project contains references to DLLs (in the website’s BIN folder) that you also need to package up so that you can deploy them with the module however things become a little murky. Earlier today Bruce posted on that original blog post asking how to include those DLLs in the build script so they get packaged automagically.
|
By Chris Hammond on
1/2/2011 4:06 PM
Every January people start thinking “oh crap, I need to update the copyright statement on my website”. And everyone runs out and makes the change to the current year.
Well, if you use DotNetNuke you can easily change the Copyright statement on your site from the Site Settings page, found under the Admin menu. You’ll find a setting like the following.
 ...
|
By Chris Hammond on
12/24/2010 4:32 PM
Eight years ago, on 12/24/2002, IBuySpy Workshop (renamed a few months later to DotNetNuke) was released into the wild, and for many of us here who visit this website our lives were forever changed. A huge thanks to Shaun Walker for doing what he did back on that Christmas Eve in 2002. From my family, and all of course the DotNetNuke Family, Happy Holidays to everyone around...
|
By Chris Hammond on
12/20/2010 2:18 AM
This evening I was working on creating a Full Width skin for a car racing site I’ve worked on for a number of years. The site has a very active Forum running on DotnetNuke 5.6.0 and the 5.0.0 release of the DotNetNuke Forum module. The problem with the site is it is a fixed width design and that doesn’t’ work well for many forums. Basically I wanted a three column layout where the middle column stretched out as wide as possible, and depending on if there was content in the Left and Right columns, I wanted them to not display at all, causing the Middle column to expand to fill the void.
|
By Joe Brinkman on
12/16/2010 8:51 AM
The beta release of DotNetNuke 5.6.1 is now available for download on CodePlex. In the past we have not made public beta’s available for the maintenance releases because there wasn’t much time between when we started QA and when we actually released. Given the recent change in our maintenance release to every 2 months, and the extra time afforded by the winter holidays, we have decided to release a beta for 5.6.1 so that people have a chance to test what we’ll be releasing in January. At this point, the code is pretty stable and we have a very small list of outstanding regression issues we are working on for this release. You can see the list of outstanding issues on the DotNetNuke Roadmap for 5.6.1. If you find an issue, please log it into Gemini and we’ll take it from there. It is unlikely that any bugs found at this point will make it into 5.6.1, but it will give us a good head-start on identifying issues to be fixed for 5.6.2.
|
By Chris Hammond on
12/9/2010 8:04 PM
So earlier this year I had this thought, DotNetNuke should do something in support of Movember (the annual month of November where you grow a mustache for the month in support of raising awareness for Men’s health). I thought about it, and thought about it, and about let it slide right by without doing anything about it. But at the last minute I got things rolling, and I must say, it turned out way better than I had imagined! Check out the full post for all the details, and a YouTube video of the DotNetNuke team members who participated.
|
By Joe Brinkman on
12/2/2010 7:00 PM
Occam’s Razor is an often referenced heuristic that basically states that the simplest explanation is more likely to be the correct one. This principle has many corollaries in computer science as we often strive to find the simplest solution to a problem in order to keep the complexity of our applications under control. The new ASP.Net Razor view engine embraces this philosophy and certainly shows that even simple solutions can be very powerful. Charles Nurse has a recent series of blog posts which discuss how you can even use Razor within DotNetNuke, with the focus being on lowering the barrier for creating DotNetNuke modules. In keeping with this focus on simplicity, On December 6th, the Seattle DotNetNuke User Group (SEADUG) will be hosting the DotNetNuke Razor Hackathon. Like previous Hackathons, we’ll be live streaming the kick-off event on DotNetNuke.com.
|
By Joe Brinkman on
11/19/2010 2:20 PM
DotNetNuke is a web content management system and an application framework that has grown over the past 8 years to solve many of the challenges faced by developers when building websites and web applications. Because of this rich feature set, it is possible that there may be areas of the platform which you have yet to explore. In this ongoing series, I plan to use short video clips to highlight some of my favorite features of the platform. In this video, I focus the spotlight on the Dashboard Module which was first added in DotNetNuke 5.0. For more information about extending the dashboard, you should check out DotNetNuke Tips and Tricks #9 where I discuss how you can create your own plugin for the dashboard module.
|
By Joe Brinkman on
11/17/2010 10:58 AM
I am happy to announce the release of DotNetNuke 5.6. In 5.6 we spent a lot of time enhancing existing features addressing bugs and including a few minor features. One of the goals during 2011 will be to not only add great new features, but to also add some depth to existing features. The 5.6.0 release is a good first step in that direction. The DotNetNuke Community Edition 5.6 includes new features such as: - Improved Search: 5.6.0 includes an enhanced indexing capability which allows the standard core search feature to index page names, tag attributes and other metadata for improved search results
- Performance Enhancements: Optimizations to the database architecture and handling of web analytics tracking codes which will result in faster performance for all Editions of the product
- Configuration Manager: A new configuration manager provides DotNetNuke administrators with greater access and control over their website configuration files without requiring the user to have direct file access.
DotNetNuke Professional and Enterprise users also have some significant new enhancements as well including: - Site Search: Exclusive to the Professional and Enterprise Editions, the new Site Search engine allows site users to quickly locate files and pages in the site. The search engine includes rich query syntax with support for Boolean searches, phrase searches, relevance searches, wild cards, fuzzy searches, and groupings. Based on Lucene, the system includes a true web spider that is capable of indexing any site, whether it is built on DotNetNuke or not.
- Enhanced Analytics Support: The DotNetNuke Professional and Enterprise Editions include Enhanced Analytics Support, which allows users to take full advantage of Google Analytics. The system has been upgraded to the latest integration best practices from Google and now enables tracking of sub-domains as a single entity as well as the use of up to five segmentation rules per page.
- Content Approval Workflow Enhancements: The Professional and Enterprise Editions now allow managers to configure approvals in a top-down hierarchy at the site, page, and module level. In addition, content locking improves efficiency and reduces the chance of workflow conflicts. Approvals ensure that users throughout the organization that are impacted by a content change can review updates before they are published. The business rules engine enables workflows with an unlimited number of states and reviewers.
|
By Joe Brinkman on
11/11/2010 10:38 AM
Have you ever been given a technical challenge that just seemed to interesting to pass up? This past weekend I was asked the question about extending the blog module to add an author biography to the footer of the blog post. The gist of the question was how could we do this without causing problems on upgrade. Since I always like a good challenge, I thought this would be a good opportunity to also show how a little creativity will allow you to solve many of the challenges that you face in DotNetNuke. I have felt for a while that the DotNetNuke blog module was quite capable, but needed a few helper modules to give it a boost. This is a perfect showcase on how to extend a module without actually changing the module or any of it’s data. I also thought this would be a good opportunity to learn a few new techniques so I included the use of the new jQuery Templates which were added in jQuery 1.4.3, but which are also available as a separate download.
|
By Matthias Schlomann on
10/31/2010 2:13 PM
After I started with developing my first own module on C# I noticed that the DNN_Chat module is brocken when used in any of the DNN versions. I got in contact with its team lead Stefan Kamphuis and noticed that existing team was very small. Accordingly I offered my contribution helping the module to work on DNN5.x.
|
By Joe Brinkman on
10/29/2010 11:41 AM
Earlier this Week a public version of the DotNetNuke 5.6 Beta was made available on CodePlex. For information on how you can help with this release and to get access to the current version please visit our Beta Release page on DotNetNuke.com. In this release we have spent quite a bit of time cleaning up some lingering issues from Content Localization, Telerik HtmlEditorProvider, user Profiles along with dozens of other miscellaneous issues.
|
By Joe Brinkman on
10/19/2010 7:14 PM
DotNetNuke is a web content management system and an application framework that has grown over the past 8 years to solve many of the challenges faced by developers when building websites and web applications. Because of this rich feature set, it is possible that there may be areas of the platform which you have yet to explore. In this ongoing series, I plan to use short video clips to highlight some of my favorite features of the platform.
|
By Joe Brinkman on
10/18/2010 11:10 AM
This article is cross-posted from my personal blog. Over the last couple of years, I have been doing more and more work with JavaScript. Whether it is work on web pages with jQuery or work in mobile applications with Appcelerator Titanium, I often find myself needing to transfer data to and from the server as JSON. In DotNetNuke I frequently found myself constantly converting my .Net objects to and from JSON and it seemed to be a waste of time to constantly figure out what framework I should use to handle the JSON serialization/deserialization tasks. I have tried the JavaScriptSerializer, the DataContractJsonSerializer and even JSON.Net but I always keep coming back to the JavaScriptSerializer because it is the simplest solution that doesn’t impose any 3rd party dependencies. The problem with all of these solutions is that I am constantly having to remember how to use them. The API, even for the JavaScriptSerializer, still requires several lines of code whenever I want to use it. I wanted something that was drop-dead simple, yet still powerful enough to handle 95% of my serialization/deserialization needs (for the really tough stuff I can still use one off code with an appropriate serializer)
|
By Bill Walker on
10/13/2010 9:37 PM
The Networking Event which takes place each year at the DotNetNuke conference in Las Vegas always seems to be a highlight for many. Kristian Ranstrom, who is presenting a session during DotNetNuke Connections ‘10 agrees, telling us that he always enjoys the evening of socializing and that “getting everyone together is great.” In this edition of our speaker Q&A series, you can learn more about Kristian – and if you’re attending the conference, you will likely have your opportunity to meet him at this year’s Networking Event which takes place on the evening of November 3rd.
|
By Bill Walker on
10/8/2010 2:53 PM
Ian Robinson, who is speaking at this year’s DotNetNuke Connections conference in Las Vegas, is having himself a busy year. By the end of 2010, he will have visited Vietnam and The Netherlands, spoken at four conferences, helped organize the Day of DotNetNuke Chicago, and run a marathon. Through his Twitter account (@irobinson) he’ll have also shared a wealth of insights on #dnn … and #craftbeer. We look forward to seeing Ian again at this year’s DotNetNuke Connections event - and invite you to learn a little bit more about him in our most recent speaker Q&A.

|
By Chris Hammond on
10/7/2010 4:30 PM
If you’ve never been to the annual DotNetNuke convention in Las Vegas Nevada your first time there you are going to be overwhelmed. The Mandalay Bay Resort and Casino is enormous, if you’re staying in the Mandalay Bay or THEHotel, plan on giving yourself 10-15 minutes to walk to where the convention is each morning, you won’t go outside, but you’ll definitely go for a hike. First things first, THEHotel is another hotel (a fancier/pricier one), attached to the casino that is Mandalay Bay, you can think of them as being on opposite corners of a square. The convention center is on one of the corners between the two, if you consider that corner stretched way the hell out of place, and a long way away from the other corners :)
|
By Bill Walker on
9/30/2010 2:22 PM
Recently, I’ve been working together with Chris Hammond on the DotNetNuke Connections speaker profiles. Today, I wanted to get out the word about three current promotions, incentives, and awards we have underway, with a special emphasis on each of their deadline dates. One of those deadline dates is October 1st!
|
By Bill Walker on
9/29/2010 10:08 AM
Today, as part of our ongoing DotNetNuke Connections speakers Q&A series, we highlight a developer who is excited to be speaking at DevConnections for the first time. Though Chad Nash of Data Springs Inc. isn’t yet on the speaker circuit, he is certainly well-recognized in the community as a top selling vendor of modules for DotNetNuke. If you haven’t had the opportunity to meet Chad at one of the past conferences in Las Vegas, your chance is now! Catch Chad during his session – or say hello to him and his staff at their exhibitor booth (# 607/609)
|
By Joe Brinkman on
9/28/2010 11:49 AM
This article is cross-posted from my personal blog. One of the issues that every DotNetNuke skin designer faces is how to design skins for multiple browsers. Often, getting a skin to work in Firefox, Chrome, Safari and Opera is pretty straightforward and doesn’t require much tweaking. Unfortunately, the same cannot be said of Internet Explorer. Making your skin work with IE6, 7 and 8 along with all the other browsers can be a bit of a nightmare. I previously addressed this issue in DotNetNuke Tips and Tricks #3: Conditional StyleSheets. In that post, I created a skin object that allows you to conditionally add a stylesheet to the skin based on a condition defined by the designer. This skin object was subsequently added to the core framework and is currently being used by many designers. In fact, Artisteer uses it in all the DotNetNuke skins that their software generates. Recently, I found a method that I like better than using conditional stylesheets. One of the downsides to conditional stylesheets is that you end up causing stylesheet bloat. Conditional stylesheets add round trips to the server which we should be trying to minimize. Conditional stylesheets also require you to maintain multiple stylesheets which can be a little painful. If you make a change in your main stylesheet, you will need to find the corresponding section in your IE specific stylesheets and potentially make changes to them as well. From a maintenance and development perspective, this is far from optimal.
|
By Joe Brinkman on
9/27/2010 1:22 PM
I have often heard it said that people have difficulty creating skins for DotNetNuke. I am always baffled when I hear these comments especially in light of what I see in the competing skinning engines on other platforms. In this series of posts I’ll be looking at the basics of DotNetNuke Skinning, creating a complete DotNetNuke skin and associated containers, dispelling a few Myths and Misconceptions about DotNetNuke Skinning and finally we’ll wrap up the series by comparing the DotNetNuke skinning engine with those of some other web platforms. Over the past several years designers have expressed a number of frustrations about the DotNetNuke skinning engine. Often these frustrations may be based on some particular difficulty they are having and therefore there is a kernel of truth to the issue. What I frequently find when digging into these challenges is that there is a misunderstanding by the designer which leads to the frustration or the design is constrained by limitations in HTML and CSS. Fundamentally, we need to do a better job of providing documentation to the design community which helps them to better address their points of frustration. Below I present some of the common myths about DotNetNuke skinning.
|
By Chris Hammond on
9/27/2010 11:04 AM
As we lead up to DotNetNuke Connections November 1-4, 2010, Bill Walker and I are highlighting some of the speakers who will be presenting sessions at this year’s conference. Last week we introduced you to Brandon Haynes, today we’ll introduce you to one of the guys who has had the most influence on DotNetNuke in the past 4 or 5 years, Charles Nurse. So sit back and enjoy our brief interview with Charles, and stay tuned as we feature more speakers in the coming weeks. You might also check out some of the recently announced Offers for DNN Connections, some expire soon!
|
By Joe Brinkman on
9/27/2010 12:13 AM
Very early in the life of DotNetNuke, modules were fairly limited in their functionality. Modules could have multiple behaviors attached to them by the framework which were displayed as a list of link buttons. Very quickly this UI became very cumbersome as we continued to add more and more behaviors to the standard list of behaviors. This UI greatly limited the amount of actions that could be attached to a module and at the time the list of behaviors was fairly static. One of the first enhancements that I worked on for my own modules was the ability to create a menu that was attached to the module. This menu was intended to be customizable by the module developer and the framework and would remove the space limitations that plagued the early framework. When I showed Shaun the menus he instantly saw the potential and we incorporated them into the framework. The module action menus were originally designed to be extremely flexible. I wanted to be able to create links that could perform client-side actions as well as trigger events on the server side, depending on the needs of the module developer. Many module developers have taken advantage of the server side functionality over the years, but I have not seen many modules which have taken advantage of the client-side functionality. When I first created the menus, I documented the API using XML Comments, which were not being used anywhere else in the framework. Until recently the project was not even publishing the API documentation, so these comments went largely unnoticed by the developer community. I am happy to say that with 5.5 that has changed and the API documentation for the core framework is now available with the rest of the Community Edition download packages.
|
By Joe Brinkman on
9/22/2010 12:31 PM
I am happy to announce the release of DotNetNuke 5.5.1. This release includes many bug fixes for the most critical issues identified in DotNetNuke 5.5.0 which we released last month. As a result of the recent ASP.Net Padding Oracle Vulnerability, which was discussed by Shaun Walker and Cathal Connolly in their recent blogs, we have added additional checks and upgrade enhancements in this release to ensure that DotNetNuke sites running the latest version are using the recommended CustomErrors configuration. As we have noted in many of our recent releases, we continue to increase our Quality Assurance efforts with each release. Given the critical nature of the ASP.Net vulnerability, we paid extra attention to more than 40 different upgrade scenarios to increase the stability and reliability of the upgrade process, and to ensure that once upgraded your site would be protected. As always, even for those unfortunate few who have issues upgrading, the community stands ready to assist you with any problems you may encounter. We highly recommend that everyone upgrade to the DotNetNuke 5.5.1 release as soon as possible. For those who are unable to upgrade their sites we anticipate having a standalone module which we will make available later this week which provides the same benefits against the padding oracle vunlnerability as the core enhancements made in 5.5.1.
|
By Chris Hammond on
9/21/2010 11:40 AM
As we lead up to DotNetNuke Connections November 1-4, 2010, Bill Walker and I are highlighting some of the speakers who will be presenting sessions at this year’s conference. Last week we introduced you to Cathal Connolly and Bruce Chapman, today I have the pleasure of featuring a cohort of Cathal’s on the Security team for DotNetNuke, Brandon Haynes. So sit back and enjoy our brief interview with Brandon, and stay tuned as we feature more speakers in the coming weeks. You might also check out some of the recently announced Offers for DNN Connections, some expire soon!
|
By Bill Walker on
9/20/2010 4:40 PM
DotNetNuke Connections officially gets underway six weeks from today – on November 1st – with a pre-conference workshop presented by Chris Hammond ( Develop a DotNetNuke Module from Start to Finish). The conference wraps up four days later with the Closing Panel on November 4. In between, attendees will be treated to a selection of 24 excellent sessions at DotNetNuke Connections as well as dozens of others in the concurrent tracks at DevConnections.
If you haven’t yet registered for DotNetNuke Connections, another date you’ll want to keep in mind is September 22.
|
By Joe Brinkman on
9/15/2010 6:03 AM
This article is cross-posted from my personal blog. As long-time DotNetNuke users well know, DotNetNuke contains an extensive API that makes the platform extremely powerful and flexible. Over time the core APIs have continued to expand as new features were added and existing features were enhanced. One of the core APIs which has been part of DotNetNuke since 4.6 was released three years ago today is the XML Merge API. The XML Merge API was developed to enable developers to define changes that need to occur to any xml based file within the website. It is primarily used by the core framework to make updates to web.config but has utility beyond just updating web.config. Web.config management was a huge problem in early versions of DotNetNuke. Managing and applying the web.config changes every time you upgraded DotNetNuke was a time-consuming and error-prone process. The XML Merge API was developed in part to address this need. When I first created the API, I needed a way to merge dozens of custom URL rewriter rules into the siteurls.config for the AspDotNetStorefront module. These rules could change with new versions of the ASPDNSF module and so I also needed to support the ability to apply these changes in a version specific manner. My first version was included as part of the ASPDNSF module, but due to a contractual arrangement, I was able to make this API available in DotNetNuke as well. In this post we’ll explore how to better expose this functionality and take advantage of it within your DotNetNuke website.
|
By Bill Walker on
9/14/2010 12:52 PM
Most DotNetNuke users will know Bruce Chapman for his work in the areas of friendly URLs and SEO. In the most recent edition of our ongoing speaker Q&A series, we learn more about the two sessions Bruce will be presenting at DotNetNuke Connections and discover that his first visit to a DotNetNuke conference was like "walking into a room full of old friends you'd actually never met."
|
By Joe Brinkman on
9/13/2010 6:32 PM
Have you ever installed a piece of software but weren’t sure where to go from there? Have you struggled to find that feature that you know is there, but you’re not quite sure how to turn it on? Have you occasionally had problems just getting some complex piece of software installed? These are challenges faced by the average user of almost every piece of software ever created. Few software applications are so straight forward and simple that no documentation is required. As software becomes more and more complex, the documentation and training requirements increase as well. You need documentation and training that caters to the beginner as well as the expert.
I have heard many DotNetNuke users recite these same challenges. Like every content management system or application framework I have ever encountered, DotNetNuke is a complex system, so it is not unusual that some new users will find it challenging to get started. It is also not unusual that many experienced DotNetNuke users and developers will find new features and capabilities that they never knew existed. The biggest hurdle for many users is the perception that DotNetNuke is not well documented or that the only place to find information is in the forums.
Over the last 8 years, the DotNetNuke team, and the DotNetNuke community has created a wealth of documentation, videos and books covering all aspects of DotNetNuke. As an Open Source project, DotNetNuke has relied heavily on community members not just for coding and design skills, but also for providing much of the documentation that is available for the platform. Unfortunately, we have not always done a very great job of making that information easy to find for users. Some of the information is available on DotNetNuke.com, but often you may need to venture out to other websites to get information provided by the broader DotNetNuke community.
My purpose with this post is to provide a good starting point for anyone who is new to DotNetNuke, and even for many long-time DotNetNuke users, administrators, designers and developers. This list is far from exhaustive, but will provide a very solid foundation that should answer a lot of questions. I have used everyone of these resources and know that they are all provide high quality material that is fairly up to date. If you have been using DotNetNuke for any period of time, I am sure you have your own list of resources that you find valuable. Feel free to leave a comment and tell me what documentation and training resources you have found helpful.
|
By Bill Walker on
9/13/2010 12:30 PM
It is often said that variety is the spice of life. Perhaps that is why I enjoy the DotNetNuke Community Choice Awards so much.
We’ve now received over one hundred entries for this year’s edition of the awards. The quality and variety of web sites entered across all categories - Most Creative/Original Site, Best eCommerce Site, and Best Informational Site – is really impressive. I can’t wait to see which others come in before the entries deadline this Friday.
|
By Joe Brinkman on
9/8/2010 10:36 AM
 Do you use Windows Live Writer and the DotNetNuke Blog module? I do, and I just discovered a great new WLW feature which is going to greatly simplify the steps I have to perform for every blog post. I have been using Windows Live Writer (WLW) for a few years now. I really love WLW for writing my blog. In fact I loved it so much that it was one of the reasons I had shifted my personal blog to BlogEngine.net. At the time, the DotNetNuke Blog module did not support a posting API which could be used with WLW. You don’t know real pain until you have tried to write a blog post with nothing but a web based rich text editor. Once you lose one or two posts because of a session timeout or your post gets mangled because of the way the editor handles script blocks or xml blocks, you will quickly swear off all blogging with an RTE. Once I started using BlogEngine, I came to really appreciate some of its features. It really tries to leverage the capabilities of WLW to make the blogging experience as pain free as possible. One feature that I use quite a bit is the ability to split my blog into a summary along with the full post just by including the “[more]” tag in my post. Everything before the tag will be used when displaying the blog summaries. The entire content will be displayed when viewing a specific blog post. This is great, although it does limit your ability to craft a great summary that differs from the opening of your blog post. Unfortunately, the DotNetNuke Blog module does not support the “[more]” tag. If you don’t provide a summary when creating a post for the Blog module, then it will try to create a summary using the first 1000 or so characters. This rarely works with my blog posts and even when it works it is generally not optimal. Because I usually include an image at the top of my posts, the auto-summary feature usually just chokes and I am forced to hand enter a summary for my blog on DotNetNuke.com. This is definitely a problem. My blog posts often include coding examples. When I edit a blog post just so I can hand craft the summary, it also has the side effect of opening the main blog content in the RTE which then reformats my code blocks when I go to save the summary. Hello mangled code samples.
|
By Bill Walker on
9/8/2010 6:58 AM
Last week, Chris Hammond announced that the schedule for DotNetNuke Connections had been posted and that we would soon begin offering you some more insight into the speakers and sessions at this year’s conference. Today, we discuss DotNetNuke Connections with Mitchel Sellers who is presenting two sessions at the conference this November in Las Vegas.
|
By Joe Brinkman on
9/8/2010 6:44 AM
 One of the great strengths of the DotNetNuke platform over the past 6 years has been the rapid growth of the ecosystem for modules and skins. Very early in the project’s history we realized that in order to promote redistribution of extensions, we needed a standard method to package modules. At the time, one of the community members contributed their code for reading a standard xml file located inside a zip file containing all of the module files. Using this contribution as the foundation, I created the core module installation feature for DotNetNuke. The xml file that controlled the installation process came to be known as the module manifest. The purpose of the manifest file was to identify key files within the package and designate where they should be installed. This manifest also contained some additional metadata that was necessary for creating the needed entries in the different module tables within DotNetNuke. Over time, Charles and myself continued to extend the module manifest and the packaging standard so that we could handle more and more installation scenarios. Even with these additions, the manifest and packaging standard was still basically the same as what I had originally built in 2004. When Skinning was introduced with DotNetNuke 2.0 it used a different packaging standard. Instead of relying on a manifest, it used a convention based approach and depended on having files follow a specific naming standard. This worked well, but it had a number of limitations. Like the module packaging standard, this remained largely unchanged until fairly recently.
|
By Chris Hammond on
9/3/2010 5:59 PM
If you haven’t been to Las Vegas Nevada for the annual DotNetNuke Conference you are definitely missing out on a good time! I look forward to going every year, and to be honest, I get the most enjoyment out of seeing all the people and talking outside of the sessions than I do in the sessions themselves. That being said, the sessions are well worth the price of the conference! But where else are you going to get to meet the big names in the DotNetNuke World each and every year?

|
By Bill Walker on
9/2/2010 7:02 PM
This week, we officially launched the second annual DotNetNuke Community Choice Awards. While the nominations period has only been open for a matter of days now, we have already received some high-quality and varied examples of DotNetNuke web sites.
|
By Chris Hammond on
9/2/2010 5:23 PM
So if you’ve been under a rock lately you might not have heard that the annual DotNetNuke conference is coming up. While in the past it has been branded as OpenForce, this year it is just simply DotNetNuke Connections, to better fit inline with the DevConnections banner.
This years event is once again going to be held in conjunction with DevConnections in Las Vegas Nevada, November 1-4. The conference is at the Mandalay Bay Resort and Casino, a great venue that has been the amazing home to the DotNetNuke conference for the previous three years.
|
By Joe Brinkman on
9/2/2010 10:55 AM
On August 18th we kicked off the Mobile DotNetNuke Hackathon at the St. Louis DotNetNuke User Group. During the kick-off we had a great demonstration of Appcelerator Titanium from Kevin Whinnery. Kevin is an Appcelerator Engineer and Product Evangelist and it was clear from his presentation that he was both passionate and knowledgeable about Titanium. Almost everyone we spoke with was extremely interested in giving Titanium a try and the Hackathon was the perfect opportunity to kick the tires and build a great mobile application.
If you have been following the voting this last week, you know that we had 5 great Hackathon entries, 4 of which were built with Titanium. The voting has ended and Scott Willhite should be announcing the results shortly. Regardless of which mobile app is declared the Hackathon winner, the real winner is the entire DotNetNuke community. We have gained valuable knowledge about a great tool that can aid in extending the reach of websites and web applications that we all build. We have also added 6 more Open Source applications to the DotNetNuke forge which will provide great starting points when developing new mobile applications.
|
By Joe Brinkman on
8/27/2010 11:03 AM

Last week we challenged DotNetNuke developers to create and submit applications for the latest DotNetNuke Mobile Hackathon. Entries had to have a mobile application component and a DotNetNuke component that allowed the mobile application and a DotNetNuke website to work together to provide a compelling mobile DotNetNuke experience for the user. Because the mobile development space is a bit new to many of us, we enlisted the aid of Appcelerator in sponsoring the event and giving a short demo of their Titanium Mobile product to the Hackathon kickoff event attendees. Titanium simplifies mobile development and allows developers to target several mobile platforms using a single code base. Apparently our developer community liked Titanium as well, since 4 of the 5 entries were created using the Titanium Mobile SDK.
|
By Chris Hammond on
8/24/2010 4:32 PM
In case you missed it, there is a Hackathon that is going on right now (the submission deadline is tomorrow so you still have time to throw a quick mobile project together). As part of the Hackathon event in St. Louis last week I gave a brief presentation on how to quickly and easily...
|
By Joe Brinkman on
8/24/2010 8:58 AM
Last Wednesday night we kicked off the DotNetNuke Mobile Hackathon in St. Louis. The focus of this hackathon is developing applications that span the DotNetNuke and mobile application space. Participants have until the 6PM CST on August 25th to submit their entries. As we mentioned at the user group meeting, we have been working on a community application that allows DotNetNuke users to stay connected even when they are not in front of their computer. Starting today we are distributing the source code for DNN Pulse on the DotNetNuke Forge.
DNN Pulse is being built with Appcelerator Titanium and takes advantage of Xmlhttprequests, geolocation and mapping services to connect the user to the DotNetNuke community in their local area and on DotNetNuke.com. During the coming months we will continue to add new features and functionality to the app so that no matter where you are, you can always stay plugged into the community. Titanium was a natural fit for us since it allows us to target multiple mobile platforms with a single codebase, and because all of the code is written in Javascript we can re-use our existing coding skills without needing to learn a new language.
The initial code release is still beta quality code. After the hackathon is complete we will incorporate a few remaining features which are not in the current codebase and clean up some of the error handling. If you plan to use some of this code in your own app, then keep that in mind and code appropriately.
|
By Chris Hammond on
8/21/2010 2:40 PM
|
By Joe Brinkman on
8/19/2010 6:17 PM
|
By Joe Brinkman on
8/18/2010 2:01 PM
 I am happy to announce...
|
By Chris Hammond on
8/16/2010 11:52 PM
|
By Bill Walker on
8/11/2010 1:32 PM
If you’ve been planning on attending this year’s DotNetNuke Connections event in Las Vegas, now is the time to book your hotel room. Mandalay Bay Resort and Casino has extended its discounted room rate until August 16 th. In addition, you can still save $100 on early bird conference registration if you register prior to September 1 st.
People often ask me where they should stay when they come to this great annual conference. I never hesitate to suggest Mandalay Bay.
|
By Joe Brinkman on
8/11/2010 8:23 AM
This article is cross-posted
from my personal blog.
Background
In preparation for the upcoming DotNetNuke Hackathon
in St. Louis, I have been busy working on a new mobile application for the
Android and iPhone platforms. Nik
Kalyani and I have been playing with the Appcelerator Titanium product for the
past several months and have been intrigued by it’s promise to allow you
to quickly develop mobile applications for multiple platforms using the coding
skills that many web developers already possess. When Nik started planning
for the St. Louis Hackathon he decided to focus on building apps which bridge
the mobile and DotNetNuke space. He immediately thought that Appcelerator
was a natural tool to use.
What attracted Nik and I to Titanium was the ability to program in JavaScript
with a light sprinkling of HTML and CSS to create native iPhone and Android
applications. It also helped that Titanium is an Open Source product which
is a big plus for the DotNetNuke community. The real Titanium magic
happens when you compile your application using Titanium Developer. At
that point a native application is generated for either Android or iPhone, and
coming soon the BlackBerry as well. Titanium Developer lets you run your
app on the various platform emulators as well as allowing you to push your
application directly to a physical device. As a final step, Titanium
Developer even assists with publishing your finished application to the Android
Market and the iPhone App store.
|
By Chris Hammond on
8/3/2010 11:45 PM
If you haven’t been reading my blog lately (what’s the matter with you?) you may have missed the couple of blog posts about the upcoming St. Louis Day of .NET that is going on in St. Louis. If you’ve missed those posts, check them out. In conjunction with that event (which is on a Friday the 20th and Saturday the 21st) we’ve been planning another event more specific...
|
By Joe Brinkman on
7/23/2010 4:58 PM
Last year at OpenForce Connections in Las Vegas, Shaun Walker announced an updated release policy. The goal in 2010 was to move to a monthly maintenance release schedule along with Quarterly major releases. Prior to this policy announcement, releases were quite sporadic which made it difficult for our internal planning purposes, and also made it difficult for our users to schedule their own upgrade testing and deployment. When we first committed to this new release schedule, we knew that it was going to take a little time before we could get into the groove with the new release cycle. By February we had 3 monthly releases under our belts and things looked to be going pretty well, so much so that I blogged about it.
We are now 8 months into the release schedule and following some issues with a few of our recent releases we’ve had a lot of feedback from customers and community members regarding the release schedule. Some users have indicated that monthly releases just didn’t give them time to properly test and upgrade their sites before a new release was coming out and they had to start the cycle all over again. Other users worried that committing to monthly releases was hurting the quality of our releases. Conversely, some users liked the frequent releases because it meant they could get bug fixes quicker. Some users also liked the predictability of the release schedule.
|
By Joe Brinkman on
7/22/2010 7:06 PM
 ...
|
By Joe Brinkman on
7/22/2010 9:52 AM
Last night we posted another beta of DotNetNuke 5.5 which you can access from the beta release page on DotNetNuke.com. This is probably your last chance to provide feedback on the 5.5 release as we are nearing completion of the testing cycle. You can have a direct impact on the quality of the 5.5 release if you act today.
Since the last beta release 2 weeks ago, the DotNetNuke team has been busy cleaning up bugs and validating the user scenarios for the new Content Localization feature. During this time more than a 160 bugs and enhancements have been implemented. Many of these changes have been as the result of feedback we received from the earlier alpha and beta releases. In addition to all of the work on Content Localization we have fixed a number of longstanding bugs and made major strides on improving performance. We are hoping to be able to wrap up testing soon so that we can get a final release out to the community this summer.
|
By Chris Hammond on
7/19/2010 12:24 PM
When I started up here at DotNetNuke Corp. in March, I spent quite a bit of time planning and tweaking our plan in regards to the DotNetNuke Training that we would be offering. The initial phase launched when we started offering our paid DotNetNuke Training Webinars in May 2010 covering a variety of DNN topics. Since then we have conducted almost 80 hours of live webinar based training,...
|
By Joe Brinkman on
7/13/2010 12:38 PM

I have often heard it said that people have difficulty creating skins for
DotNetNuke. I am always baffled when I hear these comments especially in
light of what I see in the competing skinning engines on other platforms.
In this series of posts I’ll be looking at the basics of DotNetNuke
Skinning, creating a complete DotNetNuke skin and associated containers,
dispelling a few Myths and Misconceptions about DotNetNuke Skinning and finally
we’ll wrap up the series by comparing the DotNetNuke skinning engine with
those of some other web platforms.
During the course of this series, we’ll be working towards building and
packaging a skin that is based off of the Dreamy design template
from the Open Source Web Design site.
This template uses a very simple design layout which should work well for
explaining the basic concepts of DotNetNuke skinning.

Building Containers
DotNetNuke breaks up our “themes” into two different parts
– skins and containers. In part 1 and 2 of this series, I showed you how to make the page layout
portion of a DotNetNuke Skin. It can be a bit confusing to new users
because the term skin is used to describe the entire “theme” and
also to describe the page layout portion of a complete skin package.
Containers are a much easier term to understand and will be the focus of this
post.
|
By Chris Hammond on
7/6/2010 11:42 PM
So last year, shortly after I moved from St. Louis to Denver, I went back to St. Louis to present at the 2nd St. Louis Day of .Net. Now, having moved from Colorado to California I’m headed back to St. Louis again. Once again presenting at the St. Louis Day of .Net, August 20-21, 2010. I will be presenting my crowd favorite DotNetNuke Best Practices session, the same one, possibly tweaked a bit, I delivered in Toronto in May....
|
By Joe Brinkman on
6/28/2010 2:02 PM
 I am pleased to announce the release of DotNetNuke 5.4.4. This maintenance release resolve’s two significant breaking changes that slipped through in 5.4.3 and resulted in us pulling the 5.4.3 release. Below are the highlights from this months release. As usual, you can see a full list of changes in the changelog.
|
By Joe Brinkman on
6/28/2010 8:51 AM
I
have often heard it said that people have difficulty creating skins for
DotNetNuke. I am always baffled when I
hear these comments especially in light of what I see in the competing skinning
engines on other platforms. In this series of posts I’ll be looking at the
basics of DotNetNuke Skinning, creating a complete DotNetNuke skin and
associated containers, dispelling a few Myths and Misconceptions about
DotNetNuke Skinning and finally we’ll wrap up the series by comparing the
DotNetNuke skinning engine with those of some other web platforms.
- Part 1: Understanding the Basics
- Part 2: Building a Skin
- Part 3: Building Containers
- Part 4: Packaging
- Part 5: Myths and Misconceptions
- Part 6: Skin Engine Comparison
During the course of this series, we’ll be working
towards building and packaging a skin that is based off of the
Dreamy design template from the
Open Source Web Design site.
This template uses a very simple design layout which should work well for
explaining the basic concepts of DotNetNuke skinning.
|
By Joe Brinkman on
6/24/2010 6:50 AM
This past weekend we received the entries for our second event in the Hackathon series which DotNetNuke Corp is promoting in conjunction with HyperCrunch. DotNetNuke Hackathons are a great way for users to learn about DotNetNuke features or development techniques that they may not have tried before and put them into action. The Hackathons are also a great way to introduce people to some of the great user groups that we have spread around the world.
Below are some of the videos from the recent “Visual DotNetNuke” Hackathon that was held at the Capital DotNetNuke User Group on June 16th. You can find these videos and more from all of our Hackathon events on the Hackathon videos page on DotNetNuke.com.
|
By Joe Brinkman on
6/21/2010 7:13 PM
This is one of those posts that is always difficult for me to write. Nobody likes to admit failure, but the only way to fix a problem is to admit when it exists. Once again we have had to remove a release due to a severe bug making it through the release process. We probably could have just left the 5.4.3 release as it was and worked on rushing out a new 5.4.4 release to address the bug, however, we felt it would be prudent not to put our users in the position of installing and trying to use a version that we know is going to break a lot of modules from 3rd party developers.
The bug in question is a breaking change that will break any module that uses the core ExecuteSQL data access layer function. It is hard to gauge just how many modules use this function, but we know that this function impacted modules by at least 4 core team developers, including many administrative modules that we use to run DotNetNuke.com. The fix for this bug is relatively simple and we have already checked in a fix and are working to test it. We will have an updated package ready for testing tomorrow by a select group of commercial module developers with a final release of 5.4.4 coming later this week. Given the security issues which were already made public we are limiting the scope of this release to ensure we don’t leave the community overexposed.
|
By Joe Brinkman on
6/20/2010 10:55 AM
 This morning I updated the source code for the Silverlight Pages module that I am building as part of the DotNetNuke Hackathon. Based on some feedback from Michael Washington, I did a little refactoring to separate out my XAML display markup into a separate view. This makes the code just a little bit cleaner and allows me to develop the view in Blend (of course that is a whole new thing to learn which will have to wait for later). For now I will continue to hack away in XAML, learning a bit more each day and shaking off some of the cobwebs from what I had learned 2 years ago.
Michael has a lot of good resources on Silverlight development for DotNetNuke on his site http://dnnsilverlight.adefwebserver.com/. For my initial refactoring though, I found a video on the MVVM pattern by Todd Miranda which was a little easier for me to understand. Using this video as a guide, I have re-organized the files as shown.
|
By Joe Brinkman on
6/17/2010 9:08 PM
As part of the DotNetNuke Hackathon at the Capital DotNetNuke User Group on June 16th, I discussed using Silverlight to create rich DotNetNuke modules. The example that I presented was a work in progress which I’ll be working on during the course of the Hackathon, even as participants are working on their own submissions. You’ll be able...
|
By Joe Brinkman on
6/17/2010 10:37 AM
 I am pleased to announce the release of DotNetNuke 5.4.3. This month’s maintenance release focused on resolving major issues with page management and with the Telerik HTML Editor Provider. The page management fixes should resolve all major outstanding issues in this area. The HTML Editor Provider fixes addressed some of the larger issues with the provider, although we recognize there are still several fixes and enhancements that remain for this particular item which we hope to address in the upcoming 5.5 release. The 5.4.3 release also includes a number of security fixes. As always our community continues to work with the security team to identify potential security issues and to help test the subsequent security fixes. As an Open Source project, the DotNetNuke platform and the community benefit tremendously from this collaborative relationship that allows us to discover security issue in a timely manner and quickly work to resolve them. Finally, I want to thank those community members who provided bug fixes for this months release. Their efforts help to create a better product for all of us. Below are the highlights from this months release. As usual, you can see a full list of changes in the changelog.
|
By Joe Brinkman on
6/10/2010 4:58 PM
In May, Nik Kalyani traveled to the Orlando DotNetNuke User Group to present the first DotNetNuke Hackathon event. The Orlando Hackathon was very well attended and focused on teaching developers about the new MVP design pattern and the WebformsMVP framework that was included in DotNetNuke 5.3.
What is a Hackathon?
A Hackathon is a developer event that occurs over a short period of time. Hackathons are informal events aimed at teaching developers some new technology which the developers then use in the development of a new project. Because of the immersive nature of the events, developers are able to get a good jumpstart on using some new technology or development technique. These events are designed to encourage participation by people who may not be familiar with a particular technology or concept.
|
By Joe Brinkman on
6/4/2010 9:52 AM
 Isaac Asimov was once quoted as saying “The only constant is change”. That has certainly been true of my time with the DotNetNuke project. Over the last seven years of working on the DotNetNuke project and working at DotNetNuke Corporation I have held a number of different roles within the organization. I have defined and coded major product features, built and managed the DotNetNuke Marketplace, managed the release process, managed both OpenForce Conferences, oversaw the QA function, and created and managed the DotNetNuke Professional support team. During this time there have been a lot of things for which I am proud to have hand in developing and a few that I wish I could go back and do differently. Through it all, I have been extremely proud to be a part of this organization, both as a volunteer and later as a co-founder and employee at DotNetNuke Corporation.
|
By Chris Hammond on
6/1/2010 6:38 PM
So this is the first in a series of promised blog posts that I am long overdue on! These posts are a follow up to a Beginning DotNetNuke Module Development webinar that we provided back on May 17th. If you didn’t attend the webinar you missed out, but you do get to benefit from these blog posts if you want to easily get setup and running with C# module development for DotNetNuke.
This first post will be discussing the development environment that I configure when I am doing DotNetNuke module development, in addition to this post I’ve got a post about a free Visual Studio template that I am releasing on Codeplex that makes setting up your first DNN module very easy. As well as another blog post about using NANT to automate the packaging of your DNN modules so that you can easily deploy them to other environments.
|
|