C H A P T E R  4

General Content Information

Content is defined as any item a subscriber wants to download to a mobile device. This chapter provides information about content, content editions, streamed content, and the ways that content can be submitted to the Catalog Manager. Searching and sorting content items is also discussed.

The chapter covers the following topics:


Content Submission Types

The content is submitted to the Catalog Manager by a content provider who submits content either manually or by using the Content Submission wizard (for details on how content is submitted see the Developer Guide). This section describes the ways content can be submitted.

The Catalog Manager administrator configures Content Delivery Server to setup either separate or single content type submission. By default, Content Delivery Server is configured for separate content type submission. The two setups are described as follows:

For example, a content provider submits a screen saver image, Sunset, of content type image and makes a separate submission of Sunset that has that content type sms_picture. Each format of Sunset has its own metadata and price.

For example, a content provider has a ring tone, Melody, to submit. The content is submitted with the ring tone content type. After the content is submitted, the content provider then submits an edition of Melody that has a monophonic format. The monophonic version of Melody is automatically assigned the metadata and price of the initial submission.

The submission of a separate or a single content type is a configurable policy for every content type in the Catalog Manager. The Catalog Manager administrator can require submissions of separate content types by creating separate content types that each contain a unique set of MIME types. The Catalog Manager administrator can require submissions of a single content type by creating a single content type that contains all the MIME types appropriate for that content type.


Content Editions

A content item itself is never accessible to a subscriber. Every content item has one or more editions. An edition is an instance of a content item that is designed for a specific target device or device capabilities.

Editions initially submitted by a content provider and accepted by the Catalog Manager are also not accessible to subscribers. An edition must be instrumented to run on devices that have matching capabilities. An instrumented edition is considered the final edition as opposed to the uninstrumented original edition. Final editions are listed as downloadable in the Editions section of content property pages in the Catalog and Vending Managers.

When a content provider submits an edition for a content item already submitted to and published in the Catalog Manager, it is noted as an edition update in the Catalog Manager. The Catalog Manager administrator can change the status of an edition update to published, pending, or denied. Only published editions are available to the Vending Manager.

Note that a content provider can submit two types of editions for a content item already submitted and published:


Previews

Previews enable subscribers to sample content before purchasing. The preview feature includes the following capabilities:

Subscribers can preview items from the content details when browsing available content. Subscribers see or hear the previews that are associated with the edition that runs on their device. Capability matching is done only on the edition, not on the preview file. The only checking done by the system is to ensure that the preview file is of a MIME type that is supported by Content Delivery Server. Content Delivery Server does not check whether the subscriber is using a browser that is capable of showing or playing the selected preview.

For information on configuring previews and watermarking, see Chapter 15 of the Sun Java System Content Delivery Server Integration and Configuration Guide.

Managing Previews

Preview sets can be edited in the Developer Portal by the content provider and in the Catalog Manager administration console by the administrator. Vending Manager administrators can only view preview sets.

Preview sets associated with an item of content can be viewed independently from the editions, or the preview set associated with a specific edition can be managed. When managed independently, any change to a preview set affects all editions that reference that preview set. When managed by edition, the following options are available:

If changes are made so that a preview set is no longer referenced by any edition, that preview set is automatically deleted by the system.



Tip - To inspect preview files while managing preview sets, the browser must allow popup windows.


Subscriber Access

Content Delivery Server provides a device-based Subscriber Portal and a PC-based Subscriber Portal. Subscribers can preview content using either version. The following sections describe how subscribers access previews using these portals.

Device-Based Previews

Previews are available from the Purchase Content page. The Purchase Content page is shown when a subscriber selects a content item. If the item has a preview file, one of the following links is shown after the Purchase link:

The link shown is based on the type of file provided as the preview, not on the type of content with which the preview is associated.

If only one image preview file is available, that image is shown in the browser when the subscriber clicks Preview. If more than one image preview file is available, a list of links to the files is shown. The files are shown in the order in which they appear in the preview set. If a caption was provided by the content provider or Catalog Manager administrator, it is used as the link text. If a caption was not provided, the default caption is used. To view a preview, click the caption.

If the preview is an audio file, that file is played when the subscriber clicks Listen. If more than one audio preview file is available, only the first file is played.

