C H A P T E R 1 |
Deployment Configuration |
After deploying Sun Java System Content Delivery Server, some configuration is needed to set up the deployment to work within your existing infrastructure. The configuration needed is dependent on the features that you want to use.
This chapter includes the following topics:
To integrate the Application Monitoring Agent with your network monitoring system, you need to configure the Monitoring Service. Configure the Monitoring Service to issue only the alarms in which you are interested and disable all other alarms. The statuses and alarms issued by the Monitoring Agent are described in Section 1.1, “Application Monitoring Agent,” in the Sun Java System Content Delivery Server System Management Guide.
To configure the Monitoring Service, edit the CDSSnmp.properties file in the $CDS_HOME/deployment/deployment-name/conf directory. The following table describes the properties.
The Event Service generates events based on the properties set in the $CDS_HOME/deployment/deployment-name/conf/EventService.properties file. If the consumer of the event is not running, the Java Message Service (JMS) maintains the events until the consumer of the event is started. Over time, messages might accumulate and result in an out-of-memory error.
The campaign event handler produces events that are consumed by the Notify Service. The billable event handler publishes messages to a topic for the Postpaid Service, which creates a durable topic listener client the first time it runs. The developer update event handler, developer submit event handler, and the OMA DRM 1.0 rights delivery event handler publish messages to a queue that is consumed by the Messaging Service.
If you do not plan to run the Notify Service, Postpaid Service, or the Messaging Service as part of your Content Delivery Server system, you can avoid the accumulation of messages by configuring the Event Service so the messages are not generated. To stop the generation of messages by a handler, edit the EventService.properties file and comment out the handler by adding a pound sign (#) to the beginning of the line for the property that defines the handler:
#eventservice.handler=Campaign
#eventservice.handler=Billing
#eventservice.handler=DeveloperUpdate #eventservice.handler=DeveloperSubmit #eventservice.handler=OMARightsDelivery
The Catalog Manager and each Vending Manager has its own database. Information such as the status of content or the types of devices supported must be maintained across databases. Synchronization of the databases is managed by Content Delivery Server. When the Vending Manager receives a notification of change from the Catalog Manager, the Vending Manager attempts to synchronize with the Catalog Manager. If synchronization fails, the Vending Manager retries the operation.
To manage the number of times and how often the operation is attempted, set the following properties in the $CDS_HOME/deployment/deployment-name/conf/RemoteVending.properties file for the Vending Manager deployment:
Note - A high number of retries or a short interval between each series of retries can slow response to subscriber requests and rapidly increase the size of log files. |
Additional information about the synchronization between the Catalog Manager and Vending Managers is available in the “Catalog and Vending Managers” chapter of the Sun Java System Content Delivery Server Reference Manual.
Content Delivery Server provides a feature that enables you to send advertisements to selected subscribers. Messages can be sent using Short Message Service (SMS), Wireless Application protocol (WAP), Multimedia Messaging Service (MMS), or Simple Mail Transfer Protocol (SMTP).
Campaigns sent as email use the SMTP mail service defined for the Messaging Service. To change the mail service, see Section 10.1, Configure the Mail Service.
You can include a link to promotional items in the message. The address to which the link points is based on the value specified for the sp.external.uri property in your deployment configuration file.
If the value in the configuration file is not correct, edit the CDS.properties file found in the $CDS_HOME/deployment/deployment-name/conf directory and set the value for the default.external.subscriberportal.uri property to the correct address. If Content Delivery Server is running behind a firewall, specify an address that subscribers can access from outside the firewall.
The Vending Manager provides daily statistical reports that enable you to view and track application download information and usage statistics. To generate custom reports, you can configure Content Delivery Server to store transaction data in the REPORT_DOWNLOAD table in the Vending Manager database.
Note - To store transactions in the reports database, you must deploy and run the Postpaid Service. |
To configure support for customized reports, follow these steps:
1. Edit the PostpaidService.properties file found in the $CDS_HOME/deployment/deployment-name/conf directory.
To enable the reporting handler, remove the pound sign (#) from the postpaid.handler=ReportingHandler statement.
Also, set the following properties:
To specify more than one event, separate the events with a vertical bar (|).
2. Edit the ReportService.properties file found in the $CDS_HOME/deployment/deployment-name/conf directory.
If you have enabled custom reports, the Postpaid Service stores a record of each purchase and refund transaction in the REPORT_DOWNLOAD table in the Vending Manager database. The information stored for each transaction is current at the time the transaction occurs. Information for stored transactions is changed only if a transaction recovery operation is performed and historical information is not available. For example, if a subscriber changes the device used, new transactions for that subscriber show the new device. Transactions that occurred with the old device continue to show the old device in the MODEL field, unless a recovery operation is performed. Recovered transactions show the new device.
The following table describes the data that is currently stored for each transaction. This table could change in future releases.
Identifier for the edition of the content item involved in the transaction |
||
Status of the transaction, which is one of the following values: |
||
If you support content that is hosted externally, the Event Service must have access to the Developer Portal. The value specified for the dp.internal.uri property in your deployment configuration file is used for this access. If this property is not set correctly, updates to externally hosted content are not fetched.
If the value in the configuration file is not correct, follow these steps to set the Developer Portal URL:
1. Edit the CDS.properties file found in the $CDS_HOME/deployment/deployment-name/conf directory.
2. Set the value of the default.internal.developerportal.uri property to the internal address for the Developer Portal.
Typically, the Catalog Manager administrator reviews all content that is submitted and determines which items to publish. If desired, you can configure Content Delivery Server to automatically publish content and bypass the review by the administrator. The following options are available:
For this option, set the submission.content.auto_publish property to true in the $CDS_HOME/deployment/deployment-name/conf/DeveloperPortal.properties file.
For this option, set the external.content.auto_publish property to true in the $CDS_HOME/deployment/deployment-name/conf/DeveloperPortal.properties file.
For this option, define the rules for automatic publishing and create a submission verifier workflow that uses the Autopublish Content Validation Adapter. See the instructions in the AutoPublishRules.properties file for information on setting up the rules. See Chapter 14 for information on content validation adapters.
The following algorithm is used to determine whether submitted content is automatically published:
1. If the submission verifier workflow indicates that the content is to be published automatically, then submission.content.auto_publish and external.content.auto_publish properties are ignored and the content is automatically published.
2. If submission.content.auto_publish is true, then external.content.auto_publish is ignored and the content is automatically published.
3. If external.content.auto_publish is true, then the content is automatically published if the content is external content and the external content update was automatically detected by Content Delivery Server.
4. If external.content.auto_publish is true and the content is not external content, then the content is not automatically published.
5. Otherwise, the content is not automatically published.
Content Delivery Server provides a standard set of fields that provide information about each item of content, such as Name, Version, and Short Description. In addition to the standard fields, you can configure Content Delivery Server to manage custom fields.
Custom fields provide additional information about content that you require for your enterprise. Custom fields can also be used to support additional functionality. For example, Content Delivery Server uses custom fields to support the concept of featured content. See Chapter 17 for information on this feature.
You can define custom fields to apply to all content types or specify different fields for different content types. For example, you might want to create a field called Rating for the content type midlet to specify the rating of a game.
Note - Do not make any changes to the system reserved fields that are predefined by Content Delivery Server. |
To define a custom field, edit the $CDS_HOME/deployment/deployment-name/conf/CustomField.properties file and create the set of properties that are described in TABLE 1-3. For each property, content-type is the content type to which the field is associated, and custom-key is the string used to identify the custom field to which the property applies.
The content type specified must be a content type that is defined to Content Delivery Server. To associate the field with all content types, use all.
The custom key is an alphanumeric string that can also contain dash (-) or underscore (_) characters. A custom key can be used for more than one field only if the content type is different. If a key is used with the content type all, it must not be used with another content type.
Identifies whether the field applies to the content item or to the editions of the item. This property is required. |
||
Indicates if the field must have a non-null value. This property is required. |
||
Specifies the data type that the field accepts. For timestamp, the valid format is yyyy-MM-dd’T’HH:mm:ss.SSSZ. This property is required. |
||
Identifies the portals in which the field can be edited. Separate multiple values with a comma. If this property is omitted or no value is provided, the field is not editable in any portal. Note - If the required property is set to true, the value for the editable property must contain dp. |
dp, vm, cm, empty string (““)[1] |
|
Identifies the portals in which the field can be viewed. If this property is omitted or no value is provided, the field is not viewable in any portal. Note - If a field is editable in a portal, it must also be set as viewable in that portal. |
dp, vm, cm, sp, empty string (““)* |
|
Identifies the database in which this field is stored. For the Catalog Manager database, specify cs. For the Vending Manager database, specify vs. To specify both databases, separate the values with a comma. This property is required. Note - If the required property is set to true, the value must be cs,vs to store the value in both databases. |
||
Indicates the order in which custom fields are shown. Fields are shown in ascending order based on the value assigned to this property. Values do not need to be consecutive. If two fields are given the same value, they are shown in random order within their position in the list. Fields that are not assigned a weightage are shown in random order before the fields that are assigned a weightage. |
Note - If the definition of any custom field is invalid, an error message is shown when a user attempts to access content. The definition must be corrected to make content accessible. |
To include custom fields in searches for content, the fields must be included in the search index. See Section 11.2.2, Adding Custom Fields to the Search Index for instructions.
If you have remote Vending Managers, define custom fields for the Catalog Manager, then copy the CustomField.properties file to the Vending Managers. You can modify the properties of the custom fields for the Vending Managers, if desired, or define additional fields. Do not delete a field. If you do not want to show a field to the Vending Manager administrator or subscribers, remove the portal from the viewable and editable properties in the field definition. To hide a field from all portals, set the property to the empty string (““).
You do not need to restart the server after you make changes to CustomField.properties. If you change the properties after content has been submitted, existing content uses the new definitions, however, the changes could have the following consequences:
Content Delivery Server has no migration capability for custom fields. If data migration is required after you make changes to the custom field definitions, you must provide the process.
Labels and hints for custom fields are defined in a separate file for localization purposes. Labels identify the field and are shown in the user interface. Hints provide information about the field and are shown when a user hovers over the field with the mouse pointer. These strings must be set for each portal in the following property files, which are located in the $CDS_HOME/deployment/deployment-name/localization directory:
The file names for localized versions of these files include the language code and possibly the country code. In the files for each portal and each supported language in which the field appears, set the following properties for each field that you defined in the CustomField.properties file:
content-type is the content type to which the field is associated and custom-key is the string used to identify the field to which the attribute applies. The content type and custom key combination must match a field definition in the CustomField.properties file.
Tip - A default hint is provided for each data type. If you do not provide a hint for a field, the default hint for the data type associated with the field is used. |
Knowing how popular an item of content is can be useful information. Content Delivery Server provides a function for calculating popularity based on the number of times content is accessed over time. If the default definition of popularity is not suitable for your needs, you can customize it. The change can be as simple as limiting the events that are included in the count of times accessed or as advanced as writing your own algorithm for calculating popularity.
The field that contains the popularity rating is available only for stocked content and is automatically updated by Content Delivery Server according to the schedule you set. This field can be shown in the Vending Manager administration console or in the Subscriber Portal by including it in the default search results or in a search query. See Section 11.1, Configuring Default Result Fields for information on setting up the default search results.
Popularity ratings are specific to a Vending Manager. If multiple Vending Managers that do not share a database stock the same item of content, the popularity rating for that item is calculated independently by each Vending Manager.
By default, Content Delivery Server rates the popularity of content by dividing the number of system-generated events that are counted towards popularity by the time that has passed since the first event occurred. The result of this calculation is a floating point value. The following events are counted to determine popularity:
Each time one of the events in the list is processed, the event count is increased by one. By default, events for free content are also counted.
Content Delivery Server uses custom fields that are defined in the $CDS_HOME/deployment/deployment-name/conf/CustomField.properties file for storing information related to popularity. Do not change field definitions for the fields with the following prefixes:
If the default definition of popularity does not meet your needs, you can create your own definition. You can continue to use the default algorithm and change only the events that are counted, or you can write your own algorithm.
The following properties in the $CDS_HOME/deployment/deployment-name/conf/EventService.properties file control which events are counted and whether free content is counted by the default algorithm:
The default algorithm used by Content Delivery Server to set the popularity rating is defined in the com.sun.content.server.vending.PopularityImpl class. To define your own algorithm, implement the com.sun.content.server.content.Popularity interface that is part of the cdsapi.jar file. See the output of the Javadoc tool in the $CDS_HOME/javadoc/cdsapi directory for information on this interface.
When your implementation is ready, set the vsadmin.popularity.impl property in the $CDS_HOME/deployment/deployment-name/conf/VSAdminConsole.properties file to the fully qualified class name. Put the file that contains your algorithm in the $CDS_HOME/deployment/deployment-name/lib/external directory for Content Delivery Server to access.
If you want to change the way events are counted, for example, to add different weights to the events, you can write your own popularity handler to handle the events and set the count that is stored in the custom field popularity_hits. If you do write your own handler, set the eventservice.handler.Popularity.classname property in the $CDS_HOME/deployment/deployment-name/conf/EventService.properties file to the fully qualified class name.
Recalculating the popularity of all content in a Vending Manager can decrease performance while the process runs. Instead of recalculating every time a relevant event is processed, configure Content Delivery Server to recalculate on a set schedule.
To set up the schedule, set the following properties in the $CDS_HOME/deployment/deployment-name/conf/VSAdminConsole.properties file:
Note - If you have multiple Vending Managers sharing the same database, configure only one Vending Manager to recalculate the popularity ratings. Disable the function on all other Vending Managers. |
Streamed content can have an end time assigned to it. Using custom fields, other content can also have an end time. You can configure Content Delivery Server to automatically deactivate items that have reached their expiration time so those items are no longer available to subscribers. To automatically set the status of expired content to Inactive, set the following properties in the $CDS_HOME/deployment/deployment-name/conf/VSAdminConsole.properties file:
Device Client web services are APIs that you can use over the web to access data in the Content Delivery Server database. You can use Device Client web services to authenticate a subscriber, discover, preview, purchase, and download content, access a subscriber’s purchase history, and cancel a subscription to a content item.
If you plan to use the Device Client web services to create your own subscriber interface, set the following properties in the $CDS_HOME/deployment/deployment-name/conf/SubscriberPortal.properties file:
For information on Device Client web services, see Chapter 13 in the Sun Java System Content Delivery Server Customization Guide.
Requests for content using a URL from the device are handled through the Fulfillment Service. The MSISDN of the subscriber making the request is used to verify that the subscriber’s subscriber plan includes the content being requested so the subscriber has access to the content. The MSISDN is retrieved from the request header. If the MSISDN is not part of the request header, verification fails and the content is not delivered.
If the request headers that are generated by requests from the devices that you support do not include the MSISDN, you must enable downloads to unprovisioned users to ensure that content is delivered. Allowing unprovisioned users to download content bypasses the verification of the subscriber plan so the MSISDN is not needed.
To enable downloads to unprovisioned users, set the fs.allow_unprovisioned_downloads property in the $CDS_HOME/deployment/deployment-name/conf/FulfillmentService.properties file to true for each Vending Manager deployment.
Copyright © 2008, Sun Microsystems, Inc. All Rights Reserved.