Categories
Microsoft Dynamics

Framework for Microsoft Dynamics 365 CE

This is a framework for Microsoft Dynamics 365 CE developed by me. You can found it in GitHub and Nuget. You can simply add and start to you is via Nuget in Visual Studio.

This framework allows you to access and manage all development structure of Dynamics 365.

Framework for Microsoft Dynamics 365 CE

Cube.XRM.Framework.Core: This is the main project of this framework. If you want to integrate external applications with Dynamics CRM you have to generate a Service object and connect to the Dynamics CRM. This project generates a Dynamics CRM Service and connects to the CRM instance. Also, this project contains some other core functionalities of the framework such as logging.

Cube.XRM.Framework: All framework functionalities are coming from this project.

  • Cube Base: All main functionalities are collected in this class like Plugin/Workflow Context, Create, Retrieve, Update and Delete operations, etc.
  • Cube Entity: If you want to create your own classes like Dynamics CRM entities this class will help you with add you some extra functionalities if you inherit your class from this class.
  • Exception Handler: Handle CRM Exceptions
  • Object Carrier: You can keep objects in memory with specified keys and access them later.
  • Settings: Framework setting are generating from this class.

Cube.XRM.Framework.AddOn: You can access all framework functionalities – Context, Log Mechanism, Service will be ready to use in your Plugin and Workflow.

Cube.XRM.Framework.IntegrationTester: This is just a test project also you can generate your settings file with this project.

Nuget:

You can add it your project via below codes:

Install-Package Cube.XRM.Framework.D365 -Version 1.462.0
dotnet add package Cube.XRM.Framework.D365 --version 1.462.0

More details here: https://www.nuget.org/packages/Cube.XRM.Framework.D365/

Or, you can download all source code from here:

https://github.com/bkanlica/Cube.XRM.Framework

Also, you can follow “Framework” tag in my blog for future updates and old posts for the Framework for Microsoft Dynamics 365 CE.

Please follow and like us:
Categories
Microsoft Dynamics

Avoid selecting all columns for optimal performance in Dynamics 365

For optimal performance, you should only select the minimum amount of data needed by your application when querying CRM data.  Queries that include a defined ColumnSet where the ColumnSet.AllColumns property is ‘true’ instruct the CRM data access platform to issue a SELECT * on all physical data included in the query plan.  This scenario should be avoided whenever possible.  
 

Violation Examples

ColumnSet.AllColumns setter method call
    var columns = new ColumnSet();
    columns.AllColumns = true;


    var query = new QueryExpression("account");
    query.ColumnSet = columns;


    var results = service.RetrieveMultiple(query);
ColumnSet(bool allColumns) constructor overload
    var query = new QueryExpression("account")
    {
        ColumnSet = new ColumnSet(true)
    };
 

    var results = service.RetrieveMultiple(query);
ColumnSet(bool allColumns) constructor overload for RetrieveRequest
    var entity = service.Retrieve("account", Guid.NewGuid(), new ColumnSet(true));

Guideline Examples 

ColumnSet(param string[] columns) constructor overload for QueryExpression
    var query = new QueryExpression("account")
    {
        ColumnSet = new ColumnSet("name", "address1_city")
    };
 
    var results = service.RetrieveMultiple(query);
ColumnSet(param string[] columns) constructor overload for RetrieveRequest
    var entity = service.Retrieve("account", Guid.NewGuid(), new ColumnSet("name", "address1_city"));
ColumnSet.AddColumn(string column) method call
    var query = new QueryExpression("account");
    query.ColumnSet.AddColumn("name");
    query.ColumnSet.AddColumn("address1_city");
 
    var results = service.RetrieveMultiple(query);
ColumnSet.AddColumns(param string[] columns) method call
    var query = new QueryExpression("account");
    query.ColumnSet.AddColumns("name", "address1_city");
 
    var results = service.RetrieveMultiple(query);

Usage of the Retrieve method should set the columnSet parameter to a ColumnSet instance with specified columns.  Usage of QueryExpression should set the  QueryBase.ColumnSet property with the required attributes. 

The following messages contain reference a ColumnSet instance:

Message
ConvertQuoteToSalesOrderRequest Class 
ConvertSalesOrderToInvoiceRequest Class 
GenerateInvoiceFromOpportunityRequest Class 
GenerateQuoteFromOpportunityRequest Class 
GenerateSalesOrderFromOpportunityRequest Class 
QueryByAttribute Class 
QueryExpression Class 
RetrieveAllChildUsersSystemUserRequest Class 
RetrieveBusinessHierarchyBusinessUnitRequest Class 
RetrieveMembersTeamRequest Class 
RetrieveRequest Class 
RetrieveSubsidiaryTeamsBusinessUnitRequest Class 
RetrieveSubsidiaryUsersBusinessUnitRequest Class 
RetrieveTeamsSystemUserRequest Class 
RetrieveUnpublishedRequest Class 
RetrieveUserSettingsSystemUserRequest Class 
ReviseQuoteRequest Class 
SearchByBodyKbArticleRequest Class

