From c53acb0a07911ecf4d55cdc157d0280bb95fc78a Mon Sep 17 00:00:00 2001 From: Ben Yackley <61990921+beyackle@users.noreply.github.com> Date: Tue, 4 May 2021 16:33:36 -0700 Subject: [PATCH 1/6] "Add a skill" page changes --- .../AddRemoteSkillModal/CreateSkillModal.tsx | 14 +++-------- .../EnableOrchestrator.tsx | 6 +++-- .../OrchestratorForSkillsDialog.tsx | 1 - .../components/ProjectTree/ProjectHeader.tsx | 8 +++---- .../src/{constants.ts => constants.tsx} | 24 ++++++++++++------- .../design/exportSkillModal/constants.tsx | 19 ++++++++------- .../exportSkillModal/content/AddCallers.tsx | 2 +- .../client/src/pages/home/CardWidget.tsx | 2 +- .../packages/client/src/pages/home/styles.ts | 2 +- 9 files changed, 40 insertions(+), 38 deletions(-) rename Composer/packages/client/src/{constants.ts => constants.tsx} (94%) diff --git a/Composer/packages/client/src/components/AddRemoteSkillModal/CreateSkillModal.tsx b/Composer/packages/client/src/components/AddRemoteSkillModal/CreateSkillModal.tsx index 0b7faf1d08..4cb80c7b6f 100644 --- a/Composer/packages/client/src/components/AddRemoteSkillModal/CreateSkillModal.tsx +++ b/Composer/packages/client/src/components/AddRemoteSkillModal/CreateSkillModal.tsx @@ -10,7 +10,6 @@ import { useRecoilValue } from 'recoil'; import debounce from 'lodash/debounce'; import { isUsingAdaptiveRuntime, SDKKinds } from '@bfc/shared'; import { DialogWrapper, DialogTypes } from '@bfc/ui-shared'; -import { Link } from 'office-ui-fabric-react/lib/Link'; import { Separator } from 'office-ui-fabric-react/lib/Separator'; import { Dropdown, IDropdownOption, ResponsiveMode } from 'office-ui-fabric-react/lib/Dropdown'; @@ -196,15 +195,7 @@ export const CreateSkillModal: React.FC = (props) => { ) : (
- {addSkillDialog.SKILL_MANIFEST_FORM.preSubText} - - {formatMessage('Get an overview')} - - or - - {formatMessage('learn how to build a skill')} - - {addSkillDialog.SKILL_MANIFEST_FORM.afterSubText} + {addSkillDialog.SKILL_MANIFEST_FORM.subText('https://aka.ms/bf-composer-docs-publish-bot')}
@@ -212,7 +203,8 @@ export const CreateSkillModal: React.FC = (props) => { diff --git a/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx b/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx index 4925f50927..fbbdf9c3b2 100644 --- a/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx +++ b/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx @@ -34,14 +34,16 @@ const EnableOrchestrator: React.FC = (props) => {
- {enableOrchestratorDialog.content} + {enableOrchestratorDialog.subText}
{formatMessage('Learn more about Orchestrator')}
diff --git a/Composer/packages/client/src/components/Orchestrator/OrchestratorForSkillsDialog.tsx b/Composer/packages/client/src/components/Orchestrator/OrchestratorForSkillsDialog.tsx index 0a8325f2fe..0ab13292bc 100644 --- a/Composer/packages/client/src/components/Orchestrator/OrchestratorForSkillsDialog.tsx +++ b/Composer/packages/client/src/components/Orchestrator/OrchestratorForSkillsDialog.tsx @@ -60,7 +60,6 @@ export const OrchestratorForSkillsDialog = () => { diff --git a/Composer/packages/client/src/components/ProjectTree/ProjectHeader.tsx b/Composer/packages/client/src/components/ProjectTree/ProjectHeader.tsx index 2b30beca88..03c6f122e3 100644 --- a/Composer/packages/client/src/components/ProjectTree/ProjectHeader.tsx +++ b/Composer/packages/client/src/components/ProjectTree/ProjectHeader.tsx @@ -98,7 +98,7 @@ export const ProjectHeader = (props: ProjectHeaderProps) => { isDisableForPVA: false, }, { - label: isRunning ? formatMessage('Stop bot') : formatMessage('Start bot'), + label: isRunning ? formatMessage('Stop this bot') : formatMessage('Start this bot'), icon: isRunning ? 'CircleStopSolid' : 'TriangleSolidRight12', onClick: () => { isRunning ? onBotStop(projectId) : onBotStart(projectId); @@ -115,21 +115,21 @@ export const ProjectHeader = (props: ProjectHeaderProps) => { onClick: () => {}, }, { - label: formatMessage('Share as a skill'), + label: formatMessage('Export as skill'), onClick: () => { onBotEditManifest(projectId); }, isDisableForPVA: true, }, { - label: formatMessage('Export this bot as .zip'), + label: formatMessage('Export as .zip'), onClick: () => { onBotExportZip(projectId); }, isDisableForPVA: false, }, { - label: formatMessage('Settings'), + label: formatMessage('Bot settings'), onClick: () => { navigateTo(createBotSettingUrl(link.projectId, link.skillId)); }, diff --git a/Composer/packages/client/src/constants.ts b/Composer/packages/client/src/constants.tsx similarity index 94% rename from Composer/packages/client/src/constants.ts rename to Composer/packages/client/src/constants.tsx index 58a856820e..9e1913b10e 100644 --- a/Composer/packages/client/src/constants.ts +++ b/Composer/packages/client/src/constants.tsx @@ -1,6 +1,7 @@ // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. +import React from 'react'; import { webAppRuntimeKey, functionsRuntimeKey, @@ -10,6 +11,7 @@ import { } from '@botframework-composer/types'; import formatMessage from 'format-message'; import { IDropdownOption } from 'office-ui-fabric-react/lib/Dropdown'; +import { Link } from 'office-ui-fabric-react/lib/Link'; export const BASEPATH = process.env.PUBLIC_URL || '/'; export const BASEURL = `${process.env.PUBLIC_URL || ''}/api`; @@ -321,10 +323,17 @@ export const addSkillDialog = { get SKILL_MANIFEST_FORM() { return { title: formatMessage('Add a skill'), - preSubText: formatMessage(`Skills extend your bot's conversational capabilities . To know more about skills`), - afterSubText: formatMessage( - `To make sure the skill will work correctly, we perform some validation checks. When you’re ready to add a skill, enter the Skill manifest URL provided to you by the skill author.` - ), + subText: (url: string) => + formatMessage.rich( + `To connect to a skill, your bot needs the information captured in the skill's manifest of the bot, and, for secure access, the skill needs to know your bot's AppID. Learn more.`, + { + link: ({ children }) => ( + + {children} + + ), + } + ), }; }, get SKILL_MANIFEST_FORM_EDIT() { @@ -356,14 +365,11 @@ export const selectIntentDialog = { export const enableOrchestratorDialog = { get title() { - return formatMessage('Enable Orchestrator Recognizer'); + return formatMessage('Enable Orchestrator'); }, get subText() { - return formatMessage('Enable Orchestrator as the recognizer for routing to other skills'); - }, - get content() { return formatMessage( - 'Multi-bot projects work best with the Orchestrator recognizer set at the dispatching dialog (typically the root dialog). Orchestrator helps identify and dispatch user intents from the root dialog to the respective skill that handles the intent. Orchestrator does not support entity extraction. If you plan to combine entity extraction and routing at the root dialog, use LUIS instead.' + 'A bot that consists of multiple bots or connects to skills (multi-bot project) needs Orchestrator to detect and route user input to the appropriate bot or skill.' ); }, }; diff --git a/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx b/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx index 3eb56e2e22..0c7e6baaa2 100644 --- a/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx +++ b/Composer/packages/client/src/pages/design/exportSkillModal/constants.tsx @@ -180,8 +180,11 @@ export const editorSteps: { [key in ManifestEditorSteps]: EditorStep } = { buttons: [cancelButton, nextButton], content: Description, editJson: false, - title: () => formatMessage('Describe your skill'), - subText: () => formatMessage('To make your bot available for others as a skill, we need to generate a manifest.'), + title: () => formatMessage('Export your bot'), + subText: () => + formatMessage( + 'A skill is a bot that can perform a set of tasks one or more bots. To make your bot available as a skill, it needs a manifest - a JSON file that describes the actions the skill can perform.' + ), validate, }, [ManifestEditorSteps.SELECT_PROFILE]: { @@ -241,9 +244,9 @@ export const editorSteps: { [key in ManifestEditorSteps]: EditorStep } = { content: AddCallers, subText: () => formatMessage( - 'Add Microsoft App Ids of bots that can access this skill. You can skip this step and add this information later from the project settings tab.' + 'To ensure a secure connection, provide the App ID of the bots that can connect to your skill. If you don’t have this information, you can also add this information in Skill Configuration. Learn more.' ), - title: () => formatMessage('Which bots are allowed to use this skill?'), + title: () => formatMessage('Which bots can connect to this skill?'), }, [ManifestEditorSteps.MANIFEST_REVIEW]: { buttons: [ @@ -273,9 +276,9 @@ export const editorSteps: { [key in ManifestEditorSteps]: EditorStep } = { editJson: false, subText: () => formatMessage( - 'These tasks will be used to generate the manifest and describe the capabilities of this skill to those who may want to use it.' + 'The capabilities of your bot are defined in its dialogs and triggers. Selected dialogs will be included in the manifest. Internal dialogs or actions may not be relevant to other bots. Learn more.' ), - title: () => formatMessage('Select which dialogs are included in the skill manifest'), + title: () => formatMessage('Select dialogs'), }, [ManifestEditorSteps.SELECT_TRIGGERS]: { buttons: [ @@ -294,9 +297,9 @@ export const editorSteps: { [key in ManifestEditorSteps]: EditorStep } = { editJson: false, subText: () => formatMessage( - 'These tasks will be used to generate the manifest and describe the capabilities of this skill to those who may want to use it.' + 'Triggers selected below will enable other bots to access the capabilities of your skill. Learn more.' ), - title: () => formatMessage('Select which tasks this skill can perform'), + title: () => formatMessage('Select triggers'), }, [ManifestEditorSteps.SAVE_MANIFEST]: { buttons: [ diff --git a/Composer/packages/client/src/pages/design/exportSkillModal/content/AddCallers.tsx b/Composer/packages/client/src/pages/design/exportSkillModal/content/AddCallers.tsx index ecaa5b38d2..c4eb0c53b7 100644 --- a/Composer/packages/client/src/pages/design/exportSkillModal/content/AddCallers.tsx +++ b/Composer/packages/client/src/pages/design/exportSkillModal/content/AddCallers.tsx @@ -81,7 +81,7 @@ export const AddCallers: React.FC = ({ projectId, callers, onUpdat return (
-
{formatMessage('Allowed Callers')}
+
{formatMessage('Available as skill to the following bots:')}
{callers?.map((caller, index) => { const isFocus = focusCallerIndex === index; diff --git a/Composer/packages/client/src/pages/home/CardWidget.tsx b/Composer/packages/client/src/pages/home/CardWidget.tsx index 09582193ee..42db509b07 100644 --- a/Composer/packages/client/src/pages/home/CardWidget.tsx +++ b/Composer/packages/client/src/pages/home/CardWidget.tsx @@ -60,7 +60,7 @@ export const CardWidget: React.FC = ({ ? home.cardItem : imageCover ? home.mediaCardItem - : home.meidiaCardNoCoverItem; + : home.mediaCardNoCoverItem; const onImageLoading = (state: ImageLoadState) => { if (state === ImageLoadState.error) { diff --git a/Composer/packages/client/src/pages/home/styles.ts b/Composer/packages/client/src/pages/home/styles.ts index 2876f3c4f6..83636cdc6a 100644 --- a/Composer/packages/client/src/pages/home/styles.ts +++ b/Composer/packages/client/src/pages/home/styles.ts @@ -270,7 +270,7 @@ export const mediaCardItem = { `, }; -export const meidiaCardNoCoverItem = { +export const mediaCardNoCoverItem = { ...mediaCardItem, imageCover: css` ${mediaCardItem.imageCover}; From bee1a1f5ebe74fb537d39f79a45ead84c18b4f1d Mon Sep 17 00:00:00 2001 From: Ben Yackley <61990921+beyackle@users.noreply.github.com> Date: Tue, 4 May 2021 19:33:18 -0700 Subject: [PATCH 2/6] Update EnableOrchestrator.tsx --- .../src/components/AddRemoteSkillModal/EnableOrchestrator.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx b/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx index fbbdf9c3b2..ca4027e21f 100644 --- a/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx +++ b/Composer/packages/client/src/components/AddRemoteSkillModal/EnableOrchestrator.tsx @@ -32,7 +32,7 @@ const EnableOrchestrator: React.FC = (props) => { }; return ( - +
{enableOrchestratorDialog.subText} From c35d67ddcf577fea1ce3e38947db44ccba8077a4 Mon Sep 17 00:00:00 2001 From: Ben Yackley <61990921+beyackle@users.noreply.github.com> Date: Tue, 4 May 2021 20:31:41 -0700 Subject: [PATCH 3/6] Update skill.test.tsx --- Composer/packages/client/__tests__/components/skill.test.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Composer/packages/client/__tests__/components/skill.test.tsx b/Composer/packages/client/__tests__/components/skill.test.tsx index fcfe40fb60..b9c7ce6b24 100644 --- a/Composer/packages/client/__tests__/components/skill.test.tsx +++ b/Composer/packages/client/__tests__/components/skill.test.tsx @@ -65,7 +65,7 @@ describe('', () => { recoilInitState ); - const urlInput = getByLabelText('Skill Manifest Url'); + const urlInput = getByLabelText('Skill Manifest URL'); act(() => { fireEvent.change(urlInput, { target: { value: 'https://onenote-dev.azurewebsites.net/manifests/OneNoteSync-2-1-preview-1-manifest.json' }, From 0010191d6c34bf479a8ef396eb714a0674befb13 Mon Sep 17 00:00:00 2001 From: Ben Yackley <61990921+beyackle@users.noreply.github.com> Date: Wed, 5 May 2021 09:20:21 -0700 Subject: [PATCH 4/6] Update package.json --- extensions/packageManager/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/extensions/packageManager/package.json b/extensions/packageManager/package.json index 802dc815c2..b4692f85e5 100644 --- a/extensions/packageManager/package.json +++ b/extensions/packageManager/package.json @@ -52,7 +52,7 @@ "@emotion/core": "^10.0.35", "@microsoft/bf-dialog": "4.13.1", "@uifabric/fluent-theme": "^7.1.4", - "axios": "^0.19.2", + "axios": "^0.21.1", "date-fns": "^2.16.1", "format-message": "^6.2.3", "office-ui-fabric-react": "7.71.0", From 14a8a3b85889139d31d1496abbd0eff24fd8a125 Mon Sep 17 00:00:00 2001 From: Ben Yackley <61990921+beyackle@users.noreply.github.com> Date: Wed, 5 May 2021 09:26:00 -0700 Subject: [PATCH 5/6] Update yarn.lock --- extensions/packageManager/yarn.lock | 21 --------------------- 1 file changed, 21 deletions(-) diff --git a/extensions/packageManager/yarn.lock b/extensions/packageManager/yarn.lock index c739930695..975049a05d 100644 --- a/extensions/packageManager/yarn.lock +++ b/extensions/packageManager/yarn.lock @@ -1011,13 +1011,6 @@ atob@^2.1.2: resolved "https://registry.yarnpkg.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9" integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg== -axios@^0.19.2: - version "0.19.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.19.2.tgz#3ea36c5d8818d0d5f8a8a97a6d36b86cdc00cb27" - integrity sha512-fjgm5MvRHLhx+osE2xoekY70AhARk3a6hkN+3Io1jc00jtquGvxYlKlsFUhmUET0V5te6CcZI7lcv2Ym61mjHA== - dependencies: - follow-redirects "1.5.10" - axios@^0.21.1, axios@~0.21.1: version "0.21.1" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8" @@ -1712,13 +1705,6 @@ debug@4, debug@^4.0.0, debug@^4.1.1: dependencies: ms "2.1.2" -debug@=3.1.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261" - integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g== - dependencies: - ms "2.0.0" - debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -2133,13 +2119,6 @@ flush-write-stream@^1.0.0: inherits "^2.0.3" readable-stream "^2.3.6" -follow-redirects@1.5.10: - version "1.5.10" - resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a" - integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ== - dependencies: - debug "=3.1.0" - follow-redirects@^1.10.0: version "1.14.0" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.0.tgz#f5d260f95c5f8c105894491feee5dc8993b402fe" From 4fca7c123916235b5559be93eb4c8d1e30bff210 Mon Sep 17 00:00:00 2001 From: Ben Yackley <61990921+beyackle@users.noreply.github.com> Date: Wed, 5 May 2021 09:55:45 -0700 Subject: [PATCH 6/6] Update en-US.json --- .../packages/server/src/locales/en-US.json | 113 +++++++++--------- 1 file changed, 58 insertions(+), 55 deletions(-) diff --git a/Composer/packages/server/src/locales/en-US.json b/Composer/packages/server/src/locales/en-US.json index 434cf64ea5..7095bb38e5 100644 --- a/Composer/packages/server/src/locales/en-US.json +++ b/Composer/packages/server/src/locales/en-US.json @@ -23,6 +23,9 @@ "a_add_from_package_manager_a_9eee7630": { "message": "Add from package manager" }, + "a_bot_that_consists_of_multiple_bots_or_connects_t_f3bc4bd": { + "message": "A bot that consists of multiple bots or connects to skills (multi-bot project) needs Orchestrator to detect and route user input to the appropriate bot or skill." + }, "a_dialog_file_must_have_a_name_123ff67d": { "message": "a dialog file must have a name" }, @@ -59,6 +62,9 @@ "a_skill_bot_that_can_be_called_from_a_host_bot_a833d0": { "message": "A skill bot that can be called from a host bot." }, + "a_skill_is_a_bot_that_can_perform_a_set_of_tasks_o_950a3c95": { + "message": "A skill is a bot that can perform a set of tasks one or more bots. To make your bot available as a skill, it needs a manifest - a JSON file that describes the actions the skill can perform." + }, "a_subscription_key_is_created_when_you_create_a_qn_37a6926f": { "message": "A subscription key is created when you create a QnA Maker resource." }, @@ -191,9 +197,6 @@ "add_entity_5f769994": { "message": "Add entity" }, - "add_microsoft_app_ids_of_bots_that_can_access_this_7d41742c": { - "message": "Add Microsoft App Ids of bots that can access this skill. You can skip this step and add this information later from the project settings tab." - }, "add_more_to_this_response_d45bdfda": { "message": "Add more to this response" }, @@ -434,6 +437,9 @@ "ask_activity_7bb716b4": { "message": "Ask activity" }, + "ask_the_skill_owner_for_the_url_and_provide_your_b_70a8b361": { + "message": "Ask the skill owner for the URL and provide your bot’s App ID" + }, "at_least_one_question_is_required_6f287e04": { "message": "At least one question is required" }, @@ -473,6 +479,9 @@ "automatically_generate_dialogs_that_collect_inform_e7cf619e": { "message": "Automatically generate dialogs that collect information from a user to manage conversations." }, + "available_as_skill_to_the_following_bots_dbcaffcd": { + "message": "Available as skill to the following bots:" + }, "azure_connections_9e63f716": { "message": "Azure connections" }, @@ -1124,9 +1133,6 @@ "deleting_one_source_file_will_also_delete_qna_file_f3afd698": { "message": "Deleting one source file will also delete qna files with the same name on other locales" }, - "describe_your_skill_88554792": { - "message": "Describe your skill" - }, "description_436c48d7": { "message": "Description" }, @@ -1373,11 +1379,8 @@ "enable_multi_turn_extraction_8a168892": { "message": "Enable multi-turn extraction" }, - "enable_orchestrator_as_the_recognizer_for_routing__a914d9ba": { - "message": "Enable Orchestrator as the recognizer for routing to other skills" - }, - "enable_orchestrator_recognizer_300dd83a": { - "message": "Enable Orchestrator Recognizer" + "enable_orchestrator_cdbbd2c5": { + "message": "Enable Orchestrator" }, "enable_speech_e30d6a2a": { "message": "Enable Speech" @@ -1544,11 +1547,17 @@ "expecting_4df12c00": { "message": "Expecting" }, + "export_as_skill_764cf284": { + "message": "Export as skill" + }, + "export_as_zip_133b7ec": { + "message": "Export as .zip" + }, "export_json_2e2981f5": { "message": "Export JSON" }, - "export_this_bot_as_zip_c4bfddf2": { - "message": "Export this bot as .zip" + "export_your_bot_604e651c": { + "message": "Export your bot" }, "expression_7f906a13": { "message": "Expression" @@ -1742,9 +1751,6 @@ "get_activity_members_11339605": { "message": "Get activity members" }, - "get_an_overview_56c78cc3": { - "message": "Get an overview" - }, "get_conversation_members_71602275": { "message": "Get conversation members" }, @@ -2063,9 +2069,6 @@ "learn_about_adaptive_expressions_fb1b6c3c": { "message": "Learn about Adaptive expressions" }, - "learn_how_to_build_a_skill_b1c39c82": { - "message": "learn how to build a skill" - }, "learn_more_a79a7918": { "message": "Learn more" }, @@ -2252,9 +2255,6 @@ "make_a_copy_77d1233": { "message": "Make a copy" }, - "make_orchestrator_my_preferred_recognizer_for_mult_2295034b": { - "message": "Make Orchestrator my preferred recognizer for multi-bot projects" - }, "manage_bot_languages_9ec36fd7": { "message": "Manage bot languages" }, @@ -2393,9 +2393,6 @@ "msg_bf173fef": { "message": "{ msg }" }, - "multi_bot_projects_work_best_with_the_orchestrator_86fc19e3": { - "message": "Multi-bot projects work best with the Orchestrator recognizer set at the dispatching dialog (typically the root dialog). Orchestrator helps identify and dispatch user intents from the root dialog to the respective skill that handles the intent. Orchestrator does not support entity extraction. If you plan to combine entity extraction and routing at the root dialog, use LUIS instead." - }, "multi_choice_839b54bb": { "message": "Multi-choice" }, @@ -3260,6 +3257,9 @@ "select_an_schema_to_edit_or_create_a_new_one_59c7326a": { "message": "Select an schema to edit or create a new one" }, + "select_dialogs_f625e607": { + "message": "Select dialogs" + }, "select_input_hint_267a6208": { "message": "Select input hint" }, @@ -3299,17 +3299,14 @@ "select_the_resource_group_and_region_in_which_your_51f85ff": { "message": "Select the resource group and region in which your { service } service will be created." }, - "select_which_dialogs_are_included_in_the_skill_man_281ef8c9": { - "message": "Select which dialogs are included in the skill manifest" + "select_triggers_5ff033ae": { + "message": "Select triggers" }, - "select_which_tasks_this_skill_can_perform_172b0eae": { - "message": "Select which tasks this skill can perform" + "select_your_azure_directory_then_choose_the_subscr_7034a3c0": { + "message": "Select your Azure directory, then choose the subscription where you’d like your new { service } resource." }, - "select_your_azure_directory_then_choose_the_subscr_28e935bc": { - "message": "Select your Azure directory, then choose the subscription where your existing { service } resource is located. " - }, - "select_your_azure_directory_then_choose_the_subscr_e3d67edf": { - "message": "Select your Azure directory, then choose the subscription where you’d like your new { service } resource. " + "select_your_azure_directory_then_choose_the_subscr_d51f6201": { + "message": "Select your Azure directory, then choose the subscription where your existing { service } resource is located." }, "selection_field_86d1dc94": { "message": "selection field" @@ -3380,9 +3377,6 @@ "settings_menu_c99ecc6d": { "message": "Settings menu" }, - "share_as_a_skill_63554df2": { - "message": "Share as a skill" - }, "short_description_for_6abb9a1b": { "message": "short description for" }, @@ -3428,8 +3422,8 @@ "skill_host_endpoint_url_e68b65f6": { "message": "Skill host endpoint url" }, - "skill_manifest_url_be7ef8d0": { - "message": "Skill Manifest Url" + "skill_manifest_url_1094fcba": { + "message": "Skill Manifest URL" }, "skill_manifest_url_was_copied_to_the_clipboard_4cfad630": { "message": "Skill manifest URL was copied to the clipboard" @@ -3440,9 +3434,6 @@ "skills_can_be_called_by_external_bots_allow_other__d71decaf": { "message": "Skills can be “called” by external bots. Allow other bots to call your skill by adding their App IDs to the list below. Learn more" }, - "skills_extend_your_bot_s_conversational_capabiliti_ce5c2384": { - "message": "Skills extend your bot''s conversational capabilities . To know more about skills" - }, "skip_bcb86160": { "message": "Skip" }, @@ -3512,6 +3503,9 @@ "start_over_d7ce7a57": { "message": "Start over?" }, + "start_this_bot_ef51fbc2": { + "message": "Start this bot" + }, "start_typing_kind_or_b0c305da": { "message": "Start typing { kind } or" }, @@ -3533,6 +3527,9 @@ "stop_bot_be23cf96": { "message": "Stop bot" }, + "stop_this_bot_6cce6509": { + "message": "Stop this bot" + }, "stopping_e4de5f4a": { "message": "Stopping" }, @@ -3635,12 +3632,15 @@ "the_app_id_of_your_application_registration_16fba1a9": { "message": "The app id of your application registration" }, - "the_azure_bot_created_in_azure_bot_services_contai_e1514f26": { - "message": "The Azure Bot created in Azure Bot Services contains bot resources that can be used as the basis for a new bot, or to add or replace resources of an existing bot. Learn more." + "the_azure_bot_created_in_azure_bot_services_contai_6a71ef26": { + "message": "The Azure Bot created in Azure Bot Services contains bot resources that can be used as the basis for a new bot, or to add or replace resources of an existing bot." }, "the_bot_responses_page_is_where_the_language_gener_31a6666b": { "message": "The Bot Responses page is where the Language Generation (LG) editor locates. From here users can view all the LG templates and edit them." }, + "the_capabilities_of_your_bot_are_defined_in_its_di_37d5670f": { + "message": "The capabilities of your bot are defined in its dialogs and triggers. Selected dialogs will be included in the manifest. Internal dialogs or actions may not be relevant to other bots. Learn more." + }, "the_dialog_you_have_tried_to_delete_is_currently_u_a37c7a02": { "message": "The dialog you have tried to delete is currently used in the below dialog(s). Removing this dialog will cause your Bot to malfunction without additional action." }, @@ -3734,9 +3734,6 @@ "there_was_error_creating_your_kb_53b31ff3": { "message": "There was error creating your KB" }, - "these_tasks_will_be_used_to_generate_the_manifest__2791be0e": { - "message": "These tasks will be used to generate the manifest and describe the capabilities of this skill to those who may want to use it." - }, "this_bot_cannot_be_called_as_a_skill_since_the_all_ffb502b2": { "message": "This bot cannot be called as a skill since the allowed caller list is empty" }, @@ -3809,6 +3806,12 @@ "title_ee03d132": { "message": "Title" }, + "to_connect_to_a_skill_your_bot_needs_the_informati_f1b738ec": { + "message": "To connect to a skill, your bot needs the information captured in the skill''s manifest of the bot, and, for secure access, the skill needs to know your bot''s AppID. Learn more." + }, + "to_ensure_a_secure_connection_provide_the_app_id_o_6aaaba6": { + "message": "To ensure a secure connection, provide the App ID of the bots that can connect to your skill. If you don’t have this information, you can also add this information in Skill Configuration. Learn more." + }, "to_learn_more_a_visit_this_document_a_ce188d8": { "message": "To learn more, visit this document." }, @@ -3827,15 +3830,9 @@ "to_learn_more_about_the_title_a_visit_its_document_c302e9b1": { "message": "To learn more about the { title }, visit its documentation page." }, - "to_make_sure_the_skill_will_work_correctly_we_perf_8de42615": { - "message": "To make sure the skill will work correctly, we perform some validation checks. When you’re ready to add a skill, enter the Skill manifest URL provided to you by the skill author." - }, "to_make_your_bot_available_as_a_remote_skill_you_w_be5a6e3f": { "message": "To make your bot available as a remote skill you will need to provision Azure resources . This process may take a few minutes depending on the resources you select." }, - "to_make_your_bot_available_for_others_as_a_skill_w_f2c19b9c": { - "message": "To make your bot available for others as a skill, we need to generate a manifest." - }, "to_perform_provisioning_and_publishing_actions_com_a2c54389": { "message": "To perform provisioning and publishing actions, Composer requires access to your Azure and MS Graph accounts. Paste access tokens from the az command line tool using the commands highlighted below." }, @@ -3896,6 +3893,9 @@ "triggers_are_the_main_component_of_a_dialog_they_a_ff243c17": { "message": "Triggers are the main component of a dialog, they are how you catch and respond to events. Each trigger has a condition and a collection of actions to execute when the condition is met." }, + "triggers_selected_below_will_enable_other_bots_to__fd8353a5": { + "message": "Triggers selected below will enable other bots to access the capabilities of your skill. Learn more." + }, "true_1900d7ae": { "message": "true" }, @@ -4046,6 +4046,9 @@ "use_machine_learning_to_understand_natural_languag_53f12465": { "message": "Use machine learning to understand natural language input and direct the conversation flow." }, + "use_orchestrator_for_multi_bot_projects_bots_that__1b481cdd": { + "message": "Use Orchestrator for multi-bot projects (bots that consist of multiple bots or connect to skills)." + }, "use_speech_to_enable_voice_input_and_output_for_yo_742c511d": { "message": "Use Speech to enable voice input and output for your bot." }, @@ -4202,8 +4205,8 @@ "which_bot_would_you_like_to_add_to_your_project_e31270db": { "message": "Which bot would you like to add to your project" }, - "which_bots_are_allowed_to_use_this_skill_b908339e": { - "message": "Which bots are allowed to use this skill?" + "which_bots_can_connect_to_this_skill_5bf8421d": { + "message": "Which bots can connect to this skill?" }, "which_event_6e655d2b": { "message": "Which event?"