Environment
Service Desk - All Versions
Problem
Web Desk doesn't use the Windows as designed in Window Designer, it uses a "grid" layout to approximate their relative positions. If no 'Web Desk' window is enabled for a particular object then it dynamically creates one which displays all available attributes on the object. Since it's unlikely you ever want to display all attributes of an object on a window then you need to be able to create windows for displaying data in Web Desk.
Solution
There are a few things that need to be done in order to ensure your users get the most benefit from using WebDesk, these are described below
Enable the Windows
From 7.3 onwards there are new options in Window Manager to 'Enable Windows for Web Access' or 'Make Available in Web Access'; these two actions do exactly the same thing - the first one presents a list of un-enabled Windows in order to do several at once, the second action does the selected window individually. Once a Window has been enabled the icon for it will change - it is grey on the right-hand side.
For upgrades from previous versions it is recommended to use the 'Enable Windows for Web Access' action available when no items of the Business Objects tree is selected. This is for two main reasons:
- It's much faster! - The Windows are done in bulk and they can all be enabled at once rather than having to select each one individually
- If an error occurs the full error message is displayed in the dialogue box
There are a couple of known causes for the enablement of Web Access windows failing, below are the errors and the solutions for them:
1. Error = Unable to cast object of type 'Touchpaper.ClientClasses.Metadata.AttributeFilterValue' to type 'Touchpaper.Classes.Metadata.AttributeFilterValue' OR Could not resolve reference from Attribute Filter Selector <GUID< to related Query Template. This Query Template is for the Class Type 'Incident', expected 'Change'.
These errors are caused by the Advanced Properties for User/Group filtering (eg 'Is "User, Customer and Company" selection') being enabled on the window. Web Desk windows don't use these properties, instead they use filters to replicate the behaviour. When Windows are being enabled for Web Desk the filters are added to the objects as appropriate. Unfortunately, the filters are specific to the Incident domain, and do not exist for Problem, Change, Call or Task. In order to enable a window that has this property on it you will need to turn it off while enabling the window and create the required filters manually before turning it back on again. For further help creating these filters please contact your Support provider referencing this article.
2. Error = Collection was modified; enumeration operation may not execute.
This error is caused by there being an empty group box on the window. The offending group box needs to be removed before the window can be migrated.
3. Error = Cannot insert duplicate key row in object 'dbo.md_query_template' with unique index 'index$md_query_template$name'.
The statement has been terminated.
This error is caused by there being the same query twice on the window. Due to the way in which the Web Desk windows are built this causes an error. It is easily rectified though: Just wait 2 minutes (to ensure the cache has had time to refresh), re-launch Window Manager and attempt to enable the windows again.
Update the View Rules
Once all the windows that will be used in Web Access have been enabled they the View Rules will need updating. This is because View Rules now have an extra field - 'Grid Window' which enables Users to specify different windows for display in Console/Portal and Web Desk for any given rule. Most Users are likely to want to have the same windows initially, therefore there is a tool to update all the View Rules accordingly.
In order to use the Tool, ensure all Users are logged out of the System. On any machine with Console installed, navigate to C:\Program Files\LANDesk\LANDesk ServiceDesk and run the application called Touchpaper.Tools.PrepareWebDeskWindowRule.exe. This will require you to login using Administrator credentials, if required, the config file for it is called Touchpaper.Tools.PrepareWebDeskWindowule.exe.config. The application will update every rule to use the grid form of the window already specified on the Rule. If the specified window does not have a grid form then the rule will not be updated and the default window will be displayed in Web Desk instead.
Replicate Complex List Behaviour
WebDesk cannot display drop-down lists as 'Complex Lists' the way that Console and Service Portal can. To get around this, a property has been added to Object Designer called 'Output Attributes'. This Property allows the User to specify a series of attributes to display along with the Title attribute of the object when it is dropped-down in Web Desk. These attributes are searchable, just like if they were displayed in the Complex List format. After creating a new template within Object Designer you will also need to select this template on the window itself against your attribute. Here is an example for the Impact drop down:
- In object designer select Incident management - Incident - Impact.
- Under the object properties - templates - output templates give your template a name and then specify the attributes that you want to be searchable. You might want to differentiate between them with different colours or font styles.
- Then go into window manager select your Incident management - Incident window that you have published for Web Desk.
- Select the Impact attribute and look at the properties.
- Select your new template under the Attribute Template and then save your window.
Filters
As described above, Advanced Properties (formally known as Handlers) on windows such as 'Is 'Company and Contacts' Selection?' are not applied to Web Desk windows. When the Web Desk window is enabled in the Incident domain on a window that has any of these properties set to true on any of it's fields the appropriate filters are created on the object. If the window is not in the Incident domain then the enablement will fail as the filters must be created manually, for help with this please contact your Support provider.