This week I have done some tests with IT announcements in Service Manager 2010. What I wanted to do was to target a IT announcements to a group of users and another announcements to another group of users. This can be done, but includes a number of steps and some XML coding. These are the general steps
- Extend the announcement class with a new property
- Sort your announcements in different categories with the new property
- Include you different announcement categories in dynamic groups
- Create new security user roles for your end users, one role for each target group of users
Travis has a good post about extending classes. In this example I extend the announcement class and adds a property named “group”.
Service Manager is using a standard form when creating new announcements in the console. That is default, if not form is target it will use a default form and show you all properties for the class. So In this scenario you dont need to customize the form. As soon as you import the management pack with the extension, and creates a new announcement the new property is in the form.
Next step is to sort your announcements. There is a number of ways to do it but one example could be that your company contains of four departments and that you want to base announcements on departments. You assign each department a number and then one for all departments, for example
- All departments
Now open all your announcements and configure them with the correct announcements target number (department number) in the group field. After that we need to create groups that contains the correct announcements. We will use the groups in security user roles to control who will see which announcement. Create one group for each department, for example for the HR department
- Group Name: Contoso – Announcement – 2 HR
- Management Pack: Contoso Announcement Extension
- Dynamic Members: [Contoso.Announcement.ExtensionClass] Assigned to group equals 2 OR [Contoso.Announcement.ExtensionClass] Assigned to group equals 5
We will need to include 5 in each group as we want all departments get announcement target to 5 – ALL. There is a “View group members” task that you can use to verify that you have the correct annoncements in each group. Remember to save your groups in the customization management pack you imported.
Next step is to configure user roles. With default settings all authenticated users can read all IT announcements. Start by removing authenticated users from the default end-user user security role. Then create a new advanced operator user security role for each department. For example for HR
- General, Name: Contoso – Advanced Operator – HR
- Management Packs: Select All
- Queues: select provide access to only the selected queues and don’t select any
- Groups: Select the Contoso – Announcements – 2 HR group
- Tasks: select provide access to only the selected tasks and don’t select any
- Views: select provide access to only the selected views and dont select any
- Form Templates: All forms can be accessed
- Users: Select your HR users
- Summary: Click Create and close the wizard
If you now log-on to the self service portal as a user from the HR department you will only see announcements target to ALL (5) and HR (2). If you include that use in the default end-user security user role it will see all announcements again, even if it is still in the restricted HR security user role. If a user in one of the new advanced operator roles open the Service Manager console they will see the work items, Library and Configuration Items (DW not installed) workspaces including sub views. But there is no information anywhere in the console, for example they will not see any incidents and no computers.