dynamics crm harsha ppt

50
DYNAMICS CRM Presented By Venkata Pradeep

Upload: harsha-t

Post on 20-Feb-2017

292 views

Category:

Technology


5 download

TRANSCRIPT

Page 1: Dynamics CRM Harsha PPT

DYNAMICS CRM

Presented ByVenkata Pradeep

Page 2: Dynamics CRM Harsha PPT

AGENDA

• Brief introduction on Dynamics CRM • Business Unit• Security roles• User management• Teams• Entities(creating custom)• Fields(Custom fields in Entity)• Custom Business Rules• Auditing• Field security Profiles• Positions

Page 3: Dynamics CRM Harsha PPT

AGENDA (CONT.)

• Solutions• Creating Custom Forms, Views, Dashboards, Charts• Relating two Entities( 1:N, N:1, N:N)• Themes• Developer Resources• Process

Page 4: Dynamics CRM Harsha PPT

AGENDA (CUSTOMIZATIONS)

• Validating fields using JavaScript• Creating custom plug-ins using SDK and Plug-in Registration tool• Creating custom work flows and deploying to CRM• Site map customization• Ribbon customization• SSIS(Sql Server Integration Services)

Page 5: Dynamics CRM Harsha PPT

BRIEF INTRODUCTION ON DYNAMICS CRM

• CRM is now termed as XRM-Extended Relationship Management• For every business who sell their product and who wants to retain their

customers needs CRM(Customer Relationship Management ) software.• For offering services, they first has to sell the product.• There are there modules CRM software offers 1. Sales 2.Services 3. Marketing• Sales Process:

• Lead-->Qualify-->Opportunity-->(Create Quote-->Order-->Invoices)-->Won the Opportunity-->Customer.

Page 6: Dynamics CRM Harsha PPT

BRIEF INTRODUCTION ON DYNAMICS CRM (CONT.)

• Marketing Process:• Planning & Budgeting-->Creating & Managing lists--> Planning &

Creating Campaigns-->Launching & managing Campaigns-->tracking & Reporting

• Services:• Cases ,Contract Management, Service &Report management, Appointment

Scheduling, Knowledge Base Article.

Page 7: Dynamics CRM Harsha PPT

BRIEF INTRODUCTION ON DYNAMICS CRM (CONT.)

• Deployment options: 1. Web client, Outlook client, Mobile &Tablets• Available in On-premise, Online, Partner Hosted versions.• Entity-->Contact, Opportunity, Leads etc.• Form: Collection of fields.• Filed : Single data point relating an entity.• Contact: Person & Account: Business/Organization/Groups.• Who ever creates a record becomes owner.• For account/Company there can only be one primary contact and many sub contacts.

Page 8: Dynamics CRM Harsha PPT

BRIEF INTRODUCTION ON DYNAMICS CRM (CONT.)

• User Authentication:• Windows Integrated Auth. --> Active Directory credentials• Clam based Auth. --> Token generation.• Federated Auth. --> Online CRM.

• CRM is a Multi-Tenant Application:• Many organizations can be deployed on one server.• For CRM online, each trail gets new CRM Organization.• For on premise, we should create new Organization with "Deployment Manager" tool.

• Two Data bases in CRM:• MS CRM Config Data base, Each Organization Data base

Page 9: Dynamics CRM Harsha PPT

BUSINESS UNITS

• Each instance of CRM has a unique Business Unit.• By default, a team is created with the same name as of BU.• Business Unit is a company for example.• There can be many BU's but only one root BU and can be many child BU's.• Records created in parent can not be seen in child BU's. Whereas,

records created in child BU'S can be seen in Parent BU's

Page 10: Dynamics CRM Harsha PPT

SECURITY ROLES

• Each user or team can be assigned a security role.• There are 14 default security roles (CSR Manager, Admin etc)• For each role(example CRS Manager) we can set different permission: Create

read write, share etc.• Each role can be set at different levels.

Page 11: Dynamics CRM Harsha PPT

USER MANAGEMENT & TEAMS• For creating a new User system asks for licenses (User Licensing)• CAL--> Client Access Licensing). -- > License Type and Access Mode.• License Type--> • Read/Write(fill, Limited, device full, device limited) • Read (Limited , device limited)• Access Mode

• Read Write & Read & Admin• User can be set role with "Manage Role" option from ribbon• Different users form different BU's can become a team but only admin cam

group.• Record shared in a team/ when admin makes team as owner then the record

can be seen to all members of team though of different BU's.

Page 12: Dynamics CRM Harsha PPT

DYNAMICS CRM CERTIFICATION:

Page 13: Dynamics CRM Harsha PPT

CUSTOMIZATIONSEntity customization

Form customization

View customization

Entity Relationships

Business Rules

Dashboards

Charts

Solutions

Page 14: Dynamics CRM Harsha PPT

CUSTOM ENTITY

Page 15: Dynamics CRM Harsha PPT

CUSTOM ENTITY EXAMPLE & DISPLAY

