Data Migration Best Practices for 2024 with Tzunami

Data Migration Best Practices for 2024

As we move forward through 2024, the landscape of data migration has transformed dramatically, reflecting the rapid advancement of technology and the exponential growth of data. Today, organizations are compelled to migrate data not just for modernization, but as a strategic move towards efficiency, and innovation. The journey to this point has been marked by learning from past challenges, adopting new technologies, and refining strategies to ensure seamless, secure, and effective data migration. This blog post will outline essential migration best practices, focusing on planning, detailed risk assessment, and the adoption of cutting-edge technologies. These practices underscore the importance of understanding your data landscape and ensuring compatibility between source and target systems, Moreover, we will dive into the latest future trends in data migration in 2024.

8  Data Migration Best Practices 

While there is no universal consensus on the migration best practices, most top technology companies agree on several top priorities. These practices are not just advice and tips but can serve as a guide and blueprint for companies before, during and after migration.

1. Create a methodology

Adopting an efficient methodology is crucial for the success of any data migration project. A striking statistic from a Bloor report highlights that 38% of data migration projects exceed their allocated time or budget, underscoring the challenges inherent in these endeavors. 

Among the methodologies available, the Practical Data Migration (PDM) approach, developed by industry veteran Johnny Morris, stands out. This methodology not only offers a structured process but also includes training and certification, providing a comprehensive framework for managing migration projects.

Another methodology is: the Information Asset Inventory (IAI), this approach is a systematic method used by organizations to identify, classify, and manage their information assets effectively. This process is critical for understanding the scope of an organization’s data, ensuring proper data management practices, and supporting strategic decisions regarding data security, compliance, and risk management. Here’s how it typically unfolds and why it’s essential, especially from an IT manager’s perspective:

  • Identification: Cataloging all the information assets within the organization. This includes databases, files, and applications.
  • Classification: Assigning a value and sensitivity level to each asset based on its importance to the business, regulatory requirements, and potential impact of compromise or loss.
  • Ownership: Determining who within the organization is responsible for managing, securing, and maintaining each asset.
  • Protection: Assessing current security measures and identifying any gaps in the protection of these assets to ensure they are safeguarded against threats.

2.Analyze your data migration project

Assessments serve as the critical groundwork for any data migration project. Conducting a thorough migration assessment equips organizations with a comprehensive understanding of the entire data transfer process, including the transition of data across different locations, formats, and systems. It’s essential for these assessments to pinpoint potential risks and advantages, identify the current storage locations of data or systems, and determine their migration destinations. The proposed mapping between source and destination is key to planning and executing the migration.

Furthermore, the assessment phase should clarify whether to employ an all-at-once or a phased or gradual migration strategy. It’s also the time to outline the necessary budget and timeframe, establishing a detailed project timeline early in the process.

Evaluating essential elements such as backup procedures, target systems, security measures, and support infrastructure is indispensable during a data migration assessment. Organizations must also consider possible cloud provider downtime, and be aware that sometimes the cloud service might be unavailable.  While less of a concern in the cloud, any planned downtime, both in source and destination, needs to be planned for and accommodated.

 “Downtime is an inevitable reality for almost every business,” said Yonatan Hatzor, co-founder and CEO of Parametrix, a company specializing in cloud downtime insurance. “As companies increasingly rely on cloud providers for day-to-day operations, they are exposed to the real risk of downtime.”

According to a report by Parametrix, the major cloud service providers, commanding over two-thirds of the global cloud market, experienced 1,190 performance interruptions in their cloud infrastructure in 2022. Out of these, 492 disruptions were deemed critical. The report also highlights that approximately one-third of these incidents affected cloud regions in the United States, with the remaining critical disruptions distributed fairly evenly across Europe, Asia, and other parts of the world.

3.Engage stakeholders outside of the IT department

Engaging with stakeholders beyond the IT department is crucial when initiating the planning and design phases of a migration project. It’s essential to inform all employees about the potential impact of the migration on their daily tasks and to offer them a chance to share their input.

Frequently, staff members from departments other than IT play a pivotal role in the migration effort. Their insights into the practical usage of data assets and systems in their daily operations, as well as their expectations for improvements following the migration, can significantly inform and enhance the migration strategy.

4.Test in-depth in a controlled environment

When exploring the capabilities of a new system, it’s crucial to ask its providers if they offer tools that can enhance user confidence through repeatable and user-friendly testing mechanisms. Inquire whether any new system providers offer tools designed to bolster user confidence, such as the ability to conduct repeatable system tests. Ideally, these tests should be streamlined to minimize the need for expert users to enter extensive details, facilitating ease of use and efficiency in evaluating the system’s reliability and performance.

5.Backup your valuable data before the migration process 

Throughout the migration process, it’s imperative that the original source data or system remains unaltered, regardless of any significant data issues that may arise. To safeguard against any potential damage, alterations, or corruption, companies must perform comprehensive backups to guarantee the availability of reliable data copies when necessary.

The primary risk associated with data migration lies in the potential loss of business-critical assets or the improper handling of sensitive data. By maintaining data backups on distinct and highly secure systems, companies can effectively mitigate the risks of errors or data loss during the migration.

Cloudsfer’s cloud-to-cloud backup solution stands out in this context, offering a robust safety net by creating reliable and secure copies of data across different cloud platforms. Such backups are essential, especially considering the high stakes of losing business-critical assets or mishandling sensitive data during migration. Cloudsfer’s solution provides an additional layer of security, enabling companies to navigate the complexities of data migration with confidence, knowing they have a dependable recovery option in the event of any unforeseen errors or data loss.

6.Prioritize security throughout the process

Data encryption is a critical component of data migration, serving as a cornerstone for ensuring the security and integrity of data as it moves from one system to another. When data is encrypted, it’s converted into a secure code that can only be accessed or decrypted by users with the correct encryption key. This process safeguards sensitive information from unauthorized access, data breaches, and other cyber threats, especially during the vulnerable phases of transmission and storage in new environments.

