Just a second...

PushNotifications.xml

This file specifies the schema for the configuration required by the Push Notification Bridge.

PNRootConfig

The mandatory root node of the Push Notification bridge.

The following table lists the elements that an element of type PNRootConfig can contain:
Name Type Description Min occurs Max occurs
server PNDiffusionConfig Diffusion server connection details. 1 1
apns PNAPNSConfig Apple Push Notification Service connection and configuration details. 0 1
gcm PNGCMConfig Google Cloud Messaging connection and configuration details. 0 1
transformation PNTransformationConfig Transformation from topic updates to Push notifications. 1 1
persistence PNPersistenceConfig Optional Java plugin to persist topic subscriptions between bridge process lifetimes. 0 1
delivery PNDeliveryConfig Options relating to the delivery of notifications to all Push Notification networks. 1 1

PNDeliveryConfig

Options relating to the delivery of notifications to all Push Notification networks.

The following table lists the attributes that an element of type PNDeliveryConfig can have:
Name Type Description Required
threads xs:int The number of threads used for notification delivery, processing client requests and collecting feedback from APNS. true

PNTransformationConfig

Transformation from topic updates to Push notifications.

The following table lists the attributes that an element of type PNTransformationConfig can have:
Name Type Description Required
default xs:string   true
The following table lists the elements that an element of type PNTransformationConfig can contain:
Name Type Description Min occurs Max occurs
templates PNTemplatesConfig The set of uniquely named templates. 1 1
map PNTemplatesMappingConfig Relates topics to one or more templates. 1 1

PNTemplatesConfig

The set of uniquely named templates.

The following table lists the elements that an element of type PNTemplatesConfig can contain:
Name Type Description Min occurs Max occurs
template PNTemplateConfig A named template. 1 unbounded

PNTemplateConfig

A named template. May contain placeholders ${topic.name} and/or ${topic.update} which are replaced with real values at run time.

The following table lists the attributes that an element of type PNTemplateConfig can have:
Name Type Description Required
name xs:string Name for this template, e.g. "london-underground-status-updates". true

PNTemplatesMappingConfig

Establishes the relations between topic paths and templates. Alternatively updates can be passed through 'verbatim', meaning the topic update must be a valid push notification message.

The following table lists the elements that an element of type PNTemplatesMappingConfig can contain:
Name Type Description Min occurs Max occurs
from PNTemplatesMappingFrom Relates updates from topics covered by a topic-selector to interpolation with a named template. 1 unbounded
verbatim PNTemplatesMappingVerbatim Relates a single topic-path to straight-through processing. 1 unbounded

PNAPNSConfig

Apple Push Notification Service connection and configuration details.

The following table lists the attributes that an element of type PNAPNSConfig can have:
Name Type Description Required
certificate xs:string Name of a PKCS12 format file containing the certificate. The certificate needs to be of PKCS12 format and the keystore needs to be encrypted using the SunX509 algorithm. Both of these settings are the default. true
passphrase xs:string Mandatory certificate passphrase. true
servers PNAPNSServers A choice of "production", "sandbox" or "hostname:gatewayport:feedbackport" true

PNGCMConfig

Google Cloud Messaging connection and configuration details.

The following table lists the attributes that an element of type PNGCMConfig can have:
Name Type Description Required
apiKey xs:string The Google provided GCM API Key. true
retryMax xs:int The number of attempts to make following an HTTP 50x response on posting. An increasing pause occurs prior to each repeated attempt. false

PNDiffusionConfig

Diffusion server connection details.

The following table lists the attributes that an element of type PNDiffusionConfig can have:
Name Type Description Required
url xs:string URL for a Diffusion connector configured to accept Unified clients. true
principal xs:string The optional principal used when authenticating. The principal requires permissions 'send_to_session', 'read_topic' and 'register_handler'. false
credentials xs:string The credentials matching the principal used when authenticating. false
topicPath xs:string The topic path used by the Push Notification bridge to receive subscription and other service requests. true

PNPersistenceConfig

Optional Java plugin to persist topic subscriptions between processes lifetimes.

The following table lists the attributes that an element of type PNPersistenceConfig can have:
Name Type Description Required
saverFactory xs:string Name of the class present on the JVM classpath used to build a com.pushtechnology.diffusion.pushnotifications.persistence.Saver object. true

PNTemplatesMappingFrom

Relates updates from topics covered by a topic-selector to interpolation with a named template.

The following table lists the attributes that an element of type PNTemplatesMappingFrom can have:
Name Type Description Required
selector xs:string Diffusion topic selector expression. true
toTemplate xs:string Name of a defined template. true

PNTemplatesMappingVerbatim

The following table lists the attributes that an element of type PNTemplatesMappingVerbatim can have:
Name Type Description Required
selector xs:string Relates a single topic-path to straight-through processing. true

PNAPNSServers

A choice of "production", "sandbox" or "hostname:gatewayport:feedbackport"

This value must be a xs:string.