Table of Contents

Codeunit "Guided Experience"

ID 1990
Namespace: System.Environment.Configuration

Manage the guided experience items that users can access.

Properties

Name Value
Access Public

Methods

InsertManualSetup

Inserts a manual setup page.

procedure InsertManualSetup(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, ObjectTypeToRun: ObjectType, ObjectIDToRun: Integer, ManualSetupCategory: Enum "Manual Setup Category", Keywords: Text[250])

Parameters

Name Type Description
Title Text[2048]

The title of the manual setup.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the manual setup.

ExpectedDuration Integer

How many minutes the setup is expected to take, should be lower than 30000.

ObjectTypeToRun ObjectType

The type of the object to be run as part of the setup.

ObjectIDToRun Integer

The ID of the object to be run as part of the setup.

ManualSetupCategory Enum System.Environment.Configuration."Manual Setup Category"

The category that this manual setup belongs to.

Keywords Text[250]

The keywords related to the manual setup.

InsertManualSetup

Inserts a manual setup page.

procedure InsertManualSetup(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, ObjectTypeToRun: ObjectType, ObjectIDToRun: Integer, ManualSetupCategory: Enum "Manual Setup Category", Keywords: Text[250], IsPrimarySetup: Boolean)

Parameters

Name Type Description
Title Text[2048]

The title of the manual setup.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the manual setup.

ExpectedDuration Integer

How many minutes the setup is expected to take, should be lower than 30000.

ObjectTypeToRun ObjectType

The type of the object to be run as part of the setup.

ObjectIDToRun Integer

The ID of the object to be run as part of the setup.

ManualSetupCategory Enum System.Environment.Configuration."Manual Setup Category"

The category that this manual setup belongs to.

Keywords Text[250]

The keywords related to the manual setup.

IsPrimarySetup Boolean

Is this a primary setup for this extension.

InsertAssistedSetup

Inserts an assisted setup page.

procedure InsertAssistedSetup(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, ObjectTypeToRun: ObjectType, ObjectIDToRun: Integer, AssistedSetupGroup: Enum "Assisted Setup Group", VideoUrl: Text[250], VideoCategory: Enum "Video Category", HelpUrl: Text[250])

Parameters

Name Type Description
Title Text[2048]

The title of the assisted setup.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the assisted setup.

ExpectedDuration Integer

How many minutes the setup is expected to take, should be lower than 30000.

ObjectTypeToRun ObjectType

The type of the object to be run as part of the setup.

ObjectIDToRun Integer

The ID of the object to be run as part of the setup.

AssistedSetupGroup Enum System.Environment.Configuration."Assisted Setup Group"

The assisted setup group enum that this belongs to.

VideoUrl Text[250]

The URL of the video that explains the purpose and use of this setup.

VideoCategory Enum System.Media."Video Category"

The category of the video for this setup.

HelpUrl Text[250]

The title of the assisted setup.

InsertAssistedSetup

Inserts an assisted setup page.

procedure InsertAssistedSetup(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, ObjectTypeToRun: ObjectType, ObjectIDToRun: Integer, AssistedSetupGroup: Enum "Assisted Setup Group", VideoUrl: Text[250], VideoCategory: Enum "Video Category", HelpUrl: Text[250], IsPrimarySetup: Boolean)

Parameters

Name Type Description
Title Text[2048]

The title of the assisted setup.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the assisted setup.

ExpectedDuration Integer

How many minutes the setup is expected to take, should be lower than 30000.

ObjectTypeToRun ObjectType

The type of the object to be run as part of the setup.

ObjectIDToRun Integer

The ID of the object to be run as part of the setup.

AssistedSetupGroup Enum System.Environment.Configuration."Assisted Setup Group"

The assisted setup group enum that this belongs to.

VideoUrl Text[250]

The URL of the video that explains the purpose and use of this setup.

VideoCategory Enum System.Media."Video Category"