Content Delivery Server does not check whether the browser being used is capable of showing or playing the selected preview. The browser determines how unsupported file types are handled. Also, preview presentations are best handled by browsers that support XHTML. For browsers that support WML, page definitions in the device-specific user interface framework must be customized to handle audio previews. The device-specific user interface framework is described in Chapter 19 of the Sun Java System Content Delivery Server Integration and Configuration Guide.

PC-Based Previews

Previews are available from the list of available content and from the Content Details page. If a preview is available for a content item, one of the following buttons is shown next to the name of the item on the list of available content and above the Tell a Friend button on the Content Details page:

The link shown is based on the type of file provided as the preview, not on the type of content with which the preview is associated.

When Preview Content is clicked, all available image preview files are shown with their caption. If no caption was provided, the default caption is shown. When Listen is clicked, the audio preview file is played in an embedded player window. If more than one audio preview file is available, only the first file is played.

Content Delivery Server does not check whether the browser being used is capable of showing or playing the selected preview. The browser determines how unsupported file types are handled.


Streamed Content

How a content provider submits streamed content differs depending on whether the content provider is submitting on-demand or live streamed content. A content provider can also submit streamed content using a session descriptor protocol (SDP) file. In all submission cases, a content type for streaming must exist in the Catalog Manager that has the appropriate MIME types associated with it. If no such streaming content type exists, the submission fails. Streaming content types in Content Delivery Server are streaming_audio and streaming_video.

In the case of on-demand streamed content, the content provider uploads the binary file in one of the streamed content supported MIME types, specifies the date range (the time period that the content is valid) of the content item, and submits the content. If accepted, the binary file is stored in Content Delivery Server’s data store.

If the on-demand streamed content is externally hosted, the content provider provides the URL to the content on the external host, specifies the date range (the time period that the content is valid) of the content item, and submits the content. If accepted, Content Delivery Server connects to the external site to obtain the content’s binary file. The binary file and the URL are stored in Content Delivery Server’s data store.

For on-demand streamed content that is already present on the streaming server, the content provider provides the URL to the content on the server and specifies the date range (the time period that the content is valid) of the content item. If accepted, the URL is stored in Content Delivery Server’s data store.



Note - For on-demand streamed content, if the size of the streamed content exceeds the configurable restricted size, the submission fails.


For live streamed content, the content provider provides the URL, the MIME type of the streamed content so that capability matching can occur, the date range (the time period that the content is valid) of the content item, and submits the content. If accepted, the URL is stored in Content Delivery Server’s data store.

If an SDP file is used, the content provider uploads the file. If accepted, the binary file is stored in Content Delivery Server’s data store.

Stocking Streamed Content

Automatic stocking of streamed content in the Vending Manager succeeds under the following conditions:

The Vending Manager copies the streamed content binary to a location accessible by the streaming server and stores the generated URL. If a connectivity failure occurs between Content Delivery Server and the streaming server when auto-stocking streamed content or an edition of streamed content, the Vending Manager retries auto-stocking the streamed content (without blocking the other messages from the Catalog Manager) until the content is successfully stocked.

If the Published status of streamed content or an edition of streamed content is changed in the Catalog Manager, the content is automatically unstocked in the Vending Manager.



Note - If the value of the vending.streaming property is disabled, streamed content cannot be stocked. Auto-stocking does not occur and manual stocking is not possible as the Stock Content button does not appear on the property page for streamed content in the Vending catalog.


Stocking Editions of Streamed Content

The same conditions as auto-stocking streamed content must exist for new or updated editions of streamed content to be stocked. For updated editions, the URL is deleted and, if possible, the binary file for the previous edition is deleted from the streaming server.

Restocking Streamed Content

If streaming is disabled, that is the streaming.enable property is set to false, all streamed content that are stocked in the Vending Manager are unstocked when the system administrator starts Content Delivery Server.

If streaming is then re-enabled, that is the streaming.enable property is set to true, the streamed content must be manually restocked.


Custom Fields