Build queries with QueryExpression

In Microsoft Dynamics 365 (online & on-premises), you can use the QueryExpression class to programmatically build a query containing data filters and search conditions that define the scope of a database search. A query expression is used for single-object searches. For example, you can create a search to return all accounts that match certain search criteria. The QueryBase class is the base class for query expressions. There are two derived classes: QueryExpression and QueryByAttribute. The QueryExpression class supports complex queries. The QueryByAttribute class is a simple means to search for entities where attributes match specified values.

Query expressions are used in methods that retrieve more than one record, such as the IOrganizationService.RetrieveMultiple method, in messages that perform an operation on a result set specified by a query expression, such as BulkDeleteRequest and when the ID for a specific record is not known.

In addition, there is a new attribute on the organization entity, Organization.QuickFindRecordLimitEnabled. When this Boolean attribute is true, a limit is imposed on quick find queries. If a user provides search criteria in quick find that is not selective enough, the system detects this and stops the search. This supports a faster form of quick find and can make a big performance difference.

References:  

Use the QueryExpression Class

http://msdn.microsoft.com/en-us/library/gg334688.aspx

ColumnSet Class

http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.query.columnset.aspx

Use of the ColumnSet Class

http://msdn.microsoft.com/en-us/library/gg309532.aspx

Please follow and like us:
Categories
Event Speaker

Community Summit new dates are announced


