Wednesday 27 September 2017

Welcome in Dynamics World: Part-2

In this blog, I will start with technical role. To begin you can start from previous blog Part 1.

Development in Dynamics CRM have two parts: -
1.     Client-side development
·         JavaScript, J-query
·         HTML
·         CSS
2.     Server-side development
·         C# .net
·         Sql server reporting services(SSRS)
For client-side development you need to use Web resources in CRM. I will explain about web resource in this blog.
For server-side development you need to use plugin, custom workflow. I will explain these two component also in upcoming blogs.

Webresource: -
                      Web resources represent files that can be used to extend the Microsoft Dynamics 365 web application such as html files, JavaScript etc. 
Below are three major area where we use web resource.
·        Form customization
·        SiteMap
·        Ribbon customization.

The maximum size of files that can be uploaded is determined by the Organization.MaxUploadFileSize property. This property is set in the Email tab of the System Settings in the Dynamics 365 application. This setting limits the size of files that can be attached to email messages, notes, and web resources. The default setting is 5 MB.


Below are the type of webresources supported by Dynamics CRM.
File
File extensions
Type
Webpage (HTML)
.htm, .html
1
Style Sheet (CSS)
.css
2
Script (JScript)
.js
3
Data (XML)
.xml
4
Image (PNG)
.png
5
Image (JPG)
.jpg
6
Image (GIF)
.gif
7
Silverlight (XAP)
.xap
8
StyleSheet (XSL)
.xsl, .xslt
9
Image (ICO)
.ico
10
There is no type of web resource that supports the capabilities of an ASP.NET(.aspx) page to execute code on the serverSilverlight is outdated now. So use HTML instead of Silverlight.

Solution: -
It is always better to create any web resource in solution. So first know little about solution. In dynamics CRM, in simpler way you can remember Solution as container with contains different kind to components like webresource, process, entity etc which use to migrate form one organization/environment to another. Solution support version control and contains information about company who develop this in “Publisher” attribute of solution.
 Solution are of below types: -
·         Managed Solution
·         Unmanaged Solution
·         Default Solution
Managed Solution: -
                                    Managed solution is a sealed package which cannot directly customized by anyone. So, all the companies or solution partner use manage solution to distribute their packages. You can understand managed solution as an exe file that provided to user to install software in system but the source code remains to developing companies. Dynamics CRM provide a property known as “Customizable” to restrict or unrestricted components of solution. This is an Boolean field which contain only true or false value.
Developers are not allowed to change this property of system defined entity, view, fields etc.
















Unmanaged Solution: -
                                    Every time you create a new solution in dynamics CRM it is created as unmanaged solution. You can add, edit, update, remove, delete, and test any of the components of the solution. You also can create restrictions on the components within the solution. You can export an unmanaged solution either as managed or unmanaged solution. In development organization, we always use unmanaged solution than export it as managed solution for testing and production environment.

Default/System Solution: -
                                    The system solution represents the solution components defined within Microsoft Dynamics 365. Without any managed solutions or customizations, the system solution defines the default application behavior. Many of the components in the system solution are customizable and can be used in managed solutions or unmanaged customizations. We can access a default solution by navigating to Settings->Customizations->Customize the System.


Solution Components: -

Schema:
· Entities
· Attributes
· Relationships
· Global Option Sets

Analytics:
· Dashboards
· Reports
· Visualizations

User Interface:
· Application Ribbon
· SiteMap
· Forms
· Entity Ribbons
· Web Resources

Process/Code:
· Processes – Dialogs and Workflows
· Plug-ins – Assemblies and Processing Steps

Templates:
· Mail-merge
· E-mail
· Contract
· Article

Security:
· Security Roles
· Field Level Security Profiles


You can find all solution navigating Setting->Solution



Before creating any new solution better to create new Publisher or use existing publisher or you can use default publisher but use of default solution is not recommended.

To create new Publisher navigate to Settings->Publishers

Click on new and create new publisher. You can provide your company details also in publisher. Publisher also use to provide solution in marketplace in marketplace for other organization and generate revenue.












To create new solution, navigate to solution and click on new button. Select your publisher and provide solution name and version.

Create Webresource: -
To create new weresource click on webresource icon on left side in solution.













Click on new button and select webresource type like Jscript, HTML etc.
You need to provide name and Display name to your webresource. It is better to utilize file structure while creating any webresource.
You can use below name convention.
Jscript:- /script/<fileName>.js
HTML, Style sheet and Images: - /ws/<filename>.html
Data (XML): -  /Data/<filename>.xml














Do not use “Text Editor” option while creating or updating any web resource always use “Choose File” option and select your file from your system.
It’s just a beginning in Dynamics CRM world. I will try to include all aspects in coming blogs. Part 3

Friday 22 September 2017

Welcome in Dynamics World: Part-1

