dynamics crm harsha ppt

Post on 20-Feb-2017

292 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

DYNAMICS CRM

Presented ByVenkata Pradeep

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

AGENDA (CONT.)

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

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)

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.

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.

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.

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

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

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.

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.

DYNAMICS CRM CERTIFICATION:

CUSTOMIZATIONSEntity customization

Form customization

View customization

Entity Relationships

Business Rules

Dashboards

Charts

Solutions

CUSTOM ENTITY

CUSTOM ENTITY EXAMPLE & DISPLAY

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.

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.

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.

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

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.

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.

SIMPLE BUSINESS RULE

CUSTOM FORMS, VIEWS, CHARTS, RELATIONS

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

• Custom Dash Board with Custom view:

CUSTOM FILED EXAMPLE

CLIENT SIDE SCRIPTING XRM.PAGE API

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.

GETTING ATTRIBUTES VS GETTING CONTROLS

SIMPLE VALIDATING CUSTOM FIELD WITH JAVASCRIPT

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.

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.

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:Harsha123@techminds123.onmicrosoft.com /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

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. ---------

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.

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.

BUSINESS PROCESS FLOW

DIALOGS

FETCH XML QUERY CONDITIONS

FETCH XML RELATED DATA OF TWO ENTITIES

FETCH XML AGGREGATION

FETCH XML LIMITATIONS

AGGREGATING DATA USING FETCH XML EXAMPLE:

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.

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

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.

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.

SIMPLE WINDOWS FORM CREATING A RECORD

top related