In the context of data migration, encryption plays a dual role. First, it protects data in transit between the old and new systems, ensuring that any data intercepted during the migration remains unreadable and secure. Second, encryption secures data at rest within the new system, preventing unauthorized access even after the migration is complete.

In Tzunami Deployer, the data migration process to SharePoint Online, utilizing the Microsoft 365 migration API, is securely encrypted end-to-end. This ensures that from the moment data leaves the original source until it is safely stored in SharePoint Online, it remains protected and inaccessible to unauthorized parties. Tzunami Deployer emphasizes customer data privacy and security, asserting that it does not access or process customer data directly. The solution operates offline, behind the company firewall. Minimizing the risk of data exposure and enhancing the security posture of the migration process. This approach underlines Tzunami Deployer’s commitment to maintaining the integrity and confidentiality of customer data throughout the migration journey.

7.Test your migration continuously

Organizing your migration into distinct phases is advisable. Migrating to the cloud typically takes time according to the volume of the data to migrate. However, for larger organizations dealing with vast amounts of data and complex systems, this timeline can extend further. By segmenting the migration into smaller, manageable stages, you can more effectively monitor progress and identify any obstacles early on. Conducting live testing at each stage of the migration is beneficial. These tests provide a practical way to verify your initial assessments and plans against the realities of the migration process and to evaluate the performance of systems once they have been migrated. Additionally, these tests offer the opportunity to refine your migration strategy in real time, ensuring a more controlled and efficient process.

Tzunami provides extensive, detailed migration reports during the export, deployment, and migration processes, enabling users to ensure all content is successfully migrated.

8.Migration optimization is necessary

Migration optimization directly contributes to the efficiency and effectiveness of your applications and services, which may be at the heart of your customer’s experience with your brand. From an operational perspective, you can achieve better performance, cost savings, and improved resilience by fine-tuning your cloud infrastructure post-migration. It also helps mitigate any potential data loss or downtime risks.

After migrating your data to SharePoint with the Tzunami migration tool, you can optimize your SharePoint environment with Reality Tech. As an award-winning provider, Reality Tech excels in SharePoint deployments, upgrades, workflows, and custom solutions. By focusing on core business operations and enhancing collaborative workflows, Reality Tech leverages its deep understanding of the business landscape to deliver solutions that significantly enhance efficiency, speed, and agility.

Deep dive into data migration trends for 2024

Data migration continues to be a critical process for businesses of all sizes. In 2024, we can expect to see some exciting trends emerge that will shape how organizations move their data between systems. Here’s a closer look at three key areas:

      1.Cloud Migration Takes Center Stage:

Businesses are rapidly embracing the cloud for its scalability, cost-efficiency, and flexibility. This naturally translates to a surge in data migration projects by 2024.  Organizations will move data from on-premises storage to cloud platforms like SharePoint migration to the cloud, Office 365, Autodesk Construction Cloud (ACC), and migrate file server  AWS, or Azure to unlock these benefits.  Hybrid and multi-cloud strategies will also gain traction, requiring robust tools to handle complex data movement across diverse environments.

      2.Automation: The Efficiency Engine:

Manual data migrations are cumbersome and error-prone. To address this, 2024 will see a rise in automation tools that streamline the process. These tools can automate tedious tasks like data extraction, transformation, loading, and validation. 

      3.Security: A Constant Vigil:

Security remains paramount even with the ease of cloud migration and automation.  Organizations will be laser-focused on data privacy and compliance throughout the process. This includes robust encryption, access controls, and leveraging data residency options offered by cloud providers. Microsoft and SharePoint Online are at the forefront of the market in terms of data security, offering robust protection measures that meet the needs of today’s digital landscape

In conclusion, the evolution of data migration strategies in 2024 has underscored the critical importance of planning, comprehensive risk assessment, and the integration of advanced technologies. Through adopting methodologies like Practical Data Migration and Information Asset Inventory, organizations have enhanced their ability to manage complex data landscapes efficiently. As we move forward, these best practices not only serve as a foundation for successful data migration projects but also as a testament to the ever-evolving nature of technology and its role in shaping the future of business operations.

How to use dynamic email template in Power Automate

SharePoint is a strong tool for teamwork, with many features to help teams work efficiently. One useful feature is creating templates that automatically get content from lists, which helps users avoid doing the same tasks over and over. 

In this blog post, we’ll show you how to make a template in SharePoint that pulls content from a list and sends it out by email using Power Automate. This integration between SharePoint and Power Automate can save you time and resources while making sure the right people get the important information quickly. 

In the SharePoint list, we create two lists. The first list is named “Email Template.” In this list, we create a column called “Template,” which is a multiple lines of text column. We add an email template to the “Template” column by creating a new entry in this list. 

Additionally, we create a template where we retrieve four values from another list: “Purchaser Name,” “Delivery Date,” “Product Name,” and “Purchaser Name.” 

IMG 01

 

The second list is named “Online Order Product Details,” where we create a “Delivery Date” column as Date and Time. Additionally, we have a “Product Name” column, which is a choice column, and we include the default “Created By” column provided by SharePoint. 

In the template, we replace “Purchaser Name” with the name of the creator, retrieved from the “Created By” column in the list. The “Delivery Date” is substituted with the dynamic value from the “Delivery Date” column in the “Online Order Product Details” list. Similarly, the “Product Name” column is replaced with the dynamic value from the “Product Name” field in the “Online Order Product Details” list.

Step:1 Add the “When an item is created” trigger action and specify the site URL and list name from which dynamic values are retrieved. The flow will be triggered when an item is created or modified in the SharePoint list. 

IMG 02

 

Step:2 Add the “Get Items” action, specifying the site address and list name where the user creates the template in the list. 

IMG 03

 

Step:3 Add the compose action and create the expression to first replace the Purchaser name with the Created By display name. 