I’m glad you are visiting my blog series. 
I am writing this series for new beginner who have never
worked in Dynamics CRM and now want to switch or start their carrier in CRM world.


Dynamics CRM version history: -
  • Microsoft Dynamics CRM 1.0 (2003)
  • Microsoft’s CRM 1.2 was released in December 
  • In 2005, CRM 3.0 was released (there is no 2.0…) 
  • In December 2007, Microsoft delivered Microsoft Dynamics CRM 4.0; code-named “Titan”
  • In February 2011, Microsoft released Microsoft Dynamics CRM 2011 
  • Dynamics CRM 2013 was released in November 2013
  • Dynamics CRM 2015 was announced in September 2014
  • Microsoft Dynamics CRM 2016 was officially released on November 30, 2015
  • Microsoft Dynamics 365 was officially released on December 2016
  • Soon new version will be released named 2017.




More details you can find in below links.

Link1 Link2

Types of Dynamics CRM: -

1. Online version (Hosted on Microsoft cloud)

CRM Online hosted by Microsoft will give you access to the latest features

2. On-Premise

Traditional model is where CRM is hosted by your company.

3. On-Premise (Partner Hosted)

It as on-premise where you don't have to worry too much about the hardware.

Modules in Microsoft Dynamics 365: -

· Dynamics 365 for Sales
· Dynamics 365 for Marketing
· Dynamics 365 for Customer Service
· Dynamics 365 for Field Service
· Dynamics 365 for Project Service Automation
· Dynamics 365 for Finance and Operations
· Dynamics 365 for Retail
· Dynamics 365 for Talent.
· Dynamics Portals

There are two aspects of starting carrier in Dynamics CRM.

1. Functional Role

2. Technical as developer or administrator

I will more focus on technical aspects but also give way to start functional role also.

Now let’s start the journey.

First step is you needs to create trial version of Dynamics CRM. Link is given below.
Create Trial

Start with Customer service module with System administrator role.

Functional Role: -

To start your carrier as functional person in dynamics CRM, you need to know some basic concept of business analyst like.

  • Facilitate workshops to develop business requirements; create demonstrations to provide proof of concept; plan and assist the team in drafting statements of work to include estimation of effort/cost
  • Perform requirements gathering, Business Process Analysis
  • Understand customer requirements and advise project team on highly specialized, complex solutions architecture and implementation

It will be better if you have some knowledge of any domain like (BPO, Insurance, Banking, Retail etc.)

Deliverable for Functional role: -

  • Need to know process of some module (sales, service, marketing)
  • Need to know terminology used in Dynamics 365 like entity, activity, records, view, security role, dashboard, fetch, entity form, workflow, sitemap, ribbon, solution, option set, plugin etc.
  • Need to learn about Business process flow, Business rule, Advance find.
  • You should also know some extend of configuration like
           o Business process flow

           o Business rule

           o Email configuration

           o System workflow

           o Field creation

           o Form UI configuration

As a beginner, you should read below link
About CRM

In next blog I am starting with technical role. Part 2





Friday 8 September 2017

Dynamics CRM JavaScript Intellisense

In World of Microsoft Dynamics CRM most the time as a developer needs to write JavaScript code.
In Dynamics it is vital to use Xrm library.  As developer we knows most of the functions provided by Xrm JavaScript library.

But it is hard to remember all functions.
JavaScript is Case-sensitive language. So some silly mistakes can cause issue.

We always want some ready to eat food so we will not bother about these things.
In this Visual studio can help us. We aware about visual studio provide intellisense for our help.
In visual we can also add code Snippets that will help in our coding.

I am going to share how you can combine these all together to remove overhead to remember Xrm code and case-sensitive mistakes.

1. You need to install  Dynamics CRM Developer Extensions in visual studio.
For this open visual studio go to Tools->Extensions and Updates-> search online for "Dynamics CRM Developer Extensions". or you can download from here Visual Studio Gallery.

2. After installation you will see "CRM Developer Extensions" template is added in visual studio.

3. Now you are ready to use Xrm code Snippets in your JavaScript file.

If we want to see all the code Snippets added by this extension.
Go to Visual studio->Tools->Code Snippets Manager than select JavaScript from drop down.


















Now click on "Dynamics CRM" it will show the location of Code Snippets.
Open that location and  you will find all the Xrm reference added for you.

4. In your JavaScript file you need only to write XRM rest work will done by Intellisense for you.
Now you can select the function you want and press "Tab" key twice. Now you will see complete Xrm function written for you.
5. If you want to add more Code Snippets or rename any Snippets that will more meaning full for you can do this by adding or editing any file specify in system "Dynamics CRM" location.

Happy Coding !! 😄

Please share your comment below.



Field Security Profile - Based on Owner

 Recently received requirement related to Field security profile. Expectation : - 1.       Set to users need access of secure attributes. 2....

Test