Background: I am creating a suite of modules that will all share code. Scott describes how to setup the DNN manifest file to support this in another thread. Initial testing went well and allowed me to install multiple modules using one install package.
The question I am faced with now is how to name and organize my files as the project grows. Every module it seems will need the Edit, Settings, and View file. In the sample template from Christoc these files are named Edit.ascx, Settings.ascx, and View.ascx and are placed at the root level of the project. This works great for a single module, but when it's time to add the second module to the package it is decision time.
Are there any established naming conventions in the DNN community for this?
For example, lets say I have these modules to create: MyShoppingCart, MyCheckout, MyProductPage.
My initial thought was to create a folder for each module, named with the name of the module in the root of the project and keep the files named Edit.ascx, View.ascx, and Settings.ascx. Another thought was to create files for each by putting the module name in front and leave them all at the root, MyShoppingCartEdit.ascx, MyShoppingCartView.ascx, and MyShoppingCartSettings.ascx. The problem I see with either of these approaches is that over time if many modules are added, the project is going to look kind of ugly with all these files/folders at the root.
After considering the above, I am thinking that a good way to approach this is to create a folder at the root called "Views" and place folders inside for each module named with the module name. Inside each of the module folders there will exist the Edit.ascx, View.ascx, and Settings.ascx files for the module. This should allow the project to scale while keeping the root view project of the project clean and manageable.
This seems like a reasonable option but before I commit to it I wanted to check around and see if there are already established conventions that I should consider using. If anyone has any advice, please let me know.