Andrew,
First please read the following posts:
viewtopic.php?f=6&t=1022#p3619
viewtopic.php?f=8&t=117&p=1644&hilit=roles#p489
these posts deal with setting up firts users/employees and the general idea of user roles in EPESI.
For import see this:
viewtopic.php?f=21&t=815
This last post explains also how to add a contact or a company to a group during import.
What you need to do is create employees as explained above and then install module called Account Manager. The purpose of this module is to have an employee assigned to a particular client (by client I mean a Company). If you have an individual (a Contact) you can create a Company with the same name, as a result you will have for example:
Joe Doe (Company) with one contact Joe Doe.
Then assign one of your employees to this Company as Account Manager.
In general in EPESI you have the following rights:
Employee - can create (add) edit and delete records that were created by him/her. Can not delete records that were created by other employees.
Employee Manager - can also delete records created by other users.
Superadmin - can do anything including an option to restore deleted records.
EPESI was designed to share information between employees/users easily. The default settings for any recordset should be "public". Other options are "public read only" and "private". Here is how it works:
- public record - anyone can view it and edit it. Normal user can not delete a record created by someone else (delete icon is greyed out and inactive). Only Employee Manager (or superadmin) can delete records created by other users/employees.
- public - read only - more restrictive - only the creator of the record can edit it and make changes but normal employee (or even a Manager) can modify it.
- private - the record is visible only to record creator.
Please note, that superadmin can access all records, even private (hidden) via admin panel. Superadmin can also restore deleted record using Record Browser admin utility. EPESI never deletes any records - we use "lazy delete" basically just marking the record as deleted. This way you don't have to worry about someone accidentally deleting data.
Answers to your questions:
"What Roles would I assign to the salesmen so that they can view the cold leads and Clients but, not allow them to make administrative changes?"
You need to give them right to view and edit the record - otherwise they will not be able to do their job - if customer tells you that the address needs to be updated - then the salesman has to have access to these fields. You don't need to worry about changes as EPESI has full record history and you can see who and when made what changes (on field level). If this salesman creates new company he/she will be able to delete it because it is a creator of the record. This is default behavior.
With version 1.3 we introduced Advanced Permission System - here you can define very complex rules - who can Add (create), View, Update/Modify and Delete what records, down to field level. Rules that you can define can be very complex and you can read about them here:
viewtopic.php?f=8&t=950
But please do not make things more complicated than they need to be. Start simple and then tighten your security. I don't know why, but dealing with salespeople seems to be a major pain in the neck, as they are protective about their leads or employees do not trust them and are afraid that they will "steal" their customers. I don't want to start a discussion here about how to trust or not to trust your employees. We put many security features in EPESI - like inability of the regular employee to delete records, export function is limited to administrators only etc. Believe me - it can be tweaked to fit almost any imaginable configuration, but if you start with such a complex rules and you are just learning the system you will get lost and frustrated.
"One more question: I want to display on the home page certain applets, including those that we are going to have custom programmed but not allow the salesmen (users) the ability to remove them. Is this possible?"
You can define the default dashboard via admin panel. All it does is presets certain settings for a new user. Applets on the dashboard, way to view records, Launchpad settings etc. Once the user logins for the first time he/she can customize the Dashboard. Of course a user can add and remove applets to create an environment that is the most comfortable and most productive for him/her. We don't have a mechanism to prevent a user from customizing the Dashboard - quite the opposite. We have implemented in EPESI many features reading settings from "User Settings" to let everyone customize it. I really don't get the idea of blocking a salesman from deleting an applet. Programatically this can be done, however why in the world would you do this? Isn't enough to tell the salesman not to delete an applet because he needs it?
I hope you will find EPESI useful and easy to use. Don't try to make things more complicated than they are. Don't worry - in EPESI nothing can be deleted (unless you have direct access to the database) and you can also try your settings using User Admin - Log In as User link.
Just recently we went through a similar setup - created rules that a Salesman can only see Companies (and its contacts) of which he is an Account Manager. Great - it worked. Out of let's say 10,000 companies in the system he had access to just few of them. Well - a customer liked this but then requested that the salesman needs also access to vendors and suppliers. No problem - using our Advanced Record Permission we created a rule:
if user is employee he/she can view Companies and Contacts of which he/she is an Account Manager also can view Companies that belong to group: vendors or suppliers.
Finally a customer called back to remove restrictions because it limits the sales guy to access information somewhere else in the system. You will end up with duplicate records and similar problems. Please plan carefully - it has nothing to do with our application - it has to do more with the process of information flow in your company and level of trust.
Good luck.