Dnn Module Packaging Question - dotnetnuke

I have folders inside a module which I developed and there are many files inside them.
How can I package the folders with files?
Should I archive the folders in a zip file? If so, how can I extract them again?

You have a few options.
Include a resources.zip file, that will be extracted for you upon installation, just be sure to include the resources.zip in your .dnn file list.
If you are using a DNN 5.x manifest, you could keep the folder structure within the module and just use the folder names items in the 5.x manifest.

Related

DNN Module installation

Is it possible to "install" a module just by pasting the file of the module and just paste it into the DesktopModules folder and have the modules working on the website?
If not, is there a way where I can export the whole module from one system and install it onto another system?
Have you tried creating a module package for this module? (when you click the edit pen for the extension, you should find a "Create package" button on the top right).
Take care to include the assembly/assemblies needed, and also the Sql Server scripts to install the module correctly (often found in the module folder under Providers/DataProvider/SqlDataProvider/*.SqlDataProvider). There might be other files in the module folder (images, css, etc), be sure to include them in the package, then try to create it. You will find the ZIP file under /install/Modules then, move it away from there somewhere on your local file system (otherwise the installer might try to install it with the next update). Then try to update the extension in a testing system, check if it works and you're done. If there are errors it might be that you are missing some files that have to be included. Check the error messages, and restart.
There used to be a way using the /Install/Module/ folder (put ZIP file there, then call /install/install.aspx?mode=installresources) If you are on an old version of DNN (7 and earlier?) you can still use this. But you've got a load of security issues that should drive you to upgrade.
I don't know of a good way to do this now. For security purposes DNN removes the Install resources after an upgrade.
IF you already have the module installed in both locations, you could copy the resources for the file from server to server (DLL in the BIN folder and the contents of the desktopmodules folder) assuming you don't have any MANIFEST file changes that need registered.

Adding folder to custom DNN extension

I am creating a custom extension for DNN using Christoc's DotNetNuke Module and Theme Development Template
I add folders to my extension project and i do a release build, once i install the extension on my site the folders are not there. These folders are part of the extension project. Do i need to add them as resource to the extension or something? because my JavaScript folder and CSS folder are there once installed and i created these folders manaully my self also
Thank You
You need to add the Folder, or the FILE TYPES in the folder to the BuildScripts within my project templates. Look at the ModulePackage.targets file.
Chris

Sitecore:Remove Files from existing package in Sitecore

Can any one suggest me on how to remove files from a existing sitecore package(Sitecore Media Framework Brightcove rev. 130924
) so that it contains only sitecore items and no sitecore files(dll or config files or xml controls that we see in sitecore modules folder).
And we will be deploying the files manually after installing this new package .
Thanks,
Suhas
It's a zip archive. Inside it you will find another zip; "package.zip". Inside that package file, you will find a root folder named "files". Remove that folder, and zip the whole think back up again.
Should be all you need.
Documentation here: http://sdn.sitecore.net/Articles/Administration/Installing%20Modules%20and%20Packages.aspx
You can delete files folder direct from Zip file.

proper way to handle common header files with C and Git

So i have folders like this
c:\projects\generic\
c:\projects\project1\
c:\projects\project2\
Each folder under projects are their own separate local git repository. A project may use one or more header files from the generic folder. If a project uses a header file, it needs to be right in the project folder, not a subfolder under the project folder. Also, I probably wouldn't want the latest and greatest, I'd want to pull it by tag so I could be sure I have a specific version of the file in use for that project.
How would I do that? Is this something that could be done with submodules? Is there a better way to organize the folders in this situation?
I'd want [...] a specific version of the file in use for that project.
Yup: submodules are for exactly that. A submodule is a nested repository, the using projects' commits record (only) exactly which (other) commit SHA they need checked out at the submodule's path, git submodule just does the chores of getting the right submodule commits checked out when you want.
If a project uses a header file [from another repository], it needs to be right in the project folder, not a subfolder under the project folder [... I'm on windows].
It's lucky these are headers, otherwise there'd be a problem with that combination. As it is, the compiler can chase the relative pathnames with a #include "relative/path/to/submodule/header.h":
repo
|--generic.h: "#include generic1/generic.h"
|--generic1
|--generic.h: the real thing

File Path to jar inside another jar

For an Eclipse plugin, I need to refer to a jar file inside the plugin directory (to provide code to users). This works perfectly when running the plugin while developing (inside a runtime-eclipse-application).
But when I build an update site, my plugin is built into a jar file. File paths for images are still working, but when the jar should be imported, eclipse shows the following error:
Description Resource Path Location Type
The container 'DoodleDebug' references non existing library 'file:\C:\Users\Me\.eclipse\org.eclipse.platform_3.7.0_740800064\plugins\ch.unibe.scg.doodledebug_1.0.0.201208281642.jar!\DoodleDebug-Client.jar'
The outer jar path is correct and when inspecting it with WinRAR, I can see the desired jar file inside it!
Why isn't this working as expected?
You will need to install your plugin in an exploded form. To do this, in your MANIFEST.MF file, add the following line:
Eclipse-BundleShape: dir
This will ensure that your plugin is installed as a directory, not a jar file. There is no way to reference nested jars, so they must be exploded.
See here for more information: http://eclipsesource.com/blogs/2009/01/20/tip-eclipse-bundleshape/

Resources