Home > Contents > Index >
satellite.blob
Generates a URL for a blob to be served from either Content Server using BlobServer or Satellite Server.
Syntax
<satellite.blob [service="service_name"]
blobtable="content_catalog_name
" blobkey="primary_key_name
" blobwhere="primary_key_value
" blobcol="column_name
" blobheader="MIME_type
" [parentid="Parent to log this blob as a dependency against
]" [csblobid="session variable value"] [cachecontrol="expiration_date_and_time
"] [urlbase="urlbase info"] [outstring="outsting info"] [classname="classname info"] [overidetype="override type"] [blobnocache="true|false"] [assembler="uri assembler short form"] > [<satellite.parameter name="nameN" value="valueN"/>] [<satellite.parameter name="blobheadernameN" value="header parameter name"/>] [<satellite.parameter name="blobheadervalueN" value="header value"/>] </satellite.blob>Parameters
service (optional)
- Specify the start of the HTML tag to hold this blob. For example, if the blob is an image, set the value of
service
toimg src
.If this parameter is not specified, the default is
img src
. Ensure that the service is compatible with the value ofblobheader
.
name (optional)
- Specify zero or more valid name/value modifiers to the HTML tag specified by
service_name
. For example, if you setservice
toimg src
, then you can specify modifiers that could go inside an HTML<img>
tag. For example:
width="200" height="300" align="left"blobtable (required)
- Name of the content or object 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.
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 thecsblobid
parameter was set. When BlobServer security is set to true and thecsblobid
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.
blobheadername (optional)
- This parameter set specific http header variables to suit your needs, The
blobheadername
parameter is used in conjunction with theblobheadervalue
parameter to produce name/value pairs. This parameter represents the variable name.
bloheadervalue (optional)
- This parameter is used in conjunction with
blobheadername
to specify and represent http header variable values.
cachecontrol (optional)
- 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:
never
- This blob should never expire for time reasons. Such objects are not guaranteed to stay in the cache forever. For example, if the cache is full, CS-Satellite still removes blobs on a LRU (Least Recently Used) basis.immediate - E
xpire this blob immediately; in other words, to not cache this page.expiration_date_and_time
- Specifies the precise date(s) and time(s) this blob should expire.session:
expiration_date_and_time
- Specifies the precise date(s) and time(s) this blob should expire. Placing the wordsession
in front ofexpiration_date_and_time
tells CS-Satellite to serve this blob only to the person who originally requested it.urlbase (optional)
- Specifies the entire URL up to the query string excluding the question mark (?). This parameter can be used to hard code another server or servlet. The default value is
cigpath+blobserver
.
outstring (optional)
- If this parameter is specified, the URL is set to a variable. If not, an HTML tag is emitted that corresponds to the value of the service parameter. If no service parameter is specified,
img src
is used.
classname (optional)
- This parameter is used by the export mechanism to allow the class implementing the iReference interface to be overidden. The default value is
COM.FutreTense.Export.DiskBlobRef
.
ovveridetype (optional)
- This parameter is used by the export mechanism to call the blob to be hard coded as dynamic or static after the code is exported. The default is found in context, see the export code for more information.
blobnocache (optional)
- Whether or not to disable blob caching. Setting this parameter to
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 an index of 0 in the request property file.
Description
This tag gets a blob. If the specified blob is already cached on this CS-Satellite,
satellite.blob
loads it into the page. If the specified blob is not already cached on this CS-Satellite,satellite.blob
extracts the blob from a table, caches it, and loads it into the page. Keep in mind that this tag works regardless of the cookie setting on the browser.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 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 thecachecontrol
attribute tonever
. This is an acceptable method of serving blobs, however, it does not provide the best performance. Whenever the cached blob is requested, a lookup is performed in the cache table. Each individual lookup does not require many resources, but CS-Satellite may have to perform that same lookup millions of times per day.An alternative way to serve never-expiring images is to do the following:
- Copy the never-expiring images to all your CS-Satellite hosts. Place them under the doc root for the Web server.
- Access them through
<img src="
pathname
">
HTML tags rather than throughsatellite.blob
Satellite XML tags.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 asatellite.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
andblobheadervalue
parameters 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 a page or pagelet, these criteria are evaluated in this order:
1. A value passed in using the
cachecontrol
parameter.
2. If there is no value in
cachecontrol
, the value in thesatellite.page.cachecontrol.default
property, found in thefuturetense.ini
property file, is used.
3. If there is no value in
satellite.page.cachecontrol.default
, the value of theexpiration
property, located in thesatellite.ini
property file, is used.We recommend that you set values for the
satellite.page.cachecontrol.default
properties that make sense for the majority of your pages and pagelets. If you want to override the default expiration time, use thecachecontrol
parameter. Use the expiration property to determine the timeout for pages that are not generated from this tag; for example, pages that are generated directly from a URL.Example
The following tag gets a blob from the
PortalImage
table that expires from the cache daily at 5:00 in the afternoon. The blob is a GIF image. In the composed page, this GIF image consumes a space 125x75 pixels with a 3-pixel border.
<satellite.blob service="img src" width="125" height="75" border="3" blobtable="PortalImage" blobkey="id" blobwhere="imagelist.id" blobcol="urlpicture" blobheader="image/gif" cachecontrol="17:0:0 */*/*"/>
Home > Contents > Index > ![]()
FatWire XML Tag Reference
Copyright 2005 by FatWire Software
All rights reserved.