One of the fundamentals of building a CMS is how you set up roles and permissions.
DNN has a problem whereby it ties a menu to the Administrator role and plonks a lot of functionality in there that does not belong together, especially in a business environment. This is being addressed in a future release, allowing items from the Admin menu to be moved elsewhere for other roles to use.
In the meantime..(and for the past three years for me) you have to use third party modules to get around this. WorkControl's User Manager is the most useful addon for managing users. There is no ideal solution yet for file management, but the Adverageous Access Manager is getting there. Vendor management is not available at all, but newsletter modules are plentiful.. and a basic one is built into the WorkControl User Manager as well.
Then you need to create several roles and apply permissions to all pages and modules. This is a basic structure:
- Webmaster - This is your IT Administrator role that has access to the Admin menu
- Layout Manager - This person has edit right on pages and can insert and move modules around
- Membership Manager - This person has access to the third party modules for administering membership
- Content Manager - Has edit rights on modules and can use them to create and manage content
- Moderator - Approves content submissions in modules that provide for this
- Contributor - Submits content for approval where this is possible
- Audience memberhip roles follow from here on down, e.g. forum members, subscribers, anonymous guests etc.
The above would be expanded to cover all the business requirements.
It is important to note that not all modules support a good role and content management heirarchy. Many, especially those made by basement developers, completely miss the mark. The first thing to test is whether or not you can carry out full creation, editing, and removal of content in a module when only given module edit rights - not page edit rights. Modules that work properly will provide menus and action buttons for the purpose. Modules that don't work typically place important content management functionality inside the module settings.
Assessing modules for suitability is a long process, but that is part of your value as a CMS builder.
Rob