Skip to content

Commit 255f886

Browse files
authored
Merge branch 'MicrosoftDocs:main' into main
2 parents 44bb22b + 0d5ce45 commit 255f886

File tree

224 files changed

+1369
-3035
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

224 files changed

+1369
-3035
lines changed

.openpublishing.redirection.json

Lines changed: 155 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -24476,14 +24476,6 @@
2447624476
"source_path_from_root": "/learn-pr/wwl-azure/give-your-ai-agent-skills/5-exercise-combine-prompts-functions.md",
2447724477
"redirect_url": "/training/modules/give-your-ai-agent-skills/"
2447824478
},
24479-
{
24480-
"source_path_from_root": "/learn-pr/wwl-azure/give-your-ai-agent-skills/6-knowledge-check.md",
24481-
"redirect_url": "/training/modules/give-your-ai-agent-skills/4-knowledge-check"
24482-
},
24483-
{
24484-
"source_path_from_root": "/learn-pr/wwl-azure/give-your-ai-agent-skills/7-summary.md",
24485-
"redirect_url": "/training/modules/give-your-ai-agent-skills/5-summary"
24486-
},
2448724479
{
2448824480
"source_path_from_root": "/learn-pr/wwl-azure/governance-security/10-azure-key-vault-backup-restore.md",
2448924481
"redirect_url": "https://learn.microsoft.com/training/modules/governance-security/13-azure-key-vault-backup-restore"
@@ -36228,6 +36220,126 @@
3622836220
"redirect_url": "/training/",
3622936221
"redirect_document_id": false
3623036222
},
36223+
{
36224+
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/index.yml",
36225+
"redirect_url": "/training/",
36226+
"redirect_document_id": false
36227+
},
36228+
{
36229+
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/1-introduction.yml",
36230+
"redirect_url": "/training/",
36231+
"redirect_document_id": false
36232+
},
36233+
{
36234+
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/2-what-is-aks-edge-essentials.yml",
36235+
"redirect_url": "/training/",
36236+
"redirect_document_id": false
36237+
},
36238+
{
36239+
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/3-how-aks-edge-essentials-works.yml",
36240+
"redirect_url": "/training/",
36241+
"redirect_document_id": false
36242+
},
36243+
{
36244+
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/4-when-to-use-aks-edge-essentials.yml",
36245+
"redirect_url": "/training/",
36246+
"redirect_document_id": false
36247+
},
36248+
{
36249+
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/5-knowledge-check.yml",
36250+
"redirect_url": "/training/",
36251+
"redirect_document_id": false
36252+
},
36253+
{
36254+
"source_path": "learn-pr/iot/introduction-to-aks-edge-essentials/6-summary.yml",
36255+
"redirect_url": "/training/",
36256+
"redirect_document_id": false
36257+
},
36258+
{
36259+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/index.yml",
36260+
"redirect_url": "/training/",
36261+
"redirect_document_id": false
36262+
},
36263+
{
36264+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/1-introduction.yml",
36265+
"redirect_url": "/training/",
36266+
"redirect_document_id": false
36267+
},
36268+
{
36269+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/2-prepare-machine-for-aks-edge-essentials.yml",
36270+
"redirect_url": "/training/",
36271+
"redirect_document_id": false
36272+
},
36273+
{
36274+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/3-exercise-deploy-aks-edge-essentials.yml",
36275+
"redirect_url": "/training/",
36276+
"redirect_document_id": false
36277+
},
36278+
{
36279+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/4-deploy-application-aks-edge-essentials.yml",
36280+
"redirect_url": "/training/",
36281+
"redirect_document_id": false
36282+
},
36283+
{
36284+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/5-exercise-deploy-application-aks-edge-essentials.yml",
36285+
"redirect_url": "/training/",
36286+
"redirect_document_id": false
36287+
},
36288+
{
36289+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/6-knowledge-check.yml",
36290+
"redirect_url": "/training/",
36291+
"redirect_document_id": false
36292+
},
36293+
{
36294+
"source_path": "learn-pr/iot/create-first-aks-edge-essentials/7-summary.yml",
36295+
"redirect_url": "/training/",
36296+
"redirect_document_id": false
36297+
},
36298+
{
36299+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/index.yml",
36300+
"redirect_url": "/training/",
36301+
"redirect_document_id": false
36302+
},
36303+
{
36304+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/1-introduction.yml",
36305+
"redirect_url": "/training/",
36306+
"redirect_document_id": false
36307+
},
36308+
{
36309+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/2-arc-enable-aks-edge-essentials.yml",
36310+
"redirect_url": "/training/",
36311+
"redirect_document_id": false
36312+
},
36313+
{
36314+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/3-exercise-arc-enable-aks-edge-essentials.yml",
36315+
"redirect_url": "/training/",
36316+
"redirect_document_id": false
36317+
},
36318+
{
36319+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/4-remote-application-aks-edge-essentials.yml",
36320+
"redirect_url": "/training/",
36321+
"redirect_document_id": false
36322+
},
36323+
{
36324+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/5-exercise-remote-application-aks-edge-essentials.yml",
36325+
"redirect_url": "/training/",
36326+
"redirect_document_id": false
36327+
},
36328+
{
36329+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/6-knowledge-check.yml",
36330+
"redirect_url": "/training/",
36331+
"redirect_document_id": false
36332+
},
36333+
{
36334+
"source_path": "learn-pr/iot/connect-aks-edge-essentials-azure-arc/7-summary.yml",
36335+
"redirect_url": "/training/",
36336+
"redirect_document_id": false
36337+
},
36338+
{
36339+
"source_path": "learn-pr/paths/get-started-aks-edge-essentials/index.yml",
36340+
"redirect_url": "/training/",
36341+
"redirect_document_id": false
36342+
},
3623136343
{
3623236344
"source_path": "learn-pr/azure/optimize-archive-costs-blob-storage/1-introduction.yml",
3623336345
"redirect_url": "https://learn.microsoft.com/azure/storage/blobs/access-tiers-overview",
@@ -40773,6 +40885,11 @@
4077340885
"redirect_url": "https://learn.microsoft.com/training/browse/",
4077440886
"redirect_document_id": false
4077540887
},
40888+
{
40889+
"source_path": "learn-pr/paths/explore-azure-devops-with-github/index.yml",
40890+
"redirect_url": "https://learn.microsoft.com/training/paths/az-400-implement-ci-azure-pipelines-github-actions/",
40891+
"redirect_document_id": false
40892+
},
4077640893
{
4077740894
"source_path": "learn-pr/azure/manage-device-identity-ad-join/1-introduction.yml",
4077840895
"redirect_url": "https://learn.microsoft.com/en-us/entra/identity/devices/overview",
@@ -40802,6 +40919,36 @@
4080240919
"source_path": "learn-pr/azure/manage-device-identity-ad-join/index.yml",
4080340920
"redirect_url": "https://learn.microsoft.com/en-us/entra/identity/devices/overview",
4080440921
"redirect_document_id": false
40922+
},
40923+
{
40924+
"source_path": "learn-pr/wwl-azure/guided-project-create-ai-travel-agent/4-exercise-route-user-intent.md",
40925+
"redirect_url": "/training/modules/guided-project-create-ai-travel-agent/",
40926+
"redirect_document_id": false
40927+
},
40928+
{
40929+
"source_path": "learn-pr/wwl-azure/guided-project-create-ai-travel-agent/5-exercise-provide-context-cues.md",
40930+
"redirect_url": "/training/modules/guided-project-create-ai-travel-agent/",
40931+
"redirect_document_id": false
40932+
},
40933+
{
40934+
"source_path": "learn-pr/wwl-azure/give-your-ai-agent-skills/2-understand-native-functions.md",
40935+
"redirect_url": "/training/modules/give-your-ai-agent-skills/",
40936+
"redirect_document_id": false
40937+
},
40938+
{
40939+
"source_path": "learn-pr/wwl-azure/give-your-ai-agent-skills/3-exercise-create-native-functions.md",
40940+
"redirect_url": "/training/modules/give-your-ai-agent-skills/3-exercise-create-native-plugins",
40941+
"redirect_document_id": false
40942+
},
40943+
{
40944+
"source_path": "learn-pr/wwl-azure/give-your-ai-agent-skills/4-knowledge-check.md",
40945+
"redirect_url": "/training/modules/give-your-ai-agent-skills/",
40946+
"redirect_document_id": false
40947+
},
40948+
{
40949+
"source_path": "learn-pr/wwl-azure/give-your-ai-agent-skills/5-summary.md",
40950+
"redirect_url": "/training/modules/give-your-ai-agent-skills/7-summary",
40951+
"redirect_document_id": false
4080540952
}
4080640953
]
4080740954
}

