Products

Solutions

Resources

Partners

Community

Blog

About

QA

Ideas Test

New Community Website

Ordinarily, you'd be at the right spot, but we've recently launched a brand new community website... For the community, by the community.

Yay... Take Me to the Community!

Welcome to the DNN Community Forums, your preferred source of online community support for all things related to DNN.
In order to participate you must be a registered DNNizen

HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Declaring Module dependencies in the manifest fileDeclaring Module dependencies in the manifest file
Previous
 
Next
New Post
5/20/2008 9:53 AM
 

I am developing a couple of modules, where the second module has a dependency on the first one, and should be installable only if the first one is already installed.

So, how can I declare dependency of a module on another module, or on a DLL in the manifest of the module???

 
New Post
5/20/2008 11:01 AM
 

Hey r_honey,

The manifest file should have an element called <dependencies> in which you can place class names.

For example: <dependencies>AjaxControlToolkit.PopupControlExtender; AjaxControlToolkit.ToolkitScriptManager</dependencies>

The above are the dependicies for our Engage: Publish module.

Take care,

Ian


Software Engineer
Co-Founder, dnnGallery
Stack Overflow: Ian Robinson
Twitter: @irobinson
Linked In: Ian Robinson
 
New Post
5/20/2008 1:29 PM
 

I suspected that there should be a dependency tag somewhere around. But the problem is where??

That is still not clear. Can someone point me to a resource describing the complete manifest file structure for DNN 4.8.2??? I have studied Professional DNN from Wrox, but that probably contains description an older version of the Module manifest.

Moreover, I thought that I can declare dependencies on Modules or DLLs only. But your example shows declaring a dependency on a particular class in some assembly. Is that possible?? I mean, shouldn't it have been:

<dependencies>AjaxControlToolkit</dependencies>

 
New Post
5/20/2008 8:17 PM
Accepted Answer 

r_honey,

Below is a sample (empty) DNN module manifest file. I borrowed it from the training materials for my Module Development Course.

Typically this will be in the root of your module's project and be named after your module's name (e.g. EngagePublish.dnn)

<dotnetnuke version="3.0" type="Module">
    <folders>
        <folder>
            <name></name>
            <friendlyname></friendlyname>
            <foldername></foldername>
            <modulename></modulename>
            <description></description>
            <version></version>
            <resourcefile></resourcefile>

            <dependencies></dependencies>
            <modules>
                <module>
                    <friendlyname></friendlyname>
                    <cachetime></cachetime>
                    <controls>
                        <control>
                            <src></src>
                            <type></type>
                            <helpurl></helpurl>
                        </control>
                        <control>
                            <key></key>
                            <title></title>
                            <src></src>
                            <type></type>
                            <helpurl></helpurl>
                        </control>
                        <control>
                            <key></key>
                            <title></title>
                            <src></src>
                            <type></type>
                            <helpurl></helpurl>
                        </control>
                    </controls>
                </module>
            </modules>
            <files>
                <file>
                    <path></path>
                    <name></name>
                </file>
            </files>
        </folder>
    </folders>
</dotnetnuke>

Hopefully just seeing this helps clear up some of your questions!

This can either be imported into DNN or bundled with your module files in an archive (zip) and be installed. Both of these options are available from the module registration page (Host -> Module Definitions).

Also a tip on how I generally use this file when bundling with an installable module package -- the <resourcefile> element will contain the name of a zip file. Inside of this zip file will be all of the module "accessories" such as images, flash, javascript, css, user controls, etc... These files will be unzipped into the module's directory upon installation. Effectively you end up with a resources.zip inside of your module package (zip within a zip).

But for the elements of the module that DNN needs to know about when you register the module -- i'll use the <files> section (e.g. assemblies and SqlDataProvider files).

This cuts down on the amount of maintenance you have to do in your DNN file when adding or removing pieces of content in your module.

Hope that helps!

Take care,

Ian


Software Engineer
Co-Founder, dnnGallery
Stack Overflow: Ian Robinson
Twitter: @irobinson
Linked In: Ian Robinson
 
New Post
5/21/2008 12:30 AM
 

My query regarding whether only dll dependencies can be declared in the <dependencies> section, or even dependency on a particular class (like you have declared above on Extender) can be declared, still remains unanswered???

 
Previous
 
Next
HomeHomeArchived Discus...Archived Discus...Developing Under Previous Versions of .NETDeveloping Under Previous Versions of .NETASP.Net 2.0ASP.Net 2.0Declaring Module dependencies in the manifest fileDeclaring Module dependencies in the manifest file


These Forums are dedicated to discussion of DNN Platform and Evoq Solutions.

For the benefit of the community and to protect the integrity of the ecosystem, please observe the following posting guidelines:

  1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DNN.
  2. No vendor trolling / poaching. If someone posts about a vendor issue, allow the vendor or other customers to respond. Any post that looks like trolling / poaching will be removed.
  3. Discussion or promotion of DNN Platform product releases under a different brand name are strictly prohibited.
  4. No Flaming or Trolling.
  5. No Profanity, Racism, or Prejudice.
  6. Site Moderators have the final word on approving / removing a thread or post or comment.
  7. English language posting only, please.
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out
What is Liquid Content?
Find Out