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