TABLE OF CONTENTS



Details Fields

Details fields come from the primary record that the survey is targeting. e.g FirstName, LastName from a User Migration Survey. There are a couple of items of note when working with the Details Fields:

  • Read / Write - All fields from the details can be shown to the user to allow them to see and edit the data. However, 'Process / Sub Process' can not currently be edited by a user.
  • Labels - The label above a field comes from the name it has in the main UI. This label can be overridden by putting the new label in the 'Special Control Text' box. e.g.  'SAM Account' in the client UI might be too technical for users and overridden to 'Windows Login' on the Survey.



Custom Form Fields

Custom Forms allow the creation of any data type such as dropdown lists, check boxes, data pickers etc to collect information pertinent to the Project. Custom Forms are setup in the Admin section here. This information can be accessed in a survey under the Display Fields Section. 


To display a custom form field add a new field:

Special Control: Text (Parsed)

Special Control Text for an application survey with field Id 123: [Applications-CustomForm-123]



Special Controls

Layout Controls

A number of layout controls are available to customise the look of a Survey. They do not save any data back to the survey.

  • Header
    • Adds a bold line of text
  • Text (Parsed)
    • Text is put through the keyword parser
  • Line
    • Adds a horizontal line
  • Spacer
    • Adds a horizontal blank space


Special Control - Info

The 'Info' control primarily used to display a block of text to the user. The text is read from the 'Special Control Text'. The text is also passed through the Keyword parsing engine giving it the ability to populate keywords such as [UM-FirstName], support markdown formatting, and raw Html. 


Markdown / HTML Support

The info control automatically passes all text though the markdown parser, to disable markdown add #markdown-off# to the end of the text. 


Keywords

See this article for full instructions on how to use ManagementStudio Keywords.


Images:

Images can be added to the page using raw HTML, Markdown, or project resource keywords.

Ex 1. Markdown image with Resource Id
![alt text]([Project-Url-Resource-7] "Windows 10 Project Logo")

Ex 2. Markdown image with Resource Name
![alt text]([Project-Url-Resource-Win-10-Logo.png] "Windows 10 Project Logo")

Ex 3. Html image with Resource Id
<img src="[Project-Url-Resource-7]" alt="Windows 10 Project Logo">

Ex 4. Html image with Resource Name
<img src="[Project-Url-Resource-Win-10-Logo.png]" alt="Windows 10 Project Logo">

Ex 5. Html image with Resource Name
<img src="http://server/site/Win-10-Logo.png" alt="Windows 10 Project Logo">

Arguments (Args)

Arguments provide a way to further customise some of the special controls on the survey. Multiple args can be chained together but must be separated by a semi-colon. Some Args support a list off values, these must be separated by a comma.  All spaces are ignored i.e. "ShowAs : Path ;" is the same as "ShowAs:Path;". Args can span several lines but still require a semi-colon to terminate. 


Format:

An Arg has a name followed by a colon, then a value and terminated by a semi-colon

Format:  [name] : [value] ;
Example 1: ShowAs : Path;
Example 2:  ShowAs:Path;OnChange:Move;CanSelectNone:Yes;
Exmaple 3: Columns:AppVendor, AppVersion, AppName; 

Note: The semi-colon is always required even if there are new lines between args. 



Blueprint Dropdowns

Shown as Dropdown, 'Special Text' shows as the label of the dropdown.


Available Args

Default Args: 
ShowAs: Path; OnChange: Move; CanSelectNone: Yes;
  • FolderId:
    • [Number] = The FolderId in Blueprint tree to start displaying from.
    • Note: if no Folder Id is provided then the whole Blueprint tree will be shown in the dropdown.

  • CanSelectNone:
    • 'Yes': Adds a "Select None" option
    • 'No': Does not add a "Select None" option
    • Note: If a User is not a member of any of the Blueprints available list then the 'Select None' option will be selected by default regardless of the 'CanSelectNone' arg being set to No.

  • ShowAs:
    • 'Path': Folder1\Folder2\Blueprint
    • 'Name': Blueprint

  • OnChange:
    • 'Move': If a new Blueprint has been selected then the user is removed from all other Blueprints shown in the dropdown and added to the newly selected Blueprint.
    • 'Add': If a new Blueprint has been selected then the user will be added to the new Blueprint. The Blueprints they are currently a member of will not be changed.


