We're trying to set up a development environment, for creating a custom module. Down the road, we'll want to be able to develop others, so we want the solution to be extensible. We've succeeded in creating the environment, and beginning development, but there are some things that don't work the way we expected, so we're trying to figure out how to proceed.
First of all, we had problems getting debug to work. It seemed to be related to the use of a port (other than 80). We had to manually connect the debugger to the ASPNET process running on the non-standard port. That seems to be working ok now, but it was a bit of a stumbling block. Another stumbling block was the fact that the default cache time of 60 (in the .dnn manifest) kept the module from working correctly with multiview control, among others. Now that it is set to 0, that problem is resolved.
The biggest issue is, it appears that the DNN dynamic module template creates the new module within a single solution/project, and whenever we make a change and build, we are building the whole solution. In DNN3, we were used to a model (from Jan Blomquist, Traincert) where our custom development was a separate project, set to compile into the dotnetnuke bin folder, with appropriate DNN and ASP.NET imports and references, so when we made changes, we only had to build our own project. It was a little more manual, but it seemed a good approach.
We're also concerned about the process of building a private assembly when we're ready to package and distribute. Is there a clean way to do that with the starter kit approach of the module imbedded in a single solution? Or will we be better off if we have structured the environment so our development is in a separate project?
Another question - DAL code files in the module folder vs being placed in the App_Code folder. It seems that, in terms of protecting our intellectual property, it would be better if all the custom code for the module was in the module folder, rather than being spread across the solution. Is this optional using the starter kit (and the templates), or is the placement mandated?
I know this is a lot of questions in one post, but we would really appreciate some guidance here, so we can start on a solid path.
Thanks in advance for all help.