Posts

Showing posts from July, 2025

Jenkins

  Jenkins in Azure DevOps refers to integrating Jenkins , a popular open-source automation server, into your Azure DevOps ecosystem to manage builds, tests, and deployments. While Azure DevOps already includes its own CI/CD system (Azure Pipelines), Jenkins can be used: instead of Azure Pipelines (if you're already using Jenkins) alongside Azure DevOps (e.g., source code in Azure Repos, build in Jenkins) 🧩 What is Jenkins? Jenkins is a widely-used automation server that enables: Continuous Integration (CI) Continuous Delivery/Deployment (CD) Automated builds, tests, packaging, and deployments It supports many plugins and can integrate with most tools in the DevOps lifecycle. 🔄 Why Integrate Jenkins with Azure DevOps? You may want to: Use Azure Repos as the source code repo for Jenkins builds. Trigger Jenkins builds from Azure DevOps Pipelines or Releases. Report Jenkins build results back to Azure DevOps (e.g., PR checks). Use Jenkins...

Sonar Qube

  SonarQube in Azure DevOps is a code quality and security analysis tool that integrates into your Azure DevOps pipelines to automatically scan your code for issues such as: Code smells (bad practices) Bugs Vulnerabilities Duplications Security hotspots Coverage from unit tests 🔍 What Is SonarQube? SonarQube is an open-source platform that: Analyzes code across multiple languages (C#, Java, JavaScript, Python, etc.) Enforces quality gates to fail builds if code doesn't meet standards Helps teams track technical debt and improve maintainability 🔧 How It Works in Azure DevOps 💡 Use Case When you're running a CI/CD pipeline in Azure DevOps (using YAML or classic), you want to automatically scan the code and fail the build if it doesn't meet your team’s code quality standards. 🧱 Key Components SonarQube Server : Either hosted by you or use SonarCloud (SaaS version). SonarQube Extension for Azure DevOps : Install f...

💡 jQuery Snippet: Enable Button on “Yes” Confirmation

  When designing forms that require user confirmation (like agreeing to terms or confirming intent), it’s a common practice to disable the Submit or Insert button until a certain condition is met — such as the user selecting "Yes" . Here’s a handy jQuery example and a breakdown of how it works: ✅ What This Script Does This jQuery snippet ensures that a button (with ID InsertButton ) remains disabled until the user selects a specific radio button ( #pawb_confirm_1 , which represents "Yes"): javascript $( document ). ready ( function ( ) { $( '#InsertButton' ). prop ( 'disabled' , true ); $( '#pawb_confirm_0, #pawb_confirm_1' ). change (setButton); function setButton ( ) { let yes = $( '#pawb_confirm_1' ). prop ( 'checked' ); $( '#InsertButton' ). prop ( 'disabled' , !yes); } }); 🔍 Line-by-Line Breakdown js $( document ). ready ( function ( ) { Ensures the DOM is fully loaded befo...

Understanding Multiplexing in Power Platform & Dynamics 365

  Understanding Multiplexing in Power Platform & Dynamics 365 Definition of Multiplexing Multiplexing, while sounding like a term from a superhero movie, holds significant implications in the context of Microsoft’s Power Platform and Dynamics 365. It refers to the situation where users access data or services indirectly through a shared connection or application, raising concerns regarding licensing requirements. Understanding what constitutes multiplexing is crucial to avoid potential compliance issues with Microsoft. Examples of Multiplexing A common scenario involves using Dataverse to create records that trigger email approvals. In this case, if users receiving the emails do not possess premium licenses, it does not constitute multiplexing. However, complications arise when data is automatically processed and moved to shared locations like SharePoint or CSV files. If such processes inadvertently lead to users benefiting from premium features without the appropriate licenses...

🔍 Dataverse + Azure Integration: Choosing Between Synapse Link and Microsoft Fabric

  Managing large-scale data in Microsoft Dataverse ? You're likely choosing between Azure Synapse Link and the newer Microsoft Fabric Link . Both unlock powerful analytics and reporting options—but with different trade-offs in performance, setup, and long-term cost. Let’s break it down 👇 📊 Power BI and Dataverse: Great, But With Limits Power BI uses TDS (Tabular Data Stream) to connect directly to Dataverse tables. Real-time querying works well for smaller datasets (tens of thousands of records). However, complex queries and relationships may cause timeouts after 5 minutes , making it unreliable for enterprise-scale analytics. 🔗 Azure Synapse Link: Power + Complexity ✅ Strengths: Designed for large datasets , converting Dataverse tables to CSV format for efficient querying and reporting. Highly customizable with Synapse Studio , Azure Data Lake , and Data Factory for deeper ETL/ELT capabilities. ⚠️ Watchouts: Requires technical setup : Azur...

Azure Synapse Link for Dataverse

- Azure Synapse Link is a feature designed to create a continuous copy of Dataverse data into Azure Data Lake for enhanced analytics and reporting.   - It supports integration with various Power Platform applications, including Dynamics 365 and Power Apps, facilitating easy access to data.   - The feature automates updates, ensuring that new records, changes, and deletions within Dataverse are reflected in the Data Lake in real-time. **Functionality and Benefits**   - The replication engine captures changes in Dataverse and transfers them to Azure Data Lake, ensuring data consistency and availability for analysis.   - Azure Data Lake is optimized for high-volume, low-cost storage, making it suitable for organizations dealing with extensive datasets.   - By utilizing Azure Synapse on top of Data Lake, users can easily query data using standard SQL, simplifying the process of data analysis. **Integration with Power BI and Other Tools**...

🆚 Azure Synapse Link for Dataverse vs Dataverse Long-Term Retention (LTR)

  Feature Azure Synapse Link for Dataverse Dataverse Long-Term Retention (LTR) 🎯 Purpose For near real-time analytics and reporting . For archiving inactive data to reduce storage costs. 🗄️ Where Data Goes Copies Dataverse data into Azure Synapse Analytics or Azure Data Lake for analysis. Moves inactive Dataverse records to a cold storage tier inside Dataverse itself. 📊 Use Case Power BI reports, advanced analytics, AI/ML scenarios. Keep historical records (e.g., old cases, orders) accessible but off active storage. 🏃‍♂️ Performance Impact Minimal; works with change tracking for incremental updates. Improves performance of Dataverse by cleaning up active tables. 💰 Cost Consideration Azure costs for storage/compute (Synapse/Data Lake). Lower Dataverse storage costs (cold tier = cheaper). ⚡ Access to Archived Data Direct access via Synapse or Data Lake (external). Archived data is read-only and not directly editable. 🔄 Data Update Frequency Near real-time (supports incre...

📦 Dataverse Long-Term Retention in Dynamics 365 CE: Simplify Data Management & Cut Costs

  Managing ever-growing datasets in Dynamics 365 Customer Engagement (CE) can become a challenge for businesses. To help organizations stay compliant and reduce storage costs, Microsoft introduced Dataverse Long-Term Retention (LTR) . 🚀 What is Dataverse Long-Term Retention? Dataverse LTR provides a way to archive inactive or historical data securely within the Dataverse environment. Instead of deleting old records or keeping them in costly active storage, LTR shifts them to a cold storage tier for read-only access . This ensures: Regulatory compliance. Lower storage costs (thanks to compression). Continued data availability for reporting and analysis. ✨ Key Features of Dataverse LTR ✅ Active vs. Inactive Data Records are classified as active or inactive. Inactive records can be archived without affecting active datasets. ✅ Cost Optimization Compression reduces archived data size by 50–80% , minimizing storage expenses. ✅ Comprehensive Archiving When a pa...

Overview of Long-Term Data Retention in Dataverse for Dynamics 365 CE: Enabling and Managing Data Efficiently

**Overview of Long-Term Data Retention (LTDR)** - LTDR addresses the need for organizations to manage large volumes of data over time, allowing for the classification of data into active, inactive, and deleted categories. - It was developed in response to customer requests for a cost-effective way to retain data that is only occasionally accessed for compliance or regulatory reasons. - Data is moved to a less expensive storage tier within Dataverse, maintaining security and compliance standards without impacting performance. **Data Management and Security** - LTDR ensures that data remains within the Dataverse environment, adhering to regulations such as GDPR, as security measures apply to both active and cold storage. - When data is marked for retention, all related child records are automatically included, simplifying data management. - The feature allows for easy access to retained data through various methods, including APIs, advanced find, and Power Automate, while maintaining str...

🚀 Best Practices for Migrating Business Process Flows in Dynamics 365 (Dataverse)

  Migrating data into Dynamics 365 or Microsoft Dataverse often involves more than just moving records from one system to another. When those records are tied to Business Process Flows (BPFs) , things can get tricky—especially when you need the records to be placed in specific stages of a BPF. This article highlights the challenges with BPF migration and offers best practices to handle them effectively. 🎯 The Challenge: Assigning Business Process Flows During Migration Business Process Flows (BPFs) define structured stages for records in Dataverse, such as Opportunities , Cases , or Leads . When you migrate records and want them to be tied to a BPF: ✅ You can assign a BPF to a record during creation. ❌ But the record will always start at the first stage of the BPF. There’s no direct API method to jump a record straight into Stage 3 or Stage 4. Instead, Dataverse enforces step-wise stage transitions to preserve the workflow integrity. 📌 Example Scenario You’re...