The category of the video for this setup.

HelpUrl Text[250]

The title of the assisted setup.

IsPrimarySetup Boolean

Is this a primary setup for this extenion.

InsertLearnLink

Inserts a learn link.

procedure InsertLearnLink(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, Link: Text[250])

Parameters

Name Type Description
Title Text[2048]

The title of the learn link.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the learn link.

ExpectedDuration Integer

How many minutes the user should expect to spend using the link, should be lower than 30000.

Link Text[250]

The learn link.

InsertTour

Inserts a tour for a page.

procedure InsertTour(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, PageID: Integer)

Parameters

Name Type Description
Title Text[2048]

The title of the tour.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the tour.

ExpectedDuration Integer

How many minutes the user should expect to spend taking the tour, should be lower than 30000.

PageID Integer

The ID of the page that the tour is run on.

InsertSpotlightTour

Inserts a spotlight tour for a page.

procedure InsertSpotlightTour(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, PageID: Integer, SpotlighTourType: Enum "Spotlight Tour Type", SpotlightTourTexts: Dictionary of [Enum "Spotlight Tour Text", Text])

Parameters

Name Type Description
Title Text[2048]

The title of the manual setup.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the manual setup.

ExpectedDuration Integer

How many minutes the tour is expected to take, should be lower than 30000.

PageID Integer

The ID of the page that the spotlight tour will be run on.

SpotlighTourType Enum System.Environment.Configuration."Spotlight Tour Type"

The title of the manual setup.

SpotlightTourTexts Dictionary of [Enum System.Environment.Configuration."Spotlight Tour Text", Text]

The texts that will be displayed during the spotlight tour.

InsertApplicationFeature

Inserts a guided experience item for an application feature.

procedure InsertApplicationFeature(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, ObjectTypeToRun: ObjectType, ObjectIDToRun: Integer)

Parameters

Name Type Description
Title Text[2048]

The title of the application feature.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the application feature.

ExpectedDuration Integer

How many minutes the user should expect to spend, should be lower than 30000.

ObjectTypeToRun ObjectType

The object type to run for the application feature.

ObjectIDToRun Integer

The object ID to run for the application feature.

InsertVideo

Inserts a guided experience item for a video.

procedure InsertVideo(Title: Text[2048], ShortTitle: Text[50], Description: Text[1024], ExpectedDuration: Integer, VideoURL: Text[250], VideoCategory: Enum "Video Category")

Parameters

Name Type Description
Title Text[2048]

The title of the video.

ShortTitle Text[50]

A short title used for the checklist.

Description Text[1024]

The description of the video.

ExpectedDuration Integer

The duration of the video in minutes, should be lower than 30000.

VideoURL Text[250]

The title of the video.

VideoCategory Enum System.Media."Video Category"

The category of the video.

OpenManualSetupPage

Opens the Manual Setup page containing the setup guides.

procedure OpenManualSetupPage()

OpenManualSetupPage

Opens the Manual Setup page with the setup guides filtered on a selected group of guides.

procedure OpenManualSetupPage(ManualSetupCategory: Enum "Manual Setup Category")

Parameters

Name Type Description
ManualSetupCategory Enum System.Environment.Configuration."Manual Setup Category"

The group which the view should be filtered to.

AddTranslationForSetupObjectTitle

Adds the translation for the title of the setup object.

procedure AddTranslationForSetupObjectTitle(GuidedExperienceType: Enum "Guided Experience Type", ObjectType: ObjectType, ObjectID: Integer, LanguageID: Integer, Translation: Text)

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of setup object.

ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

LanguageID Integer

The language ID for which the translation is made.

Translation Text

The translated text of the title.

AddTranslationForSetupObjectDescription

Adds the translation for the description of the setup object.

procedure AddTranslationForSetupObjectDescription(GuidedExperienceType: Enum "Guided Experience Type", ObjectType: ObjectType, ObjectID: Integer, LanguageID: Integer, Translation: Text)

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of setup object.

ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

