You are on page 1of 4

Enhancement Request: Related Objects

CONTACT INFO

PRODUCT INFO

Name

Dave Strus

Title

Enterprise CRM Project Manager

Organization

Indiana University

Work Phone

812-856-3714

E-mail

dstrus@indiana.edu

URL

Product name

Talisma 8.5 HE SP3

Operating system

Windows Server 2008 R2

Database

SQL Server 2008 R2

REQUEST Please describe the specific functionality requested.


We would like additional filtering options for related objectsspecifically the operators available for Record Lists.
When adding a filter condition on a property on Record List tab, the following comparison operators are available:
contains
=
starts with
does not contain
ends with
is null
contains (in any row)
= (in any row)
starts with (in any row)
does not contain (in any row)
ends with (in any row)
is null (in any row)
When filtering on a property from a related object (where the relationship between the filters base object and the related
object is one-to-many or many-to-many), only the following operators are available:
contains
=
starts with
does not contain
ends with
is null
These operators behave like the in any row operators for Record Lists. We have no way to look for related object
records where two or more conditions are true for the same instance of the related object (other than using SQL filters,
which are not available in some contexts and which require knowledge of the database schema and additional
permissions).
SCENARIO Please describe the use scenario or problem to help describe the request.
Suppose we have a COF object called Preference. Preference has a many-to-one relationship with Contact and a manyto-one relationship with Campaign.

The Preference object has the following instances:


Preference ID

Contact ID

Campaign ID

Preference Type

Preference Value

45

001-944

004-810

Operational

Yes

82

001-944

006-502

Subscription

No

96

002-711

006-502

Subscription

Yes

We wish to identify all Contacts who have a subscription preference of Yes for Campaign 006-502. We create the
following Contact filter:
Object

Field

Operator

Value

And/Or

Contact > Preference > Campaign

Campaign ID

006-502

And

Contact > Preference

Preference Type

Subscription

And

Contact > Preference

Preference Value

Yes

Running this filter will return Contact 001-944 and Contact 002-711. There is no way for us to build a filter that correctly
returns only Contact 002-711.
IMPACT ASSESSMENT Please describe the impact of this scenario or problem (urgency, # of users affected).
The impact of this issue is severe. It has forced us to use Record Lists in our data model where we would have otherwise
used related objects, and to thus accept the compromises that Record Lists entail.
As we design a solution for communication preference management, this compromise is particularly painful. When
discussing potential solutions with Amit Mishra and Abhinesh Vemula in Summer 2010, this filtering shortcoming forced
us to eliminate any solutions that involved storing preferences in a COF object.
As a result, weve had to focus our solutions designs on using Record Lists to store such preferences. This introduces
several problems that we would not have with a related object solution:

Record List tabs cannot contain relationships to other objects (e.g. a reference to a Campaign).

Individual rows in a Record List cannot have any team-level restrictions. Only the tab itself can be restricted.

More recently weve re-examined preference management with Amit and Jeff Ross, but the same issues remain.
The lack of a satisfactory solution for preference management puts our enterprise implementation at considerable risk.

SCENARIO Please describe the use scenario or problem to help describe the request.
A custom IU Relation object exists, with two many-to-one relationships with the Contact object. Campaign support is
enabled on the IU Relation object.
The IU Relation object has the following instance:

IU Relation ID

Primary Contact

Secondary Contact

199

001-944

004-810

201

002-643

007-990

The Lead object has the following instances:


Lead ID

Link to Contact

Team

Status

45

001-944

IN UG ADM

Suspect

82

001-944

BL KSB UG ADM

Admitted

96

002-643

IN UG ADM

Admitted

We create a Campaign with IU Relation as the base object. We wish to create a Mailing List to identify all IU Relations
where the Primary Contact has been admitted to IUPUI undergrad: In other words, where the Primary Contact has a Lead in
the IN UG ADM team with a status of Admitted.

We created the following IU Relation filter:


Object

Field

Operator

Value

And/Or

IU Relation > Contact > Lead

Team

IN UG ADM

And

IU Relation > Contact > Lead

Status

Admitted

And

Running this filter will return IU Relation 199 and IU Relation 201. There is no way for us to build a filter that correctly
returns only IU Relation 201.
IMPACT ASSESSMENT Please describe the impact of this scenario or problem (urgency, # of users affected).
CMC has proposed, and IU has considered, several possible ways of modeling relationships between Contactsfor
example, students and their parents. Using a custom IU Relation object was the preferred approach, but the fact that this
filtering gap exists makes this solution unusuable.

SUGGESTED SOLUTION Describe the change you recommend.


Add conditional operators for related objects that behave like those for Record Lists:
contains
=
starts with
does not contain
ends with
is null
contains (in any row)
= (in any row)
starts with (in any row)
does not contain (in any row)
ends with (in any row)
is null (in any row)

You might also like