In addition to the default properties given to content items relevant to their content type, additional properties, referred to as custom fields, can be specified. Such fields can be used by Catalog and Vending Manager administrators and content providers to better manage and locate content. System administrators define custom fields in the CustomFields.properties file. Other aspects of custom fields, such as labels, which can be localized, are defined in other properties files. For detailed information on defining custom fields, see the Sun Java System Content Delivery Server Integration and Configuration Guide.

Custom fields can be either required or optional. They can also be common or unique to the Catalog Manger, Vending Manger, Developer Portal, or Subscriber Portal. For instance, a content item can have a custom field that is viewable to subscribers, such as an Artist field that can help subscribers search for the content and a Catalog Price field that is viewable only by Vending Manager administrators.

Custom fields can also be defined for editions of content. The fields for an edition can be different than the custom fields defined for the content item. Consider what data you need to be able to mange content most effectively when creating custom fields.

To be able to search for a custom field, it must be included in the search index. Custom fields must be manually added to the schema.xml file. By default, most of the custom fields provided by Content Delivery Server are searchable, however, the system administrator can specify that a custom field not be searchable. If you cannot search for a custom field, contact your system administrator. When searching for a custom field, you must include the emf. prefix to the field, for example emf.artist. For information on including custom fields in the search index, see the Sun Java System Content Delivery Server Integration and Configuration Guide.


Search Result Displays

The system administrator can configure the following property fields to display a specific set of content properties depending on the search query entered:

TABLE 4-1 lists the default content property fields that Content Delivery Server displays when a keyword or field query search is entered for the Developer Portal, and Catalog and Vending Managers.


TABLE 4-1 Default Search Results Display Fields

Portal

Default Display

Developer Portal

Title, Content Type, Category List, Suggested Price, Status Message, Status

Catalog Manager

Title, Status[1], Developer Name, Category List, Catalog Price, Suggested Price, Short Description, Content Type

Vending Manager

Resource Content ID, Title, Status, Retail Price, Catalog Price, Category List, Content Type


When a user-defined (&fl or &sort) is specified in the search query, Content Delivery Server, by default, shows only a minimal display consisting of only the fields specified with &fl or &sort.

The exact set of content property fields that are shown depends on the configuration of the each property set by the system administrator. To ensure that the search results display the information you want to see for each type of search, work with your system administrator to define the desired search result displays. See the Sun Java System Content Delivery Server Developer Guide and the online help in the Catalog and Vending Manger for information on performing search queries. See the Sun Java System Content Delivery Server Integration and Configuration Guide for information on editing the search results properties.

Search Result Examples

The examples in this section are based on the default displays provided by Content Delivery Server, as follows:

For example, if the search query soccer is entered in the Developer Portal, the default search results display shows the following fields: Title, Content Type, Category List, Suggested Price, Status Message, and Status.

For example, if the search query status:submitted is entered in the Developer Portal, the search results display shows Title, Content Type, Category List, Suggested Price, Status Message, and Status.

Because status is already included as a field to display in the field_query.search.results property, it appears in the results.

Another example is if the search query status:submitted AND shortdesc:soccer is entered in the Developer Portal, the search results display Title, Content Type, Category List, Suggested Price, Status Message, Status, and Short Description.

For example, if the search query is status:submitted AND shortdesc:soccer&fl=devcontentid, the default search results displays only the requested Developer Content ID field because no fields are included in the user-defined search.



Note - Search results are produced from the search database, which is periodically reindexed. If content is changed after the last reindexing of the search database, the results shown on the Browse and Search Result page might not immediately reflect the most current state of the content. For example, if a status change is made, the results might show the modified content as having the prior status.


For a list of search fields for content and content editions, see TABLE 4-2 and TABLE 4-4 respectively.

Limiting the Search Results Display

The number of rows displayed by default in the Browse and Search Results page is also configurable. You can also specify the exact number of rows you want to see by specifying &rows=N is the search text fields in the Developer Portal, and the Catalog and Vending Mangers.

You can display a specific portion of the search results by including &start=N to your search query. All matched items occurring after the Nth item are displayed. For example, if you have you have 30 items but know you are interested only in the last 15, you can specify &start=14 in the search query. The results displayed begin with the 15th item.

For detailed information on the use of the &fl, &rows, and &start search keywords, see the search information available in the Catalog and Vending Manager online help or in the Content Developer Guide.

