Use Case Scenario for my app
The application that I?m writing is going to be used to manage a credit/collection organization/department. I?m basing it on a windows desktop version that I?ve developed and is currently in use. I would like to offer it to prospective users as hosted solution using dnn as the portal platform. This organization have different functional areas/departments. A user may belong to one or more of this functional areas. In my app each functional area has it's own menu ( ie: accounting, dataentry, processing, collections, reports etc... )
In a hosted environment the application needs to point to different instances of the database, depending on the organization that the user belongs to and then needs to present that user with the functional areas that they have access to.
I would create a page for each organization that would be using the service. In the page keyword area I would store the organization credentials ie: [DBNAME:ORGNAME], from this I can easily derive a connection string that would open that organization?s database
I would also create child pages corresponding to each of the functional areas of the app ( ie: accounting, sales, operations, collections, management ). Each of this functional areas would have a corresponding subpage under the organizations page, dnn would manage the access to the pages based on the users role.
The admin function of the app would manage the users. I would create a role in DNN for each of the application functional areas and have user admin funciton of the app keep the dnn and the app in sync.
I would create one module definition for the app and define it as view. There would be one main entry point. Once the app has been invoked by dnn, I can esily determine who the user, organization and function that has been requested. The app would then take it from there and dynamically build a menu based on that users setting.
I?ve a rad version of this working and it work quite nicely. Being relatively new to dnn, I like hear from the experts to see of any potential issues.