How to put DNN skins in a virtual directory during development - dotnetnuke

We're developing DNN skins, and we want to develop then in a different folder than DNN is looking for them, so they can be developed outside the DNN codebase.
Development Folder:
C:\TFS\{product}\{branch}\source\Skins
Original DNN Folder, now a virtual directory in IIS:
C:\DNNEvoqContent\Portals\_default\Skins
In IIS, we've set the \Portals_default\Skins folder to be a virtual directory pointing at the development skins folder. However, DNN doesn't read the virtual directory and work its way to the new skins folder; it looks for the exact path on the hard drive, which doesn't exist.
Is there a way to get DNN to use virtual directories for skin files? Note: This is only in the development environment.

I would totally not recommend doing skins in that manner.... You should develop your modules and skins within DNN as separate web application projects.
Here is a tutorial on setting up the environment
http://www.christoc.com/Tutorials/All-Tutorials/aid/1
If you need a good starting point for a project for a skin, check out my HammerFlex open source skin. Download the SOURCE package, install it, open up the SLN (you might have to replace the .DNN file from the ZIP after install)
https://github.com/ChrisHammond/HammerFlex

Related

Where can I download RiaServices.msi nowadays?

Where can I download RiaServices.msi from the web, after Microsoft removed it?
I need to prepare a new virtual machine to host a legacy Silverlight application.
Thanks!
As far as I know, downloading ria.services separately may not be easy to find at the moment, you can use NuGet to install it.
After the hint from #Jiayao, I decided to forget about the RiaServices.msi installer and manually copy the necessary files to the target host machine, where the Silverlight app was published.
Luckily the files simply need to be copied to the silverlight "bin" folder.
The files I copied were:
System.ServiceModel.DomainServices.Client.dll
System.ServiceModel.DomainServices.Client.Web.dll
System.ServiceModel.DomainServices.Hosting.dll
System.ServiceModel.DomainServices.Server.dll
These libraries are available in the "lib" folder of riaservices.silverlight.4.2.0 and riaservices.server.4.2.0 NuGet packages. You can download the packages, rename the .nupkg files to .zip and extract them.
If I have the chance to compile the Silverlight application from the source, I plan to add these NuGet packages as dependencies of the project, so they can be normally deployed within the Silverlight application.

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.

DNN Source Code (Needed?) and Deployment (How?)

Do we need the source code if we will primarily create (advanced) modules and occasionally modify the theme?
How does DNN get deployed from Teamcity / Octopus Deploy?
Your modules, and "skins" should be individual projects, and you should deploy those to production using Packaged ZIP files. That's the proper way to develop/deploy extensions for DNN
1.Yes, you should go to this url http://www.christoc.com/ to learn how to use a template to create a dnn module and create a skin as well.
Thanks to #ChrisHammond for your contribution to dnn community.

Adding additional libraries to solr's war file

To simplify process of deploying my applications i want to add some libraries to war file.
I expect to have all-in-one war file which i deploy under tomcat, and separated solr core directory in another location. Currently im using war file from dist directory and separated directory with these libraries linked in solrconfig.xml, but due to differences between production and development enviroment it's not possible to mantain such configuration without pain.
I want to distribute single war-file with all libraries compilled.
It is possible, if yes, how?
Place your libs into WEB-INF/libs folder in .war archive.

How do I add a new directory via DNN skin installation?

How do you add a new directory to DNN upon skin install? Is through the reference in the manifest?
Yes, you can create a new directory through a manifest file. This applies to modules, skins - anything that uses a manifest file.
You will need to use the fileComponent in the manifest file, and specifically, the basePath element in order to specify where in the website your files will be installed. You can also install in relative paths.
See more here : http://www.dotnetnuke.com/Resources/Wiki/Page/Manifest-File-Component.aspx

Resources