For detailed information on the content search and sort feature used in Content Delivery Server, see the Apache Lucene and Solr documentation at http://lucene.apache.org/java/docs/index.html and http://lucene.apache.org/solr/tutorial.html.

Search Fields

This section lists the searchable fields for content items and editions. Note that not all fields are present on a content item or edition property details page.

TABLE 4-2 lists all the searchable fields and where the fields are searchable.


TABLE 4-2 Search Fields for Content Items

Search Field Name

Search Field Description

Value

Catalog

Manager

and

Developer Portal

Vending Manager

Sortable Field

category

List of content categories.

String.

For example, Games

X

X

No

categoryid

List of category identifiers for all categories under which a content item is listed.

Numeric.

For example, 13 14 9 2

X

X

No

categorypath

List of category IDs for all categories under which a a content item is listed, including parent categories up to the root category, which always has a value of 1.

Numeric

For example, 1 13 9 2

 

X

No

cmprice

Catalog price of content

To search for a specific monetary amount, use cmprice_value.

String.

For example,
free, usage, weekly, download, 2 uses, or subscription

X

X

Yes

cmprice_enddate

Last day content using Per Interval pricing model can be run

Value takes the form

yyyy-mm-ddThh:mm:ssZ.

Date.

For example,
[2007-09-04T00:00:00Z TO
2007-09-04T23:59:59Z]

X

X

Yes

cmprice_freqocc

Frequency that content can be downloaded

Text.

For example, monthly

X

X

Yes

cmprice_model

Pricing model name

String.

This field takes the following values:

  • Free
  • FirstDownload
  • Recurring Download
  • LimitedTime[2]
  • Period
  • Subscription
  • Trial Usage
  • Usage
  • Bundle

X

X

Yes

cmprice_noofdays

Number of days content can be downloaded

Numeric.

For example, 30

X

X

Yes

cmprice_nooftimes

Number of times content can be downloaded

Numeric.

For example, 25

X

X

Yes

cmprice_startdate

First day content using Per Interval pricing model can be run

Value takes the form

yyyy-mm-ddThh:mm:ssZ.

Date.

For example,
[2007-08-04T00:00:00Z TO
2007-08-04T23:59:59Z]

X

X

Yes

cmprice_value

Suggested monetary value of content

Numeric.

For example, 1.25

X

X

Yes

ctype

Content type

String.

For example, image

To search for an exact string match, use ctype_exact.

X

X

Yes

ctype_concept

Content type concept ID

Numeric.

This field takes the following values:

  • 7000 - Generic content (content other than MIDlets, iAppli, and streamed or bundled content)
  • 7001 - Bundled content
  • 7002 - MIDlets
  • 7003 - iAppli content
  • 7004 - Streamed content

 

X

Yes

devcontentid

Developer content ID

String.

For example, rsmith22

To search for an exact string match, use devcontentid_exact.

X

X

Yes

devid

Developer ID

Numeric.

For example, 004

X

 

Yes

devname

Developer name

String.

For example, rsmith

To search for an exact string match, use devname_exact

X

X

Yes

dpprice

Price of submitted content

To search for a specific monetary amount, use dpprice_value.

String.

For example,
free, usage, weekly, download, 2 uses, or subscription

X

 

Yes

dpprice_enddate

Last day content using Per Interval pricing model can be run

Value takes the form

yyyy-mm-ddThh:mm:ssZ.

Date.

For example,
[2007-09-04T00:00:00Z TO
2007-09-04T23:59:59Z]

X

 

Yes

dpprice_freqocc

Frequency that content can be downloaded

Text.

For example, monthly

X

 

Yes

dpprice_model

Pricing model name

String.

This field takes the following values:

  • Free
  • FirstDownload
  • Recurring Download
  • LimitedTime*
  • Period
  • Subscription
  • Trial Usage
  • Usage
  • Bundle

X

 

Yes

dpprice_noofdays

Number of days content can be downloaded

Numeric.

For example, 30

X

 

Yes

dpprice_nooftimes

Number of times content can be downloaded

Numeric.

For example, 25

X

 

Yes

dpprice_startdate

First day content using Per Interval pricing model can be run

Value takes the form

yyyy-mm-ddThh:mm:ssZ.

