The Mighty Blog

Apr13

Written by:Will
4/13/2009  RssIcon

I am still reading Mitchel Seller’s book, Professional DotNetNuke Module Programming.  It’s a great book so far, and I have already been using it as a quick desktop reference for my DNN development needs.  However, I came across a page last night that confused me.  I have been speaking at code camps recently about the new Skin Widgets available to DotNetNuke version 5.  One of the things I show during the session is how to package a widget to be installed on another DNN website. 

In the book, Mitchel describes the available manifest types being: Module, Provider, Skin, SkinObject, and Container.  However, another type is Widget.  That’s what we are going to talk about here.  First of all, since Charles Nurse has done a great job of covering the new Manifest file, I will not go into huge detail on it, but I will show you the entire manifest file that I used for my demo.

Here are the blog posts about the DNN 5.0 manifest files that Charles Nurse put out there for background:

Following the roadmap and guidelines that Charles has left for us, we can move on to the Widget manifest file.  The main difference begins with the PACKAGE node, near the top of the page.  For a module, it will look like this:

<packagename="WillStrohl.ContactCollector"type="Module"version="1.0.0">

A Widget is only slightly different, as shown here:

<packagename="WillStrohl.Widgets"type="Widget"version="1.0.0">

Notice that the TYPE attribute differs from Module to Widget.  This difference continues to the COMPONENTS child nodes.  Specifically, the component node itself.  There are various types that Charles has blogged about.  Now we use the “Widget” value for the TYPE attribute.  Then, the schema for the remaining child nodes also have a slight difference, but only in the element names themselves.  However, the function is the same as you’ve been using in all previous manifest files.

<components>
<!-- It is important to identify the type as a widget for the installer -->
<componenttype="Widget">
<widgetFiles>
<!-- The name of the widget folder -->
<basePath>WillStrohl</basePath>
<!-- The listing of all of the widget files included in the zip file -->
<widgetFile>
<name>WillStrohl.Widgets.SampleWidget.js</name>
</widgetFile>
<widgetFile>
<name>WillStrohl.Widgets.TechnoratiInfoWidget.js</name>
</widgetFile>
<widgetFile>
<name>WillStrohl.Widgets.SocialBookmarkWidget.js</name>
</widgetFile>
<widgetFile>
<name>license.txt</name>
</widgetFile>
<widgetFile>
<name>releasenotes.txt</name>
</widgetFile>
<widgetFile>
<path>img</path>
<name>i_facebook.gif</name>
</widgetFile>
<widgetFile>
<path>EmbedWidgetResources\InjectScript</path>
<name>injectscript.snippet.htm</name>
</widgetFile>
</widgetFiles>
</component>
</components>

That’s all there is too it.  Just replace a standard DNN 5 manifest file using my examples above, replacing the values with your own.  Here is a complete example of my own manifest file.

4 comment(s) so far...


Gravatar

Whoaaaa. It's pretty cool to run into a website that makes me SLLOOWWW down and R E A D. Isn't there an easier way to simply download knowledge yet?

I'm trying to fix an upload error on a DNN 5.01 skin pack. The .dnn file isn't found in the temp directory during install, and yet i can see it in the temp folder? Does this mean there's an issue with the server not recognizing the .dnn file extension and what to do with it?

Ideas?

By Daniel Comp on   5/22/2009
Gravatar

It turns out that the manifest was zipped in the wrong place, so once I moved the file and re-zipped it, install, etc. things are fine. Is there a standard for file and manifest file/folder relationships - like an outline to follow?

By Daniel Comp on   5/22/2009
Gravatar

Yes. Which are you looking for? The relationship in the manifest, in the zip file, or both?

By Will on   5/22/2009
Gravatar

You can also use my "Dotnetnuke 5+ Skin Package Manifest Creator" here:

http://dotnetnuke.mywebsitedesigner.com.au

By Adam Kirkbride on   2/20/2010

Your name:
Gravatar Preview
Your email:
(Optional) Email used only to show Gravatar.
Your website:
Comment:
Security Code
CAPTCHA image
Enter the code shown above in the box below
Add Comment   Cancel 
Add to Technorati Favorites
Tweet about my blog
Will Strohl - The Mighty Blog - RSS Feed

Tag Cloud

Sort by:Tag | SizeRSS
camp   community   dnn   dotnetnuke   dotnetnuke®   event   example   free   get   group   integer   jquery   meeting   module   odug   orlando   search   session   think   use  
The opinions expressed here are the personal opinions of Will Strohl and do not necessarily represent the views and opinions of the DotNetNuke Corporation.
© Copyright 2004-2010 by Will Strohl. All rights reserved.Website Skinned By: Ralph Williams  Website Hosted By: Applied Innovations