|
|
Sales Rep Category
The company has two Sales Rep's, John and Tom. Each Rep operates independently of the other, so is only allowed to see the information for their own contacts. John sees the information for Fred Smith and Jane Hughes. Tom sees the information for Angela Bloggs and Greg Clark. By using Selective Synchronisation, Commence can be configured to only synchronise the contact items to the appropriate Sales Rep. Note: This way of setting up the Selective Synchronisation, tends to be the scenario described in Commence Server manual. [For more info - refer to the technical note http://www.commence.com/support/files/tn4311.exe] Business Unit ExampleThe other typical Selective Synchronisation scenario, is where you have a subset of employees who need access to information on a departmental or business unit basis. You might want to separate the sensitive information based on the business unit that the users belong to. So the way you could achieve this is to create a Business Unit category, which specifies which Business Unit/s the user is a part of. Each Business Unit can maintain control and access to data they "own". Selective Synchronisation is then used to control data access based on the connection to the Business Unit. Contacts Category
Business Unit Category
Staff Category
Each Business unit can have multiple staff that are part of that Business Unit. By using Selective Synchronisation, we ensure that only Staff within the Business Unit have access to Contact information "owned" by that Business Unit. So any Acme Computers staff (John & Tom) have access to Acme Computers' contacts; Mick Jones, Tony Foo & Jane Hughes. Any Acme Software staff (Alex) have access to Acme Software Contacts; Ann Smith. In a real situation, there would of course be several categories of information, like Contacts, that are Selectively Synchronised. There would potentially be thousands or tens of thousands of items in each category, with Commence providing full control over access to the contacts and other information in this way. The remainder of this article will continue to use this scenario, in listing the steps to set up Selective Synchronisation. Commence PermissionsSelective Synchronisation is an extension of category permissions, so before continuing with the discussion on Selective Synchronisation, we need to understand how the Commence Server controls the permissions. The Commence Server can control what information each user is able to view and modify within a Shared Database. There are two levels of permissions that can be configured.
In this discussion, we are mainly concerned with the "Permissions" settings. Category Permissions: Category Permissions determine whether shared items in each category can be viewed, modified, or deleted. The following permissions can be specified:
The following choices for each of the Read, Write and Delete Permission, determine how items in the selected categories are handled:
In general, you should set the Permission to either All or None - this will usually be all you need to control your workgroup (in other words you are not Selectively Synchronising). The permissions control all items in a category, and the user will have the same access to all items in a category. However, if you need to control access to specific items for specific users, then you will need to use Selective Synchronisation. In other words Selective Synchronisation adds control at the item level. To configure the selected category for Selective Synchronisation, you will need to set the Permission to either Selective or None. Desktop Permissions: Desktop Permissions allow you to control which desktops will synchronise to each user. Only the Read Permissions can be controlled; Write and Delete permissions do not apply to desktops. Selective Synchronisation does not apply to desktops. All users are assigned the default category and desktop permissions, however the default permissions can be overridden on a per-user basis. Guide To Configuring Selective SynchronisationThe recommended technique for setting up Selective Synchronisation is to make these settings the default permissions for all users. Then when some users should receive all items (i.e. no Selective Synchronisation for that user), the default permissions can be overridden on a per user basis. Data ConsiderationsSelective Synchronisation does require certain categories and connections to exist. You need to have a category which is defined as the control over which items selectively synchronise. Then by making or removing a connection to items in that category, user permissions on that item are defined. In our business unit example, we set up the Business Unit category to control the Selective Synchronisation. We have two business units defined; "ACME Computers" and "ACME Software". The company policy is that each business unit should only see and edit their own contacts. So by connecting a particular contact to say "ACME Computers", all ACME Computers users will have access to that contact. Likewise "ACME Software" contacts are connected to the ACME Software business unit, and those contacts will synchronise to all ACME Software users.
For every item which is Selectively Synchronised, the connection between the item and business unit needs to be made. In this example it is assumed that this connection is made manually. At the end of this article, we provide a technique to make the connection between categories automatically (see Advanced Selective Synchronisation). Commence Server ConfigurationMake a backup of the Commence Server (including Workgroup settings) and disable syncing before making any changes. (If you are not sure how to backup the workgroup settings, you can follow the steps described in the section "Steps for moving a Commence server database from one PC to another", in the article http://crmtimes.aus.com.au/1203/technical.htm).
Now when you enrol a new Commence client, it will become a Selectively Synchronised client by default. To test the configuration, you should have at least one client set up as an "Acme Software" Business Unit, and another set up as an "Acme Computers" Business Unit. On the server, add some items (say contacts), with some connected to "Acme Software", and others connected to "Acme Computers". Verify that those items only synchronise to the required clients. You should also be able to add items on a client, and make the connection to the required Business Unit, then observe that the items always synchronise to the server, but only to the specified clients in the connected Business Unit. Note: Full details of the procedure to configure the Commence Server is provided in the Commence "Server Guide", which is installed in the application software directory on the server (typically c:\Program Files\CommenceRM). The Server Guide should be read in conjunction with this tutorial.Alternate ScenarioIn the previous guideline, we made Selective Synchronisation the default for all workgroup clients. In some workgroups where the majority of users are not subject to Selective Synchronisation, this approach may not be appropriate, and it may be better to make Selective Synchronisation the exception to the default (i.e. override the default settings for Selectively Synchronised clients). To achieve this, follow the steps above with the following exceptions:
In the "Set Permissions for" list, go through all the users in the list and select those that are to Selectively Synchronise. Then click on the Edit Permissions.. button, and the Edit Authorizations screen will appear as follows:
Selective Synchronisation considerationsSelective Synchronisation is a powerful tool and is essential to the correct workgroup operation for many organisations. However, it is important to understand the implications for development of your database and maintenance of the workgroup, if you decide to use Selective Synchronisation.
Advanced Selective SynchronisationSo far in this article, we have talked about manually making the connection between the Selectively Synchronised item, and the category that controls Selective Synchronisation. In practise of course, this is unlikely to be workable. It would be too easy to forget to make the connection, or perhaps have an unauthorised person make or remove the connection. Thankfully this process can be fairly easily automated through Form scripting. Setting Personal Information at the Client In step 4 above ("Assign Users to Commence Item"), we had to make the Commence users map to the Business Unit on the Commence Server. This is the way it must be setup on the server for the Selective Synchronisation to work. The next step is to enrol the user in the workgroup, and as part of this process, the server uses the "Assign Users to Commence Item" to set up the information under Customise > Preferences Personal Information on the client. So the category is set to be the Business Unit category, and the user name is set to the Business Unit item (e.g. "Acme Software"). The problem with this is that any automated operations which need to get the users details, such as connecting items (e.g. a note or phone log) automatically to the user, will now be getting the Business Unit name instead of the user's actual name. This is not what you will usually want to happen. So to ensure these automated operations work correctly, you need to set the Personal Information correctly on each client after enrolling. Assume all user names are in a category called Employee. To make the Personal Information setting, at each client, go to Customise > Preferences, and click on the Personal Information tab. In our example, the category will be set to Business Unit; change the category to be Employee (or whatever category lists your user names). Then select the correct user name from the Employee category. Finally, select all the connections to Employee that should be automatically set in an Add Item operation (typically all of them). You have now associated the user with the Business Unit. GetBusinessUnit() Function This function uses the User name set under Customise > Preferences > Personal Information to determine the current user and the Business Unit they belong to.
To use GetBusinessUnit(), you must have a connection from the Employee
category, to the Business Unit category. This connection is called
"part of". So by using GetMe(), we can determine the name of
the Business Unit, and then set that for the current item.
GetMe() Function
GetMe() is a convenience function to return the current user name (set under Customise
> Preferences > Personal Information), or another field from the
current user item.
Calling GetBusinessUnit() All that remains now, is to call GetBusinessUnit(). Typically it would be called when the form is first opened, to ensure the Business Unit is always set. So if the tab order specified that the Date field was the first field entered in the form, your code may look like Sub Form_OnEnterField(ByVal FieldName) If FieldName = "Date" Then GetBusinessUnit : Exit Sub End Sub You may also want to have some code that prohibits the user from entering the "sync Business Unit" field, so the value in this field cannot be changed. SummarySelective Synchronisation is a powerful tool to ensure the security of your Commence data. This article has covered many of the issues that an Administrator needs to be aware of in developing a Selectively Synchronised workgroup, as well as presenting a set of practical guidelines for Server Configuration. Advanced User Systems provides support and consulting to set up Selectively Synchronised workgroups. Please refer to our web site, www.aus.com.au or our feedback page for more information or assistance. |
Last Modified: 09:02, September 29, 2005.
|