Example Args
FolderId: 5; ShowAs: Name; OnChange: Add; CanSelectNone: Yes;
FolderId 10; ShowAs: Path; OnChange: Move; CanSelectNone: Yes;

Datamining Report

Inject a datamining report into a Survey Page. The Id from the Survey, i.e. AppId, MigrationId, DeviceId, etc will be used as the data source of the report. 

The allows reports such as User-App Readiness to be added to a User's Survey.


How-To-Guide


  • ReportName
    • The name of the Datamining Report to inject
    • e.g. ReportName: User Self-Schedule Report;
  • Columns
    • Optional. A list of Columns from the Datamining Report to display
    • e.g. Columns: Expression_ScheduleUser, Expression_FullName, UserMigrations_DeployUnitSlotStart;
  • TableStyle
    • Optional. html style to inject into style tag of html table
    • e.g. table-sm;
    • More Info




ReportName: User Self-Schedule Report;
Columns: Expression_ScheduleUser, Expression_FullName, UserMigrations_DeployUnitSlotStart, Expression_Locked;

Notes List

Add a list of Notes from the Application, User, Device, etc. By default notes on an item are 'private'. This means those notes will not show on the Survey. 


  • MaxHeight
    • The number of pixels in height before a scroll bar is shown
    • Default is 300 which shows approximately two notes. 
    • Setting the value to -1 will remove the scroll bar altogether.
    • e.g. MaxHeight : 300;
  • ShowPrivateNotes
    • Setting to true will force Public and Priave notes to show on the Survey
    • e.g. ShowPrivateNotes : True;


MaxHeight: 500;
ShowPrivateNotes: True;

Blueprint List

Adds a list of Blueprints for an Application, User, Device, etc to the Survey. 


  • ShowAs
    • Toggles between the full Blueprint Path / Blueprint Name
    • e.g. ShowAs : Name;


ShowAs: Name;

Displays a table of links, e.g. List of Apps for User, List of Devices to User. The special text field will display as the header text above the table of links. The table will be sorted alphabetically by the left column first and each column to the right thereafter. 


'Keep' Checkbox

When displaying the list of e.g. Apps for a User or Devices for a User a checkbox titled 'Keep' is displayed next to the listed item. This allows users to untick that item and have it removed from their profile.
e.g. A User can unselect all the Applications they do not use.
To Hide this check box add the arg ' AllowRemove: No; '


Custom Button

A Custom button is available to hook into and will be displayed next to the listed items. This allows custom functionality such as allowing a user to select a specific device and have that flagged as their main device for migration.
To use this custom button provide a 'CustomButtonScriptId : XX' where XX is the Id of the PowerShell Script to call. The script will be provided the Id of the active User, App, Device etc in the $ScriptArgs.Items and the Id of the selected item in the $ScriptArgs.AltItems



Available Args

Default Args: 
Columns:AppVendor, AppVersion, AppName;
AllowRemove: Yes;
CascadeRemove: Yes;
CustomButtonScriptId: 99;
CustomButtonLabel: My Button Label;
CustomButtonStyle: btn-secondary btn-sm;


  • Columns:
    • List of columns to show in the links table. Uses internal default if none specified.
    • AppVendor, AppVersion, AppName
    • Default: AppVendor, AppVersion, AppName (or equivalent for the item)

  • AllowRemove:
    • Shows a checkbox beside the link that allows a user to 'Reject' the link
    • 'Yes': Shows the remove checkbox
    • 'No': 'Does not show the remove checkbox.
    • Default: 'Yes'

  • CascadeRemove:
    • Rejects all links for this item. e.g. If rejecting 'Adobe Reader 7', it will reject all links 'Adobe Reader 7' if present on more than one device. However, if a user rejects a device it would reject all apps linked to that device.
    • 'Yes': Will cascade the reject action.
    • 'No':  Does not cascade the reject action.
    • Default: 'Yes', however, it is recommended to change this to 'No' for Device Surveys.


  • SortBy
    • Sorts the list by a column, e.g. 
      • "SortBy: AppVendor, AppName, AppVersion;"
      • Note: The columns that are being used in the Sort must be in either the selected Columns list or the Filter list.



  • Filter:
    • Filters the table of items shown on the survey.
    • All the field names found on the 'Grid Config' page of the item's admin tab can be used
      • Use the 'Internal Name' value 
        • e.g. AppVendor,  ProcessStatus
    • Supports 
      • And 
      • Or 
      • =
      • <>
      • 'Like' with '%' as wildcards
      • 'IN (1, 2, 3)'  e.g. ProcessId IN (7, 3, 6)
      • Grouping by brackets



