Sage CRM Developers Course Coding the Web SelfService COM API (1)

20
Sage CRM Developers Course Coding the Web SelfService COM API (1)

Transcript of Sage CRM Developers Course Coding the Web SelfService COM API (1)

Sage CRM Developers Course

Coding the Web SelfService COM API (1)

Looking ahead to the classes

DP01: Introduction to the Development Partner Program

DP02: Entities and the Data Model (Part 1 of 2)

DP03: Entities and the Data Model (Part 2 of 2)

DP04: Implementing Screen Based Rules (Part 1 of 2)

DP05: Implementing Screen Based Rules (Part 2 of 2)

DP06: Screen and User Independent Business Rules

DP07: Workflow (Part 1 of 2)

DP08: Workflow (Part 2 of 2)

DP09: Using the API Objects in ASP Pages (Part 1 of 2)

DP10 : Using the API Objects in ASP Pages (Part 2 of 2)

DP11: Using the Component Manager

DP12: Programming for the Advanced Email Manager

DP13: Using the Web Services API

DP14: Using the Web Services API (Part 2 of 2)

DP15: Coding the Web Self Service COM API (Part 1 of 2)

DP16: Coding the Web Self Service COM API (Part 2 of 2)

DP17: Using the .NET API (Part 1 of 2)

DP18: Using the .NET API (Part 2 of 2)

Agenda

Introducing CRM Self ServiceTechnical Features and ArchitectureAdvantages and LimitationsAnonymous and Authenticated AccessRegistry Settings and Self Service ConfigurationSimple Pages including Logon and Logoff

What is CRM Self Service?

Allows customers to access and request services and support over the webCan integrate key features of Sage CRM with a corporate websiteA means to create a self service website.Exposes CRM data to the WWW.

Enables powerful web-based sales, marketing and customer support solutionsCan capture new data straight to Sage CRM entities.How much, or little, data is exposed or captured is entirely up to the self service implementation!

CRM Self Service Technical Features

Use familiar Sage CRM object methods and properties

Great flexibility – leverage industry standard scripting technologies to integrate with existing website

Flexible security features – define different levels of access

Users vs. Visitors

A User:someone who logs into CRM using the familiar CRM interface

they have a paid license ‘seat’

represented in the database as a record on the user table

A Visitor:someone who accesses CRM via the Web Self Service website

number of visitors is limited by WSS separate licensing arrangements

Represented in the database as a record on the person table

Demonstration

Use Anonymous access to create a new Lead

(Not to be confused with the WebtoLead feature)

Within CRM promote created Lead into Company and Opportunity

Assign selfservice logon rights to created contact.

Logon as this new contact and view opportunities

Logon new Case

The Registry SettingsClass registrations

The registration

The eWareSelfService Object

eWareSelfService is referenced in ewaress.js

It is a child of the eWare Object

Inherits all its properties and methods

Has a few extra, self service specific methods.

Only one registered object

Uses data from “Software/eWare/SelfService”

The SelfService configuration

Always points to “Software/eWare/SelfService” registry entry

Not CRM install specific, even though it can be altered there.

Building a Self Service System

Anonymous Usage

Build a Registration (New Lead) Page

Authenticated Usage

Logon Page

Logoff Page

Main Page (user details)

Record List Page (users cases)

New Record Page (new case)

Search Page (knowledge base)

Block Usage

Self Service is a COM based API

Usage of the blocks different from main application extension API.

Self Service environment lacks a user 'logon' that generates a CRM SID (Session ID) or context

Therefore can't use any API objects/methods that rely on session or context information for building URLs.

Can't use

CRM.Button()

CRM.GetTabs()

CRM.URL() etc,

Can't use the output mechanism of a typical application extension ASP page

CRM.AddContent(myBlock.Execute(Arg));Response.Write(CRM.GetPage());

Self Service Pages use the more basic

Response.Write(myBlock.Execute(Arg));

Logoff

Typical Code

if(CRM.Authenticated){CRM.EndSSSession(Request.Querystring, Request.Form, Request.Cookies("eware"));Response.Redirect("customlogon.asp")}else{Response.Redirect("customlogon.asp")}

COM Objects available in the Self Service API

COM Objects not available in Self Service API

Q&AQ&A

Looking ahead to the classes

DP01: Introduction to the Development Partner Program

DP02: Entities and the Data Model (Part 1 of 2)

DP03: Entities and the Data Model (Part 2 of 2)

DP04: Implementing Screen Based Rules (Part 1 of 2)

DP05: Implementing Screen Based Rules (Part 2 of 2)

DP06: Screen and User Independent Business Rules

DP07: Workflow (Part 1 of 2)

DP08: Workflow (Part 2 of 2)

DP09: Using the API Objects in ASP Pages (Part 1 of 2)

DP10 : Using the API Objects in ASP Pages (Part 2 of 2)

DP11: Using the Component Manager

DP12: Programming for the Advanced Email Manager

DP13: Using the Web Services API

DP14: Using the Web Services API (Part 2 of 2)

DP15: Coding the Web Self Service COM API (Part 1 of 2)

DP16: Coding the Web Self Service COM API (Part 2 of 2)

DP17: Using the .NET API (Part 1 of 2)

DP18: Using the .NET API (Part 2 of 2)