Page 16: Dynamics CRM Harsha PPT

FORM CUSTOMIZATION

• From Basic Types:• Edit, Read-Optimised, Updated, Outlook page, Mobile.

• Edit form: Common and is automatically generated.• Read- Optimised: Opt-in and if any client side script is enabled, it goes to Edit Form.• Update: CRM Online and Process focused, doesn’t use ribbons, Only available in case, lead,

opportunity, Account.• Role Tailored Forms: Creating multiple forms and deciding based on security code who is

going to see what form.• Multiple forms can be created via “save as” or “new form”.• Role Assignment:

• Allows targeting specific forms for specific roles• Allows setting “specific roles” or “All roles”.• System Admin and Customizer should always be the default roles while setting roles to form.

Page 17: Dynamics CRM Harsha PPT

VIEW CUSTOMIZATION:• Views: List of data for entities, Sub grids on forms for related records, for reports, for

charts on dash boards, Lookup dialogs for finding records.• 3 types : Personal, System, Public.• Personal: Visible only to user by default, can be shared with user/team, can not be

converted in to public view.• System: Created by CRM when Entity is created. Advanced Find, Associated, Quick

Find, Lookup.• Personal views are stored in UserQueue Entity.• System and public are stored in SavedQuery.

Page 18: Dynamics CRM Harsha PPT

RELATING 2 ENTITIES(1:N , N:1 , N:N)

• Example: (1:N) : An address can have many Phone Numbers.• Relating My Address Entity and My Phone Entity. • There can be many phones related to one address.

Page 19: Dynamics CRM Harsha PPT

RELATING TWO ENTITIES (CONT.)

• CRM provides some rules that are performed when a certan action CRM happens in.• Actions: Assign, Share, Unshare, Report, Delete, Merge.• Each action can be done in 3 ways:

• Cascade all, Active, User Name.• Parental and Referential can be the filed types.• Connections are similar to N:N metadata relationship,it’s relation is defined by data.• Connections roles define each side of connection.• Example: Employer and Employee

Page 20: Dynamics CRM Harsha PPT

SOLUTION LIFE CYCLE• Managed Solution VS Unmanaged :• Unmanaged are always used during development• Use managed when you are building a project or need some level of isolation from

other changes.• Use unmanaged when you are the only one delivering changes to the target CRM.• Note:

• 1.You deploy your customizations as solution.• When existing entity is used to create in a solution, it just creates a copy.

Page 21: Dynamics CRM Harsha PPT

RIBBON CUSTOMIZATION AND SITE- MAP CUSTOMIZATION

• We can use Ribbon work bench tool for customizing Ribbon.• Sitemap customizer tool for customizing sitemap.• Sales, Service, Marketing section in CMR is Area section.• Case, Lead, Opportunity etc is a Sub Area section.

Page 22: Dynamics CRM Harsha PPT

SIMPLE BUSINESS RULE

Page 23: Dynamics CRM Harsha PPT

CUSTOM FORMS, VIEWS, CHARTS, RELATIONS

• Views, Forms. Charts, Dash Boards can be customized.

• Custom Dash Board with Custom view:

Page 24: Dynamics CRM Harsha PPT

CUSTOM FILED EXAMPLE

Page 25: Dynamics CRM Harsha PPT

CLIENT SIDE SCRIPTING XRM.PAGE API

Page 26: Dynamics CRM Harsha PPT

CLIENT SCRIPTING• Scenarios:• Making fields required.• Option set filtering.• Hide/Show tabs, sections, and Fields.• Format data: Phone Number.• Stopping the form to save with “restrict default” method().• Refer below slides for all scripts using XRM.PAGE API• Getting Attributes and controls• Getting and setting values• Working with controls, tabs and sections.option sets,• Using client context: getslienturl, getuserid, getuserrules,

getquerystringparameters,getuserLcid.

Page 27: Dynamics CRM Harsha PPT

GETTING ATTRIBUTES VS GETTING CONTROLS

Page 28: Dynamics CRM Harsha PPT
Page 29: Dynamics CRM Harsha PPT
Page 30: Dynamics CRM Harsha PPT
Page 31: Dynamics CRM Harsha PPT

SIMPLE VALIDATING CUSTOM FIELD WITH JAVASCRIPT

Page 32: Dynamics CRM Harsha PPT

WORKING WITH CRM DATA AND SERVICES• API’s: Discovery service, Organization Service, Deployment Service.• Core libraries: Microsoft.CRM.sdk, Micosoft.xrm.sdk,

Microsoft.xrm.client,system.runtime.serialization,system.configuration.• Entity class:

• Represents an instance of CRM record.• Attributes collection allows dynamic use for all entities in CRM.• Dynamic usage is referred to as Late bound.• Sdk utility CRMSVCUTIL provides code generation for typed classes.• Using typed classes is referred to as Early binding.• Use normal .Net data types for “most” attributes.• Special Data Types: OptionsetValues, Money, EntityReference.

