Google Anlatics

Sunday, December 25, 2022

How to Become a CRM Developer for Microsoft Dynamics 365 Online

Microsoft Dynamics 365 Online is a cloud-based CRM system that helps businesses manage customer relationships and interactions across various channels. As a CRM developer for Dynamics 365 Online, you will be responsible for building custom solutions and integrations using the Dynamics 365 platform. If you are interested in pursuing a career as a Dynamics 365 developer, here are some steps you can follow:

1. Gain a solid understanding of computer programming concepts: Dynamics 365 developers need to have a strong foundation in computer programming concepts such as data structures, algorithms, and software design principles. Consider taking online courses or earning a degree in computer science or a related field to gain these skills. Some resources to help you learn these concepts include:

Coursera (https://www.coursera.org/)

Khan Academy (https://www.khanacademy.org/)

Code Academy (https://www.codecademy.com/)

2. Learn a programming language: Dynamics 365 developers typically use a programming language such as C# and .NET to build custom solutions for the platform. Choose a language that you are interested in learning and start practicing with online tutorials and exercises. Some resources to help you learn C# and .NET include:

Microsoft Visual Studio (https://visualstudio.microsoft.com/)

C# Fundamentals on Pluralsight (https://www.pluralsight.com/courses/csharp-fundamentals)

C# Programming Yellow Book (http://www.csharpcourse.com/)

3. Familiarize yourself with Dynamics 365 concepts: It's important to have a solid understanding of Dynamics 365 concepts and how they are used in business. Some topics to consider learning include customer segmentation, sales processes, and marketing automation. You can find more information on Dynamics 365 concepts and features on the Microsoft Dynamics 365 website (https://dynamics.microsoft.com/en-us/).

4. Get experience working with Dynamics 365: Look for opportunities to work with Dynamics 365, whether through internships, part-time jobs, or freelance projects. This will give you practical experience working with the platform and help you build your skills and portfolio.

5. Consider earning a certification: Earning a certification, such as a Microsoft Dynamics 365 Developer Associate certification, can demonstrate your skills and knowledge to potential employers and help you stand out in the job market. You can find more information on Dynamics 365 certifications on the Microsoft Learning website (https://docs.microsoft.com/en-us/learn/certifications/dynamics-365/).

6. Stay up-to-date on industry trends: As with any field, the CRM industry is constantly evolving. Make sure to stay up-to-date on the latest trends and best practices for Dynamics 365 by reading industry blogs, attending conferences, and participating in online communities. Some resources to help you stay informed include:

The Microsoft Dynamics 365 blog (https://cloudblogs.microsoft.com/dynamics365/)

The Dynamics 365 User Group (https://dynamiccommunities.com/dynamics-365-crm)

Stack Overflow (https://stackoverflow.com/)

7. Create a trial version of Dynamics 365 Online: If you want to try out Dynamics 365 Online and get a feel for the platform, you can create a trial version using the following steps:

1. Go to the Microsoft Dynamics 365 website (https://dynamics.microsoft.com/) and click on the "Try it now" button.

2. On the next page, select the "Try Dynamics 365 for free" option.

3. Sign in with your Microsoft account, or create a new one if you don't have one.

4. Fill in the required information, including your name, company name, and email address.

5. Accept the terms and conditions, and then click on the "Sign up" button.

6. You will receive an email with a link to activate your trial. Click on the link and follow the instructions to complete the activation process.

7. Once your trial is activated, you can log in to Dynamics 365 Online and start exploring the platform. You will have access to all of the features and functionality of the full version of Dynamics 365, but your trial will expire after 30 days.




Security Features in Microsoft Dynamics 365 (CRM) Online

Microsoft Dynamics 365 (CRM) Online is a cloud-based customer relationship management platform that helps businesses manage their sales, marketing, and customer service activities. To ensure the security of the platform and the data stored on it, Dynamics 365 (CRM) Online offers a variety of security features.


1. Encryption: Dynamics 365 (CRM) Online uses SQL Transparent Data Encryption (TDE) to encrypt and decrypt data and log files in real time, helping to protect customer databases at rest. As of December 2017, Microsoft recommends securing the encryption keys used for TDE on the Azure Secure Vault (HSM). This allows you to generate and manage your own encryption keys, and upload them to an Azure Key Vault controlled by Microsoft.

2. Multi-Factor Authentication (MFA) or Two-Factor Authentication (2FA): MFA or 2FA is a security measure that requires an additional method of verifying your identity, such as a one-time code sent to your phone or a security app, in addition to your password. Dynamics 365 (CRM) Online includes basic MFA, but you may need to purchase Azure AD Premium licenses for additional MFA options.

3. Pen testing: Microsoft conducts server-level penetration testing to ensure the security of Dynamics 365 (CRM) Online. These tests are designed to identify and exploit vulnerabilities in the system, and the results are used to improve the security of the platform.

4. Data center security: Dynamics 365 (CRM) Online is hosted on Microsoft Azure, which has a number of security measures in place to protect the data centers that host the platform. These measures include physical security, network security, and data protection. Azure also undergoes regular security audits and assessments to ensure that it meets industry standards and regulations.

5. Compliance: Dynamics 365 (CRM) Online meets a number of industry and government standards and regulations, including GDPR, HIPAA, and ISO 27001. This helps to ensure that the platform is secure and compliant with relevant laws and regulations.

6. Data backup and recovery: Dynamics 365 (CRM) Online includes data backup and recovery capabilities to help protect against data loss. In the event of a data loss or disaster, you can restore your data from a backup to minimize the impact on your business.

7. Access control: Dynamics 365 (CRM) Online includes access control features to help you manage who has access to your data and what they can do with it. This includes role-based security, which allows you to assign different levels of access to different users or groups, and data visibility controls, which allow you to specify which data is visible to which users.

8. Activity logging: Dynamics 365 (CRM) Online includes activity logging to help you track changes to your data and identify any potential security issues. You can view the logs to see who made changes to your data and when, and use this information to help detect and prevent security breaches.

9. Security updates: It is important to keep your Dynamics 365 (CRM) Online instance and any associated apps up to date with the latest security updates to protect against vulnerabilities and threats. Microsoft regularly releases security updates for Dynamics 365 (CRM) Online to help protect against new threats and vulnerabilities.

For more information on the security of Microsoft Dynamics 365 (CRM) Online, visit the following links:

Migrate Dynamics CRM 365 Online to Dynamics CRM 365 On-Premise — Summary

Migrating from Dynamics CRM 365 Online to Dynamics CRM 365 On-Premise can be a complex process, but it is often necessary for organizations that need to access data offline or comply with certain regulations. The migration process involves transferring data, configurations, and customizations from the cloud-based version to the on-premise version, which is installed and run on a local server.

The first step in the migration process is to prepare the on-premise environment by installing and configuring the Dynamics CRM server, setting up Active Directory, and preparing the SQL Server database. Next, data must be exported from the online version of Dynamics CRM using the Dynamics CRM Data Migration Manager. This tool allows users to select the data they want to export and specify a location for the exported files.

Once the data has been exported, it can be imported into the on-premise version of Dynamics CRM using the Import Data Wizard. This tool guides users through the process of mapping the data from the exported files to the appropriate fields in the on-premise version.

After the migration is complete, it is important to test the migrated data to ensure that it has been transferred correctly and that the on-premise version of Dynamics CRM is functioning properly. By following the steps outlined in this blog post and carefully planning and executing the migration process, organizations can successfully migrate from Dynamics CRM 365 Online to Dynamics CRM 365 On-Premise.

chamara iresh's Blog: Migrate Dynamics CRM 365 Online to Dynamics CRM 365 On-Premise

Migrate Dynamics Dynamics CRM 365 On-Premise to CRM 365 Online - Summary

 There are several key differences between Dynamics 365 on-premises and Dynamics 365 online that organizations should consider when deciding which option is best for their needs. Some of the main differences include:


1. Deployment: Dynamics 365 on-premises is installed on an organization's own servers, while Dynamics 365 online is hosted in the cloud.


2. Maintenance and upgrades: With Dynamics 365 on-premises, organizations are responsible for managing and maintaining the system, including installing updates and patches. With Dynamics 365 online, Microsoft handles these tasks.


3. Scalability and performance: Dynamics 365 online is built on Azure, a cloud platform with a global network of data centers, which allows for better scalability and performance compared to on-premises systems.


4. Customization: With Dynamics 365 on-premises, organizations have more flexibility to customize the system to meet their specific needs. However, this customization can also increase the complexity and maintenance required for the system. Dynamics 365 online is more limited in terms of customization, but this can also make it easier to maintain and use.


5. Integration: Dynamics 365 online offers integration with other Microsoft cloud services such as Office 365 and Azure, which can be beneficial for organizations already using these services. Dynamics 365 on-premises can also be integrated with other systems, but this requires additional effort and resources.


6. Cost: The cost of Dynamics 365 on-premises depends on the number of users and the amount of customization required. In general, Dynamics 365 online is likely to be more cost-effective, especially for organizations with a large number of users.


When deciding whether to migrate to Dynamics 365 online, organizations should carefully consider their specific needs and requirements, including the level of customization required, the complexity of the system, and the resources available for maintenance and support. It may be helpful to consult with a Dynamics 365 partner or consultant to determine the best solution for your organization.


Refer below link for details information: 

chamara iresh's Blog: Migrate Dynamics Dynamics CRM 365 On-Premise to CRM 365 Online

Friday, December 2, 2022

Unit Testing with FakeXrmEasy

 Go to below links for more information

https://dynamicsvalue.com/home

BASICS

Basics :: FakeXrmEasy Docs (dynamicsvalue.github.io)

Below content are copied from above link. 

There is a fundamental principle in FakeXrmEasy: which is that is designed as a data-driven test driven development framework.

FakeXrmEasy abstracts the implementation of the IOrganizationService, IOrganizationServiceAsync and IOrganizationServiceAsync2 interfaces.

This saves you from not having to mock requests that implement those interfaces.

FakeXrmEasy simulates a Dataverse backend by keeping an In-Memory database that stores the data in Entities (or Tables) as well as the metadata of these Entities (or Tables).

FakeXrmEasy also comes with a query translation engine that will execute your FetchXml, QueryExpress, QueryByAttribute or CRM LINQ provider queries against such In-memory database. Meaning you could even also test these queries!

Traditional approach with TDD frameworks was to mock interfaces to return dummy responses for purposes of testing functionality.

With FakeXrmEasy, instead, you would setup some minimum data in-memory (if needed) for your logic to be executed, and then, query the state of the In-Memory database after the execution.

From the point of view of the test runner, it’s also an unopinionated mocking framework: you can choose your test runner of choice (xUnit, MSTest, NUnit, etc). The samples below will use xUnit though.

Here’s an example of a unit test that verifies a contact is updated in Dataverse (in this example, _context and _service variables have already been defined in the base test class using a middleware builder: FakeXrmEasyTestsBase (please do check the Middleware documentation for more details))

public class ContactTests : FakeXrmEasyTestsBase
{
    private readonly Contact _contact;

    public ContactTests() 
    {
        _contact = new Contact() { Id = Guid.NewGuid(), FirstName = "Pepe" };
    }

    [Fact]
    public void Should_update_an_existing_contact()
    {
        //The In-Memory database is initialised with just one contact with name "Pepe"
        _context.Initialize(_contact);

        //Execute the system under test
        var cmd = new UpdateContactCommand(_service);
        cmd.ContactId = _contact.Id;
        cmd.FirstName = "Jose";
        cmd.Execute();

        //Retrieve state of the In-Memory database after execution
        var contactUpdated = _context.CreateQuery<Contact>().FirstOrDefault();

        //We, then, verify that the contact was updated with the new name
        Assert.Equal("Jose", contactUpdated.FirstName);
    }

}

And here’s the code that implements the logic that the unit test above verifies. Note, in order to properly test your code, the code should only reference IOrganizationService, IOrganizationServiceAsync or IOrganizationServiceAsync2 interfaces.

public class UpdateContactCommand
{
    public Guid ContactId { get; set; }
    public string FirstName { get; set; }
    
    private readonly IOrganizationService _service;

    public UpdateContactCommand(IOrganizationService service)
    {   
        _service = service;
    }

    public void Execute() 
    {
        _service.Update(new Contact() {
            Id = ContactId,
            FirstName = FirstName
        });
    }
}

As you can see, no mocks were needed, FakeXrmEasy implements those internally and it gives you an IOrganizationService interface that is ready to use.



Application lifecycle management (ALM) with Microsoft Power Platform

Application lifecycle management (ALM) with Microsoft Power Platform - Power Platform | Microsoft Learn

Learn how to implement application lifecycle management (ALM) using Microsoft Power Platform (Power Apps, Power Automate, Dataverse, Power Virtual Agents).

Thursday, December 1, 2022

Solution for Power Apps Connection issue

Recently I have been working on connection changes in several applications and faced issues after connection changes. The change was not published to the staging and live environment.





Issue: After connection update still changes are not reflecting 

Navigate to App



Staging environment Power Apps not allowing to edit the app and publish the changes due to security privilege in my application.


Fix :

Navigate to Solutions --> Your Power App


Open Your Power App




Then Save and Published. Your new changes should reflect now. 



Play the apps to test the changes. 















Sri Lanka .NET 
                Forum Member