1 Introducing User Communication Preferences

This chapter describes the User Communication Preferences (UCP). It describes how to work with communication channels and to create contact preference rules using messaging filters. This chapter also discusses how to manage communication preferences from a web interface by managing channels and filters. It also provides information for system administrators about configuring UCP; and for developers about integrating their applications with UCP.


To learn about the architecture and components of Oracle User Messaging Service, see Administering Oracle User Messaging Service.

This chapter includes the following sections:

1.1 Introduction to User Communication Preferences

User Communication Preferences allows users who have access to multiple channels to control how, when, and where they receive messages. Users define filters, or delivery preferences, that specify which channel a message should be delivered to, and under what circumstances. Information about a user's channels and filters are stored in any database supported for use with Oracle Fusion Middleware. Since preferences are stored in a database, this information is shared across all instances of UCP in a domain.

UCP does not provide services for message delivery, rather provides user interface and APIs to access and manage a user's channels and delivery preferences. User Messaging Services (UMS) uses UCP services for message delivery. When a message is addressed to a user, UMS acquires the user's delivery preferences from UCP services and sends the message according to the user's preferences. For an application developer, User Communication Preferences provide increased flexibility. By sending messages through UMS, an application is indirectly using UCP service. Applications can also directly access UCP services by calling UCP APIs to access and manage a user's preferences and by integrating with UCP using task flow library to provide web user interface.

1.2 User Communication Preferences Terminology

User Communication Preferences defines the following terminology:

  • Channel: a combination of delivery type and address. For instance, a cell phone number 6503334444 can be used in two channels, SMS:650333444 and VOICE:650333444, where SMS and VOICE are delivery types and 6503334444 is the delivery address.

  • Channel address: one of the addresses that a channel can communicate with.

  • Filter: a message delivery preference rule that controls how, when, and where a user receives messages.

  • Business term: a named attribute for messages, such as a subject. The fact for a business term can be extracted from messages or supplied by applications and used to compare with a specified value in a filter condition to select the filter.

  • Fact: actual value for a business term extracted from messages or supplied by applications.

  • Condition: a combination of a business term, an operator and a specified value. The fact about a message is used to compare against the value to evaluate the truth of the condition.

  • Action: the action to be taken if the specified conditions in a filter are true, such as do not send message, send to first available channel, or send to all selected channels.

  • System term: a pre-defined business term where the fact for the term is automatically supplied by UCP service.


User Communication Preferences Condition match is not case-sensitive by default. To make it case-sensitive, you must set the JVM system property oracle.ums.userprefs.filter.match-case to true. For more information about this property, refer to User Messaging Service Java API Reference.