LanguageID Integer

The language ID for which the translation is made.

Translation Text

The translated text of the description.

AddTranslationForSetupObjectShortTitle

Adds the translation for the short title of the setup object.

procedure AddTranslationForSetupObjectShortTitle(GuidedExperienceType: Enum "Guided Experience Type", ObjectType: ObjectType, ObjectID: Integer, LanguageID: Integer, Translation: Text)

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of setup object.

ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

LanguageID Integer

The language ID for which the translation is made.

Translation Text

The translated text of the short title.

IsAssistedSetupComplete

Checks whether a user has completed the setup corresponding to the object type and ID.

procedure IsAssistedSetupComplete(ObjectType: ObjectType, ObjectID: Integer): Boolean

Parameters

Name Type Description
ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

Returns

Type Description
Boolean

Returns true if the given setup guide has been completed by a user, otherwise false.

Exists

Checks whether a guided experience item exists for the given object type and ID.

procedure Exists(GuidedExperienceType: Enum "Guided Experience Type", ObjectType: ObjectType, ObjectID: Integer): Boolean

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of setup object.

ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

Returns

Type Description
Boolean

True if a guided experience item exists for the provided object type and ID; false otherwise.

Exists

Checks whether a guided experience item exists for the link.

procedure Exists(GuidedExperienceType: Enum "Guided Experience Type", Link: Text[250]): Boolean

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of setup object.

Link Text[250]

The link that identifies the guided experience item.

Returns

Type Description
Boolean

True if a guided experience item exists for the provided link; false otherwise.

AssistedSetupExistsAndIsNotComplete

Checks whether a guided experience item exists but has not been completed for the given object type and ID.

procedure AssistedSetupExistsAndIsNotComplete(ObjectType: ObjectType, ObjectID: Integer): Boolean

Parameters

Name Type Description
ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

Returns

Type Description
Boolean

True if it exists and is incomplete, false otherwise.

CompleteAssistedSetup

Sets the status of the guided experience item to complete.

procedure CompleteAssistedSetup(ObjectType: ObjectType, ObjectID: Integer)

Parameters

Name Type Description
ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

Remarks

This is typically called from inside the guided experience item when the setup is finished.

ResetAssistedSetup

Resets the status of the guided experience item so that it does not appear to have been completed.

procedure ResetAssistedSetup(ObjectType: ObjectType, ObjectID: Integer)

Parameters

Name Type Description
ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

Run

Issues the call to start the guided experience item.

procedure Run(GuidedExperienceType: Enum "Guided Experience Type", ObjectType: ObjectType, ObjectID: Integer)

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of setup object.

ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

OpenAssistedSetup

Opens the Assisted Setup page with the setup guides in it.

procedure OpenAssistedSetup()

OpenAssistedSetup

Opens the Assisted Setup page with the setup guides filtered on a selected group of guides.

procedure OpenAssistedSetup(AssistedSetupGroup: Enum "Assisted Setup Group")

Parameters

Name Type Description
AssistedSetupGroup Enum System.Environment.Configuration."Assisted Setup Group"

The group of guides to display on the Assisted Setup page.

Remove

Removes a guided experience item.

procedure Remove(GuidedExperienceType: Enum "Guided Experience Type", ObjectType: ObjectType, ObjectID: Integer)

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of setup object.

ObjectType ObjectType

The object type that identifies the guided experience item.

ObjectID Integer

The object ID that identifies the guided experience item.

Remarks

The OnRegister subscriber which adds this guided experience item needs to be removed first.

Remove

Removes a guided experience item.

procedure Remove(GuidedExperienceType: Enum "Guided Experience Type", Link: Text[250])

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of guided experience item.

Link Text[250]

The link that identifies the guided experience item.

Remarks

The OnRegister subscriber which adds this guided experience item needs to be removed first.