Date.

For example,
[2007-08-04T00:00:00Z TO
2007-08-04T23:59:59Z]

X

 

Yes

dpprice_value

Monetary value of submitted content

Numeric.

For example, 1.25

X

 

Yes

extcontid

External content identifier

String.

For example, default thom002

 

X

Yes

extcontgrpid

External content group identifier

String.

For example, thom002

 

X

Yes

keyword

Content keyword

String.

For example, mazegame

 

X

Yes

longdesc

Long description of content

String.

For example, nature scenes coastlines

To search for an exact string match, use longdesc_exact

X

X

Yes

planid

List of plan identifiers

Numeric.

For example, 1 1001 1000

X

X

No

preview

Whether content has a preview file or not.

Boolean value of true or false

X

X

Yes

rcid

Content class identifier

Numeric.

For example, 3001

X

X

Yes

shortdesc

Short description of content

String.

For example, nature scenes

To search for an exact string match, use shortdesc_exact

X

X

Yes

status

Status of the content item

String.

For example, active

To search for an exact string match, use status_exact

X

X

Yes

text

String contained in the following content fields:

  • type
  • title
  • short description
  • long description
  • category
  • developer name
  • status

String.

For example, chart spreadsheet

X

X

No

timestamp

Most recent reindexing date of content

Date.

For example,

[2007-07-12T00:00:00Z TO
2007-07-12T23:59:59Z]

X

X

Yes

title

Name of the content item

String.

For example, Goldminer

To search for an exact string match, use title_exact

X

X

Yes

vmprice

Retail price subscribers are charged for content

To search for a specific monetary amount, use vmprice_value.

String.

For example,
free, usage, weekly, download, 2 uses, or subscription

 

X

Yes

vmprice_enddate

Last day content using Per Interval pricing model can be run

Date.

For example,
[2007-09-04T00:00:00Z TO
2007-09-04T23:59:59Z]

 

X

Yes

vmprice_freqocc

Frequency that content can be downloaded

Text.

For example, monthly

 

X

Yes

vmprice_model

Pricing model name

To search for a specific monetary amount, use cmprice_value.

String.

This field takes the following values:

  • Free
  • FirstDownload
  • Recurring Download
  • LimitedTime*
  • Period
  • Subscription
  • Trial Usage
  • Usage
  • Bundle

 

X

Yes

vmprice_noofdays

Number of days content can be downloaded

Numeric.

For example, 30

 

X

Yes

vmprice_nooftimes

Number of times content can be downloaded

Numeric.

For example, 25

 

X

Yes

vmprice_startdate

First day content using Per Interval pricing model can be run

Value takes the form

yyyy-mm-ddThh:mm:ssZ.

Date.

For example,
[2007-08-04T00:00:00Z TO
2007-08-04T23:59:59Z
]

 

X

Yes

vmprice_value

Monetary value of content

Numeric.

For example, 1.25

 

X

Yes


For detailed information on exact searches, see Catalog or Vending Manager online help or the Content Developer Guide.

TABLE 4-3 lists the custom fields for content items provided by Content Delivery Server that you can search.


TABLE 4-3 Custom Fields for Content Items

Search Field Name

Search Field Description

Value

Catalog

Manager

and

Developer Portal

Vending Manager

Sortable Field

end_time

Last date that streamed content can be downloaded

To search, enter the full name of the field by specifying the prefix and the specific streamed content type followed by end_time.

For streamed content only.[3]

Date.

For example,
emf.streaming_audio.end_time:[2007-06-02T00:00:00Z TO
2007-06-02T23:59:59Z]

X

X

Yes

start_time

First date that streamed content can be downloaded

To search, enter the full name of the field by specifying the prefix and the specific streamed content type followed by start_time.

For streamed content only.*

Date.

For example,
emf.streaming_audio.start_time:[2007-06-02T00:00:00Z TO
2007-06-02T23:59:59Z]

X

X

Yes

popularity

Popularity value

Numeric.

High numbers indicate greater popularity of content. For example, 88.9

 

X

Yes


TABLE 4-4 lists the search fields available for content editions.


TABLE 4-4 Search Fields for Content Editions

Search Field Name

Search Field Description

Value

