We recommend reviewing what is submitted before posting, in case your idea has already been submitted by another community member. If it has been submitted, vote for that existing feature request (by clicking the up arrow) to increase its opportunity of being added to Cireson solutions.
For more information around feature requests in the Cireson Community click here.
Cannot constrain multipleObjectPicker control to display certain classes
I am trying to add a custom multipleObjectPicker control to the Incident.js form to help facilitate the selection of the affected Business Service. I have added a custom control and have constrained it with ClassId: "B2A806A6-87F6-0BC9-DA74-C27E9AB5A5D7" (for the Business Service class).
Here is the relevant control definition:
{
name: "",
type: "multipleObjectPicker",
PropertyName: "HasRelatedWorkItems",
ClassId: "B2A806A6-87F6-0BC9-DA74-C27E9AB5A5D7",
PropertyToDisplay: { DisplayName: "DisplayName", Priority: "Priority", Status: "Status" },
SelectableRow: true,
SelectProperty: "DisplayName",
Disabled: false
},
The above works fine to constrain the Select Object dialog to only allow the user to select a Business Service.
However, since the control uses the relationship type's property name,HasRelatedWorkItems (for the System.WorkItemAboutConfigItem relationship type), the values displayed in the control are any CI that uses this same relationship type.
So, while I can restrict the input to this field with this control, I cannot constrain the values/objects displayed by the control to the selected class.
I could see 2 potential approaches to correcting this... First, possibly constraining the objects displayed in the control to the class specified in the 'ClassId' property. However, this could be a goofy approach when thinking about System.Service class, Business Service class, and SCOM DA singleton classes. Ideally, I would want to specify the abstract System.Service class and be able to select (and view) any object that is from a class that descends from System.Service.
Secondly, the SCSM console's Incident form appears to handle this issue in the 'Affected Services' section by using a specific type projection component that constrains the relationship type to the System.Service class. From the System.WorkItem.Incident.ProjectionType that is used by the console form:
<Component Path="$Target/Path[Relationship='WorkItem!System.WorkItemAboutConfigItem' TypeConstraint='System!System.Service']$" Alias="RelatedServiceRequests" />
Unfortunately, I am not aware of how (if possible) to configure the multipleObjectPicker control to leverage a specific component in a type projection- instead of using the relationship type's defined source/target property title.
Comments
Hey Chris,
I believe this is possible with the property 'scoped: true'
eg
Geoff
thanks, I'll give it a try :-)