I am one of the speakers of Community Summit (https://www.summiteurope.com/) and I have a session every year at this event. This year’s event postponed to July because of the Coronavirus.

Their announcement is:

The health and safety of our community members are of utmost importance to us. Out of an abundance of caution for the impact of the novel Coronavirus, we have made the decision to reschedule Community Summit Europe and extreme365 events that were previously scheduled for March 9-12, 2020 in Barcelona. We invite you to join us for the new dates on June 29 – July 2nd, 2020 at the Fira Barcelona. Read about this decision. 

My session is rescheduled to the 2nd of July. I hope to see you there…

Please follow and like us:
Categories
Event Speaker

D365 London 2020 event… “Leverage AI Insights with Dynamics 365”

"Leverage AI Insights with Dynamics 365" in 365 Saturday London 2020
It is time for the London 2020 event…

It is time for the biggest D365 Saturday event all the world! This event will take place at the Microsoft Office in Paddington London on 8 February 2020.
I have a session “Leverage AI Insights with Dynamics 365” at this event on 8th February. The session in Microsoft London Office between 15:00 and 16:00.

Full details and event schedule is here: https://www.365portal.org/events/event/?id=33ea899b-28e9-e911-a812-000d3a86d68d

Dynamics 365 Saturday is a free Technical & Strategy Event Organised by the Microsoft Dynamics Community MVP’s For CRM and ERP professionals, technical consultants & developers. Learn & share new skills whilst promoting best practices, helping organisations overcome the challenges of implementing a successful digital transformation strategy with Microsoft Dynamics 365.

Dynamics 365 Saturday will replace CRM Saturday to provide a single platform to serve the whole Dynamics 365 community, the core customer experience values and ethics of CRM Saturday will continue to live on through 365 Saturday with the rest of the Dynamics Community.

There are several AI solutions in Dynamics 365. “Leverage AI Insights with Dynamics 365” session focuses on demos what is AI, what can it do, and cannot do.
This session will cover below AI solutions of Microsoft;

Dynamics 365 Sales Insights:
Increase sales and improve decision making with AI-powered insights fueled by customer data.

Dynamics 365 Customer Insights:
Gain a 360-degree view of customers and discover insights that drive personalised customer experiences.

Dynamics 365 Customer Service Insights:
Leverage AI-driven insights to make better decisions and proactively improve customer satisfaction with confidence.

Full details here: https://www.365portal.org/events/event/?id=33ea899b-28e9-e911-a812-000d3a86d68d

More information about my other sessions:

https://bariskanlica.com/category/strategy/event-speaker/

Please follow and like us:
Categories
Event Speaker

D365 Dubai Summit 2020

Dynamics 365 Saturday is a free Technical & Strategy Event Organised by the Microsoft Dynamics Community MVP’s For CRM and ERP professionals, technical consultants & developers. Learn & share new skills whilst promoting best practices, helping organisations overcome the challenges of implementing a successful digital transformation strategy with Microsoft Dynamics 365.

Dynamics 365 Saturday will replace CRM Saturday to provide a single platform to serve the whole Dynamics 365 community, the core customer experience values and ethics of CRM Saturday will continue to live on through 365 Saturday with the rest of the Dynamics Community.

I have a session at this event on 29th February. The session name is “AI-Driven Customer Insights” between 11:00 and 12:00.

For more information and program agenda please visit: https://www.365portal.org/events/event/?id=e1a804e4-37cf-e911-a813-000d3a86d7a8

Please follow and like us:
Categories
Barisin Gunlugu

Kiralama Modeli Endeksi

The-Subscription-Index

Size belki şaka gelecek ama sizin torununuz ya da torununuzun çocuğu geçmiş hakkında konuşurken sizin bir ev, araba, vb… satın alma nedeninizi anlamayacak.

Çünkü onun dünyasında bireysel satın alma kavramı olmayacak, gelecekte insanlar hiçbirşeyi satın almayacaklar herşeyi kiralayacaklar…

Herşey ama herşey kullandığın kadar öde kavramı içerisinde yer alacak. İşte bunun kanıtı niteliğinde bir çalışma…

Please follow and like us:
Categories
AI and Machine Learning

Supervised Machine Learning

Supervised-Machine-Learning

Machine Learning konusuna ilgi duyanlar guzel bir kaynak.

It is a great resource for Machine Learning.

Machine learning gives computers the ability to learn without being explicitly programmed for the task at hand. The learning happens when data is combined with mathematical models, for example by finding suitable values of unknown variables in the model.

The most basic example of learning could be that of fitting a straight line to data, but machine learning usually deals with much more flexible models than straight lines.

The point of doing this is that the result can be used to draw conclusions about new data, that was not used in learning the model.

If we learn a model from a data set of 1000 puppy images, the model might — if it is wisely chosen — be able to tell whether another image

Please follow and like us:
Categories
Barisin Gunlugu

10 Adimda Erken Kalkmak

10-steps-to-waking-up-early

Erken kalkan yol alir diye bosuna soylemiyorlar. Erken kalkmanin ozellikle yogun calisanlar icin bir cok avantaji var.

Bu 10 adim/ogut aslinda sadece erken kalkmak icin degil genele de uyarlanabilir, diyet programi ya da daha duzenli calismak icin de benzer adimlari uygulayabilirsiniz. Bu tarz 10 adimlik listeler halinde bir isi devam ettirmek sizin o isi daha verimli ilerletmenizi ve tutarli olmanizi saglayacaktir.

Iste size 10 adim:

1. Bir neden bulun
2. Gerceklestirebilir hedefler belirleyin
3. Ilerlemenizi takip edin
4. Kendinizi odullendirin
5. Zamanlamanin onemini farkedin
6. Uyuma gunlugu tutun
7. Haftasonlari da programa sadik kalin
8. Cok detayli bir sekilde sabahlarinizi programlayin
9. Yediklerinizi hazmetme zamani olusturun
10. Tutarli olun

Please follow and like us:
Categories
AI and Machine Learning

Machine Learning for Everyone

ml-for-everyone

Machine Learning for Everyone makina ogrenmesinin temellerine inen ve konuyu basitçe anlatan güzel bir e-kitap.

Machine Learning for Everyone is a good ebook that goes to the basics of machine learning and simply tells the subject.

Classical machine learning is often divided into two categories – Supervised and Unsupervised Learning.

In the first case, the machine has a “supervisor” or a “teacher” who gives the machine all the answers, like whether it’s a cat in the picture or a dog. The teacher has already divided (labeled) the data into cats and dogs, and the machine is using these examples to learn.
One by one. Dog by cat. Unsupervised learning means the machine is left on its own with a pile of animal photos and a task to find out who’s who. Data is not labeled, there’s no teacher, the machine is trying to find any patterns on its own. We’ll talk about these methods below.
Clearly, the machine will learn faster with a teacher, so it’s more commonly used in real-life tasks.
There are two types of such tasks:
classification – an object’s category prediction, and
regression – prediction of a specific point on a numeric axis.

You can find the details in the book.

Please follow and like us:
Categories
AI and Machine Learning

Big Data Case Study Collection

big-data-case-study

Machine Learning use cases in Google, Facebook, Amazon, Microsoft, Kaggle, General Electric, and Cornerstone…

Big Data is a big thing and this case study collection will give you a good overview of how some companies really leverage big data to drive business performance.

They range from industry giants like Google, Amazon, Facebook, GE, and Microsoft, to smaller businesses which have put big data at the centre of their business model, like Kaggle and Cornerstone.

This case study collection is based on articles published by Bernard Marr on his LinkedIn Influencer blog.

Please follow and like us: