Posts

Managing Temporary User Access in Dataverse with Access Teams

Image
Access Teams let you give people access to one specific record, not the whole table. Access Teams in Microsoft Dataverse are a powerful way to provide temporary, record-level access to users without changing the ownership of the record or assigning full security roles. They are especially useful in scenarios where multiple users need to collaborate on a single record, such as cases, opportunities, or projects, for a limited period. Access Teams rely on Access Team Templates , which define specific permissions like read, write, append, append-to, assign, and share, applied only to the selected record. Internally, when a user is added to an Access Team, Dataverse creates entries in the PrincipalObjectAccess (POA) table, which tracks who can access which record and what level of access they have. This approach ensures precise, controlled access , reduces security risks, and allows dynamic collaboration without the complexity of assigning security roles or changing record ownership. Acce...

Plugin Trace Logs in Dataverse Explained: Debug Smarter, Not Harder

Image
Plugin Trace Logs in Dataverse are a built-in logging mechanism that help developers understand what happens inside a plugin while it is running. They capture detailed runtime information such as execution steps, input and output parameters, custom trace messages, execution depth, user context, and any exceptions thrown by the plugin. This is especially important because Dataverse plugins run on the server, where traditional debugging tools like breakpoints are not available in production. By using plugin trace logs, developers can safely trace execution flow, identify where and why failures occur, analyze performance issues, and validate business logic without impacting users. Overall, Plugin Trace Logs are essential for reliable plugin development, faster troubleshooting, and maintaining stable, production-ready Dynamics 365 and Power Platform solutions . Plugin Trace Logs = Black Box Recorder for Dataverse Plugins What are Plugin Trace Logs? Plugin Trace Logs are diagnostic logs ge...

Inside Dataverse Logs: How Microsoft Dataverse Tracks Activity and Ensures Reliability

Image
In Dataverse, logs capture system, application, and user activities that are essential for both technical operations and business governance. Technically, logs record details such as data changes (audit logs), background processes like workflows and Power Automate runs (system jobs), plugin execution traces, and integration/API calls, which help developers and administrators troubleshoot issues, analyze performance, and ensure system stability. From a business perspective, logs support compliance, security, and accountability by providing an audit trail of who did what and when, which is critical for regulated industries. Logically, they act as the platform’s “memory,” enabling visibility into system behavior, supporting root-cause analysis, and helping organizations make informed decisions about capacity planning, optimization, and risk management. What is a Log in Dataverse? In Dataverse, a log is a system record that captures what happens inside the platform when users or automate...

Dataverse Capacity Planning: Estimation Techniques Every Architect Should Know

Image
The Dataverse Capacity Estimation Model is used to predict how much storage an organization will need as data grows over time. It helps estimate database, file, and log capacity based on factors such as record volumes, data growth, retention periods, and system activities like auditing and automation. This model is important because Dataverse storage is shared and license-based, and running out of capacity can impact business operations. By using a capacity estimation model early in the design phase, organizations can plan storage accurately, control costs, avoid unexpected capacity issues, and ensure that applications remain performant and scalable as usage increases.  Step 1: Identify Data Domains Break data into categories: Step 2: Estimate Record Volume Step 3: Estimate Average Record Size Add 20–30% overhead for indexes & metadata. Step 4: Database Capacity Formula DB Capacity (GB) = (Records × Avg Size × Retention Years) × 1.3 Example (Cases): 1,000,000 × 10 KB × 2 yrs ×...

Dataverse Storage Capacity Model

Image
The Dataverse Storage Capacity Model defines how business data, documents, and system logs are stored and managed within the Power Platform. It is important because Dataverse storage is license-based and shared across the organization, so uncontrolled growth can impact both cost and system performance. By clearly separating data into database, file, and log storage, the model helps organizations store only active, high-value business data in Dataverse while moving documents and historical information to more cost-effective locations. This approach keeps applications fast, predictable, and scalable, while avoiding unexpected capacity issues and ensuring long-term sustainability of the platform. We should consider the Dataverse Storage Capacity Model in the following scenarios, especially when designing or scaling Power Platform or Dynamics 365 solutions: When building enterprise or long-running applications If the application will store large volumes of business data (such as cases, tr...

Designing Secure Power Platform Solutions with Dataverse Security Roles

Image
Understanding Dataverse Security Roles is essential for anyone working with Microsoft Power Platform and Dynamics 365—whether you are a business user, system administrator, or developer. Security roles define who can see what and do what within Dataverse by controlling access to data, actions, and system capabilities. For business users, they ensure day-to-day work is simple and secure without exposing sensitive information. For administrators, security roles provide a structured way to enforce organizational policies, compliance, and separation of duties. For developers, they are critical to designing solutions, plugins, and integrations that respect data boundaries and avoid unintended access. A well-designed security role model balances usability, performance, and compliance, ensuring the right people have the right access at the right time—no more, no less. Dataverse security is not about restriction — it’s about trust, clarity, and control. Dataverse security roles control who ca...

Solution Checker: Bridging the Gap Between Low-Code and Pro-Code Quality

Image
Solution Checker is a built-in quality assurance and analysis tool in Microsoft Power Platform that helps evaluate Dataverse solutions against Microsoft’s recommended best practices. It scans solution components such as plugins, JavaScript, Power Automate flows, apps, tables, and security roles to identify potential issues related to performance, security, reliability, and maintainability. By using rule-based and static code analysis , Solution Checker highlights risks early in the development lifecycle, helping teams fix problems before deployment. It is widely used by developers, architects, and release teams to improve code quality, reduce technical debt, prevent production issues, and ensure solutions are scalable, secure, and upgrade-ready across environments. Rule-based analysis checks “what rules you broke”, while static code analysis checks “what could go wrong in your code without running it”. What is Solution Checker? Solution Checker is a built-in quality and health check...

Managing Parallel Development and Hotfixes in Dataverse Like a Pro

Image
Managing parallel development and hotfixes in Dataverse means keeping new features and urgent fixe s moving forward at the same time without breaking the system. Because multiple teams often work in different solution layers , it becomes important to separate work clearly using branching, small modular solutions, and structured environments. While feature teams work on future releases in their own branches, hotfixes must be created quickly from the production branch, packaged in focused solutions, tested, and deployed with minimal impact. After a hotfix goes live, it must always be merged back into the development stream so it isn’t overwritten in the next release. With a good CI/CD pipeline, versioning, and clear release governance, organizations can deliver changes safely, avoid solution conflicts, and maintain stability even when several teams are building and fixing at the same time. Working with Dataverse often means several developers, consultants, and teams are customizing the...