learn-pr/achievements.yml

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4607,6 +4607,26 @@ achievements:
46074607
title: Crack the code and reveal a secret with Python and Visual Studio Code
46084608
summary: You're handed a secret message that needs a code cracker to find the truth. Learn how to solve the code mystery to reveal a location and date to find a hidden treasure. Get a glimpse into the popular Python programming language with this introductory lesson that requires no coding experience.
46094609
iconUrl: /training/achievements/python-partnership/secret-message-revised.svg
4610+
- uid: learn.introduction-to-aks-edge-essentials.badge
4611+
type: badge
4612+
title: Introduction to Azure Kubernetes Service (AKS) Edge Essentials
4613+
summary: Introduction to Azure Kubernetes Service (AKS) Edge Essentials
4614+
iconUrl: /training/achievements/iot/introduction-to-aks-edge-essentials.svg
4615+
- uid: learn.create-first-aks-edge-essentials.badge
4616+
type: badge
4617+
title: Create your first Azure Kubernetes Service (AKS) Edge Essentials single machine cluster
4618+
summary: Create your first Azure Kubernetes Service (AKS) Edge Essentials single machine cluster
4619+
iconUrl: /training/achievements/iot/create-first-aks-edge-essentials.svg
4620+
- uid: learn.connect-aks-edge-essentials-azure-arc.badge
4621+
type: badge
4622+
title: Connect your Azure Kubernetes Service (AKS) Edge Essentials cluster to Azure Arc
4623+
summary: Connect your Azure Kubernetes Service (AKS) Edge Essentials cluster to Azure Arc
4624+
iconUrl: /training/achievements/iot/connect-aks-edge-essentials-azure-arc.svg
4625+
- uid: learn.get-started-aks-edge-essentials.trophy
4626+
type: trophy
4627+
title: Get started with Azure Kubernetes Service (AKS) Edge Essentials
4628+
summary: Get started with Azure Kubernetes Service (AKS) Edge Essentials
4629+
iconUrl: /training/achievements/iot/get-started-aks-edge-essentials.svg
46104630
- uid: learn.python-partnership.trophy
46114631
type: trophy
46124632
title: Use Python basics to solve mysteries and find answers
@@ -4940,9 +4960,13 @@ achievements:
49404960
title: Create a new Node.js project and work with dependencies
49414961
summary: Use dependencies from the npm registry to develop Node.js applications faster. Learn how to manage dependencies for your project. This module uses JavaScript CommonJS in the Node.js runtime.
49424962
iconUrl: /training/achievements/create-nodejs-project-dependencies.svg
4963+
- uid: learn.azdo.explore-azure-devops-with-github.trophy
4964+
type: trophy
4965+
title: Explore Azure DevOps with GitHub to streamline your development process
4966+
summary: Learn how to use GitHub Actions, Azure DevOps, and Azure Pipelines to build, test, and deploy applications.
4967+
iconUrl: /training/achievements/explore-azure-devops-with-github.svg
49434968
- uid: learn.azure.manage-device-identity-ad-join.badge
49444969
type: badge
49454970
title: Manage device identity with Microsoft Entra join and Enterprise State Roaming
49464971
summary: Evaluate options to manage device identities in Microsoft Entra ID. Allow users to join devices in Microsoft Entra ID. Require devices to be marked as compliant. Enable Enterprise State Roaming.
49474972
iconUrl: /training/achievements/manage-device-identity-ad-join.svg
4948-

