Widgets are also called Skin Widgets. This is because they are usually used within skins in DotNetNuke, but you can also add them to module headers and footers, the HTML module, and more. You can’t use them just anywhere though. For example, your forum posts are safe from guest widgets.
When we think of what a widget can do, you are only limited by two things:
As you can see from the links above, there are a growing number of DNN widgets available to you these days. And with projects such as the Widget Suite for DNN, you’re having less and less of a need to create your own widgets. However, if you need or want to, here is how…
This is a topic that I’ve spoken about at many code camps and user group meetings. However, I didn’t until somewhat recently see a whole lot of information on this topic online. I had always intended to write at least one tutorial on my blog, but I was waiting for the widget framework author to do it (Nik Kalyani). For a while, I didn’t see anything – but it seems that over a few days (a while back), he slipped in some excellent tutorial blog posts without me noticing:
There is one final piece to the puzzle though, and that is how you package your widget. Essentially, since the widget framework is completely client-side, there really isn’t any true requirement to package your widgets since FTPing them to your site will make them immediately active. However, if you want to hand these off to other sites and and keep track of versions and take advantage of the other DNN benefits, then packaging is highly necessary – just as it is with modules and other extensions.
This is indeed something I blogged about in the past. When the widget framework was first announced and released, I was so excited, I literally just jumped right in and began digging through the widget code.
Something that I didn’t see in any of the examples in the widget framework was a packaging manifest. This was especially troublesome since at the time, the manifest format had been changed quite a bit. So, after a while of digging through the source code of DNN, I was able to determine what a few of the key values were that were required to properly write a DotNetNuke widget manifest file. You can read all about that in a previous post, where I outline how to package your DotNetNuke widget.
You can of course also see a live working example of a widget manifest and package by downloading the latest version of the Widget Suite.
You can too – it’s easy!!!