Home > Contents > Index >
Template Tags TOC   |    Alpha TOC   |    Tag Family TOC   |    Purpose TOC   |    Annotated TOC   |    Index 

 

satellite:blob

Gets a blob.

Syntax

<satellite:blob
          [service="service name"]
           blobtable="blob table name"
           blobkey="primary key name"
           blobwhere="primary key value"
           blobcol="column_name"
          [blobheader="MIME type"]
          [parentid="parent to log this blob as a dependency"]
          [csblobid="session variable"]
          [cachecontrol="expiration date and time"]
          [blobnocache="true|false"]
          [assembler="uri assembler short form"]
          [fragment="fragment value"]
          [scheme="scheme value"]
          [authority="authority value"]
           >
    <satellite:parameter name="ALT" value="alttext"/>
    <satellite:parameter name="BORDER" value="border_size"/>
</satellite:blob>

Attributes

service (required)
Specify the start of the HTML tag to hold this blob. For example, if the blob is an image, set service_name to "img src".
blobtable (required)
Name of the content table containing the binary data.
blobkey (required)
Name of the column used as the table's primary key.
blobwhere (required)
Value of the primary key for the row containing the binary data.
blobcol (required)
Name of the column containing the binary data.
blobheader (required)
MIME type for returned data. It takes the form description/extension. For example, the MIME type for a GIF image is image/gif.
parentid (optional)
The id against which this blob should be logged as a dependency. When a blob is cached, an item dependency can be recorded against the cache key to provide a content-based identifier for accessing the cached blob, rather than requiring the cache key to do so. This is useful in cache management. When coupled with an asset identifier, this can allow blobs to be flushed when an asset is updated.
csblobid (optional)
The value of this parameter must correspond to a session variable of the same name when BlobServer security is on. When a request is made to the BlobServer, the img src service parameter sends a new request to the application server after the browser reads the containing page. BlobServer then verifies if the csblobid parameter was set. When BlobServer security is set to true and the csblobid value matches the session variable value, the blob is served. If the values do not match a security violation is reported and no blob is served.
cachecontrol (optional)
Specifies when this blob expires from the cache. If you omit this tag, CS-Satellite uses the value of the expiration property to determine how long to cache this blob. You can override the default expiration value by specifying one of the following:
blobnocache (optional)
Whether or not to disable blob caching. A value of true prevents the blob from being cached.
assembler (optional)
Short form name for uri assembler class. Specifying an assembler overrides the default assembler used by Content Server to construct URLs. Omitting this value will cause URLs generated by this tag to use the assembler registered with the highest priority in the request property file.
fragment (optional)
Optional attribute to specify a fragment on the URL. Fragments, sometimes known as anchors, allow browsers to advance to a specific location in a single web page. ex. http://www.myhost.com/foo.html#thirdParagraph.
scheme (optional, required if authority is set)
Attribute that allows the scheme to be set in the URL. The scheme in the case of most URLs refers to the protocol and is usually set to either http or https. If this is left blank (and authority is left blank) then the URL will be relative to the current scheme and authority.
authority (optional, required if scheme is set)
Attribute that allows the user to specify a fully-qualified URL, when used in conjunction with scheme. URLs are of the form scheme://authority/path?query#fragment. For most purposes, authority corresponds to host:port for the given application. Specifying scheme and authority allows for fully-qualified URLs to be created, which is useful for sites with multiple domains and in other cases.

Arguments

satellite:parameter (optional)
Arbitrary name-value pair that is added to the URL.

Description

This tag retrieves a blob. satellite:blob returns a link tag to render the link in the page.

This tag overrides the default caching expiration time defined by the CS-Satellite expiration property.

The satellite:blob tag is the preferred method to render images, downloadable documents, and other large objects that are managed by Content Server.

Note

The satellite:blob tag functions correctly even when cookies are disabled.

Many Web sites contain images, such as banners or corporate logos, that never expire or seldom expire. Such images might appear on every page of content and be served millions of times per day. If a blob never expires (or seldom expires), your first impulse might be to use the satellite:blob tag and set the cachecontrol attribute to never. This is an acceptable method of serving blobs, however, it does not provide the best performance. Whenever the cached blob is requested, Satellite must perform a lookup in the cache table. Each individual lookup does not require many resources, but CS-Satellite might have to perform that same lookup millions of times per day.

An alternative way to serve never-expiring images is to do the following:

For example, consider a never-expiring corporate logo file named CorporateLogo.gif. To use the alternate scheme, you first copy the file to the Web server's doc root on all your CS-Satellite hosts. Then, instead of serving this logo through a satellite:blob tag, your element could simply issue a tag like the following:

<img src="CorporateLogo.gif"/>

Note

Be careful when using this alternative mechanism for serving never-expiring images. For example, CS-Satellite cannot warn you that one of the CS-Satellite hosts does not contain the same image file as the other hosts.

You can use the blobheadername and blobheadervalue arguments to specify http headers in the BlobServer response. For example, you can specify the content-type as follows:

blobheadername1="Content-Type" 
blobheadervalue1="image/gif"

If you want to use http headers to prevent browser caching of BlobServer requests for all browsers, use both HTTP 1.0 and HTTP 1.0 cache control directives. In the following example, the first header (Cache-Control:no-cache) is the HTTP 1.1 directive and the second header (Pragma:no-cache) is the HTTP 1.0 directive.

blobheadername1="Cache-Control" 
blobheadervalue1="no-cache" 

blobheadername2="Pragma" 
blobheadervalue2="no-cache"

To determine how long to cache the blob, these criteria are evaluated in this order:

  1. A value passed in using the cachecontrol attribute.
  2. If there is no value in cachecontrol, the value in the satellite.blob.cachecontrol.default property, found in the futuretense.ini property file, is used.
  3. If there is no value in satellite.blob.cachecontrol.default, the value of the expiration property, located in the satellite.properties property file, is used.

We recommend that you set values for the satellite.blob.cachecontrol.default properties that make sense for the majority of your blobs. If you want to override the default expiration time, use the cachecontrol parameter.

Example

<satellite:blob service="img src" 
                blobtable="MyImageTable" 
                blobkey="id"
                blobwhere="12345"
                blobcol="urlpicture"
                blobheader="image/gif"
                cachecontrol="*:30:0 */*/*">
    <satellite:parameter name='ALT' value='imagelist.alttext'/>
    <satellite:parameter name='BORDER' value='0'/>
</satellite:blob>
  Home > Contents > Index >

FatWire JSP Tag Reference
Copyright 2005,2006,2007 by FatWire Software
All rights reserved.