Full transcript
0:00[ Music ]
0:07BARBARA ANDREWS: Welcome to our next session on how
0:08to manage the Microsoft Power Platform environment.
0:11My name is Barbara Andrews,
0:13and I'm a lead Microsoft technical trainer here
0:15at Microsoft.
0:16Let's jump into our content.
0:20Coming up, we will describe the Microsoft Dataverse
0:23and how Power Platform Administration
0:25and governance works.
0:28Let's start our section
0:29on describing the Microsoft Dataverse.
0:34Dataverse is a cloud-based, low-code data service
0:39and app platform which allows you to leverage the security
0:42and connectivity of Microsoft services.
0:45Dataverse connects easily to all aspects
0:48of Microsoft Power Platform so you can fully control, automate,
0:52and strengthen your business.
0:55With standard tables and columns, as well as the ability
0:57to easily define relationships between your data,
1:00Dataverse is a powerful, scalable solution.
1:04In this section, we will describe the different portals
1:06and environments available in the Dataverse,
1:09along with tables, columns, rows, and relationships.
1:13We will also look at the data import and export options.
1:18The Power Platform admin center serves as a centralized portal
1:23for administrators to manage environments, settings,
1:26and resources across Power Apps, Power Automate,
1:30and Dynamics 365 apps.
1:33It provides a unified interface to oversee the health, security,
1:38and performance of Power Platform implementations.
1:42Key features include actions, which offer recommendations
1:46to enhance security and reliability,
1:49such as optimizing app performance
1:51or securing data connections.
1:53And manage, which allows administrators
1:56to organize environments
1:57and tenant settings across departments.
2:00Monitor enables tracking of operational health metrics,
2:05helping teams ensure apps
2:07and workflows are running efficiently.
2:09Security tools supports safe operations through features
2:13like data loss prevention policies
2:16and role-based access controls, ensuring compliance
2:20and protecting sensitive data.
2:23Copilot offers educational resources, usage tracking,
2:27and governance controls to help organizations adopt
2:30AI responsibly.
2:32Additional capabilities not listed here include deployment,
2:37which streamlines application lifecycle management or ALM
2:41by allowing admins to manage pipelines,
2:45approved deployment requests,
2:47and troubleshoot issues at scale.
2:49Licensing provides visibility into license consumption
2:54and alerts for environments requiring attention.
2:58Support gives access to self-help tools and the ability
3:03to submit support tickets, including for Power BI,
3:08which is administered separately
3:10but supported through this portal.
3:12On the right, we have personalized admin,
3:14the interface here, with tabs for managing environments,
3:18monitoring resources, and configuring security.
3:22All of it's designed to help organizations maintain control,
3:26ensure operational excellence,
3:28and scale their Power Platform solutions effectively.
3:34The Power App's maker Portal is a centralized workspace
3:38that empowers users to build, manage, and monitor applications
3:43and related components
3:44within the Microsoft Power Platform ecosystem.
3:47It is designed to support both technical
3:50and non-technical users by offering a wide range of tools
3:54and features that simplify app development and deployment.
3:58One of the most powerful aspects of this portal is its ability
4:02to manage tables, which are the backbone of Microsoft Dataverse.
4:07Users can create and modify tables, define relationships,
4:11and customize forms and views all without writing any code.
4:16This is especially useful for business users who need
4:20to model data for apps like customer tracking
4:23or inventory management.
4:24For example, a retail manager could create a table
4:27to store product information and link it easily
4:31to a sales table to track performance.
4:34The portal also provides access to flows, solutions, websites,
4:40and agents, enabling users to automate processes, package
4:44and deploy complete solutions, build external-facing websites,
4:49and create AI-powered chatbots.
4:52These tools are essential for streamlining operations
4:56and enhancing user engagement.
4:58For instance, a customer service team could use Power Automate
5:03flows to route support tickets,
5:05while a marketing team might deploy a Power Page website
5:09to collect customer feedback.
5:12Additionally, the portal includes features like Monitor
5:15for tracking resource health, catalog for accessing templates,
5:20card for creating adaptive cards,
5:23choices for managing dropping drop-down values,
5:27connections for linking to data sources, and data flows
5:30for transforming and importing data.
5:33Together, these capabilities make Power Apps maker,
5:36the portal, a comprehensive environment
5:39for building scalable, data-driven solutions
5:42that integrate seamlessly with M365 and beyond.
5:47There are additional Power Platform maker portals.
5:51Listed here are four key portals.
5:54Power Automate, Power BI, Power Pages, and Copilot Studio,
6:00each designed to empower users to build solutions
6:04that enhance productivity, streamline operations,
6:07and improve user experiences.
6:10These portals are accessible via dedicated URLs
6:14and service entry points for makers to create, manage,
6:18and deploy solutions
6:19across various business solutions and scenarios.
6:23Power Automate URLs are listed here.
6:27It enables users to build and manage automated workflows
6:30that reduce manual tasks and improve efficiency.
6:34For example, a finance team could automate invoice approvals
6:38by triggering flows that new documents are uploaded.
6:42Power BI's URL is listed here.
6:45It's our App.powerbi.com.
6:48This allows your user to create an interactive dashboard
6:51and reports that visualize data from multiple data sources.
6:55Power Pages URL is also listed here, make.powerpages.com,
7:01which provides a platform for building secure,
7:04modern business websites that can be used
7:07by both employees and customers.
7:09Copilot Studios URL is also listed here,
7:13Copilotstudio.microsoft.com.
7:16This allows users to design intelligent agents that assist
7:20with tasks through conversational interfaces.
7:24These agents can be embedded in apps or websites
7:27to provide real-time support, such as an HR chatbot
7:31that answers employee questions about benefits.
7:36Microsoft Dataverse environments are designed
7:38to support structured, secure,
7:41and scalable application development
7:43within your Microsoft Entra ID tenant,
7:47formerly Azure Active Directory.
7:50Each environment, such as development, which is dev,
7:54our testing environment, test, and our production environment,
7:58prod, can be provisioned with its own Dataverse database,
8:03enabling teams to isolate resources, manage permissions,
8:07and control data access independently.
8:10This separation is essential
8:12for maintaining clean application lifecycle management
8:15or ALM practices, allowing solutions to be developed,
8:20tested, and deployed in a controlled
8:23and predictable manner.
8:25For example, a Seahorse International company might use
8:29a DevOps environment to build and iterate on new features,
8:34a test environment to validate those features using
8:37representative data, and a prod or production environment
8:41to host live applications used by employees or customers.
8:45Each environment is created in a specific geographic region,
8:49such as the United States, Europe, and more.
8:52Most resources within the environment,
8:55including Dateverse data, Power Apps, Power Automate flows,
8:59and connectors, are bound to that region.
9:02This regional binding supports data residency compliance
9:07and can improve performance by reducing latency
9:10for users in that region.
9:12However, some services or connectors may operate
9:15across regions depending on their configuration.
9:18This model supports strong governance,
9:20a role-based access controller, RBAC, and data security.
9:25Organizations can create multiple environments to align
9:28with business units, regions, or compliance requirements.
9:33Microsoft Power Platform provides several environment
9:37types, each designed to support specific stages
9:40of the application lifecycle
9:43and meet diverse organizational needs.
9:46The production environments are intended
9:48for hosting live business-critical applications.
9:52They require at least one gig
9:55of available Dataverse database capacity
9:58and offer full capabilities for managing apps,
10:01flows, and data securely.
10:03These environments are optimized for stability, reliability,
10:07and long-term use by end users.
10:10The default environments are automatically created
10:13for each Microsoft Entra ID tenant and are accessible
10:17to all licensed users.
10:20This environment is best suited for personal productivity
10:23or exploratory use rather than for sensitive
10:27or regulated workloads.
10:29The sandbox environment are used
10:31for non-production environments used for development,
10:35testing, and training.
10:36They allow teams to safely experiment with new features,
10:40updates, or integrations without affecting production systems.
10:45Trial environments are temporary environments.
10:49They expire after 30 days unless converted to production.
10:53They are ideal for short-term testing,
10:56proof-of-concept projects, or evaluating new features
11:01without long-term commitments.
11:03Developer environments are created by users
11:06with the Power Apps Developer Plan license and are intended
11:10for individual use only, making them suitable
11:13for personal experimentation.
11:16Microsoft Dataverse for Teams environments are automatically
11:19created when apps are built or installed
11:22within a Microsoft Teams team.
11:25These environments enable users to build
11:27and deploy apps directly within Teams, fostering collaboration
11:32by embedding solutions that users already work with.
11:37They are best suited
11:38for lightweight team-specific solutions.
11:41Together, these environment types provide the flexibility,
11:45governance, and scalability needed to manage development,
11:50testing, and deployment workflows effectively
11:53across the Power Platform.
11:58Microsoft Power Platform enables enterprise-level governance
12:02and control through a suite of premium capabilities.
12:05Managing applications at scale can be complex,
12:09especially when it comes to controlling access
12:12and ensuring data security.
12:14Managed environments address these challenges
12:17by offering administrators enhanced tools to monitor,
12:20secure, and optimize their Power Platform environments.
12:24For example, the limit-sharing feature allows administrators
12:29to restrict how broadly users can share Canvas apps,
12:32preventing scenarios where sensitive apps are shared
12:35across the entire organization without any oversight.
12:39This ensures that only authorized users have access
12:43to critical business applications.
12:46Another key feature is weekly usage insights,
12:49which delivers analytics directly
12:52to the administrator's mailboxes.
12:55These insights highlight top-performing apps,
12:58identify inactive resources,
13:01and spotlight the most impactful makers,
13:05helping organizations optimize resource allocation
13:09and clean up unused assets.
13:11Data policies further enhance security by defining
13:15which connectors can be used to share data,
13:18preventing accidental exposure of sensitive information
13:21to unauthorized services like social media platforms.
13:25Pipelines in Power Platforms streamline the deployment
13:29process by allowing admins to automate workflows
13:34across development, testing, and production environments.
13:38Finally, the solution checker enforces best practices
13:43by analyzing solutions
13:45for problematic patterns before deployment.
13:49Importantly, any items created in a managed environment,
13:53including connections, gateways, and flows,
13:57are bound to that environment's geographical location.
14:01Together, these features make managed environments a very
14:04powerful tool for organizations looking
14:06to scale their Power Platform usage securely and efficiently.
14:14Here is a question that I'm sure is on everyone's mind right now.
14:19What's in the box?
14:20I'm glad you asked.
14:22Here is a detailed breakdown of the architectural components
14:26that make up the Dataverse and make it a powerful, scalable,
14:31and secure data platform.
14:33Here are the core components of Dataverse,
14:36divided into five key sections, security, logic, data, storage,
14:42and integration, each represented by icons
14:46that reflect their technical rules.
14:48The security section includes features like authentication,
14:52authorization, role-based access control, auditing,
14:56and duplicate detection.
14:58This ensures that data is protected, access is controlled,
15:03and compliance is maintained.
15:05The logic section includes calculated and rollup fields,
15:10jobs, plugins, business rules, and workflows.
15:14These tools allow organizations to automate business processes
15:18and enforce logic without writing extensive code.
15:22It could be used for business rules to validate data entry,
15:26or plugins to trigger custom logic using record updates.
15:32The data section focuses in on modeling, cataloging, reporting,
15:37validation, and support for the common data model,
15:41multiple languages, and multiple currencies.
15:45This ensures data is structured,
15:47discoverable, and globally usable.
15:50The storage section highlights how Dataverse uses SQL
15:54for relational data, Blob Storage for files and images,
15:59Cosmos DB for semi-structured or log data, and a data lake
16:05for big data analytics.
16:07This layered storage approach ensures optimal performance
16:11and scalability.
16:13Finally, the integration section includes web hooks
16:17for real-time notifications, ALM tools like Azure DevOps
16:21for deployment, and connectors to services
16:24like GitHub and Azure Synapse.
16:26These integrations enable seamless data exchange
16:31and lifecycle management, allowing developers
16:33to build robust, scalable solutions that connect
16:37across the Microsoft ecosystem and beyond.
16:41Dataverse operates through a single API endpoint
16:45that connects to services like Power Apps, Power BI,
16:49Power Automate, and Power Virtual Agents.
16:53This unified access point is supported by a load balancer
16:57that distributes requests across compute services,
17:02ensuring high availability and performance.
17:05The architecture includes specialized services
17:07such as a web for handling OData API requests,
17:12Azure jobs for asynchronous processing, and a Sandbox here
17:17for executing custom C-Sharp code securely.
17:21These components work together to provide a robust backend
17:26that supports complex business logic,
17:28automation, and reporting needs.
17:31This flexibility makes Dataverse ideal
17:34for enterprise-grade applications
17:36that require secure data access, scalable processing,
17:40and seamless integration across Microsoft's ecosystem.
17:45Dataverse is a cloud-based data platform that supports secure,
17:52scalable, and integrated data management
17:54across the Microsoft ecosystem.
17:57Dataverse is designed to be a central data repository
18:01for business applications, enabling organizations to store
18:05and manage data in structured tables with built-in support
18:09for business logic, security, and compliance.
18:12It is globally available, but deployed geographically
18:16to meet data residency requirements, making it ideal
18:20for enterprises with regional compliance needs.
18:23Since Dataverse is cloud-native,
18:25it requires an internet connection
18:28and cannot be hosted on premise.
18:30A key benefit is its seamless integration
18:34with Microsoft Power Platform tools like Power Apps,
18:37Power Automate, and the AI Builder, allowing users
18:41to build low-code solutions
18:44without worrying about infrastructure.
18:46The common data model, or CDM, is introduced as a standardized
18:51and extensible collection of schemas
18:54that define business concepts and relationships.
18:57CDM provides a shared data language
19:01that enables interoperability across applications
19:04like Power BI, Dynamics 365, and Azure.
19:09This standardization ensures
19:11that data is consistently structured and understood
19:14across systems, which is especially valuable
19:18in large organizations with diverse software ecosystems.
19:22CDM also supports extensibility, allowing businesses
19:26to customize data definitions while maintaining alignment
19:30with the broader Microsoft ecosystem.
19:33For instance, a multinational company could use CDM
19:37to align data definitions across its finance, sales,
19:41and operation departments,
19:42enabling unified reporting and analytics.
19:46Together, Dataverse and CDM provide a very powerful
19:50foundation for building scalable, secure,
19:53and interoperable business solutions.
19:57Microsoft Dataverse uses the common data model or CDM
20:01to provide a unified, standardized data schema
20:05that simplifies integration, development, and analytics
20:09across Microsoft's ecosystem.
20:12The CDM offers a shared data language and metadata system
20:16that enables consistent interpretation of data
20:19across Power Apps, Power BI, Dynamics 365, and Azure.
20:25It includes a library of standardized,
20:27extensible schemas, such as entities like account
20:32and campaign, which represent common business concepts.
20:36These schemas help app makers
20:39and data integrators work independently.
20:42Developers can build apps using familiar data structures,
20:46while integrators can bring in data from various systems
20:49without needing to redesign schemas for each use case.
20:54On the left, we can see that the CDM schema here is showing how
20:58standardized entities and relationships are structured
21:02in the open-source shared data model.
21:04The right side illustrates how Dataverse acts as a central hub,
21:09enabling multiple apps, App1 to AppN, to access and interact
21:15with multiple data sources, data source 1 to data source N,
21:19through a consistent data layer.
21:21This architecture supports structural
21:24and semantic consistency across deployments.
21:28It simplifies also the integration
21:30of Dataverse data sets
21:32and enables holistic app development and analytics.
21:36For example, a retail company can unify customer data
21:41from CRM, e-commerce, and support systems
21:45into Dataverse using the CDM, and then build apps
21:50in Power Apps and Dashboards, and Power BI, without needing
21:54to reconcile data formats.
21:56The ability to extend DCM's schemas also allows
22:00organizations to tailor the model to their specific needs,
22:04ensuring flexibility and scalability.
22:08Here is a list of the different types of tables available
22:12in Microsoft Dataverse, each serving a specific purpose
22:16in data modeling and application development.
22:20Standard tables are out-of-the-box entities
22:23like account, contact, and user, and they're designed
22:27to capture common business scenarios.
22:29These tables are ideal starting points because they align
22:33with the common database model and are already integrated
22:37into many Microsoft apps like M365, Dynamics 365, and more.
22:44For example, a sales team might use the contact table
22:48to manage customer interactions across multiple channels.
22:52Custom tables, on the other hand, allow organizations
22:55to define their own data structures tailored
22:58to unique business needs.
23:00A logistics company might create a custom shipment table
23:04to track delivery statuses for carrier details,
23:07enabling more precise operational oversight.
23:11Activity tables are specialized
23:13for tracking time-based interaction, such as email,
23:17phone calls, appointments, and more.
23:20These are particularly useful in service-oriented industries
23:24where tracking communication history is essential.
23:28For instance, a customer support team can use activity tables
23:33to log and monitor follow-up calls and service appointments.
23:37Virtual tables provide a powerful way
23:40to integrate external data sources
23:43without duplicating data in Dataverse.
23:46This is beneficial for organizations
23:48that need real-time access to external systems,
23:52such as displaying live inventory data
23:55from an ERP system within a Power App.
23:58Elastic tables are optimized for high-volume scenarios,
24:03supporting datasets with tens of millions of rows.
24:07These are ideal for analytics-heavy applications,
24:10such as tracking IoT sensor data or large-scale transaction logs.
24:17Across all table types, Dataverse ensures secure,
24:21scalable, and compliant data management,
24:24making it a robust foundation for enterprise-grade apps.
24:28If possible, always use standard tables and columns.
24:33You can rename a table if that makes more sense;
24:36it makes it more understandable in your context
24:38for your solution, and always review the list
24:41of standard tables and review your needs before you create
24:44new tables.
24:48Microsoft Dataverse supports relational data modeling
24:51through one-to-many
24:53and many-to-many relationships between tables.
24:56These relationships are foundational
24:59for building structured, scalable business apps.
25:03In a one-to-many relationship,
25:05also known as a parent-child relationship,
25:08one record in the parent table, let's say invoice,
25:12can be associated with multiple records
25:14in the child table, let's say line items.
25:17But each child record links back to only one parent.
25:21This is implemented using a primary key in the parent table,
25:25like invoice number, and a foreign key in the child table.
25:29This structure allows applications to filter
25:32and display related records efficiently,
25:35such as showing all the items for a specific invoice.
25:39This model is widely used in business systems like ERP
25:42and CRM platforms,
25:44where hierarchical data relationships are very common.
25:48In contrast, many-to-many relationships allow records
25:51in both tables to be associated
25:53with multiple records in the other.
25:55For example, a contact can attend multiple events,
26:00and each event can have multiple contacts.
26:03Dataverse handles this using an intermediary or junction table,
26:09also known as a bridge table, that manages these associations.
26:13This relational flexibility enables complex scenarios
26:17such as tracking customer participation
26:20across marketing campaigns or managing student enrollments
26:24across multiple courses.
26:25The benefit of using Dataverse for relational data is
26:29that it ensures data integrity, supports efficient querying,
26:34and enables modular app development.
26:37Developers and app makers can build scalable solutions
26:42that reflect real-world relationships,
26:44while data integrators can unify data from multiple systems
26:48into a consistent relational structure.
26:51Here are three powerful approaches for managing logic
26:54within Microsoft Dataverse, Business Rules,
26:58Power Fx, and Power Automate.
27:00Each method serves a distinct purpose
27:03and offers varying levels of complexity
27:06and flexibility depending on the business scenario.
27:09Business rules are a no-code solution that allows users
27:13to define logic directly on Dataverse tables.
27:18These rules can set column values and force validations
27:22and display AirMessages, ensuring consistent behavior
27:26across both Canvas and model-driven apps.
27:30For example, a business rule might automatically set
27:35on an order's status to "completed"
27:38when all the items are marked as shipped.
27:41This helps maintain data integrity and reduces the need
27:45for manual updates, especially in environments
27:48where multiple users will interact with that same data.
27:52Power Effects, on the other hand, is a low-code language
27:56that enables dynamic real-time logic within apps.
28:00It supports live recalculations and delegation
28:04of server-side operations, making it ideal
28:07for scenarios involving large datasets
28:10or offline functionality.
28:13For instance, a retail app might use Power Fx
28:17to calculate discounts based on customer loyalty tiers,
28:21updating totals instantly as users interact with the app.
28:26Power Automate complements these tools by enabling automation
28:30across Dataverse and external systems.
28:33It supports cloud, instant, and scheduled flows, allowing users
28:39to automate repetitive tasks like sending notifications,
28:43syncing data, or triggering approvals.
28:46A common use case would be automatically emailing a
28:50customer when their support ticket is updated.
28:53Together, these methods provide a comprehensive toolkit
28:56for implementing business logic in Dataverse, balancing ease
29:00of use with powerful functionality.
29:04Microsoft Copilot simplifies data modeling in Dataverse
29:08by allowing users to describe their needs in natural language.
29:12Copilot can create and delete tables and columns,
29:15add existing tables, and build relationships,
29:19all based on user input.
29:21For example, a user might say, "I want to track bookings
29:25for a pet walking service."
29:27And Copilot will generate a booking table with fields
29:30like the pet's name, booking date, status, and notes,
29:36along with related tables for the owner and pet.
29:39This functionality is especially beneficial for users
29:43with limited technical expertise, enabling them
29:46to build structured data models without writing code
29:49or navigating complex interfaces.
29:52On the right, we see how Copilot interprets user input
29:56and generates a relational data model.
29:59This includes drop-down fields for status options
30:03and link tables for owners and pets.
30:06Use cases include small businesses setting up customer
30:09and service tracking systems,
30:12or developers rapidly prototyping applications.
30:16The benefits are clear.
30:17Faster development, reduced manual errors,
30:20and broader accessibility to data modeling tools.
30:25By bridging the gap between natural language
30:28and structured data, Copilot empowers more users
30:31to participate in solution development,
30:34accelerating innovation and reducing dependency
30:37on technical resources.
30:42There are three primary methods for importing data
30:45into Microsoft Dataverse, each tailored to different levels
30:49of complexity and user needs.
30:52The data import wizard is the most flexible option,
30:56supporting multiple file types,
30:58including CSV, TXT, XML, and Excel.
31:02It allows users to map columns, handle choice values,
31:07and even import multiple tables from a ZIP file.
31:11This makes it ideal for scenarios where data comes
31:14from diverse sources or when importing
31:17into multiple tables is required.
31:20For example, a business migrating
31:22from a legacy CRM system could use the data import wizard
31:26to import customer contact and order data into one operation.
31:32However, it lacks advanced transformation capabilities.
31:36It may not be suitable for large-scale
31:39or performance-sensitive imports.
31:41The import from Excel
31:43in a model-driven app method is similar to the wizard,
31:48but is designed for use within model-driven apps.
31:52It requires a data import template
31:55and supports importing a single file into a single table.
31:59This method is best suited for users who are already working
32:03within a model-driven app and need a quick way
32:06to populate a table using predefined templates.
32:10For instance, a sales manager could use this method
32:13to import a list of leads
32:15into the lead table using a template provided by the system.
32:20Lastly, the import data from Excel
32:22in Power Apps maker Portal offers some basic options here,
32:28supporting only simple column mapping, and it's really kind
32:32of lacking a little bit of the support choice values
32:34and relationships that you might need.
32:37But it is ideal for very quick imports
32:40of a flat data structure, such as importing a list
32:44of maybe product SKUs into the custom table.
32:47Each method offers a balance between simplicity
32:50and functionality, allowing users
32:52to choose the best approach based on their data structure
32:56and integration needs.
32:59There are a number of methods available in Microsoft Dataverse
33:03for exporting data from model-driven apps, each tailored
33:07to different business needs and technical scenarios.
33:11The first method is export from Excel.
33:14This allows users to export up to 100,000 rows using Static,
33:20Dynamic, or Dynamic Pivot Table options.
33:23This is ideal for users who need to analyze
33:26or manipulate data in Excel.
33:28This is especially needed when live updates
33:31or pivot-based reporting is required.
33:35For example, a sales manager can export dynamic data
33:39to track real-time performance across regions.
33:42The second method, Word and Excel templates, enables users
33:46to generate structured, presentation-ready documents.
33:50Excel templates can be customized
33:52to include specific columns,
33:55while Word templates can pull data
33:57from a single or multiple rows.
34:00This is perfect for generating invoices, contracts,
34:04or detailed reports directly from Dataverse.
34:08The third method, Power Apps maker portal,
34:10provides a simple way to export all rows and columns
34:15from selected tables into CSV files.
34:18They are packaged in a ZIP file.
34:21This is particularly useful for bulk data extraction
34:24or integration with external systems
34:27that rely on CSV formats.
34:30Lastly, Power Automate and Azure Synapse Link offer advanced
34:36export capabilities.
34:38Power Automate supports automated event-driven data
34:41exports using cloud flows,
34:44while Azure Synapse Link enables continuous data replication
34:49to Azure for large-scale analytics.
34:53These tools are essential
34:54for enterprises needing real-time data synchronization
34:58between operational systems and analytical platforms.
35:02Together, these export options provide flexibility,
35:05scalability, and efficiency, empowering users to manage
35:10and utilize their data across various Microsoft services
35:14and external environments.
35:17Now let's see how to create a solution and data model.
35:24So let's get started.
35:25We're in Lab 1, which is the one right here, and I'd want to zoom
35:30in to the URL because you can get the lab instructions
35:33if you'd like directly from GitHub for our PL-900 here.
35:38What we'll also notice is that we can set
35:40up the lab environment.
35:42So if you click on this, you'll get into the window right here.
35:47And this is where it will have you create a lab environment
35:50using powerapps.microsoft.com.
35:54As you can see, they're signing in, and then you also need
35:58to set up the environment.
35:59And you have step-by-step instructions here for how
36:01to set that environment up.
36:03I'm using the Edge browser here, and there may be a few images
36:07that we might want to download for a bit later in our labs.
36:11So all of this is available in GitHub.
36:13And in particular, I'm going to go
36:15and do lab number one right here, "Create Solution,"
36:19which is where we're going to go in
36:20and create a solution from scratch.
36:22So that's where we're going to start.
36:24It's off at lab number one.
36:26And I'm trying to give you a little idea
36:27of what this lab is all about right here.
36:30And I have a question to ask you.
36:32What if you could build a single powerful solution here
36:35to manage every event your organization hosts
36:38without writing a single line of code?
36:42We're going to do just that in our first demo
36:45as we do a deep dive here into our Power Platform
36:49to start it off by creating a solution that will be used
36:52to bring all of our components needed for this lab,
36:55which is based on the Contoso Consulting System.
37:00And we're going to create an event management system
37:02for them.
37:04And this is so we can use it in our trade shows, quick webinars.
37:08Our calendar is packed, and we want to have everything ready
37:12and streamlined, and organized all over information.
37:15So we're going to do this via Solution, and we're going
37:19to create a solution that will support the application
37:22lifecycle management, or ALM.
37:24We're also going to add in some key tables
37:27like Account and Contact.
37:29And I think we're ready, maybe to get started here
37:31to implement Contoso's vision.
37:34So you can click on Lab 1 here,
37:37and you can see a few more details.
37:39It's really the steps that we're going to be walking
37:41through to create our vision here.
37:44And as I mentioned, we're going to be using Power Platform,
37:46and it's going to be a solution that's going
37:48to hold all the different components for all
37:50of our labs together going forward.
37:53So this is a critical lab to start off with, and we're going
37:55to create a solution first off.
37:58So, how we're going to do that is we're going to go
38:00out to the Power Apps maker portal,
38:05which I already have open right here.
38:08And when you first come into the window,
38:09you'll see a little window right here, which will ask you,
38:14and it will welcome you to Power Platform
38:16and give you some information to read that you might want to go
38:19through before you begin your lab.
38:22So we have that first.
38:24I'm going to go ahead and close out of that.
38:26And then I'm going to zoom in a little so you can see the URL,
38:30which is part of the steps for the first lab there.
38:33And now I do a preview version here in Power Apps
38:36that we're going to be using.
38:38So it's a little bit different than maybe what you have.
38:40I have access to the preview.
38:42But it's make.powerapps.com.
38:45That's a good place to start to get into Power Apps.
38:48And then I'm going to note it drops this off really
38:51in our Copilot.
38:53So we're going to use a lot
38:54of Copilot throughout our labs, as you'll see.
38:56And right here, I could have it help me with a lot of things.
39:00Maybe I need it to click to check my staff and to check
39:04out equipment, or employees need to log vacation hours.
39:09It's kind of giving you some help, some things I can do,
39:12but it's essentially AI here to help us with our app here.
39:16And so, something you may want to explore, but we're going
39:19to go right now, we're going to start off by making a solution.
39:23So I'm going to click on "Solutions" here,
39:25and there's already a number of solutions that are out there.
39:28But we're going to go do this from the beginning
39:30and click on "Create Solution."
39:33And I'm going to give it a unique display name.
39:37And so I'm going to call it "Event Management1."
39:44And so that will be the one here for our first lab and the basis
39:49for other labs as we go forward.
39:51Notice that when I'm typing the display name in, it also puts
39:55in the name of the event, and it did it without a space.
39:59And then I'm going to go do-- is I could select a publisher
40:03and have a number of publishers already available.
40:06But what I'm going to do is I'm going to go ahead
40:08and create a new publisher.
40:10And you can follow along again from the lab.
40:11And the display name for this publisher is going
40:13to be EventMSLearn1.
40:17And then the name for this is also going
40:19to have the same name, and you'll notice it's required.
40:23But I'm going to copy-paste it in there,
40:26just to make it a little easier.
40:29Then I'm going to choose a prefix for this.
40:32I'm going to call this MSLearn1,
40:36and that will create a little prefix for us to use.
40:39And it's really kind of our schema to hold our information,
40:43as we'll see a little later.
40:45And we're going to do with that as we're going to use--
40:48there's a default prefix there also.
40:50And then I'm going to go ahead and save this.
40:53So it can take just a moment to save,
40:56but I'll save it right here.
40:59And that will create for us another window here
41:02where we can go in and add a solution.
41:06So it picks up the display name that I used earlier,
41:09that Event Management1.
41:11And then the name here, it's mandatory.
41:13You can see that there's no spaces in it, so it writes it
41:15in for us, and it picks up publisher 2
41:19that I had selected a little earlier.
41:21And then I'm going to go do, is I'm going to click "Create Now"
41:26to make the solution for us.
41:29So it's going to take it a moment,
41:31and then we should hopefully see our solution
41:33created momentarily.
41:35So we'll give it just a moment.
41:39Okay. Here is our solution.
41:42And notice we could add agents, apps, cards, cloud flows, data,
41:47workspaces here, tables even.
41:50And we're going to work on some tables.
41:53So we have a bunch of objects
41:55that we can make here if we'd like.
41:57And we're going to start it off first by working with a table.
42:01So I'm going to go up to the top,
42:02where we see our command bar right up here.
42:05And I'm going to have it add an existing table for us.
42:10And you can see it, add the agent, AI models, apps,
42:13automation, dashboards, reports, security sites, and more.
42:17And if we click one more,
42:19you can see the different things that we can add.
42:21But we're going to add a table right here.
42:23So, I'm going to go ahead and choose the table.
42:25We can add some tables.
42:29And I'm going to add the Account table.
42:32So one of the tables that comes with the solutions,
42:35I'm going to kind of get us started here.
42:37I'm going to go ahead and click "Next."
42:40And then I'm going to do this.
42:41I'm going to tell it to include all the objects for that table.
42:45And then I'm going to go ahead and click "Add."
42:48And now notice when I did that, it actually added the table.
42:52So we have a little bit of information here.
42:55And then I'm going to go do, as I'm going to add another table.
42:59And so I'm going to go up here and add an existing table again.
43:04And the table that I'm going
43:05to add here is the one called Contact.
43:08Now I could circle through this list here.
43:11I might be able to find it.
43:12Here it is, right here.
43:13I could type it in and search for it also at the top.
43:16So I want to add in the Contact table.
43:20I'm going to click on "Next."
43:23And again, I'm going to go ahead and include all the objects,
43:27which will include the metadata.
43:29And I'm going to click on "Okay" to pull this in.
43:32And now we have this table, both tables in our list.
43:35So this sets us up for really the rest of our labs
43:38that we're going to be working here
43:40in the Event Management1 solution.
43:44Welcome to the next step
43:45in our Power Platform journey, lab number two.
43:49In this hands-on lab, we're going to harness the power
43:52of Copilot to streamline the creation
43:55of a data model tailored directly for Contoso Consulting,
44:00dynamic event management, and equipment tracking needs.
44:04By simply describing the types of tables we need,
44:06Copilot is going to help us generate a foundational data
44:09structure, saving time and sparking creativity for us.
44:13We'll also then refine our model by using Designer.
44:17And then we're going to add and edit columns
44:19to ensure it aligns perfectly
44:21with Contoso's real-world scenarios.
44:24So whether it's managing trade shows, webinars,
44:26or employee equipment checkouts, this lab will equip us
44:29with the skills to build intelligent AI-assisted data
44:32models that will help drive business solutions forward.
44:37So we're going to do lab number two,
44:39and it's right here, it's our data model.
44:42And what we're going to note is we're going to go back
44:44into the ability here.
44:46If you want to be able to create that initial lab environment,
44:49it is here at the very top in GitHub.
44:52And we're still using GitHub.
44:54We zoomed in on the URL in our last lab, and I'll zoom
44:57in on it here again so you can see
44:58where we're getting the lab instructions from.
45:01This is lab number two, so I'm going to go back
45:03where we left off after lab 1, which was right here.
45:08And what we're going to do is we're going to go into tables,
45:12but not the tables here in our solution,
45:15but the tables out here.
45:17We're going to start right with this.
45:19So you can follow along with the lab steps
45:21if you like to do that.
45:23But here we are in Power Apps, and we're going
45:26to use tables right here.
45:28And then we're going to notice that we have a little option
45:30that we could click on to do other things if we needed to.
45:34But what I'm going to do is to simply--
45:36I'm going to click on Tables, and then we're going
45:38to get started with Copilot right at the top.
45:40Now notice, there's other options.
45:42You can start with a blank table.
45:44You can create an Excel or a CSV file here.
45:46You can create a SharePoint, a table if you'd like also.
45:49But what we're going to do is we're going
45:50to use this one right here with Copilot, and we're going
45:54to add a prompt in from our lab that we want to use.
45:57And I'm going to pick it up, and I'm going to paste it in.
46:00And here you can see we're going
46:02to have it create a table for managing events.
46:05And the table should identify the name of the event,
46:08the event data, the location, the maximum number
46:11of attendees, and event details.
46:14So we're kind of giving it a table to create
46:16and then the fields that we want right here.
46:19And now, before we generate it, we're going to get
46:21into some table options, and we're going
46:24to make some adjustments.
46:25And we only want it to do one table, and then we're not going
46:28to have it create any relationships just yet.
46:32And we're going to go ahead and generate this.
46:34This may take a little bit to run.
46:37So we're going to let it run in the environment for a moment.
46:40And so we'll let it crank out, do its thing.
46:43And it's setting up some tables for us behind the scenes.
46:45Okay. So, it created a table called Event,
46:48which is what we wanted it to do.
46:50And with Event, it created an event name,
46:53which is the primary key, and it created an event date.
46:57It also has a Maximum Attendees field.
47:00It has the location and event details.
47:04And now, if you look at the lab, it has fields
47:07that it wants us to create.
47:09And if we want to add additional fields,
47:10we can add and remove as needed.
47:12So, if we needed to go in and we can make some adjustments,
47:15we can go right through there at the top right,
47:18make some new options, and we have the option to go in
47:21and work with fields a little bit more hands-on.
47:23We can remove ones if need to manually.
47:26You can also just ask Copilot to work with them, add, and remove.
47:30And it's pretty good right now.
47:32It looks good for us.
47:34Notice it says that it's AI-generated.
47:36So AI Generated is the name of the table--
47:38or actually the description on the table.
47:39But what we want to do is we need
47:41to add a few more things here.
47:43And we want to add a choice column.
47:46So I'm telling it the data type.
47:49So, a choice column named Event Type, which we don't want
47:53to have available here, but we're going
47:54to add it to our table.
47:56So I'm going to come over here, and I'm going
47:58to go ahead and paste in that.
48:01And let's execute it and see what we can get if it adds
48:04in our new field called Event Type to our Event table.
48:09And we want to make that field a choice column so it looks
48:12as though it added it in our event type, but it also added
48:16in an additional field.
48:18And so we could remove it.
48:20Now it looks like there's another field there called
48:23Event Details1.
48:24We could have it remove that, but we'll do that in just a bit.
48:27I want to make certain that we have all the fields added first,
48:31and then we'll do a little bit of housekeeping after that.
48:34And so, I'm going to have it add another choice column here,
48:39and this one is named Registration Required.
48:44And so the choice field means that we're going
48:46to have values added to it that we can choose between.
48:50So it looks as though we got our Registration Required
48:53added there.
48:54And then it made another Event Details here.
48:57So there's like two event details.
48:58Now I could undo it,
49:00but it created a few more, and it's okay.
49:02So what I'm going to do is I'm going to go in, and I'm going
49:05to see, in just a moment, if we could remove some of those.
49:10And so, I'm going to go up to the top, and I'm going
49:12to go ahead and click on the existing table
49:17in our command bar here.
49:19And I'm going to search for a table named Content.
49:24Actually, before I do that,
49:26let me make some modifications to this.
49:29What I'm going to do is I'm going
49:30to go ask it to remove the column.
49:33And I'm going to do that before we move a little further in.
49:36Named Details, from our Events table.
49:42It should be able to figure it out.
49:44Let's see.
49:46And I actually want it to remove the Event Details1.
49:50So, let's see what it does.
49:54So, it left Event, and it created a few more in here.
49:58So, let me have it undo that.
50:12So if it makes-- we're going to see if we can remove it.
50:16I typed it in wrong, but I'll fix this.
50:17So I'm going to rerun this.
50:19But I'm going to tell it Event Details1.
50:31So, remove only the two columns named Event Details1
50:35from the Event table.
50:36Okay. Let's try this again.
50:38If not, we can go in and make some additional changes
50:41from another spot.
50:44So, probably because those Event Details1 fields there--
50:48let's see if we can get it removed.
50:50It looks great.
50:50Okay, excellent.
50:51So sometimes it takes a little bit to kind
50:53of get this exactly the way you want it.
50:55And I'm just going to kind of match that up
50:58with what we have in the lab.
50:59Make certain that we have the right fields.
51:02So, where we have the primary, we have maximum attendees.
51:05We have the Event Details.
51:08One kind of shows up something.
51:09But what we're going to do is we just want
51:11to make sure it matches with what's in the lab.
51:14Notice the Event Type registration is required,
51:17and we're looking really good.
51:19So, this was one way we can do it.
51:23And what we're going to do is we'll go ahead
51:24and add an existing table.
51:27So there's a whole list of objects
51:29that are in our solutions.
51:35And so we're going to do this and pull in contacts.
51:40And I'm going to add-- I'm going
51:41to go ahead and click right here.
51:43I'm going to add this in.
51:45I'm going to choose it.
51:46And I'll add it in as one of our tables.
51:48So now we have contact from Dataverse.
51:51And it's a little bit of a difference here.
51:52You can see the icon.
51:53It comes from Dataverse.
51:54This is when we created custom here, but it was AI-generated.
51:58So it gives us a lot of information
52:00about it, which is helpful.
52:02And now what I'm going to do is I'm going
52:03to have it add a new table called Event Session.
52:09So I'm going to go to Copilot here, I'm going to ask it
52:12to do that, and add a new table called Event Session,
52:18and it may create two tables because it's going to look
52:21at the data that's currently there, and it's going to have
52:24to figure out what it might need.
52:26So there's the Event Session table,
52:29and it may also create an Event Speaker.
52:32What we only want right now is the Event Session table.
52:35So this looks good.
52:36But the Event Session table, let's see, I'm going to go ahead
52:39and add a little bit to it here.
52:42So, I'm going to have it add a new text column.
52:46So, that's the data type.
52:49And so I'm going to add a new text column.
52:50So that's the data type.
52:50And so I'm going to add a new text column
52:50to the Event Session table.
52:52And I'm going to have it called Session Description.
52:55And so we'll add that in, and we may need a few more tables.
53:01There we go.
53:01Now we have our Session Description.
53:05So we have that, and we're missing a few fields
53:07from the lab.
53:09I'm going to have to pull in the session date.
53:12So I'm going to have it added.
53:14I'm going to add a column here called-- a date column called,
53:21it's going to say Session Date.
53:23So I'm going to add a date column called Session Date.
53:27So we'll paste that in.
53:29And I'm going to run it here together.
53:31Let's see.
53:33So I'm going to have to add
53:37in the date column here called Session Date.
53:44Now I'm looking at the lab,
53:45and the lab has a field called Session Date that it wants us
53:49to have in the Session Events table.
53:52So I'm going to add that.
53:53I'm also going to add in duration.
53:55I'm going to copy this.
53:57It's a similar statement here.
53:59I'm going to paste it here.
54:01I'm going to have it add-- let's see.
54:06Duration looks like a time column.
54:09So I'm going to have it add in a time column called Duration.
54:15So we'll add that in.
54:18So it's just making it match.
54:24And now what we're going to do is we're going
54:26to add another table called Session Registrations.
54:31So I'm going to copy this and let it--
54:34I'm going to paste this in.
54:35I'm going to copy this prompt directly
54:36from our lab step number 14, in particular.
54:41And let's see what it does for us here
54:43with our Session Registrations.
54:46Okay. So that looks like we have another table there,
54:49Session Registrations.
54:51That looks good.
54:53So I need an email field, a session date,
54:57and I need our special instructions field.
55:01So, special instructions, I'm going to add that one.
55:04Let me pick up this right here.
55:07Actually, no, hang on, I have something down here.
55:10And I'm going to-- let's see.
55:11I'm going to look through this
55:12to find a prompt that I can add in.
55:13I'm going to add.
55:15Okay, so we need a text column named Sessions
55:19Registration Table.
55:21So we'll add that in.
55:22I'm going to add in the special instructions field also.
55:26Let me see if I can move this a bit so we can see it.
55:29And there's the Special Instructions,
55:32but we're actually missing another field that we need.
55:35It's the Session Date.
55:36We need a special-- we have Special Instructions,
55:39we also have an email.
55:41And so I'm going to add in email field here.
55:49Really, what we're trying to do is get it
55:50to match what the lab says, the fields that we want
55:53to have returned, so it should look like this a little bit.
55:57And so I'm going to add the email column
55:58to the Session Registration table.
56:01And then we're going to have it called Email,
56:07and we'll click to run that.
56:11Okay. So it looks like it added it in.
56:13Let me move some of these
56:14over so we can see them a little better.
56:19Okay. So Email.
56:20This is supposed to be the primary key.
56:23So what I'm going to have it do is I'm going to have it remove.
56:27I have a prompt here I want to use.
56:32Let me copy it.
56:33Let me pull this in here.
56:35So let's see what happens with this.
56:37So remove the primary column.
56:41And let's see what it's going to do here.
56:44Give it a moment.
56:50Okay. So it thinks there's no primary,
56:52but let's see what happens.
56:54I'm going to have it place the primary actually
56:58on another field.
57:02So, make the Email column
57:06in the Session Registration table the primary.
57:12And let's see what it does.
57:13So if you can get that switched out from the registrant name
57:17to the Email as the primary.
57:24Okay. So it's-- okay, not a Type Text column.
57:29Okay. So it's telling us why it cannot do it.
57:37So what we'll do--
57:43Let's see, I can go into this.
57:51It's under the view options to view data.
57:55It's another way to work with it.
57:57So here you can see the Email field.
58:00You can see the registration there.
58:03You can get these.
58:05And let's see the Registration column here.
58:07It will not make it.
58:13Let's see.
58:17So it doesn't look like I can see the primary part
58:19of this here, but I can find
58:23out a little bit more about the data types.
58:27The format I can have to work with here is I could also go
58:32over here in the Email field.
58:34And let me see if I can edit it.
58:38So you have some options here.
58:40So I don't want to make it required,
58:43but I think it actually would be good if it was.
58:49Let me update that.
58:51And then here, let's go into its properties.
58:56And I can get a little bit more information here.
58:58As you can see, I'm going to go change it out as the primary.
59:05So you need to do a little bit of work
59:07to make some of this happen here.
59:09And there we go.
59:10It looks pretty good.
59:11It's now the primary.
59:14Okay. Then I'm going to save it.
59:17So if we need it, I got it right here.
59:18The view options.
59:19I can get in and make changes.
59:22As needed, I'm going to save and exit there.
59:29And so we have a number of fields there.
59:33And again, I'm just looking at my lab, and I'm making certain
59:36that I have all the fields necessary
59:38to create those relationships.
59:41And let's move into making relationships.
59:44So now we can see what we want to do.
59:47We can see our four tables have been created.
59:49And now we want to get a little bit more to the point here.
59:53We're going to set up some relationships.
59:56So I'm going to go up to the top, and I'm going to click
59:58on "Create Relationships."
1:00:00And I can configure all kinds of relationships, as you can see
1:00:04from this drop-down here.
1:00:06What I'm going to do first
1:00:08in our example is my one relationship is going
1:00:16to be Contact, and the many side is going
1:00:20to be the Event Session.
1:00:21And I'm going to change the name right here for the display.
1:00:26So Contact is the one side, Event Session is the many side.
1:00:30And we're going to put in a display name here.
1:00:34I could also click on Advanced Options
1:00:36and get some more options in there.
1:00:38But we're going to use this to make our relationship here.
1:00:42And then the schema is going to be speaker there.
1:00:45And you can see I'm going to go ahead and click "Done."
1:00:47There's our first relationship.
1:00:49And you can see it graphically here; it's been set
1:00:52up between Contact and Event Session.
1:00:57I'm going to set up another relationship going
1:00:59up to the top again, and it's going to be one-to-many,
1:01:04and I'm going to do it between Contact and this time
1:01:08with Session Registration.
1:01:12And I'm going to choose the option down here
1:01:14to change the display name to Participant.
1:01:22And again, I can go into my advanced options
1:01:25and see the scheme name that it's picked up
1:01:27and make changes as needed.
1:01:29So now I have that.
1:01:30So between Contact and recipient--
1:01:33and Session Registration,
1:01:36there's a relationship of one-to-many.
1:01:38So now Contact has that relationship,
1:01:40you can see it there with Event Sessions
1:01:42and Session Registration.
1:01:45But we're not done making relationships.
1:01:46We're going to make a few more, so I'm going to go back
1:01:49into Create Relationships, and I'm going
1:01:51to choose the one-to-many relationship again.
1:01:54This time I'm going to choose the Event side for the one side,
1:01:59and for the many side, we're going to choose Event Session.
1:02:04And again, I'm going to go into our display and call it Event,
1:02:10and then check out the schema there also.
1:02:13And then I'm going to click on-- it looks good here.
1:02:16I'm going to click on "Done" here.
1:02:18So one-to-many to an Event and Event Session.
1:02:24And you can see the relationships right there
1:02:26and move these around a little bit.
1:02:29You can see the relationships that are there.
1:02:33You can see the lines.
1:02:35The one side, the many side.
1:02:37And then we're going to make one more relationship here.
1:02:39And this time, we're going to create a relationship,
1:02:43a one-to-many relationship between Event Session
1:02:47on the one side and Session Registration on the many side.
1:02:56And then our display name, we're going to go
1:02:57with what we have there.
1:02:59And then our advanced options.
1:03:01You can see the name of the schema,
1:03:03the name of the relationship.
1:03:04We're just going to click "Done" to that there, too.
1:03:08Okay. Now we're seeing a bunch of relationships here.
1:03:11An easy way to make them as you move these around,
1:03:14so we can see how the relationships are set up here.
1:03:19It's kind of organized a little bit differently here
1:03:22from the lab, the way it's laid out.
1:03:24But we have the relationships in place that we need.
1:03:28But you can see the relationships right there.
1:03:31It looks pretty good.
1:03:32I'm going to go ahead and save this and exit out.
1:03:39And so I'm going to save and exit.
1:03:41And we have our four tables created,
1:03:45and our four tables have relationships with one another.
1:03:48So we've added in Event Session, Registration,
1:03:52Event Session, and Contact.
1:03:54We pulled in from our Dataverse a list of tables.
1:03:57Okay. So it looks pretty good now.
1:03:59And now what we're going to do is we're going to go
1:04:01in to make changes to some of our tables here.
1:04:04So what I'm going to do is I'm going to go and-- let's see.
1:04:08I'm going to find the Event in the list here.
1:04:12I'm going to click on the Event here,
1:04:14and I'm going to open it up.
1:04:17I'm going to take some-- look at some of the columns.
1:04:21So in Event under Schema, I'm going to go into columns here
1:04:26and get a little closer look at it.
1:04:29And we have the fields that you can see here in the Event Type.
1:04:32And I'm going to take a closer look.
1:04:34And now what we did is we're going to set up for choice.
1:04:38So we want to kind of set up some choices that we can choose
1:04:41from with the Event Type.
1:04:48And as I scroll down, you can see that I can put
1:04:51in right here different choices, we go right there.
1:04:55So if I wanted to edit this, all I would need to do is click
1:04:58and then start typing inside the box.
1:05:01And that would let me add changes to this
1:05:04if I wanted to do that.
1:05:06But what we want to show, Conference, Trade Show, Webinar,
1:05:09Lunch and Learn, and Launch.
1:05:13So when people are actually using the field,
1:05:17this is the list they can choose from for that field.
1:05:20So, it's easy enough to do right here.
1:05:23And so we have the list to pick from there, and the event types
1:05:28that we use the most here for conferences.
1:05:31And when people would want to change it, again,
1:05:33they'll be able to go in and do that right here.
1:05:35Okay. So we can see that there.
1:05:37And I'm going to save this.
1:05:40And now I'm going to go look for our next table that we're going
1:05:44to take a look at, and then what I'm going to do is I'm going
1:05:48to go add a new column to our Events Sessions table.
1:05:53So I'm going to come back here, I'm going to look
1:05:55for the Event Sessions in our list.
1:05:57I'm going to pick Event Sessions right here.
1:06:02And note that I could come in, and I can make changes
1:06:05to this if I wanted to.
1:06:07So I have it here under Schema.
1:06:10I can go back and look for columns.
1:06:13And what I can do is I can add new columns right
1:06:16from this button right here.
1:06:19So I want to add a field, a number of fields,
1:06:22and you can see all the fields are here now.
1:06:25And I'm going to come up to the top, and I'm going
1:06:27to click on "New column."
1:06:30And I want to add a field called Total Registrations,
1:06:34which I think is already right here.
1:06:36But what we're going to do is I'll go in,
1:06:39and I'll create a new column, and I can type
1:06:42in the name of it here.
1:06:45So it's Total Registrations.
1:06:48And I think I already have had this one added earlier.
1:06:51So I'm going to call this Total Registrations1.
1:06:55And then the data type on it, it's going to be a whole number.
1:07:01And then the behavior on it, I'm going to make it a rollup field.
1:07:09It's a simple calculated rollup there.
1:07:11And I'm going to choose rollup here, and then I'm just going
1:07:14to verify it's selected and everything, and then I'm going
1:07:17to go ahead and save it.
1:07:22And then when I save it, there's going to be a little pop-up,
1:07:26and that will take a moment to open up,
1:07:28and it'll look a little bit like this.
1:07:29And if you don't-- if it doesn't open up,
1:07:31you have to unblock your pop-ups.
1:07:35And then what I'm going to do is under Related Entity,
1:07:39I'm going to click on "Add" right here, and I'm going
1:07:43to choose my-- let's see, I'm going to add this.
1:07:46I'm going to choose this from the list,
1:07:49my Session Registrations.
1:07:53And there-- that's, there it is.
1:07:55I'll choose that.
1:07:56And then I want to save it.
1:07:59And that saved the changes right there.
1:08:01And then I'm going to go do--
1:08:03I'm going to add in the aggregation.
1:08:05I'm going to click the plus over here.
1:08:07And the aggregation I want to use is "count."
1:08:13And so I'm going to adjust this.
1:08:15I'm going to count.
1:08:15And then I'm going to have it do session registrations for us.
1:08:20So that's pretty good.
1:08:21I'm going to click this checkmark right there
1:08:24to save it.
1:08:27And then I'm going to go in.
1:08:28I'm going to save this.
1:08:31I'm going to close it.
1:08:32So you can choose if you're-- when you're done with this,
1:08:35you can save it and close out of it.
1:08:37Okay. So that's going to take a moment to process.
1:08:41And then we'll go in and do some more things here.
1:08:43And then what I'm going to do is I'm going to make another table.
1:08:48And I'm going to go to tables here.
1:08:51And I'm going to use Copilot again.
1:08:54And I'm going to have it--
1:08:55what I'm going to have it do is go ahead
1:08:57and create a table right here.
1:08:59So this last little bit here-- let me copy this prompt.
1:09:03And it's going to have us create a table
1:09:05for checking out equipment.
1:09:07And the table should include the equipment name, the due date,
1:09:11its item number, and it's going to make sure
1:09:14that it only generates one table.
1:09:16And again, I can tell it the table relationships
1:09:19if I want to include here.
1:09:21I'm going to have it just do one table right here,
1:09:25and then I'm going to hit our "Generate" button
1:09:27and give it a moment to create that special table for us.
1:09:32Let's see.
1:09:34It's a table for checking out equipment.
1:09:37So let's see what happens here.
1:09:40And there it is.
1:09:40The equipment checkout looks pretty good.
1:09:43And what I want to do is I can rename the table if I want.
1:09:47Let me try that process.
1:09:49We'll rename it to call it Equipment.
1:09:54So we'll put that in there and give it a moment to process.
1:09:58And then we may add a few more fields to this,
1:10:02like we'd seen a little bit earlier.
1:10:04If we wanted to be able to do that, we can add fields.
1:10:07So let's see that.
1:10:09So it says it has been renamed, and it doesn't look like it.
1:10:13So I'm going to undo it.
1:10:15And then I'm going to say, "Rename the table to Equipment."
1:10:20And I'll see if it can get that to work for us.
1:10:25And then we'll add in a couple of fields.
1:10:27We're going to add in a choice column named Equipment Type.
1:10:31Okay. So we'll come back to that.
1:10:33And let me pick that up in a little bit.
1:10:36We could rename it another way, as you know.
1:10:38But we'll add in a choice column named Equipment Type
1:10:41to this table.
1:10:44So we'll give it a moment.
1:10:46And then we're going to add in a couple more fields here.
1:10:50So Equipment Type, and we can see it right there.
1:10:53It looks good.
1:10:55And then what we could add in is another field here,
1:10:59and we're going to make it a text column.
1:11:01So we're going to call it Category.
1:11:04So let me add that in too.
1:11:08And let's see if I can get it to just add that again here.
1:11:12Let's see if that happens.
1:11:14I'm going to make another field.
1:11:16So sometimes it may give you a little bit of an issue.
1:11:19Your lab does say what to do in the event that that occurs,
1:11:22and you can see it up at the top of the lab.
1:11:25Let me scroll up there because it's not letting some
1:11:28of this happen.
1:11:29And this could happen too when you're doing the lab.
1:11:31But if you scroll up to the top, it tells us what it means
1:11:35if you get the Needs Attention option, and we just have to go
1:11:39into view data and maybe do some changes in there.
1:11:42So that might be helpful also.
1:11:43But it's listed in your lab.
1:11:46But I'm going to give it another shot here.
1:11:49I'm going to skip that field for right now.
1:11:51And I'm going to see if I can get it
1:11:53to add a field called Status.
1:11:56So I'm just going to continue to see
1:11:59if we can get some of this added.
1:12:03And we'll go back to that,
1:12:04making that category field in a moment here too.
1:12:07So let's see what we can do.
1:12:09Yeah, it looks like status.
1:12:11Looks good.
1:12:12Let me have it do a category.
1:12:14We'll give that a shot.
1:12:16And so it's added status.
1:12:19And we had it as a text column.
1:12:21Here's another text column called Category.
1:12:24And then we're going to match these up with the lab.
1:12:26So okay. But I have to go in.
1:12:32I'm going to try to add the category again.
1:12:34I want it to add a category, item number, due date.
1:12:38It has Checked Out By.
1:12:40It also has the Returned.
1:12:43That's a good option.
1:12:45So what it wants me to do here is I'm going
1:12:48to remove any columns that should not be added.
1:12:52So we definitely want equipment name.
1:12:53We want item number.
1:12:54We want due date.
1:12:56We want status and equipment type.
1:12:59But we don't want Checked Out By or Is Returned.
1:13:03So let me remove those.
1:13:05And then I'm going to try adding category again in a moment.
1:13:09And this part, we'll put this in-- the part is from the lab,
1:13:12the prompt put in here is from the later lab.
1:13:15So I'm going to have it remove the field called Checked Out By.
1:13:22Let's have it remove that.
1:13:25So we'll give it another moment here to run that for us.
1:13:33Okay. So that's gone.
1:13:35I also want it to remove one field,
1:13:37and it's our field called Returned, although I do think
1:13:41that it's an awesome field.
1:13:43It's just not what we want right now for this table.
1:13:46So let me see if I can remove
1:13:47that Returned field or remove that one.
1:13:55And I'll try to add Category back in.
1:13:58Everything looks pretty good, matches up with a lab.
1:14:01And what I'm thinking is we want to-- so that's removed.
1:14:05Okay. So we've got that one removed.
1:14:06Now, I'm going to ask it to please add
1:14:08in the text column named Category.
1:14:11So I'm going to type it in this same time.
1:14:18And let's see if I can have it add that column
1:14:21in for us, and it should.
1:14:26So let's see what happens.
1:14:27And I wonder if there's another reason that it's having
1:14:30such an issue with that.
1:14:38So I may have to go in and actually add it in.
1:14:41I'll try it one more time.
1:14:44Okay. So I'm going to do this.
1:14:46I'm going to go right here.
1:14:47I'm going to go into View Data.
1:14:51And right here, I'm going to add in a new column.
1:14:54Another way to do it.
1:14:55So you can manually add these if you'd like.
1:14:58You must first figure out what's missing, and you can add it in.
1:15:01Let me go ahead and add it in right now.
1:15:04It's going to be-- let's see.
1:15:06We want the field; we want it to be a single line of text.
1:15:10And so just a text field and not required.
1:15:14And then there's-- let's see.
1:15:16Okay. So I'm going to go ahead and save that.
1:15:18And there you go, there's our category field.
1:15:21Okay. So we have that.
1:15:24And then we're going to-- what we're going to do is I'm going
1:15:26to go in, and I'm going to go ahead and see
1:15:31if I can rename this field.
1:15:34I think it's supposed to be called Equipment.
1:15:38And I'm going to go try to do that,
1:15:41just call it Equipment there.
1:15:46Equipment1.
1:15:49And then I'm going to go ahead
1:15:51and make a few more changes here and save it.
1:15:56Okay. So that looks good.
1:15:58Now, what we want to do is they want us to go in
1:16:01and replace some of the labels that are here on the field.
1:16:08So let's see if we can edit this field right here.
1:16:13And we may or may not be able to do this.
1:16:15So no, we don't have the options to do that right here.
1:16:19So we're going to go into properties on that table and,
1:16:21yeah, it's just for that table.
1:16:24So what we're going to do is we're going
1:16:26to go ahead and save this.
1:16:33And then what we're going to do is we're going to go back
1:16:36and see a few more options that we might have right here.
1:16:40So I'm going to go find that Equipment table.
1:16:43I can search for it right here.
1:16:47And now there's a couple of spots, as you may notice,
1:16:50that we can search from.
1:16:53Up here, it's everything,
1:16:54and right here it should be for our tables.
1:16:58Let me hit "Enter."
1:16:59And let's see if we can find it.
1:17:02Actually, it was Equipment.
1:17:05So let's see what it does for us.
1:17:08It looks like it's searching.
1:17:09It might go find it.
1:17:11It may take it a little bit to happen here.
1:17:16There it goes.
1:17:16Let me see if I can find it.
1:17:18There it is, easy enough.
1:17:19I'm going to click on it.
1:17:20There it is.
1:17:21There's the one we made.
1:17:23So I'm going to go into it.
1:17:24I'm going to go into Schema columns here.
1:17:28And from here, what we can do is we're going to go find
1:17:32that Equipment Type field there, and then we're going to go
1:17:36into it, and we're going to see if we can put some labels in.
1:17:43And so you can see we have electronics, furniture.
1:17:47We want accessories.
1:17:49But we also want to leave tools.
1:17:52So remember how we do this, we can go in and we can click
1:17:55and just start typing.
1:17:56I'm going to call this Tools.
1:17:59And then the rest of these, I'm just going to delete.
1:18:02And you can see how I'm doing it right there,
1:18:05deleting those extra label fields that we don't need
1:18:08for our choice field here.
1:18:10Now we're going to add in-- let's see.
1:18:12We can also add in new choices if we need to,
1:18:14so a new line if we need that.
1:18:15But at this point, it looks like we're good to go here.
1:18:19I'm going to save this.
1:18:24Just a moment to save it.
1:18:26And thank you for your patience through this.
1:18:30You have your work here.
1:18:32Easy to do.
1:18:33You can do edits.
1:18:34I hope you enjoyed this section also.
1:18:36And I hope to see you in our next section.
1:18:40And we'll continue on with Lab 3 coming up.
1:18:43Thank you so much.
1:18:46In this section, we will describe Microsoft Power
1:18:49Platform administration and governance.
1:18:55Let's now explore security in Power Platform and talk
1:18:58about the application lifecycle management, or ALM.
1:19:03The Customer Relationship Management Security Model serves
1:19:06a multifaceted role that extends far beyond simply granting
1:19:12access to records.
1:19:14At its core, it defines what actions users can perform
1:19:18on records, such as read, write, delete, or share.
1:19:23And this is based on their identity
1:19:25and the ownership of the record.
1:19:27This ensures that sensitive data is only accessible
1:19:31to authorized individuals supporting compliance
1:19:34and data integrity.
1:19:36For example, a sales representative may have access
1:19:40to their own leads, while a manager can view
1:19:44and edit records across their team.
1:19:46This granular control is essential,
1:19:49and regulated industries like health care or finance,
1:19:53where data access must be tightly governed.
1:19:56Beyond record-level access,
1:19:59the security model also governs the user interface
1:20:02and application features.
1:20:04It allows administrators to assign access
1:20:07to specific user interface elements, such as forms,
1:20:11dashboards, and business process workflows,
1:20:14based on the security role that we'd like to grant.
1:20:18This means only users with the appropriate role can interact
1:20:23with certain parts of the application, reducing clutter
1:20:26and enhancing usability.
1:20:28Additionally, it controls access to features like exporting data
1:20:33to Excel, printing, or using the mobile app.
1:20:37This not only protects data from unauthorized distribution
1:20:41but also streamlines the user experience by hiding entities
1:20:45and features that users lack privileges for.
1:20:49For instance, a field technician using a mobile app may only see
1:20:54the work orders related to their role,
1:20:57while administrative features remain hidden.
1:21:00This approach enhances security, improves performance,
1:21:04and ensures users remain focused on their tasks.
1:21:09Security roles explained give us a concise overview
1:21:13of how security roles function within systems
1:21:16like Microsoft Dynamics 365 or Power Platform environments.
1:21:21Security roles define the permissions a user
1:21:24or a team has.
1:21:25These permissions are structured through privileges.
1:21:29Specific actions like read, write, delete, and access levels
1:21:34like the scope of access that a user, a business unit,
1:21:38or an organization may be granted.
1:21:40This model ensures granular control
1:21:43over data and functionality.
1:21:45Additionally, it mandates that every user must be assigned
1:21:49to at least one security role, which is essential
1:21:52for system access and enforcing role-based access control,
1:21:57or RBAC.
1:21:58This ensures that users only interact with data
1:22:02and features relevant to their responsibilities,
1:22:05enhancing both security and compliance.
1:22:07There are three flexible options for assigning security roles.
1:22:12First, administrators can modify default rules before assigning
1:22:17them, tailoring them
1:22:18to the organizational needs while preserving
1:22:21core structures.
1:22:22Second, they can create copies of a default rule and use
1:22:27that as a template, which is useful for standardizing roles
1:22:31across departments or teams.
1:22:33Third, they can create entirely new security roles,
1:22:37typically for users with minimal privileges
1:22:40or highly specialized access needs.
1:22:42These options support scalable
1:22:44and maintainable security configurations.
1:22:47Use cases include onboarding new employees with predefined roles,
1:22:52segmenting access for contractors,
1:22:55and enforcing least privilege principles.
1:22:58These benefits include improved security posture,
1:23:02simplified role management, and alignment
1:23:05with governance policies.
1:23:09Data loss prevention or DLP policies
1:23:13in Microsoft Power Platform serve as a critical safeguard
1:23:18that controls how data flows between connectors,
1:23:21ensuring that sensitive information is not accidentally
1:23:25or maliciously exposed.
1:23:27These policies distinguish between business connectors,
1:23:30such as Microsoft Dataverse, SharePoint, and SQL Server,
1:23:34which are trusted and approved for handling sensitive data.
1:23:38And business data and non-business data connectors.
1:23:42And things like getting connected
1:23:44to using a non-business connector like X,
1:23:47formerly Twitter, or Gmail,
1:23:49which is typically a third-party service,
1:23:51which wouldn't be suitable for sensitive data.
1:23:54By enforcing DLP policies,
1:23:57organizations can prevent scenarios
1:23:59where confidential customer data might be inadvertently shared
1:24:04through unsecured channels.
1:24:06For example, a DLP policy can block a Power Automate flow
1:24:11from sending Dataverse data to a Gmail account,
1:24:14thereby maintaining compliance
1:24:16with internal data governance standards.
1:24:19Administrators can apply DLP policies at two levels to align
1:24:24with organizational needs.
1:24:26Environmental level policies allow for tailored controls
1:24:30in specific environments, such as development,
1:24:33testing, or production.
1:24:35This is particularly useful in scenarios
1:24:38where developers need flexibility
1:24:40in sandbox environments,
1:24:42but stricter controls are required in production.
1:24:45Tenant-level policies, on the other hand,
1:24:48provide consistent protection across the entire organization,
1:24:53ensuring that all environments adhere
1:24:55to a baseline of data security.
1:24:58This layered approach enables organizations
1:25:00to balance agility.
1:25:03And the benefits included here help us to reduce the risk
1:25:07of data breaches, improve compliance
1:25:10with regulatory requirements, and enhance trust
1:25:13in the platform's ability to protect sensitive information.
1:25:17Microsoft's commitment to data security, privacy,
1:25:21and compliance is foundational in its cloud services,
1:25:25including Power Platform.
1:25:27The Microsoft Trust Center acts as a central hub
1:25:30for transparency, offering detailed resources
1:25:34on how Microsoft embeds security, privacy,
1:25:38and compliance, along with transparency into its products.
1:25:43Organizations can explore best practices,
1:25:46compliance documentation, and tools like data protection,
1:25:50impact assessments, and data subject request
1:25:54to support regulatory obligations,
1:25:56such as the General Data Protection Regulation, or GDPR.
1:26:01The Service Trust portal complements this
1:26:03by providing service-specific compliance details.
1:26:07Microsoft GDPR support includes readiness checks
1:26:11and action plans, helping organizations meet their
1:26:15obligations while leveraging Microsoft services.
1:26:18This is especially critical for industries like health care,
1:26:21finance, government, and more,
1:26:24where regulatory compliance is non-negotiable.
1:26:28From a technical standpoint,
1:26:30Microsoft ensures data protection
1:26:32through robust encryption protocols.
1:26:35All data in transit between user devices
1:26:39and Microsoft data centers is secured using Transport Layer
1:26:43Security, or TLS, 1.2 or higher, ensuring the confidentiality
1:26:49and integrity of data exchanges.
1:26:52API access is similarly protected,
1:26:56safeguarding integrations and automation workflows.
1:27:00Additionally, Microsoft data location management allows
1:27:04organizations to define the geographical location
1:27:07of their data by setting a default geo at the tenant level
1:27:12and targeting specific geos for environments
1:27:15within Power Platform.
1:27:17This ensures data residency compliance
1:27:20and supports operational continuity by replicating data
1:27:24within the same region without moving it outside the
1:27:28designated geo.
1:27:29These capabilities are particularly beneficial
1:27:33for multinational organizations managing data sovereignty
1:27:37across jurisdictions.
1:27:41Understanding application lifecycle management, or ALM,
1:27:45is a structured process for managing applications
1:27:49within the Microsoft Power Platform in five key stages,
1:27:54planning, development, testing, deployment, and maintenance.
1:27:59ALM begins with planning, where business requirements, goals,
1:28:04and scope are defined through stakeholder collaboration.
1:28:08This ensures that the application aligns
1:28:10with strategic objectives.
1:28:12In the development phase, tools like Power Apps, Power Automate,
1:28:17and Dataverse are used to build
1:28:19and refine application components.
1:28:22This stage benefits
1:28:23from collaborative development practices,
1:28:26version control, and modular design.
1:28:29With enhanced scalability and maintainability,
1:28:33the testing phase validates the application
1:28:36in the controlled environment, ensuring it meets functional
1:28:39and non-functional requirements.
1:28:41This is reduces the risk of defects reaching production.
1:28:46Deployment involves moving the application
1:28:49to a production environment, using solutions
1:28:52that package all components, ensuring consistency,
1:28:56and reducing deployment errors.
1:28:59Finally, maintenance ensures the application remains relevant
1:29:03by addressing bugs, incorporating user feedback,
1:29:08and adapting to evolving business needs.
1:29:11Use cases include deploying a customer service app
1:29:15across departments
1:29:16or maintaining a field service solution with regular updates.
1:29:21The benefits of ALM and Power Platform include improved
1:29:25governance, streamlined collaboration, and reduced time
1:29:30to market, along with high-quality solutions
1:29:34that evolve with the business.
1:29:39In Microsoft Power Platform and Dynamics 365, solutions serve
1:29:44as a structured container that manages
1:29:48and tracks customizations with a common data service
1:29:52or CDS environment, now known as Microsoft Dataverse.
1:29:58Each environment, whether for development, testing,
1:30:02or production, maintains its own set of solutions,
1:30:06enabling isolated and controlled deployment of components.
1:30:10These solutions can include a wide range of assets
1:30:14such as entity metadata, forms, views, business rules,
1:30:20workflows, and even developer-created components
1:30:23like JavaScript plugins or compiled code.
1:30:27This modular approach supports application lifecycle
1:30:31management, ALM, by allowing teams to build, test,
1:30:37and deploy changes in a consistent
1:30:39and repeatable manner.
1:30:41For example, a development team can build a custom sales
1:30:45dashboard in a dev environment, package it into a solution,
1:30:50and then deploy that into production
1:30:52without affecting other apps or environments.
1:30:55Solutions are also the foundation
1:30:57for deploying Microsoft's own applications,
1:31:00like Dynamics 365 Sales or Customer Service,
1:31:04as well as third-party offerings
1:31:07from independent software vendors.
1:31:09These ISVs, or independent software vendors,
1:31:13use the same solution framework to deliver their products,
1:31:17ensuring compatibility and ease of integration.
1:31:21This standardization enhances governance
1:31:24and maintainability across environments.
1:31:28From a compliance and security perspective,
1:31:31the Microsoft Trust Center provides essential resources
1:31:35to help organizations understand how these solutions are built
1:31:39and managed securely.
1:31:41It offers transparency
1:31:43into Microsoft's development practices,
1:31:46including how solutions align with data protection standards
1:31:50and regulatory requirements.
1:31:52This is especially valuable for organizations
1:31:55in regulated industries that need
1:31:57to ensure their customization
1:32:00and third-party integrations meet internal
1:32:02and external compliance standards.
1:32:06This power platform-based solution manages the end-to-end
1:32:11process of ordering and procuring devices.
1:32:15It is organized into three main sections, app, data,
1:32:19which has the tables, and other components,
1:32:22each playing a critical role in the solution's functionality.
1:32:26The app section includes two applications, device ordering
1:32:30and device procurement, which serve distinct purposes.
1:32:35The device ordering app is likely used by employees
1:32:38to request devices, while the device procurement app is used
1:32:42by the procurement staff to manage
1:32:45and fulfill those requests.
1:32:47Supporting these apps are three security roles, one for each app
1:32:52and an additional role for the procurement workflow.
1:32:56These roles ensure that users only access the components
1:33:00relevant to their responsibilities,
1:33:03enforcing role-based access control
1:33:05and maintaining data security.
1:33:08At the core of the solution is the Device Order table,
1:33:12which acts as a central data repository
1:33:16for all device requests.
1:33:18This table is shared across both apps,
1:33:21enabling seamless data flow and consistency.
1:33:24The Other Components section includes the Order Approval
1:33:29flow, which likely automates the approval process
1:33:32for device requests.
1:33:34And the Device Procurement Agent,
1:33:37which may be a Power Automate desktop
1:33:42and cloud flow agent responsible for executing backend tasks,
1:33:47such as updating inventory or notifying vendors.
1:33:50This modular design supports scalability and maintainability.
1:33:55For example, the approval flow can be updated independently
1:33:59of the apps, and the agent can be reused
1:34:02across other procurement processes.
1:34:05The benefits of this architecture include improved
1:34:08operational efficiency, reduced manual errors,
1:34:11and enhanced governance through clearly defined roles
1:34:14and automated workflows.
1:34:16This solution exemplifies how Power Platform components can be
1:34:21orchestrated to deliver a secure, scalable,
1:34:25and user-friendly business application.
1:34:31In Microsoft Power Platform and Dataverse, the prescribed method
1:34:35for deploying customizations is through managed solutions.
1:34:39Managed solutions are sealed packages intended for deployment
1:34:44in test and production environments,
1:34:47ensuring the components are versioned,
1:34:50locked from direct editing, and governed
1:34:53through a controlled release process.
1:34:56This approach supports application lifecycle management
1:35:00by enabling consistent, repeatable deployments
1:35:04and reducing the risk of unintended changes.
1:35:07For example, a financial services organization can deploy
1:35:10a managed solution containing regulatory workflows
1:35:14to production, ensuring compliance and traceability.
1:35:18Managed solutions also simplify rollback and upgrade scenarios,
1:35:23making them ideal for enterprise-scale deployments
1:35:26in ISV distributed apps.
1:35:29Conversely, unmanaged solutions are intended
1:35:33for development environments only.
1:35:35They allow full editing of components,
1:35:38but should never be used as a source of truth.
1:35:42Instead, organizations should maintain unmanaged solutions
1:35:46in source control systems like Azure DevOps or GitHub.
1:35:51This ensures that all changes are tracked,
1:35:54versioned, and recoverable.
1:35:56This is critical for being able to audit
1:35:59and for team collaboration.
1:36:01Relying on a development environment as a source
1:36:05of truth introduces a risk,
1:36:07as changes can be lost or overwritten.
1:36:11In this session 2, we explored the essential building blocks
1:36:15of our Power Platform.
1:36:18We began by unpacking the importance of security
1:36:21and governance, ensuring that solutions are not only powerful
1:36:25but also compliant and well-managed.
1:36:28We then examined environments,
1:36:30understanding how they help organize and isolate apps
1:36:33and data across different stages of development.
1:36:37Next, we navigated through the various administrative
1:36:40experiences available in Power Platform,
1:36:43giving you a clear view of how to manage
1:36:46and monitor your solutions effectively.
1:36:49We also introduced the application lifecycle
1:36:52management, or ALM.
1:36:54Highlighting how it supports structured, scalable,
1:36:58and collaborative app development.
1:37:01Finally, we explored Microsoft Dataverse, the secure
1:37:05and scalable data platform that powers business solutions
1:37:09across the Power Platform.
1:37:12With this foundation in place, we are better prepared
1:37:15to take our next steps in our journey.
1:37:19See you back soon for session three.