learn-pr/advocates/create-java-webapp-to-app-service-linux/includes/6-summary.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ az group delete --name <name of your resource group>
2727
* [JSF 2.3](https://jakarta.ee/specifications/faces/2.3/)
2828
* [Expression Language](https://jakarta.ee/specifications/expression-language/3.0/)
2929
* [Project Lombok](https://projectlombok.org/)
30-
* [PrimeFaces](https://www.primefaces.org/documentation/)
30+
* [PrimeFaces](https://primefaces.github.io/primefaces/7_0/)
3131
* [Maven Plugin for Azure Web Apps](https://github.com/microsoft/azure-maven-plugins)

learn-pr/aspnetcore/blazor-improve-how-forms-work/1-introduction.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
unitType: introduction
66
title: Introduction
77
description: Introduction
8-
ms.date: 11/09/2023
8+
ms.date: 01/09/2025
99
author: csharpfritz
1010
ms.author: jefritz
1111
ms.manager: markl

learn-pr/aspnetcore/blazor-improve-how-forms-work/2-attach-csharp-code-dom-events-blazor-event-handlers.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
unitType: learning-content
66
title: "Attach C# code to DOM events with Blazor event handlers"
77
description: "Create handlers to process DOM events using C#"
8-
ms.date: 11/09/2023
8+
ms.date: 01/09/2025
99
author: csharpfritz
1010
ms.author: jefritz
1111
ms.manager: markl
@@ -20,7 +20,7 @@ quiz:
2020
choices:
2121
- content: "C# events"
2222
isCorrect: false
23-
explanation: "C# events do not properly transfer between components"
23+
explanation: "C# events don't properly transfer between components"
2424
- content: "EventCallback"
2525
isCorrect: true
2626
explanation: "EventCallbacks look like parameters on a component and can be specified on a Blazor page or another component"
@@ -34,7 +34,7 @@ quiz:
3434
explanation: "preventDefault prevents the default action in the DOM element from executing"
3535
- content: "return false"
3636
isCorrect: false
37-
explanation: "return false was a technique to stop an event in other JavaScript frameworks, but does not prevent the default action"
37+
explanation: "return false was a technique to stop an event in other JavaScript frameworks, but doesn't prevent the default action"
3838
- content: "throw new Exception()"
3939
isCorrect: false
4040
explanation: "Throwing an exception might stop the default action from executing, but it also raises an error that you might not want your application users to interact with"

learn-pr/aspnetcore/blazor-improve-how-forms-work/3-exercise-create-blazor-event-handler-onclick-events.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
unitType: Exercise
66
title: "Exercise - Create a Blazor event handler for onclick events"
77
description: "Handle the onclick event for an HTML form control using C#"
8-
ms.date: 11/09/2023
8+
ms.date: 01/09/2025
99
author: csharpfritz
1010
ms.author: jefritz
1111
ms.manager: markl

learn-pr/aspnetcore/blazor-improve-how-forms-work/4-take-advantage-power-blazor-forms.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
unitType: learning-content
66
title: "Take advantage of the power of Blazor forms"
77
description: "Learn how to use Blazor input elements with Blazor forms"
8-
ms.date: 11/09/2023
8+
ms.date: 01/09/2025
99
author: csharpfritz
1010
ms.author: jefritz
1111
ms.manager: markl
@@ -23,18 +23,18 @@ quiz:
2323
explanation: "This event executes when EditForm fields are submitted with invalid content"
2424
- content: "OnFailedValidation"
2525
isCorrect: false
26-
explanation: "This sounds like a good name for an event, but is not correct"
26+
explanation: "This sounds like a good name for an event, but isn't correct"
2727
- content: "OnFailedSubmit"
2828
isCorrect: false
29-
explanation: "'Failed' is not part of the event name that is raised"
29+
explanation: "'Failed' isn't part of the event name that is raised"
3030
- content: "An EditForm has the following features EXCEPT:"
3131
choices:
3232
- content: "Data Binding"
3333
isCorrect: false
3434
explanation: "The EditForm can be associated with an object and then acts like a view of the object for data entry purposes"
3535
- content: "Data cleansing"
3636
isCorrect: true
37-
explanation: "While you can edit the content of an EditForm, it does not perform data cleansing operations on its own"
37+
explanation: "While you can edit the content of an EditForm, it doesn't perform data cleansing operations on its own"
3838
- content: "Validation"
3939
isCorrect: false
4040
explanation: "An EditForm extensive and extensible validation capabilities"

learn-pr/aspnetcore/blazor-improve-how-forms-work/5-exercise-create-address-form-blazor-components.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
unitType: Exercise
66
title: "Exercise - Create an address form with Blazor components"
77
description: "Build an address form and connect it to a data model."
8-
ms.date: 11/09/2023
8+
ms.date: 01/09/2025
99
author: csharpfritz
1010
ms.author: jefritz
1111
ms.manager: markl

learn-pr/aspnetcore/blazor-improve-how-forms-work/6-validate-user-input-implicitly.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
unitType: learning-content
66
title: "Validate user input implicitly without writing validation code"
77
description: "Learn how to use Blazor's events to validate user input in forms."
8-
ms.date: 11/09/2023
8+
ms.date: 01/09/2025
99
author: csharpfritz
1010
ms.author: jefritz
1111
ms.manager: markl
@@ -20,18 +20,18 @@ quiz:
2020
choices:
2121
- content: "ValidationMessage"
2222
isCorrect: false
23-
explanation: "The ValidationMessage component will display the message for one component, not a summary"
23+
explanation: "The ValidationMessage component displays the message for one component, not a summary"
2424
- content: "DataAnnotationsValidator"
2525
isCorrect: false
26-
explanation: "This component activates the validations in the EditForm, but does not display a summary of validation message"
26+
explanation: "This component activates the validations in the EditForm, but doesn't display a summary of validation message"
2727
- content: "ValidationSummary"
2828
isCorrect: true
2929
explanation: "This component displays a summary of all the validation messages in a submitted form"
30-
- content: "Which of these is NOT a standard input elements that comes with Blazor?"
30+
- content: "Which of these choices is NOT a standard input element that comes with Blazor?"
3131
choices:
3232
- content: "Guid"
3333
isCorrect: true
34-
explanation: "Guid is not part of the standard input elements provided by Blazor"
34+
explanation: "Guid isn't part of the standard input elements provided by Blazor"
3535
- content: "CreditCard"
3636
isCorrect: false
3737
explanation: "CreditCard is one of the standard input elements provided by Blazor"

learn-pr/aspnetcore/blazor-improve-how-forms-work/7-exercise-add-server-client-side-data-validation-address-form.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ metadata:
55
unitType: Exercise
66
title: "Exercise - Add server-side and client-side data validation to the address form "
77
description: "Use data annotations on a model to add custom validation to a Blazor EditForm component."
8-
ms.date: 11/09/2023
8+
ms.date: 01/09/2025
99
author: csharpfritz
1010
ms.author: jefritz
1111
ms.manager: markl

0 commit comments

Comments
 (0)