Page 33: Dynamics CRM Harsha PPT

DEVELOPER TOOLS

• Few services links are exposed for developer to create a proxy and use them.• Discovery Service: Exposes End-Point • Organization Services : for each Organization as CRM is a multi tenant

application.

• These services can be used in VS by creating proxy, and get all the entities even the custom entities.

Page 34: Dynamics CRM Harsha PPT

3 WAYS FOR CONNECTING TO CRM THROUGH VS2012

Way 1:• Open Vs2012 command Prompt and enter cd C:\Users\Pradeep\CRM2013\

SDK\Bin Enter• Now paste CrmSvcUtil.exe

/url:https://techminds123.api.crm.dynamics.com/XRMServices/2011/Organization.svc /out:GeneratedCode.cs /username:[email protected] /password:12ybYB!@ Enter

• This generates a class file GeneratedClass.cs file. Just import in to solution and use it.

• Add references Microsoft.crm.sdk, Microsoft.xrm.sdk,Microsoft.crm.client,system.Runtime.serialization ,system.System.Configuration

Page 35: Dynamics CRM Harsha PPT

CONNECTING VS2012 WITH CRM• Use Dynamics CRM Template.• Download sdk 2016 and use developer toolkit.• While creating a new solution it prompts for Discovery service connect to it

and can add javascript, html,css etc files.• Can also connect to plug-in and create a custom plugin.

• Note You can just use references and create a new entity with late binding. And create method

• Add GeneratedCode.cs file and get all account classes in to project Early Binding. ---------

Page 36: Dynamics CRM Harsha PPT

CRUD OPERATIONS• Create:

• Create method /CreateRequest via Execute.• When a record is created it assigns a GUID.

• Retrieve: • With Retrieve (based on Primary ID), RetrieveMultiple(based on Query Expression or FetchXML), Via LINQ

• Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(true));• Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(“m_title”));

• Update:• Entity account = Service.Retrieve(account.LogicalName,id,newColoumnset(true));• If(!account .Contains(“Creditlimit”))• {• Account[“CreditLimit”]= new money(500.00m);• Service.update(account);• }

• Better to udate just specific column rather retrieving all and updating unnecessary Audit. • Can’t Update: Primary id, created on, Createdby, Modifiedon, modifiedby, overid, owningteam, owinguser, StateCode.

Page 37: Dynamics CRM Harsha PPT

TOPICS TO COVER

• Using LINQ with CRM• Advanced querying of CRM data.• Using REST endpoints(OData).• Working with Metadata.• Business Process flow, dialogs fetch xml etc.

Page 38: Dynamics CRM Harsha PPT

BUSINESS PROCESS FLOW

Page 39: Dynamics CRM Harsha PPT

DIALOGS

Page 40: Dynamics CRM Harsha PPT

FETCH XML QUERY CONDITIONS

Page 41: Dynamics CRM Harsha PPT

FETCH XML RELATED DATA OF TWO ENTITIES

Page 42: Dynamics CRM Harsha PPT

FETCH XML AGGREGATION

Page 43: Dynamics CRM Harsha PPT

FETCH XML LIMITATIONS

Page 44: Dynamics CRM Harsha PPT

AGGREGATING DATA USING FETCH XML EXAMPLE:

Page 45: Dynamics CRM Harsha PPT
Page 46: Dynamics CRM Harsha PPT

EXTENDING CRM CUSTOMIZATIONS

• Plug in --> Plug in is a post- pre- process logic which you want to run when any CRM activity happens. (like a new contact is created)

• Download SDK--> when a plug in logic is created using C# and it can be injected in to CRM by Plug-in Registration Tool(SDK-->Tools-->Plugin Registration).

• Tool-->New activity--> save--> new step(create when contact entity and insert our custom dll).

• This creates a record (like Audit trail) when new contact is created.• Note: Practiced this in VS2012 but has issues and ought to confirm.

Page 47: Dynamics CRM Harsha PPT

CUSTOM PLUG-IN (ACTIVITY TRACKER) WITH PLUGIN REGISTRATION TOOL

Page 48: Dynamics CRM Harsha PPT

CUSTOM WORK FLOWS• Work Flow--> Series of connected activities which run in parallel.• Two types: Code Workflow, Designer Work Flow.• In OOB we have dialog Work flow, Business process work flow etc.

• Two types: Sequence/ Flowchart can be used as container.

• Sequence is one after another where as, flowchart can go back.

Page 49: Dynamics CRM Harsha PPT

SSIS(SQL SERVER INTEGRATION SERVICES

• Note: Yet to practice a lot.

• SSIS: Data Extraction , Transformation , Loading (ETL)

• Used as middleware.

• Example --> Visual Studio--> file --> new--> BI template--> activity-->Flat file/ODBC source to OLEDB Destination

• Import flat file on the control and run . You can find in OLEDB.

Page 50: Dynamics CRM Harsha PPT

SIMPLE WINDOWS FORM CREATING A RECORD