Revel organization to include command line tools? - revel

My Revel app is going to need several command line tools, I'd prefer to keep the code all together.
I'm leaning towards using a traditional cmd directory and using go build for the tools, is there a Revel native way to do this instead?

Related

how to Install a DNN module with code instead of the interface?

I am developing a modue for a DNN website and i would like to make a little tool that is able to perform the installation process without having to go trough the CMS and install it with the extension installer.
This would probably be a lot faster. For this i need to know all the steps the installation follows and convert this to code. However Google does not seem to help me out here so far.
Does anyone have any information or code regarding this?
Read this and the referenced links:
http://mitchelsellers.com/blogs/2009/10/14/dotnetnuke-bulk-extension-installation.aspx

Including winforms installer in UppercuT code_drop

Does anyone know how to specifically include a winforms setup project to be included in the code_drop folder generated when running UppercuTs zip.bat? With the default settings my web applications and WCF services are included, as are the dll's for the solutions core, but not my winforms application/installer
I was just playing around with UppercuT last night, and I ran into the same question.
One tip I found for putting console apps and windows services into the code_drop is to use this Nuget package in your console/windows service projects:
http://nuget.org/packages/publishedapplications
See this for more info:
http://devlicio.us/blogs/rob_reynolds/archive/2011/03/22/published-applications-aka-publishedapplications.aspx
Using this will cause your console/windows service projects to be "published" similary to how a web app is published in the code_drop. However, this isn't what you're asking for, just wanted to point it out if its useful. This also doesn't work for installers.
If your installers are using the default Visual Studio setup projects (.vdproj projects), I haven't tried that, so I can't help there. I do know that MSBuild refuses to build those types of projects (not sure why...), so you might be better off using WiX or another installer technology. You can do an automated build on a vdproj if you run the build by calling devenv.exe directly from the command line, but you can't build those with MSBuild. I did try adding a WiX setup project to my sln, and UppercuT will build the Wix setup project and drop the .msi in the "build_output" folder, but it doesn't copy it over to the code_drop. My thought would be to add a custom post build step to just copy that file over from build_output to code_drop. I haven't had a chance to figure out the logic in the build scripts to see how it chooses which files to copy from build_output to code_drop. If I figure anything out, I'll update this answer.

Can you have MsTests and Windows-forms functional tests live in the same project file?

I've been asked to investigate the possibility of using a single .csproj file to run both interactive and unit tests. I've been able to get the windows forms project changed over to run msTests but now I'm not finding a way to run the windows forms/interactive side. Is there a way to do this?
There are only 2 methods I've found for what my team was looking for. nUnit instead of MsTests, or manually executing the /debug built win-forms executable and then attaching the debugger to it. So nice clean integration using MsTests/VS2010 is out the window.

dotnetnuke doubts

i want to build a website in dnn 5. i have studied dnn5, its installation, starter-kit installation, built-in modules (both of Host and Admin), installing a custom module (from module extension), creating packages.
I had rather still some doubts left in my mind.
1.How should i progress if i need to built my custom module in some new website (& not in dotnetnuke.com website)
2.How is deployment done at client side? Is it done by creating packages or what, i dont know.please suggest some possible solution
3.I want to create a document module to satisfy my client requirements. This module is already built by dotnetnuke.com as an extra module. What should be done to include this module in my new website so that only my requirements could be reflected instead of creating the module entirely from scratch?
thanks
I'm not entirely sure about what you're looking to do, but I'll answer as much as I can.
I would suggest setting up a DotNetNuke website on your local machine, using the Source package. You can then create a new module (starting it either through the website itself, or by using a Visual Studio template). I strongly suggest using a Web Application Project for the module, keeping it in the website's DesktopModules folder (so that you're only dealing with the module's code, and don't have the entire website open in your project). Also, make sure you use the module and any other extension points to implement your functionality, rather than making changes to the actual DNN core code (since any changes to the core will make it that much more difficult to upgrade to newer versions of DNN).
I strongly suggest getting some automated packaging in place (the template that I linked to has a NAnt build script with it that you can use to package your module). It is so much easier to deploy modules as installable packages than trying to migrate individual files.
You can get the source version of the Documents module from its Codeplex project. It's licensed under the MIT license (like DNN itself), so you're free to use it as a starting point for your own module. Just download the source package and install it into your development site. The install will include all of the source and also includes a Visual Studio project that you can use. After installing, I would suggest that your first step be to rename the namespace (so that you're differentiated from the core module).
UPDATE
To deploy the website, I would suggest installing DNN on the server using the main DNN Install package. Then, once that is installed, you can install the module into the website using the package that you have created. A default installation of DNN will only have the Text/HTML module, in addition to administrative modules, so you shouldn't have very many extra, unused functionality present in the site.
Leave me a comment & update your question (or start a new question) if there's anything else you need to know.
It sounds like you are looking to use DotNetNuke as a development environment to write code that won't be deployed in a DotNetNuke site. While I love DNN, there's absolutely no reason to do this. Only use DNN for developing DNN stuff.
To address point #1, if the functionality you want is somewhere else you could use an IFRAME module. Check out: http://www.dotnetnuke.com/Community/Extensions-Forge/view/ProjectDetail/project/dnniframe.aspx

How to run executable at end of Setup Project?

I have a Visual Studio Setup Project that I use to install a fairly simple WinForms application. At the end of the install I have a custom user interface page that shows a single check box which asks the user if they want to run the application. I've seen other installers do this quite often. But I cannot find a way to get the Setup Project to run an executable after the install finishes. An ideas?
NOTE: You cannot use Custom Actions because these are used as part of the install process, I want to run my installed application once the user presses the 'Close' button at the end of the install.
I believe this is one of the real limitations of the Visual Studio installation project. You need to be able to modify the last page of the installation UI but VS.NET does not give you a way to do this. You could modify the tables in the .MSI after it has been built but VS.NET would probably overwrite these changes each time it is built. You may be able to override the last page using a merge module that you include in the installation project. Either way you will need to become familiar with how the UI dialogs are authored in an .MSI and this is not trivial.
You may want to consider switching to a free script based installer or buy a commercial setup authoring application (just don't buy InstallShield for the love of Pete). Take a look at InstallAware (although I have not used it).
I've just found a very easy way which does not require external tools. You only have to add a class file to the main project and a custom action to the setup project.
http://www.codeproject.com/KB/install/Installation.aspx
You also can use custom actions
I've done this for internal apps by creating a VB Script harness that launches the setup executable, waits for it to close, and then launches the second program.
You could also accomplish this with a little more polish using a few Win API calls in a C executable.
You can use MSILAUNCH (though I've only got it to work with MSICREATE).
http://www.cornerhouse.ca/en/msi.html
I managed it by doing invoking the Main method the assembly using the following line:
(typeof(ClassWithinAssemblyToExecute)).Assembly.EntryPoint.Invoke(null, new Object[] {} )
you can do it by custom installer. just add installer class and there u will see many event like after install, before install. just hook up after install and from there run ur exe by process class. i would suggest u google to find more about custom installer.
here is one good link that might help u http://www.codeproject.com/Articles/19560/Launching-Your-Application-After-Install-using-Vis
thanks

Resources