Catalog

Manager

Developer Portal

Vending Manager

Sortable Field

citemid

Content item identifier

Numeric.

For example, 5001

 

X

No

edname

Title of the edition

String.

For example,
City Map - Large

X

 

No

edstatus

Status of the edition

String.

For example, new

X

 

No

lastmoddate

Most recent date edition was modified

Date.

For example,
[2007-08-04T12:00:00Z TO
2007-08-05T12:00:00Z]

X

X

No

loctype

Location type

String.

This field takes the following values:

  • I - Internal content
  • E - Externally hosted content
  • C- Copyrighted content
  • S - Streamed content submitted with an SDP file
  • U - Streaming URL

X

X

No

matcheddevice

List of devices matched for this edition as determined by capability matching

String.

For example,
Motorola T720 Nokia 7610

X

X

No

matcheddeviceid

List of device IDs matched for this edition as determined by capability matching

String.

For example,
1011 2001 3000

X

X

No

maxsize

Size of edition binaries as determined by capability matching

Numeric.

For example, 47923

X

X

No

riid

Edition resource identifier

Numeric.

For example, 6008

X

X

No

statusmsg

Status message defined by Catalog Manager for edition

String.

For example, May require testing

X

 

No

stockdate

Date edition was stocked

Date.

For example,
[2007-06-02T08:00:00Z TO
2007-06-21T23:59:00Z]

 

X

No

subdate

Submission date of edition

Date.

For example,
[2007-06-02T08:00:00Z TO
2007-06-21T23:59:00Z]

X

 

No

version

Version of the edition

Numeric.

For example, 2.4 1.2

X

X

No

weight

Weight of the edition

Numeric.

For example, 50.0 or 33.7

X

 

No


Search Results for the Subscriber Portal

The Subscriber API is used to pass information from Content Delivery Server to the Subscriber Portal. When a subscriber searches for content, matching content is returned as an IContentSummary object. Only fields that are part of the IContentSummary object are available for the search results display. See Chapter 11 of the Sun Java System Content Delivery Server Customization Guide for information on the Subscriber API.


Sorting Content

In addition to searching for content, you specify the sort order of the search results either through the search query or by clicking on the column titles on the Browse and Search Results page.

The contents on the Browse and Search Results page are sorted in the following ways:

For example, entering game in the search field returns content items that contain the string game in their content information with the first content item having more occurrences of game in its information than subsequent items in the list of search results.

For example, if a search query devname:smith&sort=title asc is entered, content provided by Smith is listed first with content titles in alphabetical order per content provider.


Determining the Popularity Value of Content

Content popularity is calculated using the values of two particular custom fields. One stores the time stamp that marks the time when the content was first accessed with an eligible popularity event. The second field stores the count of the eligible popularity events. Every content item stocked in the Vending Manager is assigned these two custom fields. Neither custom field is available for search queries. You can configure the eligible events in the EventService.properties file in the configuration directory. By configuring the events, you determine what factors are relevant to your business needs in determining a content item’s popularity. See the Sun Java System Content Delivery Server Integration and Configuration Guide for information.

The relative popularity value for a content item is calculated each time the content item is reindexed by the search system.



Note - If your deployment of Content Delivery Server has multiple Vending Managers serving the same content database, only one Vending Manager can have the reindexing process enabled.


During reindexing, the popularity value is calculated by an implementation of the com.sun.content.server.content.Popularity interface. The implementation the system uses is specified by the vsadmin.popularity.impl property in the VSAdminConsole.properties file.

The default implementation takes the number of hits accumulated by the eligible events at the current point in time, and divides it by the time passed between the current system time and the value of the access time custom field. The relative popularity value is stored in the search index under the popularity custom key. This value is available for the Vending Manager database content list and search index only. If multiple Vending Managers with independent databases are set up, the value is not shared.

For details on how to configure popularity, see the Sun Java System Content Delivery Server Integration and Configuration Guide.

 


1 (TableFootnote) Status is not displayed by default in the Published Content tabbed page because all content items have the status of Published.
2 (TableFootnote) Refers to the Per Interval pricing model.
3 (TableFootnote) end_time and start_time are applicable to streamed content only by default. These properties can be configured for other content types as desired.