Remove

Removes a guided experience item.

procedure Remove(GuidedExperienceType: Enum "Guided Experience Type", ObjectType: ObjectType, ObjectID: Integer, SpotlightTourType: Enum "Spotlight Tour Type")

Parameters

Name Type Description
GuidedExperienceType Enum System.Environment.Configuration."Guided Experience Type"

The type of guided experience item.

ObjectType ObjectType

The object type of the guided experience item.

ObjectID Integer

The object ID of the guided experience item.

SpotlightTourType Enum System.Environment.Configuration."Spotlight Tour Type"

The type of spotlight tour of the guided experience item.

RunExtensionSetup

Opens the primary setup for an app.

procedure RunExtensionSetup(AppId: Guid)

Parameters

Name Type Description
AppId Guid

The app id of the app whose setup needs to be run.

SetupForExtensionExists

checks if setup for an extension exist.

procedure SetupForExtensionExists(AppId: Guid): Boolean

Parameters

Name Type Description
AppId Guid

Returns

Type Description
Boolean

OpenCombinedSetupList

Opens a aggregated list of both manual setup and assisted setup pages for an extension.

procedure OpenCombinedSetupList(AppId: Guid)

Parameters

Name Type Description
AppId Guid

The app id of the app whose setup pages will be shown.

CleanupOldGuidedExperienceItems

Clean up old guided experience items with too many old version.

procedure CleanupOldGuidedExperienceItems(OnlyFirstParty: Boolean, Threshold: Integer)

Parameters

Name Type Description
OnlyFirstParty Boolean

If true, only clean up first party items.

Threshold Integer

If true, only clean up first party items.

Events

OnRegisterAssistedSetup

Notifies that the list of assisted setups is being gathered, and that new items might be added.

[IntegrationEvent(False,False)]
internal procedure OnRegisterAssistedSetup()

OnReRunOfCompletedAssistedSetup

Notifies that an assisted setup that was previously completed is being run again.

[IntegrationEvent(False,False)]
internal procedure OnReRunOfCompletedAssistedSetup(ExtensionID: Guid, ObjectType: ObjectType, ObjectID: Integer, var Handled: Boolean)

Parameters

Name Type Description
ExtensionID Guid

The app ID of the extension to which the item belongs.

ObjectType ObjectType

The object type that identifies the assisted setup.

ObjectID Integer

The object ID that identifies the assisted setup.

Handled Boolean

The flag which if set, would stop executing the run of the assisted setup.

OnAfterRunAssistedSetup

Notifies that the run of the assisted setup has finished.

[IntegrationEvent(False,False)]
internal procedure OnAfterRunAssistedSetup(ExtensionID: Guid, ObjectType: ObjectType, ObjectID: Integer)

Parameters

Name Type Description
ExtensionID Guid

The app ID of the extension to which the setup belongs.

ObjectType ObjectType

The object type that identifies the assisted setup.

ObjectID Integer

The object ID that identifies the assisted setup.

OnBeforeOpenRoleBasedAssistedSetupExperience

Notifies that the Open Role Based Setup Experience has been invoked.

[IntegrationEvent(False,False)]
internal procedure OnBeforeOpenRoleBasedAssistedSetupExperience(var PageID: Integer, var Handled: Boolean)

Parameters

Name Type Description
PageID Integer

The ID of the page being invoked.

Handled Boolean

The flag which if set, would stop executing the OpenRoleBasedSetupExperience of the assisted setup guide.

OnRegisterManualSetup

The event that is raised so that subscribers can add the new manual setups that can be displayed in the Manual Setup page.

[IntegrationEvent(True,False)]
internal procedure OnRegisterManualSetup()

OnRegisterGuidedExperienceItem

The event that is raised so that subscribers can add the new guided experience items.

[IntegrationEvent(True,False)]
internal procedure OnRegisterGuidedExperienceItem()

See also