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

HomeHomeUsing DNN Platf...Using DNN Platf...Using Modules a...Using Modules a...File locations in module manifest File locations in module manifest
Previous
 
Next
New Post
10/6/2011 5:42 PM
 
the resources node should contain all files that end up in the modules desktopmodules folder (i.e. all ascx, all resx [and their app_localresources folder])- all dll's should be listed under the file component type so that you can use the basepath to place them in the BIN folder.

Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
10/7/2011 5:04 AM
 

Hi

So I think what this means is that the more important files actually need to sort of be referenced twice: for example:

1) a user control for a module would need to be included in the module definition of the <component type="Module"> node, but also there should be an explicit inclusion of the ascx file within the resources.zip within the <component type="ResourceFile"> node;

and also

2) a  precompiled module code dll needs to be included in the <component type="Assembly"> node,   but also there should be an explicit inclusion of the dll file within the resources.zip, in the <component type="ResourceFile"> node.

If I am right in this, the last thing to confirm would be that for other additional file types, e.g., *.resx, image files etc., these can either be included in resources.zip in <component type="ResourceFile">, or alternatively just as separate nodes within a <component type="File">  node, but for these sorts of files, you don't need the 'doubling up', i.e., you don't need to include both the file inside resources.zip in <component type="ResourceFile"> and also <component type="File"> entries.

Please tell me I have finally got it right!


    



<component type="Assembly">
<assemblies>
<assembly>
<path>bin</path>
<name>your.dll</name>
</assembly>
</assemblies>
</component>
<component type="ResourceFile">
<resourceFiles>
<basePath>DesktopModules\yourmodulename</basePath>
<resourceFile>
<name>resources.zip</name>
</resourceFile>
</resourceFiles>
</component>
 
New Post
10/7/2011 9:50 PM
 
1. yes, anything you need to call via the dotnetnuke API (.g. navigateurl) needs to be registered but if it's a file that you consume another way (e.g. LoadControl against an ascx) it can just be a file inclusion

2. yes and yes

please note, using resources.zip is only a personal prefernce (as I like working with msbuild scritps) - somepeople find it easier to simply drop the dll into the bin folder, create a new module definition (and drop the ascx/resx/js etc into the correct desktopmodiule folder) and then add the module controls. Once you're sure your module is working as you want, then get dotnetnuke to do the packaing for you i.e. go to host->extensions, select your module, click on "create package", press next (and ensure "review manifest" is checked)  and step through the wizard to generate the dnn manifest.

Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
New Post
10/13/2011 10:22 AM
 
Hi there

So now I have the resources.zip file containing <mymodule>.dll in a folder 'bin', amongst the other files too, and I also have a manifest file containing the following sections, amongst others:

<component type="Assembly">
          <assemblies>
            <basePath>DesktopModules/[mydevfolder]/[mymodulefolder]</basePath>
            <assembly>
              <path>bin</path>
              <name>[MyModuleMame].dll</name>
            </assembly>
          </assemblies>
 </component>
<component type="ResourceFile">
          <resourceFiles>
            <basePath>DesktopModules/[mydevfolder]/[mymodulefolder]</basePath>
            <resourceFile>
              <name>resources.zip</name>
            </resourceFile>
          </resourceFiles>
        </component>

When I'm installing the module using this manifest, I was expecting the dll file to get copied into the main bin folder of the site, i.e., [DNNrootfolder]\bin , but that doesn't seem to be happening at the moment.

So:
1. Am I mistaken in expecting this dll copy to occur automatically?
2. Is the DLL copy supposed to happen, but that what is required is a supplementary MSBuild step, for example?
3. Are the various <base path> and <path> properties in my manifest incorrect at the moment?
Or even:
4. Should the DLL copy not be required or even advisable, with the dll supposed to just stay in the module folder where it already resides? I.e: in DesktopModules/[mydevfolder]/[mymodulefolder]

Thanks very much if you can clarify this.

Cheers

 
New Post
10/13/2011 11:13 AM
 
you dont need a basepath for the dll's, as they're going to the BIN folder (as such you don't need a basepath as no files go relative to it - unless you're putting them in a subdirectory of the bin folder and using custom probing private paths - which are a pretty esoteric rarely used function in .net - this is why dlls go to BIN and not any other folder) - instead it will typically look like this (i've highlighted the path folder - in your example you had both basepath and path)

<component type="Assembly">
          <assemblies>
            <assembly>
              <path>bin</path>
              <name>DotNetNuke.Modules.Html.dll</name>
              <version>01.00.00</version>
            </assembly>
          </assemblies>
        </component>


Buy the new Professional DNN7: Open Source .NET CMS Platform book Amazon US
 
Previous
 
Next
HomeHomeUsing DNN Platf...Using DNN Platf...Using Modules a...Using Modules a...File locations in module manifest File locations in module manifest


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