Add the below CSS to the Survey and replace the 'XXX' with the FieldId of the Link Table


#survey-group-id-XXX {
  max-height: 300px;
  overflow: auto;
  display:inline-block;
}



Custom Button Example

Create a custom button for a User's Device list that when selected will write the Hostname of the selected Device to a Custom Field. A use case would be asking the User for the main device that they need to migrate. Please refer to this article for more information on creating a Custom button in a survey.


  1. Create the PowerShell Script
  2. Add the Custom Button to the Link-Devices


PowerShell Script 


Link-Devices configured to show Custom Button


Output on Survey



Filter Examples:

Is in Process A, B or C
Filter: Process = '1. Identified' OR Process = '2. Discovery' OR Process = '3. Packaging';

Is in Process A or B and not Package Type C
Filter: (Process = '1. Identified' OR Process = '2. Discovery') AND PackageType <> 'MSI';

Is from Vendor A and in Process B
Filter: AppVendor like '%Adobe%' AND Process = '2. Discovery';

Has Flag A set or in Process B
Filter: CustomFlag1 = true  OR Process = '2. Discovery';

ProcessId is in a specific list of Process Ids
Filter: ProcessId IN (7, 3, 6);


More Examples:

Columns: AppVendor, AppName, AppVersion;
Filter: ProcessId IN (7, 3, 6);
SortBy: AppVersion

Script Button

Adds a button to the form that can call a PowerShell Script and then reload the page after the script is finished executing. This allows for custom functions such as calculating a value based on some previous questions or looking up a user in AD and retrieving some information on them. 


Use the 'Special Control Text' to set the label of the button shown on the Survey. 


Note

  • When as script button is clicked, all data on the survey is saved, the script run and the page reloaded. 
  • Events such as survey passed/failed or sending emails do not fire. 
  • Script buttons do not trigger field validation when clicked


Available Args

  • ScriptId:
    • Script Id to execute. The script will be passed the Instance Id of the active page.

Show / Hide


Allows Fields on the Survey to be hidden until a checkbox has been ticked. This is used to simplify the look of complex forms. E.g. Hide a group of accessibility questions can be hidden until a user ticks a box marked 'Accessibility Requirements'.


The Show / Hide control must be paired with a checkbox or Dropdown field of a custom form.

The checkbox/Dropdown is used to trigger the show/hide event. This is the only line that requires the "Show\Hide" Special Control assigning for the show hide group.


The Field Ids to hide\show are the Survey IDs in the survey designer, they are NOT CustomField Id's from the custom form screens.


Available Args

  • FieldIds:
    • List of Field Ids of controls to hide on the form.
    • E.g. 10, 11, 12
  • [dd-Value]:ids
    • The value from the dropdown trigger on
    • The list of ids to show



Checkbox Examples:

List the field ids to show if this check box is ticked. If it is not ticked then these field Ids will be hidden.

FieldIds: 29, 27, 26, 25, 24, 30, 28;



Dropdown Examples:

List each item in the dropdown on a new line with Ids of fields to show if that item is selected. Note all other fields will be hidden. Terminate each line with a ';'

North: 1, 2, 3;
South: 4, 5, 6;
East: 7, 8, 9;
West: 10, 11, 12;



Attachments Uploader

Allows files to be attached to the Survey. These can be used to gather additional requirements such as screenshots.




Control Switches Support:


RequiredRead OnlyChange Triggers FailVisibleOn New Line
TextboxesYesYesYesYesYes
DropdownsNoYesYesYesYes
Radio ButtonsYesYesYesYesYes
ListboxesYesYesYesYesYes
CheckboxNoYesYesYesYes
Checkbox ListNoYesYesYesYes






BlueprintsNoYesYesYesYes
LinksNoYesYesYesYes
Show / HideNoNoNoYesYes



Tweaks and Options

Checkboxes

By default, the text label of a checkbox is moved to the right of the checkbox rather than above it like most other controls. This can leave a gap above the checkbox that can look out of place. Text can be added to the 'Special Control Text' field of the checkbox and this text will appear above the checkbox to fill in the gap.




Further Support

If you require further support, please visit ManagementStudio's Service Desk to search the knowledge base or create a new support ticket.