Add the following expression in the compose action: 

First, add the “Replace” value. Then, include the “Get Items” action to retrieve the value. Here, obtain the data at index “0” to retrieve the number 1 ID. Next, specify the column name where we create the template in multiple lines of text. Add a comma after this, and then include the dynamic name you wish to use to replace the original data. Add a comma after the dynamic name. Finally, include the “Created By” display name, which retrieves data from another list. 

replace(outputs(‘Get_items_-_Email_Template)?[‘body/value’][0][‘Template’],'[Purchaser Name]’,triggerOutputs()?[‘body/Author/DisplayName’]) 

IMG 04

 

Step:4 Add a new “Compose” action. Use the “Replace()” expression. Insert the compose output from dynamic content inside the brackets. Specify the name to replace the delivery date. Add the delivery date value. 

replace(outputs(‘Compose_-_Replace_the_Purchaser_name‘),'[Deliver Date]‘,triggerOutputs()?[‘body/DeliveryDate‘])

IMG 05

 

Step:5 Add a new “Compose” action. Use the “Replace()” expression. Insert the compose output from dynamic content inside the brackets. Specify the name to replace the Product Name. Add the Product Name value. 

replace(outputs(‘Compose_-_Replace_with_the_Delivery_date‘),'[Product name]‘,triggerOutputs()?[‘body/ProductName/Value’]) 

IMG 06

 

Step:6  Add a new “Compose” action. Use the “Replace()” expression. Insert the compose output from dynamic content inside the brackets. Specify the name to replace the Purchaser Name. Add the Created by display name value. 

replace(outputs(‘Compose_-_Replace_with_the_Product_Name‘),'[Purchaser Name]‘,triggerOutputs()?[‘body/Author/DisplayName’]) 

IMG 07

 

Step:7 Add the “Send an email” action. Fill in the required fields. Add the last compose output to the email body. Save and test the flow. Show the output. Users can change the template in the list without manually updating Power Automate each time. 

IMG 08

 

Step:8 Users can add other dynamic values in SharePoint and compose actions step by step. Save and run the flow to see the email output.

IMG 09

 

Conclusion: By establishing a SharePoint template to extract dynamic content from a list and automating email distribution through Power Automate, businesses boost efficiency and productivity. This integration saves time, ensuring data accuracy and consistency. As organizations strive for workflow optimization, SharePoint and Power Automate provide a robust framework. This solution caters to reporting, notifications, and communication, offering flexibility and scalability for managing information flow within teams and across departments. 

How to add Multistep Form in Power Pages.

Multistep forms in Power Pages are a powerful tool for collecting user input in a clear and organized way. They allow you to break down complex data collection processes into manageable steps, improving the user experience and increasing completion rates. These forms offer flexibility, allowing you to customize the number of steps, utilize conditional branching, and even track user progress to ensure a smooth and efficient data-gathering experience. 

To create a multistep form, first need to create a basic form. After creating the basic form, you can then proceed to create the multistep form. Follow the steps below after creating the basic form to create the multistep form.

Step 1: Go to the Power Pages Management

IMG01

Step 2: Click on the “Multistep Forms” and then click on the “New” button.

IMG02

Step 3:
Provide a name for your multistep form. Then, select the site where you want to create it, save your settings, and finally click on the “Form Step” tab to proceed with the creation of individual steps for your multistep form.

IMG03

Step 4:
In the “Form Step” section, click on “New Form Step”, provide the name of the step, and select the table where your basic form resides that you want to add to this step. Then click on the form definition, select the mode you want, choose the form and tab, and click on “Save”.

IMG04

Step 5:
To set the initial step for the multistep form, go to your multistep form configuration. There, you can specify which step the user will see first when accessing the multistep form. This initial step defines where the user starts in the multistep process after accessing the form.

IMG05

Step 6:
After completing the first step, the user needs to proceed to the next step. To set up the next step, return to the first step, and in the ‘Next Step’ section, select the step that you want the user to proceed to after completing the first step. Once you’ve selected the appropriate step, click on ‘Save’ to confirm the changes.

IMG06

Step 7: If you want the user to be redirected to the homepage after completing the multistep form, create one more step in the multistep form. Give it a name, and in the type, select “Redirect”.

IMG07

Step 7:  Go to the “Redirect” tab and provide the URL and webpage where you want the user to be redirected after completing the form. Then, save the changes

IMG08

Step 8: Go to the second step, and in the settings for that step, select the created redirect step as the next step. Then, click on save.

IMG09

Step 9: After creating the Multistep form, navigate to the Power Pages site. Click on the Multistep form from the components, and you will see the created Multistep form. Add that form to the site.

IMG010

IMG011

Step 10: Sync the site and preview it to see the added Multistep form.


Conclusion
:

Mastering the creation of multistep forms in Power Pages offers a powerful solution for enhancing user interaction and data collection on web pages. By breaking down complex processes into manageable steps, these forms streamline the user experience and improve completion rates. With the step-by-step guide provided, users can easily create and customize multistep forms to suit their specific needs, from defining form steps to setting up conditional branching and user redirection. By implementing these techniques, web developers can create clear and organized data collection processes that enhance user satisfaction and engagement.

How to Apply Custom Styles in Power Pages?

Microsoft Power Pages is a user-friendly platform designed for creating and managing websites without the need for coding expertise. It offers a range of pre-designed themes and templates, enabling users to personalize their site’s styling for a unique look. Within Power Pages, the Default Styling Workspace facilitates detailed customization of fonts, colors, and other elements, while the CSS File Upload method ensures consistent design changes across the entire site. Whether you prefer utilizing built-in tools or custom coding, this guide will assist you in achieving a personalized website.

Custom styling can be implemented in Power Pages through two different methods: 

  1. Default Styling Workspace: Within Power Pages, the Styling Workspace empowers you to customize CSS properties for specific elements across your pages. This functionality enables adjustments to fonts, colors, sizes, and various other attributes of individual elements, granting you precise control over the appearance of each element on your webpage.
  2. CSS File Upload: In your preferred code editor, you can craft a CSS file tailored to your design preferences and subsequently upload it onto Power Pages. Upon uploading, this CSS file will be universally applied across all pages on your website, ensuring consistent styling and design elements throughout your entire site.

Method 1: Default Styling Workspace

  1. Upon creating your sites, choose the particular site to which you wish to apply default styling or CSS.
  2. Click on the “Edit” button corresponding to the site you wish to modify.
    Default Styling Workspace
  3. Navigate to the left-hand panel and choose the “Styling” option from the available menu.
    Styling Option Window
  4. Choose the desired theme that you wish to apply to your site.
  5. Once a theme is selected, various elements can be customized to suit your preferences like:
    • Brand Color and Background Color: Modify the brand color and background color of the page to your preferred choices.
      Brand Color and Background Color Options
    • Fonts: Adjust font-related attributes such as font family, font weight, font size, and font color for various headings to customize the appearance of text on your page.
      Font-related Attributes Windows
    • Buttons: Customize button properties like style, button radius, background color, and additional attributes to tailor their appearance on the page.
      Button Customization Properties
    • Links: Modify link properties including the presence of underlines, font style, link text color, hover color, and other attributes to customize the appearance and behavior of links on the page.
      Link Modifying Properties
  6. Once you’ve made the desired styling adjustments, remember to save the changes to ensure they are applied to your site.
    Styling Save Option
  7. To apply the updated CSS and view the alterations, choose the “Sync” option.
    Sync Option

Method 2: CSS File Upload

  • Choose the particular site to which you wish to apply custom CSS.
  • Click on the “Edit” button corresponding to the site you wish to modify.
  • Navigate to the left-hand panel and choose the “Styling” option from the available menu.
    Styling Option
  • Within the selected theme, locate the “More” option and then proceed to click on “Manage CSS.”
    Manage CSS Option in Styling
  • Within the Custom CSS section, choose “Upload,” and then select the CSS file you wish to upload for the application.
    Custom CSS Upload Option
    Here is an example of how to apply custom styling on Image in Power Pages

    1. Create a page and add an image on that page.
      Component Adding Options
    2. To implement personalized formatting, navigate to the page you’ve generated and click on the Edit option. This action will launch Visual Studio Code for editing purposes.
      Visual Studio Code Option
    3. Assign a class name, for instance, cardimage‘, to the image element
      cardimage
    4. Go to the ‘image card’ section and find your ‘CSS’ file.
      image card section
    5. Apply your customized CSS styling to the image based on your preferences.
      customized CSS styling
    6. After making your CSS modifications, save the file by using Ctrl+S (or the appropriate shortcut for your system). Next, revisit your Power Pages site and click on ‘Sync.’
      Sync Option
    7. To preview the alterations on your site, click on ‘Preview’ and choose the ‘Desktop’ option.
      Mobile and Desktop Preview Option
    8. Once finished, you will observe the image with the personalized style you added.
      Image observe with personalized style

Conclusion

Microsoft Power Pages offers low-code/no-code options for website creation with customizable styling through its Default Styling Workspace and CSS File Upload methods. These features allow for precise control over design elements, enabling users to create a unique website.

Step-by-Step Guide to Creating Edit Forms in Power Pages

This guide provides comprehensive insights into editing forms within the Power Pages environment. Through a structured series of steps, users learn to navigate Power Pages Management, create and sync forms, and effectively manage data on their web pages. This guide equips users with the knowledge and skills necessary to streamline the process of editing forms, ensuring optimal functionality and user experience on their websites.

Step to Edit a Form in Power Pages

Step 1: Go to the Power Pages Management

Power Pages Management Option

Step 2: Go to Basic Forms and click on the “+ New” button.

"+ New" button

Step 3: Give a name to the form, then select a table. Next, choose the form name and tab name. In the mode selection, choose “Edit,” then select the record source type and website, and finally click on Save.

Edit Option

Step 4: Go to the Power Pages site and “Sync” the site. On the page, in the component section, click on the form and select the edit form that was created.

Sync option

In the data section, you can see that your form is set to update an existing record. Now, you can click on “OK” and add the form to the page.

Data Option in Add a Form

Step 5: To use the edit form, you need to first add some user information to the database, and then you can edit those details.

Form Fields

Conclusion: This guide offers a systematic approach to editing forms within Power Pages, covering navigation, form creation, synchronization, and data management.

With clear instructions and steps provided, users can efficiently enhance their websites’ functionality and user experience. By following these guidelines, users can confidently navigate Power Pages Management and optimize their form editing process.

Step-by-Step Guide to Creating View Forms in Power Pages

This guide helps you understand how to view and read forms in Power Pages. Simply follow these steps: access Power Pages Management, create a new form, sync your site, and add the form to your page.

By doing this, you can easily integrate forms into your website, making it easier to manage data and improve user experiences.

Steps to View/Read a Form in Power Pages

Step 1: Go to the Power Pages Management

Power Pages Management Option

Step 2: Go to Basic Forms and click on the “+ New” button.

New button option

Step 3: Give a name to the form, then select a table. Next, choose the form name and tab name. In the mode selection, choose “ReadOnly” then select the record source type and website, and finally click on Save.

Read Only Option

Step 4: Go to the Power Pages site and “Sync” the site. On the page, in the component section, click on the form and select the ReadOnaly form that was created.

Add a Form Pop Up Form

In the data section, you can see that your form is set to is read-only. Now, you can click on “OK” and add the form to the page.

Add a Form Option

Step 5: To use the read form, you need to first add some user information to the database, and then you can read those details.

Company name option

Conclusion: This guide provides a clear pathway to effectively viewing and reading forms within Power Pages. Following the outlined steps allows for seamless integration of forms into your website, thereby simplifying data management and enhancing user experiences.

By leveraging Power Pages, you can optimize your website’s functionality and ensure a smoother interaction for users.

Using SharePoint Filter Queries in Power Automate: A Guide to Efficient Data Retrieval

The SharePoint Filter Query is a powerful feature that allows users to refine and manipulate data within their Power Automate workflows efficiently. This blog aims to provide an in-depth exploration of how to leverage this functionality effectively, offering insights and tips.

  • The filter query typically follows a syntax that depends on the data source you’re working with. In SharePoint, for example, you can use OData (Open Data Protocol) syntax to construct your filter query. This syntax allows you to specify conditions such as equals, not equals, greater than, less than, contains, starts with, ends with, and more.
  • The Filter Query is a powerful tool to retrieve only the data you need, reducing unnecessary processing and improving efficiency in your workflows.
  1. Single line of text: Starting with the internal name of the single line of text, followed by “equals (eq)” and the corresponding single line of text value.Single line of text
    Column Type Available operator(s) | Functions Usage Example
    Single line of text eq [equals]

    ne [not equals]

    startswith() [column value begins with…]

    substringof() [column value contains…]

    Column eq ‘value’

    Column ne ‘value’ startswith(Column, ‘value’) substringof(‘value’, Column)

    Title eq ‘My Item’

    Title ne ‘My Item’ startswith(Title, ‘My’) substringof(‘Item’, Title)

  2. Choice Column: Input the internal name of the Choice column, followed by “equals” to specify the user’s preference for displaying only pending items. Enclose the desired value in brackets.Choice Column
    Column Type Available operator(s) | Functions Usage Example
    Choice (menu to choose from) eq [equals]

    ne [not equals]

    startswith() [column value begins with…] substringof() [column value contains…]

    Column eq ‘value’

    Column ne ‘value’ startswith(Column, ‘value’) substringof(‘value’, Column)

    Status eq ‘Approved by manager’

    Status ne ‘Not approved’ startswith(Status, ‘Approved by’) substringof(‘by manager’, Status)

  3. Number Column: Start by entering the internal name of the column, followed by “equals (eq)” and the number you want to specify. Do not include the number value within the single quotes.Number Column
    Column Type Available operator(s) | Functions Usage Example
    Number (1, 1.0, 100) eq [equals]

    ne [not equals]

    lt [less than]

    le [less or equal than]

    gt [greater than]

    ge [greater or equal than]

    Column eq number

    Column ne number

    Column lt number

    Column le number

    Column gt number

    Column ge number

    Value eq 20

    Value ne 100

    Value lt 1000

    Value le 50000

    Value gt 200

    Value ge 50

  4. Currency Column: Start by entering the internal name of the Currency column equals(eq) enter the value which user want to filter and run the flow show the output.Currency Column
    Column Type Available operator(s) | Functions Usage Example
    Currency ($, ¥, €)  eq [equals]

    ne [not equals]

    startswith() [column value begins with…]

    substringof() [column value contains…]

    lt [less than]

    le [less or equal than]

    gt [greater than]

    ge [greater or equal than]

    Column eq number

    Column ne number

    startswith(Column, ‘value’) substringof(‘value’, Column)

    Column lt number

    Column le number

    Column gt number

    Column ge number

    Rate eq 20

    Rate ne 100

    startswith(Rate, ‘5’) substringof(‘500’, Rate)

    Rate lt 1000

    Rate le 50000

    Rate gt 200

    Rate ge 50

  5. Date and Time: Enter the internal name of the date column, followed by “equals (eq),” and input the desired date for filtering. Ensure that you enclose the date in single quotes and here to the date format as shown: Date Format (yyyy-mm-dd”).Date and Time
    Column Type Available operator(s) | Functions Usage Example
    Date and Time eq [equals]

    ne [not equals]

    lt [less than]

    le [less or equal than]

    gt [greater than]

    ge [greater or equal than]

    Date eq ‘date’

    Date ne ‘date’

    Date lt ‘date’

    Date le ‘date’

    Date gt ‘date’

    Date ge ‘date’

    Date eq ‘2024-01-18’

    Date ne ‘2024-01-18’

    Date lt ‘2024-01-18’

    Date le ‘2024-01-18’

    Date gt ‘2024-01-18’

    Date ge ‘2024-01-18’

  6. Lookup Column: Begin by including the internal name of the Lookup column, followed by “equals (eq),” to specify the lookup ID.Lookup Column
    Column Type Available operator(s) | Functions Usage Example
    Lookup eq [equals]

    ne [not equals]

    Lookup eq ‘Lookup ID’

    Lookup ne ‘Lookup ID’

    Lookup eq ‘123’

    Lookup ne ‘123’

  7. Checkbox: Yes/No Checkbox: Input the internal name of the checkbox, followed by “equals (eq),” and add either ‘0’ or ‘1’.
    ‘0’ corresponds to “No.”
    ‘1’ corresponds to “Yes.”Checkbox

    Column Type Available operator(s) | Functions Usage Example
    Yes eq [equals]

    ne [not equals]

    Checkbox eq 1

    Checkbox ne 1

    Checkbox eq 1

    Checkbox ne 1

    No eq [equals]

    ne [not equals]

    Checkbox eq 0

    Checkbox ne 0

    Checkbox eq 0

    Checkbox ne 0

  8. Person or Group: Input the internal name of the person or group, followed by “equals (eq).” Add either the email address or the first name and last name of the person.Person or Group
    Column Type Available operator(s) | Functions Usage Example
    Person or Group eq [equals]

    ne [not equals]

    Person/EMail eq ’email address’

    Person/Title eq ‘user name’

    Person/EMail ne ’email address’

    Person/Title ne ‘user name’ ‘user name’

    Person/EMail eq ‘person@company.com’ 

    Person/Title ne ‘Firstname Lastname’

In conclusion, Power Automate Filter Query emerges as a crucial tool for refining data workflows. By mastering its syntax and leveraging its capabilities, users can efficiently filter and process data, ensuring relevance and accuracy.

This feature enables dynamic automation, allowing for tailored and precise data handling. Embracing Power Automate Filter Query empowers users to optimize workflows, enhancing overall efficiency in their automation endeavours.

Building Powerful Applications: A Guide to Creating Custom Connectors in Power Apps

Microsoft Power Apps has emerged as a significant change in the realm of app development, offering a versatile platform to create powerful applications. One key feature that takes the capabilities of PowerApps to the next level is the ability to create custom connectors. In this blog post, we will guide you through the process of creating a custom connector in PowerApps, allowing you to seamlessly integrate your apps with various data sources and unlock the full potential of this remarkable platform.

Understanding the Power of Custom Connectors in PowerApps 

PowerApps, at its core, empowers users to build applications with minimal coding. However, true magic happens when you leverage custom connectors. These connectors act as bridges, enabling your apps to connect with external data sources, services, and APIs. By creating a custom connector, you open the door to a world of possibilities, extending the functionality of your apps and ensuring they meet the unique requirements of your business or project. 

What is a PowerApps Custom Connector? 

A PowerApps Custom Connector serves as a conduit for integrating your custom APIs with Microsoft Power AppsMicrosoft Power Automate, and Azure Logic Apps. It acts as a wrapper around an API, facilitating communication between different systems. 

Think of a Custom Connector as a vital link that bridges the gap between PowerApps and external services, such as APIs or various data sources. Its primary function is to enable seamless access, retrieval, and manipulation of data. By functioning as this intermediary, Custom Connectors significantly enhance the capabilities of your apps, allowing them to interact with external services effortlessly. 

Image

Creating a New Custom Connector:

Step 1: Sign into Power Apps 

Step 2: Select Custom connectors” in the Navigation pane on the left. 

Image

 

Step 3: Click on “New Custom Connector and choose “Create from blank. 

image

Step 4: Provide a meaningful name for your connector. 

image

General details of the API and Power Apps Connector: 

  • In the Description field, enter a meaningful value. This description will appear in the custom connector’s details, and it can help others know if the connector could be useful to them. 
  • Schema: HTTP or HTTPS. 
  • Update Host to the address for the API URL. The connector uses the API host and the base URL to determine how to call the API.

Select on Security to continue. 

Image

Defining security sections: 

Choose authentication type On the Security tab. 

Image

Select on Definition to continue.

Custom Connector in PowerApps definition: 

In the definition section, you can define multiple actions for your custom connector. For this blog, we will cover a single action. Click on “New action,” fill in the summary and description, and name the operation ID field for future reference. 

In the operation ID field, name the field which will be easy to remember and meaningful as this field will be required later in the canvas app. 

Create a New Action – Actions > Select New Action 

Image

Complete the SummaryDescription/Operation ID for the new action.

Image

Import from sample: 

Here, we will define the requirement needed for the request. 

We will use GET as we are getting data from the API. 

In the URL, provide the endpoint which we use earlier to test by city name and click import. 

Image

Image

image

Defining a Response in our custom connector: 

Select Add default response. 

Image

Select Import from sample

Image

Copy a RAW JSON response from URL. 

In example case from the URL: https://api.weatherapi.com/v1/current.json?key=4c140806280a4b5992c123944230505&q=India&aqi=no 

Image

Paste Body example (as shown below): 

Then, select Import. 

Image

Finally, you will see the properties loaded in the response. 

Select on Code to continue. 

Image

Test the Custom Connector in PowerApps: 

Select Test from Create a new Connection. 

Select New Connection. 

Then, select Create. 

Image

Image

Image

Test Operation: 

Select Test Operation. 

Image

Image

Integrating PowerApps with APIs (Custom Connector):

After creating our custom connector, we will now see how to add our custom connector to our canvas app and use it as a data source. 

Sign in to PowerApps. 

Start a new app or open an existing one. 

Navigate to Home > Blank app.

Image

A blank screen will be displayed. 

Click on the data icon and select “Add data.” 

Go to the Connectors tab or locate your custom connector in the list. 

Select the custom connector to load and establish a connection.

Image

Now, you just must use a label and see whether it is working or not. 

Use the formula given below to test it. 

The custom connector is the connector name we have given earlier, and the place is the operation ID. 

Note: use your own API Key in the app id.

Add Text Label and Input Boxes: 

Include Text labels and Text input boxes in your app. 

Use the formula below to display real-time data: 

For Temperature: 

Default = gblCurrentWeather.current.temp_f 

For Time Zone 

Default = gblCurrentWeather.location.localtime 

For Wind Speed 

Default = gblCurrentWeather.current.wind_kph 

For Cloud Cove 

Default = gblCurrentWeather.current.cloud 

Image

Image

Configure Button Properties: 

Add a button to trigger data retrieval. 

Set the OnSelect property with the following code: 

OnSelect = Set(gblCurrentWeather,CustomConnectorinPowerApps.GetTotalWeather({q:txtCity.Text})) 

Image

Run the PowerApps 

Execute the PowerApp. 

Input the city name and click the button to retrieve and display the values.

Image

Conclusion: 

Custom connectors in Power Apps open doors to API integration beyond standard connectors. This guide walked you through creating custom connectors, empowering you to tailor solutions for unique needs. Whether building apps or automating workflows, custom connectors enhance connectivity. If you have questions or feedback, share them in the comments. Best of luck in your Power Apps journey! 

Create a Responsive Container-based Popup Dialog Box in Power Apps

Creating a responsive container-based popup dialog box in Power Apps involves designing a dynamic and adaptable dialog box that adjusts its size and layout based on the content and screen size. This approach typically utilizes container controls to organize and structure the dialog box elements. Containers offer flexibility in terms of layout and control placement compared to traditional popup forms.

Step 1: Add a new screen in PowerApps and include a vertical gallery connected to your data source. In the screenshot below, display the data with three columns: ‘Project Name,’ ‘Assigned to,’ and ‘Submitting Date.’ Add the edit and delete icon in the gallery1

img

Step 2: Add the Delete and Edit Icon. Add the formula below to the OnSelect property of the Delete icon 

img

Set(varDialog,true)

img

Step 3: Click on Screen1 and insert the Vertical container. Add the variable to the Visible property of the Vertical container. Set the Vertical container’s height and width according to the parent size.

img

Step 4: Click on Container4 and add a new vertical container. Adjust the height and width according to the screen, then on the right side Justify (vertically) and align (horizontally) it in the centre.

jm

Step 5: Click on Container 5 and add the Cancel icon and Text label. Click on the Cancel button, select the OnSelect property, and enter the formula below. Then, add the text to the Text label. 

ghfc

Step 6: Next, click on Container5 and add a horizontal container. Add the 2 buttons in the horizontal container, set their positions to center horizontally, and add a gap between the two buttons.

 
seg fgnf

Step 7: Add the following formula to the OnSelect property of the button “Yes” and “No” buttons respectively. 

On the Yes button add the below formula: 

Remove('Project Details',Gallery3.Selected);Set(VarDialog,false);Notify("Item has been deleted",NotificationType.Information,30000)

Project details replace with your data list.

On the No button add the below formula:

Set(VarDialog,false)
 htrnh Step 8: Click on the delete button to display the popup. If you wish to delete the item, click the ‘Yes’ button, and a notification will appear saying ‘Item has been deleted. 

Step 8: Click on the delete button to display the popup. If you wish to delete the item, click the ‘Yes’ button, and a notification will appear saying ‘Item has been deleted. 

img

Step 9: Click on the Edit button, create a new variable, and add the formula on Onselect property.

EditForm(Form1);Set(VarDialogedit,true)
 dsv

Step 10: Click on Screen1 and add a new vertical container. Set the height and width according to the parent size. Also, set the variable in the Visible property of the vertical container. 

VarDialogedit

 fb

Step 11: Click on the Container and insert a new vertical container. Adjust the justification (vertical) and alignment (horizontal) to centre. Click on Container10, add the cancel icon, select the OnSelect property, and enter the formula below.

Set(VarDialogedit,false)

igg

Step 12: Click on Container 10 and add the Edit form, connecting the data with the data list. 

img

Step 13: Click on Container10 and add a horizontal container. Include two new buttons and adjust their sizes according to the form size. Write the formula below for the Cancel button. 

Set(VarDialogedit,false) 
cvf

Step 14: Click on the OnSelect property of the Save button and add the formula. 

SubmitForm(Form1)


gm

Step 15: Click on Form1, select the OnSuccess property, and write the formula. When the user edits any column and clicks the Save button, display a notification for 3 seconds indicating that the item has been updated successfully.
Set(VarDialogedit,false);Notify("Item has been updated 


fxdbd

Step 16: Click on the edit button to modify details according to requirements. After making the necessary changes, click on the save button to update the column values.
db
In conclusion, creating a responsive container-based popup dialog box in Power Apps involves designing a dynamic and adaptable dialog box that adjusts its size and layout based on the content and screen size. By utilizing container controls like the Group control, developers can organize and structure the dialog box elements effectively. Key considerations include ensuring responsive design, accommodating dynamic content, implementing show/hide logic, optional use of animations for enhanced user experience, and handling user input if required. This approach allows for a user-friendly experience across various devices and screen sizes in Power Apps.

Unveiling Auditing Excellence: Microsoft Purview’s Advanced Features

Auditing is the process of investigating security events, conducting forensic investigations, complying with internal regulations, and meeting external compliance obligations. It involves capturing, recording, and retaining a unified audit log. 

In other words, it means keeping a close eye on what happens in the system. It checks actions, changes, and who accesses data to follow rules and keep everything secure. It helps manage risks and ensures that everything meets the required standards.

In Microsoft 365, there are two Auditing options: 

  • Audit Standard: This is the basic option with lots of searchable events stored for 90 days. You can export these records easily. 
  • Audit Premium: This is more advanced. It includes everything in Audit Standard but also keeps records longer, identifies important events, and allows more data access. 

Key Features of Audit New Search 

  • Customizable Query Parameters: The tool offers flexibility in defining search parameters, allowing users to tailor audits based on date ranges, data types, or specific compliance criteria. 
  • Intelligent Insights: Leveraging Microsoft’s robust algorithms, Audit New Search provides insightful data analytics, enabling users to extract actionable insights from the audit results. 
  • Comprehensive Reporting: Generate detailed reports summarizing audit findings, facilitating comprehensive analysis, and aiding in compliance improvement strategies. 
  • User-Friendly Interface: The intuitive interface ensures ease of navigation, allowing both novice and experienced users to navigate the tool effectively.

Benefits of Microsoft Purview’s Audit: 

  • Improved security posture: By understanding what is happening in your Microsoft 365 environment, you can identify and address security threats more quickly. 
  • Reduced compliance risk: Audit logs can help you demonstrate compliance with internal regulations and external compliance requirements. 
  • Improved incident response: Audit logs can provide valuable evidence in the event of a security incident. 
  • Enhanced investigations: Audit logs can help you investigate security incidents and other events more effectively.

How to Audit with Microsoft 365  

Auditing in Microsoft 365 is part of Microsoft Purview. Thousands of actions and operations conducted across Microsoft 365 services and solutions are reported in your organization’s unified audit log. IT admins, risk teams, and compliance and legal operators within an organization can search audit logs using the audit log search tool. 

You must be assigned the Audit Logs role in the Microsoft Purview compliance portal to turn auditing on or off in your Microsoft 365 organization. By default, this role is assigned to the Audit Manager, Organization Management, and Security Administrator role groups on the Permissions page in the compliance portal.

Verify the Auditing status for your organization 

Audit logging is turned on by default for Microsoft 365 organizations. However, when setting up a new Microsoft 365 organization, you should verify the auditing status for your organization.

Use PowerShell to turn on Auditing 

To verify that auditing is turned on for your organization, Execute the subsequent command in PowerShell, following each step.

Step 1:  Import-Module ExchangeOnlineManagement 

Step 2:  Connect-ExchangeOnline -UserPrincipalName <UPN>  

“UPN is your account in user principal name format (for example, xyz@contoso.onmicrosoft.com).” 

In the sign-in window that opens, enter your password, and then click Sign in. 

MFA only: A verification code is generated and delivered based on the response option that’s configured for your account 

Step 3 :  Get-AdminAuditLogConfig | Format-List UnifiedAuditLogIngestionEnabled

image

A value of True for the “UnifiedAuditLogIngestionEnabled” property indicates that auditing is turned on. A value of False indicates that auditing isn’t turned on. 

Be sure to run the previous command in Exchange Online PowerShell. Although the Get-AdminAuditLogConfig cmdlet is also available in Security & Compliance PowerShell, the UnifiedAuditLogIngestionEnabled property is always False, even when auditing is turned on

image

Assign permissions from compliance portal to scope Audit logs 
The following screenshot shows the two audit-related role groups in the compliance portal.

image

To search or export the audit log, administrators or members of investigation teams must be assigned to at least one of the following audit-related role groups in the compliance portal 

Audit Manager: A user assigned to the Audit Manager role group can search and export the audit log and manage audit settings for the tenant (like enabling or disabling audit logging). This role group grants the View-Only Audit Logs and Audit Logs roles to the user. 

Audit Reader: A user assigned to the Audit Reader role group can only search and export the audit log. They can’t enable or disable audit logging. This role group grants the View-Only Audit Logs role to the user 

Search the Audit log in Microsoft Purview 

Now you’re ready to search the audit log in the Microsoft Purview compliance portal. 

1. Go to https://compliance.microsoft.com and sign in using an account that has been assigned the appropriate audit permissions. 

2. Select the Audit tab on the left panel of the homepage to navigate to the Audit tool.

Image

3. Select New Search tab at the top of the Audit page.

image

4. On the New Search tab, configure the following search criteria as applicable: 

  • Date Range: Choose a date range up to 180 days to view events, with the default set to the last seven days in Coordinated Universal Time (UTC). 
  • Keyword Search: Look for specific words or phrases in the audit log, replacing special characters with asterisks for text containing such characters. 
  • Admin Units: Filter audited activities based on specific administrative units within your organization. 
  • Activity Names: Select user or admin activity groups or individual activities to focus your search in the log. 
  • Operation Names: Specify exact operation names to refine search results, enabling flexible data discovery. 
  • Record Types: Filter audited activities based on specific types for more targeted search results. 
  • Search Name: Create a custom name for your search job to distinguish it in the search job history. 
  • Users: Choose specific users to see their related audit log entries or leave blank for all users. 
  • File, Folder, or Site: Search for file or folder activities by entering related keywords or URLs. 

**Select Search to start your search job. A maximum of 10 search jobs can be run in parallel for one user account. ** 

Search Job dashboard

Active and completed search jobs are displayed in the search job dashboard. The dashboard displays the following information for each search job: 

Image

  • Search name: The name of the search job. The full search name for a job can be seen by hovering the cursor over the search job name. 
  • Job status: The status of the search job. The status can be Queued, In Progress, or Completed. 
  • Progress (%): The percentage of the search job that has been completed. 
  • Search time: The total running time that elapsed to complete the search job. 
  • Total results: The total number of results returned by the search job. 
  • Creation time: The date and time the search job was created in UTC. 
  • Search performed by: The user account that created the search job. 

Search Job details dashboard 

To view details about a search job, select the search job. The total number of items in the job is included at the top of the dashboard. The total result number deducts duplicates, which is why it might be less than the number of items in the search job dashboard. 

Image

The search job details dashboard displays following information about the individual items gathered in the search job results: 

  • Date (UTC): The date and time the activity occurred. 
  • IP Address: The IP address of the device that was used to perform the activity. 
  • User: The user account that performed the activity. 
  • Record type: The record type associated with the activity. 
  • Activity: The friendly name of the activity that was performed. 
  • Item: The name of the file, folder, or site that the activity was acted on. 
  • Admin Units: The admin unit that the user account that performed the activity belongs to. 
  • Details: Additional details about the activity.

Export the Audit report 

This option exports all the audit records from the audit log search you ran, and adds the raw data from the audit log to a CSV file. It takes a while to prepare the download file for a large search. Large files will result when searching for all activities or using a wide date range. 

Format the exported Audit log using the Power Query Editor 

The next step is to use the JSON transform feature in the Power Query Editor in Excel to split each property in the JSON object in the Audit Data column into its own column. Then you filter columns to view records based on the values of specific properties. This can help you quickly locate the specific auditing data you’re looking for. 

1. Open a blank workbook in Excel for Office 365, Excel 2019, or Excel 2016. 
2. On the Data tab, in the Get & Transform Data ribbon group, select From Text/CSV.

Image

3. Open the CSV file that you downloaded in Step 1. 
4. In the window that’s displayed, select Transform Data.

image

The CSV file is opened in the Query Editor. There are four columns: Creation Date, User Ids, Operations, and Audit Data. The Audit Data column is a JSON object that contains multiple properties. The next step is to create a column for each property in the JSON object.

5. Right-click the title in the Audit Data column, select Transform, and then select JSON.

Image

6. In the upper-right corner of the AuditData column, select the expand icon.

Image

7. Select Load more to display all properties in the JSON objects in the AuditData column.

image

You can unselect the checkbox next to any property that you don’t want to include. Eliminating columns that aren’t useful for your investigation is a good way to reduce the amount of data displayed in the audit log. 

Newsletters