org.hd.d.pg2k.webSvr.util
Class WebConsts

java.lang.Object
  extended by org.hd.d.pg2k.webSvr.util.WebConsts

public final class WebConsts
extends java.lang.Object

Web-server-related constants. This is for constants only of interest to Web apps.


Field Summary
static boolean ALLOW_BOUNCE_TO_LOCAL_MIRROR
          If true then allow users to be pushed to a local country mirror.
static boolean ALLOW_BROWSER_IMAGE_SCALE
          If true, allow browsers to scale JPEG/GIF images when it saves us significant work.
static java.lang.String ATTR_NOFWD
          Request-level attribute name to request no further redirection/forwarding (if attr non-null).
static java.lang.String BANDWIDTH_LIGHTLOAD_ATTR_NAME
          Name of application-scope Boolean attribute, if any, to indicate bandwidth/CPU light load.
static java.lang.String BANDWIDTH_OVERLOAD_ATTR_NAME
          Name of application-scope Boolean attribute, if any, to indicate bandwidth/CPU overload.
static java.lang.String BANDWITDH_LIMIT_BPS_DEFAULT_PNAME
          Default name of bandwidth-limit system property (bytes per second).
static java.lang.String BANDWITDH_LIMIT_GBP30D_DEFAULT_PNAME
          Default name of bandwidth-limit system property (gigabytes per 30 days).
static java.lang.String BASE_PATH_ADMIN
          Name of base of admin area below the WAR root; no leading or trailing `/'.
static java.lang.String BASE_PATH_CATPAGE
          Name of base of catalogue-page area below the WAR root; no leading or trailing `/'.
static java.lang.String BASE_PATH_EXHIBITS
          Name of base of exhibits area below the WAR root; no leading or trailing `/'.
static java.lang.String BASE_PATH_FEATURES
          Name of base of features area below the WAR root; no leading or trailing `/'.
static java.lang.String BASE_PATH_STATIC
          Name of base of static/cacheable content below the WAR root; no leading or trailing `/'.
static java.lang.String BASE_PATH_TN
          Name of base of thumbnail/sample area below the WAR root; no leading or trailing `/'.
static java.lang.String BETDJ_BASE_URI_ATTR_NAME
          Name of the (request-level) attribute used to pass the immutable CharSequence base absolute URI of the tree to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.
static java.lang.String BETDJ_COMMON_SECTION
          Name of common section/category dir (immutable CharSequence) for all exhibits in the view, or null if none or not known.
static java.lang.String BETDJ_HTML_GENERAL_DESC_ATTR_NAME
          Name of the (request-level) attribute used to pass the String HTML general tree description to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.
static java.lang.String BETDJ_LIST_ATTR_NAME
          Name of the (request-level) attribute used to pass the (unmodifiable, sorted) List of exhibits to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.
static java.lang.String BETDJ_LIST_SNEXCOUNT_NAME
          Name of the (request-level) attribute used to pass (unmodifiable, CharSequence-to-Integer) Map of sub-nodes to exhibit counts BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.
static java.lang.String BETDJ_LIST_UNIN_NAME
          Name of the (request-level) attribute used to pass the boolean array of uninteresting parent nodes to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.
static java.lang.String BETDJ_PRWSEQ_ATTR_NAME
          Name of the (request-level) attribute used to pass the immutable CharSequence prefix word sequence of the tree to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.
static java.lang.String BETDJ_TITLE_ATTR_NAME
          Name of the (request-level) attribute used to pass the immutable CharSequence title of the tree to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.
static java.lang.String BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP
          URI of JSP page that handles display of browsable exhibit trees.
static boolean CANON_TREE_URIS_WITH_REDIR
          If true then we canonicalise tree-display URIs to try to reduce state-space with 301/302 redirects.
static boolean CAT_HANDLER_USE_JSP_FORWARD
          If true have the catalogue page generic handler use jsp:forward where possible to get to specific handler.
static java.lang.String CCET_SUPPRESS_ATTR_NAME
          Name of request-scope String attribute, if any, to suppress default ETag header.
static java.lang.String CCLM_SUPPRESS_ATTR_NAME
          Name of request-scope Long attribute, if any, to suppress default Last-Modified header.
static java.lang.String CDN_HOST
          Private CDN hostname for more valuable content.
static java.lang.String CON_ICON_15x15_NAME
          Name of 15x15 "frown"/"con"/"against" image within static-icon area.
static int DEFAULT_EXPECTED_USER_BW_BYTESPERSEC
          Expected typical mean bandwidth per active/sticky user, bytes per second; strictly positive.
static int DEFAULT_PAGE_CACHE_MS
          General (client/proxy) page-cache time, including catalogue pages (ms); strictly positive.
static long DEFAULT_STATIC_WEBITEMS_CACHE_MS
          Default time to allow client to cache unchanging and heavily-used objects under /_static and elsewhere.
static boolean DISPLAY_SPACE_IN_EXHIBIT_NAMES
          In catalogue entries display spaces instead of hyphens.
static boolean DO_FRAME_BREAKOUT
          If true, attempt to break out of third-party HTML frames.
static boolean EAGER_TN_USE
          If true, we force thumbnails to be made if we can use them in (catalogue) pages.
static boolean ENABLE_STICKY_HIT
          If true, enable recording (eg via Urchin) of when a user becomes 'sticky'.
static boolean ENABLE_URCHIN_STATS
          If true, enable Urchin (ie Google) site stats tracking.
static java.lang.String F_HTML_welcome_page
          HTML welcome page for a directory.
static java.lang.String F_secondary_generated_HTML_suffix
          Suffix for secondary, generated HTML objects, including ``.''.
static java.lang.String F_secondary_generated_WML_suffix
          Suffix for secondary, generated WML objects, including ``.''.
static java.lang.String F_secondary_generated_XHTML_suffix
          Suffix for secondary, generated XHTML objects, including ``.''.
static java.lang.String F_secondary_generated_XML_suffix
          Suffix for secondary, generated XML objects, including ``.''.
static java.lang.String FEATURE_COLLECTIONS_ROOT
          Root of "features" collections tree, starting and ending with "/".
static boolean FIRST_PAGE_AFAP
          If true then try very hard to push out the first page a user sees on our site(s) ASAP.
static int HOME_PAGE_TEASER_BANNER_IMAGE_COUNT
          Number of teaser thumbnails to show on front-page banner strip; strictly positive.
static java.lang.String HOME_URL_ACTUAL
          Actual front-page URI / rooted URL (starting with '/').
static java.lang.String HOME_URL_CANON
          Canonical front-page URI / rooted URL (starting with '/').
static java.lang.String MASTER_CONTEXT_ROOT
          Mount point for whole WAR tree on J2EE master servers.
static int MAX_NORMAL_PAGE_CACHE_MS
          Maximum non-spider/SE cache time for normal pages (ms); strictly positive.
static int MAX_NORMAL_PAGE_CACHE_MS_SHIFT
          Power of two (bit shift) to get value close below MAX_NORMAL_PAGE_CACHE_MS.
static int MAX_PG_DOWNLOAD_MS
          Target limit for page-download time in ms; strictly positive.
static int MAX_RESULTS_PAGES
          Maximum number of pages to show, or maximum number of page buttons if there have to be more pages.
static int MAX_RESULTS_PER_PAGE
          When generating large chunks of paginatable output, how many to limit each page to where possible.
static int MAX_SIMPLE_QUERY_LEN
          Maximum length of simple-text-query in bytes (pure-ASCII characters).
static int MIN_PC_COMPRESSABLE_BEFORE_ENCODE
          Minimum percent-saved before we will consider sending an exhibit compressed.
static long MIN_STATIC_WEBITEMS_CACHE_MS
          Minimum time to allow client to cache unchanging and heavily-used objects under /_static and elsewhere.
static int MOBI_REC_DEFAULT_SCREEN_WIDTH_PX
          Recommended/widely-supported screen-width for .mobi devices/sites, in pixels.
static int MOBO_REC_MAX_PG_WEIGHT_BYTES
          Recommended maximum page weight for .mobi devices/sites, in bytes.
static java.lang.String NOT_FOUND_PAGE
          URL of page/JSP to handle 404 (not found) errors.
static java.lang.String PAGE_NUMBER_PARAMETER
          When paginating, name of parameter (HTML fieldname and GET/POST field name) to pass page number in.
static java.lang.String PATH_CODE_SNAPSHOT_LATEST
          Root-based path from which latest available code snapshot bundle may be downloaded.
static java.lang.String PATH_JAVADOC_BUNDLE_LATEST
          Root-based path from which latest available Javadoc bundle may be downloaded.
static java.lang.String PATH_TN_SML
          Name of small thumbnail/sample area below BASE_PATH_TN; no leading or trailing `/'.
static java.lang.String PATH_TN_STD
          Name of standard thumbnail/sample area below BASE_PATH_TN; no leading or trailing `/'.
static java.lang.String PREFIX_CODE_SNAPSHOT
          Prefix of code snapshot in code section.
static java.lang.String PREFIX_JAVADOC_BUNDLE
          Prefix of Javadoc bundle in code section.
static java.lang.String PRO_ICON_15x15_NAME
          Name of 15x15 "smile"/"pro"/"for" image within static-icon area.
static boolean REDIR_MOBILES_AT_ROOT_TO_XHTML
          If true then attempt to redirect mobile-phone browsers hitting front page to XHTML version.
static java.lang.String REQUEST_START_DATETIME_ATTR_NAME
          Name of (request-level) attribute in which JSP page start time is stored (as a Date).
static java.lang.String ROBOTS_PAGE
          URL of URI requested by spiders to check if spidering is allowed..
static java.lang.String SEARCH_FORM_METHOD
          Method by which search form is posted; can be "post" or "get".
static java.lang.String SEARCH_TIME_MS_ATTR_NAME
          Name of (page-level) attribute in which last search time (ms) is stored (as a Long).
static boolean SHOW_FP_TRAILS_TEASER
          If true, insert teaser for trails on front page and possibly elsewhere.
static int SINGLE_PAGE_CONTACT_SHEET_TN_COUNT
          Most thumbnails to show on one of the best/new/etc collections pages; strictly positive.
static long SPIDER_PAGE_EXPIRY_MS
          Cache/expiry time for pages we want captured in search engines (ms); strictly positive.
static int SPIDER_REVISIT_DAYS
          Spider revisit time in days; if zero it means not to attempt to use the "revisit-after" meta tag.
static java.lang.String STATS_SINK_PAGE_RRURL
          Stats-sink receiver page root-relative URL.
static java.lang.String STDHDR_ATTR_NAME_BREADCRUMBS
          Request-level attribute name used to communicate breadcrumbs (if any) to standard page-header routine.
static java.lang.String STDHDR_ATTR_NAME_KEYWORDS
          Request-level attribute name used to communicate keywords String to standard page-header routine.
static java.lang.String STDHDR_ATTR_NAME_LOCATION
          Request-level attribute name used to communicate exhibit Location.Base to standard page-header routine.
static java.lang.String STDHDR_ATTR_NAME_NOINDEX
          Request-level attribute name used to indicate that this low-content page should not be SE food to standard page-header routine.
static java.lang.String STDHDR_ATTR_NAME_NOINDEX_ONLY
          Request-level attribute name used to indicate that this page should not be SE food to standard page-header routine.
static java.lang.String STDHDR_ATTR_NAME_SUBTITLE
          Request-level attribute name used to communicate sub-title String to standard page-header routine.
static java.lang.String STDHDR_ATTR_NAME_TITLE
          Request-level attribute name used to communicate title String to standard page-header routine.
static boolean SUPPORT_HOVERBOX
          If true, support Hoverbox CSS-based large-thumbnail rollovers.
static boolean SUPPORT_USER_LINK_POSTING
          If true, support "Reddit It | Digg This | Add to del.icio.us" style links.
static java.lang.String TN_IMG_TAG_EXTRA_ATTR
          Optional attributes for insertion at end of thumbnail img tags.
static java.lang.String TRAIL_SELECTOR_PARAM_NAME
          Name of request parameter used to select trail (by trail exhibit short name).
static java.lang.String URCHIN_REQ_ATTR_NAME
          Request-level attribute set non-null when Urchin code has already been set in the HEAD or page text.
static boolean USE_NOINDEX_ON_DUP_CONTENT_PAGES
          If true then we make use of the STDHDR_ATTR_NAME_NOINDEX_ONLY mechanism.
static boolean USE_NOINDEX_ON_LOW_CONTENT_PAGES
          If true then we make use of the STDHDR_ATTR_NAME_NOINDEX mechanism.
static java.lang.String VIRTUAL_COLLECTIONS_BEST_PAGE
          Best-exhibits collection page.
static java.lang.String VIRTUAL_COLLECTIONS_BYAUTHOR_ROOT
          Root of "ByAuthor" collections forest, ending with "/".
static java.lang.String VIRTUAL_COLLECTIONS_BYCATEGORY_ROOT
          Root of "ByCategory" collections forest, ending with "/".
static java.lang.String VIRTUAL_COLLECTIONS_CUST_ICONS_ROOT
          Root of custom icons collection, ending with "/".
static java.lang.String VIRTUAL_COLLECTIONS_MOST_DOWNLOADED_PAGE
          Most-downloaded-exhibits collection page.
static java.lang.String VIRTUAL_COLLECTIONS_NEW_PAGE
          New-exhibits collection page.
static java.lang.String VIRTUAL_COLLECTIONS_ROOT
          Root of "virtual" collections tree, starting and ending with "/".
static java.lang.String VIRTUAL_COLLECTIONS_TRAILS_ROOT
          Root of trails, ending with "/".
static java.lang.String VIRTUAL_SITE_CUST_ALOHAEARTH_ROOT
          Root of custom AlohaEarth site, starting and ending with "/".
static java.lang.String VIRTUAL_SITE_CUST_LONDONPIX_ROOT
          Root of custom LondonPix site, starting and ending with "/".
static java.lang.String VIRTUAL_SITE_CUST_SMLPX_ROOT
          Root of custom SmlPx site, starting and ending with "/".
static java.lang.String VIRTUAL_SITE_CUST_SMLPX_ROOT_ACTUAL
          Actual root welcome page of custom SmlPx site.
static java.lang.String VIRTUAL_SITE_CUST_ZAPIX_ROOT
          Root of custom LondonPix site, starting and ending with "/".
static java.lang.String VIRTUAL_SITES_ROOT
          Base of custom sites tree, starting and ending with "/".
static boolean VOTE_BUTTONS_AUTO_HIDE_ON_EXPIRY
          If true, use JavaScript to attempt to auto-hide vote buttons (roughly) when the vote permit expires.
static int VOTE_MIN_REQUEST_GAP_MS
          Minimum time between requests to one user to vote, and also how long they get to vote, ms; non-negative.
static java.lang.String VOTER_DATA_POINT_PREFIX
          Unique prefix for data-point name for vote StatsSink IDs.
static java.lang.String WEB_LINE_END
          Web/Net standard line-end string; CRLF.
 
Constructor Summary
private WebConsts()
          Prevent construction of an instance.
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

WEB_LINE_END

public static final java.lang.String WEB_LINE_END
Web/Net standard line-end string; CRLF.

See Also:
Constant Field Values

FIRST_PAGE_AFAP

public static final boolean FIRST_PAGE_AFAP
If true then try very hard to push out the first page a user sees on our site(s) ASAP. 20050116: BBC News suggests that visitors make up their minds about a new Web site within 50ms, so we will try to push out the first page as fast as possible, preferably within this time.

See Also:
Constant Field Values

MASTER_CONTEXT_ROOT

public static final java.lang.String MASTER_CONTEXT_ROOT
Mount point for whole WAR tree on J2EE master servers. Note the leading ``/''.

On deployed front-ends the root should always be ``/''; this applies to a WAR deployed as part of a J2EE app, which cannot currently be deployed at the root of the Web server (due to bugs in, for example, Sun's 1.3 RI J2EE SDK.

See Also:
Constant Field Values

BASE_PATH_EXHIBITS

public static final java.lang.String BASE_PATH_EXHIBITS
Name of base of exhibits area below the WAR root; no leading or trailing `/'.

See Also:
Constant Field Values

BASE_PATH_FEATURES

public static final java.lang.String BASE_PATH_FEATURES
Name of base of features area below the WAR root; no leading or trailing `/'.

See Also:
Constant Field Values

BASE_PATH_ADMIN

public static final java.lang.String BASE_PATH_ADMIN
Name of base of admin area below the WAR root; no leading or trailing `/'.

See Also:
Constant Field Values

BASE_PATH_CATPAGE

public static final java.lang.String BASE_PATH_CATPAGE
Name of base of catalogue-page area below the WAR root; no leading or trailing `/'.

See Also:
Constant Field Values

BASE_PATH_TN

public static final java.lang.String BASE_PATH_TN
Name of base of thumbnail/sample area below the WAR root; no leading or trailing `/'.

See Also:
Constant Field Values

BASE_PATH_STATIC

public static final java.lang.String BASE_PATH_STATIC
Name of base of static/cacheable content below the WAR root; no leading or trailing `/'.

See Also:
Constant Field Values

PATH_TN_STD

public static final java.lang.String PATH_TN_STD
Name of standard thumbnail/sample area below BASE_PATH_TN; no leading or trailing `/'.

See Also:
Constant Field Values

PATH_TN_SML

public static final java.lang.String PATH_TN_SML
Name of small thumbnail/sample area below BASE_PATH_TN; no leading or trailing `/'.

See Also:
Constant Field Values

PATH_JAVADOC_BUNDLE_LATEST

public static final java.lang.String PATH_JAVADOC_BUNDLE_LATEST
Root-based path from which latest available Javadoc bundle may be downloaded.

See Also:
Constant Field Values

PATH_CODE_SNAPSHOT_LATEST

public static final java.lang.String PATH_CODE_SNAPSHOT_LATEST
Root-based path from which latest available code snapshot bundle may be downloaded.

See Also:
Constant Field Values

PREFIX_JAVADOC_BUNDLE

public static final java.lang.String PREFIX_JAVADOC_BUNDLE
Prefix of Javadoc bundle in code section.

See Also:
Constant Field Values

PREFIX_CODE_SNAPSHOT

public static final java.lang.String PREFIX_CODE_SNAPSHOT
Prefix of code snapshot in code section.

See Also:
Constant Field Values

F_secondary_generated_HTML_suffix

public static final java.lang.String F_secondary_generated_HTML_suffix
Suffix for secondary, generated HTML objects, including ``.''.

See Also:
Constant Field Values

F_secondary_generated_WML_suffix

public static final java.lang.String F_secondary_generated_WML_suffix
Suffix for secondary, generated WML objects, including ``.''.

See Also:
Constant Field Values

F_secondary_generated_XHTML_suffix

public static final java.lang.String F_secondary_generated_XHTML_suffix
Suffix for secondary, generated XHTML objects, including ``.''.

See Also:
Constant Field Values

F_secondary_generated_XML_suffix

public static final java.lang.String F_secondary_generated_XML_suffix
Suffix for secondary, generated XML objects, including ``.''.

See Also:
Constant Field Values

F_HTML_welcome_page

public static final java.lang.String F_HTML_welcome_page
HTML welcome page for a directory.

See Also:
Constant Field Values

MAX_PG_DOWNLOAD_MS

public static final int MAX_PG_DOWNLOAD_MS
Target limit for page-download time in ms; strictly positive. Less than 1s total, in part because users want a snappy response, and in part because our real-time I/O monitor regards an interval of 1s or more where at least one page delivery has remained blocked other than by network I/O as a 'failure' by the server and indicating that the server is too busy.

Eventual target for this is 100ms nominally including network RTT, which implies getting user to a geographically-close mirror which would further imply DNS support for the first hit.

See Also:
Constant Field Values

DEFAULT_PAGE_CACHE_MS

public static final int DEFAULT_PAGE_CACHE_MS
General (client/proxy) page-cache time, including catalogue pages (ms); strictly positive. This can be used for positive and negative cacheing, and can be of the order of a few minutes (much, much shorter than the timeframe of changes in the exhibit collection [typically days]), and long enough to cover typical use of the BACK button.

This should be much shorter than (eg less than half) the system's default parallel slackness so as to ensure that the page gets rechecked often enough to catch important changes automatically.

A big-enough value will help caches/proxies and "Web accelerators", and generally improve perceived performance.

See Also:
Constant Field Values

MAX_NORMAL_PAGE_CACHE_MS

public static final int MAX_NORMAL_PAGE_CACHE_MS
Maximum non-spider/SE cache time for normal pages (ms); strictly positive. This can be used to build an extra component for ETags and so on to limit cache life to allow for changes in other parts of page content than the exhibit, such as page layout and ads.

Should be no lower than DEFAULT_PAGE_CACHE_MS and of the order of a day or so, but not necessarily exact multiples of a day to help spread refresh activity.


MAX_NORMAL_PAGE_CACHE_MS_SHIFT

public static final int MAX_NORMAL_PAGE_CACHE_MS_SHIFT
Power of two (bit shift) to get value close below MAX_NORMAL_PAGE_CACHE_MS.


SPIDER_PAGE_EXPIRY_MS

public static final long SPIDER_PAGE_EXPIRY_MS
Cache/expiry time for pages we want captured in search engines (ms); strictly positive. We set a long expiry to encourage search engines to index the page; of the order of days to months is probably right.

This may force HTTP/1.0-browser users (esp IE5/IE6) to hit RELOAD more often than we'd like...

We may use this value only when the page/data looks like it is being retrieved by a search engine spider/robot.

A value of several days to several months is probably reasonable.

See Also:
Constant Field Values

SPIDER_REVISIT_DAYS

public static final int SPIDER_REVISIT_DAYS
Spider revisit time in days; if zero it means not to attempt to use the "revisit-after" meta tag. This tag is reported to be obsolete.

See Also:
Constant Field Values

DEFAULT_STATIC_WEBITEMS_CACHE_MS

public static final long DEFAULT_STATIC_WEBITEMS_CACHE_MS
Default time to allow client to cache unchanging and heavily-used objects under /_static and elsewhere. These are usually static items of "page furniture", and allowing them to be served from cache for a long time improves perceived performance and reduces server load.

There is no point having this less than the default respidering time.

Note that the HTTP spec says that an expiry a year in the future is to be treated as 'never expires':

To mark a response as "never expires," an origin server sends an Expires date approximately one year from the time the response is sent. HTTP/1.1 servers SHOULD NOT send Expires dates more than one year in the future.

Something of the order of many days up to a year is probably good.

See Also:
Constant Field Values

MIN_STATIC_WEBITEMS_CACHE_MS

public static final long MIN_STATIC_WEBITEMS_CACHE_MS
Minimum time to allow client to cache unchanging and heavily-used objects under /_static and elsewhere. These are usually static items of "page furniture", and allowing them to be served from cache for a long time improves perceived performance and reduces server load.

Something of the order of a month or more is probably good.

See Also:
Constant Field Values

BANDWIDTH_OVERLOAD_ATTR_NAME

public static final java.lang.String BANDWIDTH_OVERLOAD_ATTR_NAME
Name of application-scope Boolean attribute, if any, to indicate bandwidth/CPU overload. If present, we expect this to be set when the server is very busy by a throughput filter/monitor to FALSE when not busy and TRUE when busy.

See Also:
Constant Field Values

BANDWIDTH_LIGHTLOAD_ATTR_NAME

public static final java.lang.String BANDWIDTH_LIGHTLOAD_ATTR_NAME
Name of application-scope Boolean attribute, if any, to indicate bandwidth/CPU light load. If present, we expect this to be set when the server is fairly quiet by a throughput filter/monitor to TRUE when quiet and FALSE otherwise.

See Also:
Constant Field Values

CCLM_SUPPRESS_ATTR_NAME

public static final java.lang.String CCLM_SUPPRESS_ATTR_NAME
Name of request-scope Long attribute, if any, to suppress default Last-Modified header. Avoids automated generation of AEP-derived Last-Modified header for a page where it doesn't make sense, eg for dynamically-generated partly-randomised page content which should rotate for the user even when the AEP doesn't change.

Can also be used to adjust apparent page age to reduce spidering/SE load.

If not -1 then will be used as the Last-Modified value, subject to constraints.

See Also:
Constant Field Values

CCET_SUPPRESS_ATTR_NAME

public static final java.lang.String CCET_SUPPRESS_ATTR_NAME
Name of request-scope String attribute, if any, to suppress default ETag header. Avoids automated generation of AEP-derived ETag header for a page where it doesn't make sense, eg for dynamically-generated partly-randomised page content which should rotate for the user even when the AEP doesn't change.

If not "" (the empty string) then well be used as the ETag value.

See Also:
Constant Field Values

BANDWITDH_LIMIT_BPS_DEFAULT_PNAME

public static final java.lang.String BANDWITDH_LIMIT_BPS_DEFAULT_PNAME
Default name of bandwidth-limit system property (bytes per second).

See Also:
Constant Field Values

BANDWITDH_LIMIT_GBP30D_DEFAULT_PNAME

public static final java.lang.String BANDWITDH_LIMIT_GBP30D_DEFAULT_PNAME
Default name of bandwidth-limit system property (gigabytes per 30 days).

See Also:
Constant Field Values

MIN_PC_COMPRESSABLE_BEFORE_ENCODE

public static final int MIN_PC_COMPRESSABLE_BEFORE_ENCODE
Minimum percent-saved before we will consider sending an exhibit compressed. If (say) 5 then we must know a particular exhibit is compressible to no more than 95% of its original size before we will consider sending it compressed over the wire (eg when the site is busy).

Normally we don't bother trying to compress exhibits for download because:

See Also:
Constant Field Values

MAX_SIMPLE_QUERY_LEN

public static final int MAX_SIMPLE_QUERY_LEN
Maximum length of simple-text-query in bytes (pure-ASCII characters).

See Also:
Constant Field Values

DISPLAY_SPACE_IN_EXHIBIT_NAMES

public static final boolean DISPLAY_SPACE_IN_EXHIBIT_NAMES
In catalogue entries display spaces instead of hyphens. This is mainly needed because Netscape 4.x and 6.x refuses to correctly hyphenate inside nbr section seven when heavily prompted with wbr tags!

See Also:
Constant Field Values

ALLOW_BROWSER_IMAGE_SCALE

public static final boolean ALLOW_BROWSER_IMAGE_SCALE
If true, allow browsers to scale JPEG/GIF images when it saves us significant work.

See Also:
Constant Field Values

EAGER_TN_USE

public static final boolean EAGER_TN_USE
If true, we force thumbnails to be made if we can use them in (catalogue) pages.

See Also:
Constant Field Values

TN_IMG_TAG_EXTRA_ATTR

public static final java.lang.String TN_IMG_TAG_EXTRA_ATTR
Optional attributes for insertion at end of thumbnail img tags. Can be "", so that the img tag will have the basic minimal/default behaviour, or something like " border=0" to turn off a visible border if the image is clickable (note the leading space).

See Also:
Constant Field Values

SEARCH_FORM_METHOD

public static final java.lang.String SEARCH_FORM_METHOD
Method by which search form is posted; can be "post" or "get".

See Also:
Constant Field Values

NOT_FOUND_PAGE

public static final java.lang.String NOT_FOUND_PAGE
URL of page/JSP to handle 404 (not found) errors. Given as an absolute URI to work from any context (current URI).

See Also:
Constant Field Values

ROBOTS_PAGE

public static final java.lang.String ROBOTS_PAGE
URL of URI requested by spiders to check if spidering is allowed.. Given as an absolute URI to work from any context (current URI).

See Also:
Constant Field Values

SEARCH_TIME_MS_ATTR_NAME

public static final java.lang.String SEARCH_TIME_MS_ATTR_NAME
Name of (page-level) attribute in which last search time (ms) is stored (as a Long). If null or a negative value (or not a Long) then no search has been done through the standard mechanisms.

See Also:
Constant Field Values

REQUEST_START_DATETIME_ATTR_NAME

public static final java.lang.String REQUEST_START_DATETIME_ATTR_NAME
Name of (request-level) attribute in which JSP page start time is stored (as a Date).

See Also:
Constant Field Values

MAX_RESULTS_PER_PAGE

public static final int MAX_RESULTS_PER_PAGE
When generating large chunks of paginatable output, how many to limit each page to where possible. A value of 10 to 20 is typical.

See Also:
Constant Field Values

MAX_RESULTS_PAGES

public static final int MAX_RESULTS_PAGES
Maximum number of pages to show, or maximum number of page buttons if there have to be more pages. Should maybe be a fraction of page width?

A value of 10 to 20 is typical.

See Also:
Constant Field Values

ATTR_NOFWD

public static final java.lang.String ATTR_NOFWD
Request-level attribute name to request no further redirection/forwarding (if attr non-null).

See Also:
Constant Field Values

STDHDR_ATTR_NAME_BREADCRUMBS

public static final java.lang.String STDHDR_ATTR_NAME_BREADCRUMBS
Request-level attribute name used to communicate breadcrumbs (if any) to standard page-header routine.

See Also:
Constant Field Values

STDHDR_ATTR_NAME_TITLE

public static final java.lang.String STDHDR_ATTR_NAME_TITLE
Request-level attribute name used to communicate title String to standard page-header routine. Title text must be short and 7-bit printable ASCII possibly containing HTML entity codes.

See Also:
Constant Field Values

STDHDR_ATTR_NAME_SUBTITLE

public static final java.lang.String STDHDR_ATTR_NAME_SUBTITLE
Request-level attribute name used to communicate sub-title String to standard page-header routine. Sub-title text must be short and 7-bit printable ASCII possibly containing HTML entity codes.

May be ignored if title is not set.

See Also:
Constant Field Values

STDHDR_ATTR_NAME_KEYWORDS

public static final java.lang.String STDHDR_ATTR_NAME_KEYWORDS
Request-level attribute name used to communicate keywords String to standard page-header routine. Sub-title text must be short and 7-bit printable ASCII possibly containing HTML entity codes.

May be ignored if title is not set.

See Also:
Constant Field Values

STDHDR_ATTR_NAME_LOCATION

public static final java.lang.String STDHDR_ATTR_NAME_LOCATION
Request-level attribute name used to communicate exhibit Location.Base to standard page-header routine.

See Also:
Constant Field Values

STDHDR_ATTR_NAME_NOINDEX

public static final java.lang.String STDHDR_ATTR_NAME_NOINDEX
Request-level attribute name used to indicate that this low-content page should not be SE food to standard page-header routine. If set non-null then we may wish to insert a robots noindex meta tag, and we may also want to suppress some or all ads on the page.

This may be the case for low-content pages, such as navigation pages.

The "safe" default is to let the SEs index everything and make the quality/relevance judgements!

See Also:
Constant Field Values

USE_NOINDEX_ON_LOW_CONTENT_PAGES

public static final boolean USE_NOINDEX_ON_LOW_CONTENT_PAGES
If true then we make use of the STDHDR_ATTR_NAME_NOINDEX mechanism.

See Also:
Constant Field Values

STDHDR_ATTR_NAME_NOINDEX_ONLY

public static final java.lang.String STDHDR_ATTR_NAME_NOINDEX_ONLY
Request-level attribute name used to indicate that this page should not be SE food to standard page-header routine. If set non-null then we may wish to insert a robots noindex meta tag, but leave normal ads (etc) on the page.

This may be the case for pages with good unique content, but where from the point of view of an SE that content might appear to be duplicate. This also applies where we'd prefer SE-driven traffic to arrive elsewhere.

The "safe" default is to let the SEs index everything and make the quality/relevance judgements!

See Also:
Constant Field Values

USE_NOINDEX_ON_DUP_CONTENT_PAGES

public static final boolean USE_NOINDEX_ON_DUP_CONTENT_PAGES
If true then we make use of the STDHDR_ATTR_NAME_NOINDEX_ONLY mechanism.

See Also:
Constant Field Values

PAGE_NUMBER_PARAMETER

public static final java.lang.String PAGE_NUMBER_PARAMETER
When paginating, name of parameter (HTML fieldname and GET/POST field name) to pass page number in. We keep this short because it gets used lots of times, sometimes many times per page.

See Also:
Constant Field Values

HOME_URL_ACTUAL

public static final java.lang.String HOME_URL_ACTUAL
Actual front-page URI / rooted URL (starting with '/').

See Also:
Constant Field Values

HOME_URL_CANON

public static final java.lang.String HOME_URL_CANON
Canonical front-page URI / rooted URL (starting with '/').

See Also:
Constant Field Values

BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP

public static final java.lang.String BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP
URI of JSP page that handles display of browsable exhibit trees.

See Also:
Constant Field Values

BETDJ_LIST_ATTR_NAME

public static final java.lang.String BETDJ_LIST_ATTR_NAME
Name of the (request-level) attribute used to pass the (unmodifiable, sorted) List of exhibits to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.

See Also:
Constant Field Values

BETDJ_LIST_UNIN_NAME

public static final java.lang.String BETDJ_LIST_UNIN_NAME
Name of the (request-level) attribute used to pass the boolean array of uninteresting parent nodes to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.

See Also:
Constant Field Values

BETDJ_LIST_SNEXCOUNT_NAME

public static final java.lang.String BETDJ_LIST_SNEXCOUNT_NAME
Name of the (request-level) attribute used to pass (unmodifiable, CharSequence-to-Integer) Map of sub-nodes to exhibit counts BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.

See Also:
Constant Field Values

BETDJ_BASE_URI_ATTR_NAME

public static final java.lang.String BETDJ_BASE_URI_ATTR_NAME
Name of the (request-level) attribute used to pass the immutable CharSequence base absolute URI of the tree to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.

See Also:
Constant Field Values

BETDJ_TITLE_ATTR_NAME

public static final java.lang.String BETDJ_TITLE_ATTR_NAME
Name of the (request-level) attribute used to pass the immutable CharSequence title of the tree to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.

See Also:
Constant Field Values

BETDJ_PRWSEQ_ATTR_NAME

public static final java.lang.String BETDJ_PRWSEQ_ATTR_NAME
Name of the (request-level) attribute used to pass the immutable CharSequence prefix word sequence of the tree to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP.

See Also:
Constant Field Values

BETDJ_HTML_GENERAL_DESC_ATTR_NAME

public static final java.lang.String BETDJ_HTML_GENERAL_DESC_ATTR_NAME
Name of the (request-level) attribute used to pass the String HTML general tree description to BROWSABLE_EXHIBIT_TREE_DISPLAY_JSP. This is allowed to contain structural elements such as headings for now, though in future might not be allowed to.

See Also:
Constant Field Values

BETDJ_COMMON_SECTION

public static final java.lang.String BETDJ_COMMON_SECTION
Name of common section/category dir (immutable CharSequence) for all exhibits in the view, or null if none or not known.

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_ROOT

public static final java.lang.String VIRTUAL_COLLECTIONS_ROOT
Root of "virtual" collections tree, starting and ending with "/".

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_BYAUTHOR_ROOT

public static final java.lang.String VIRTUAL_COLLECTIONS_BYAUTHOR_ROOT
Root of "ByAuthor" collections forest, ending with "/".

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_BYCATEGORY_ROOT

public static final java.lang.String VIRTUAL_COLLECTIONS_BYCATEGORY_ROOT
Root of "ByCategory" collections forest, ending with "/".

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_CUST_ICONS_ROOT

public static final java.lang.String VIRTUAL_COLLECTIONS_CUST_ICONS_ROOT
Root of custom icons collection, ending with "/".

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_TRAILS_ROOT

public static final java.lang.String VIRTUAL_COLLECTIONS_TRAILS_ROOT
Root of trails, ending with "/".

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_BEST_PAGE

public static final java.lang.String VIRTUAL_COLLECTIONS_BEST_PAGE
Best-exhibits collection page.

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_NEW_PAGE

public static final java.lang.String VIRTUAL_COLLECTIONS_NEW_PAGE
New-exhibits collection page.

See Also:
Constant Field Values

VIRTUAL_COLLECTIONS_MOST_DOWNLOADED_PAGE

public static final java.lang.String VIRTUAL_COLLECTIONS_MOST_DOWNLOADED_PAGE
Most-downloaded-exhibits collection page.

See Also:
Constant Field Values

VIRTUAL_SITES_ROOT

public static final java.lang.String VIRTUAL_SITES_ROOT
Base of custom sites tree, starting and ending with "/".

See Also:
Constant Field Values

VIRTUAL_SITE_CUST_LONDONPIX_ROOT

public static final java.lang.String VIRTUAL_SITE_CUST_LONDONPIX_ROOT
Root of custom LondonPix site, starting and ending with "/".

See Also:
Constant Field Values

VIRTUAL_SITE_CUST_ZAPIX_ROOT

public static final java.lang.String VIRTUAL_SITE_CUST_ZAPIX_ROOT
Root of custom LondonPix site, starting and ending with "/".

See Also:
Constant Field Values

VIRTUAL_SITE_CUST_ALOHAEARTH_ROOT

public static final java.lang.String VIRTUAL_SITE_CUST_ALOHAEARTH_ROOT
Root of custom AlohaEarth site, starting and ending with "/".

See Also:
Constant Field Values

VIRTUAL_SITE_CUST_SMLPX_ROOT

public static final java.lang.String VIRTUAL_SITE_CUST_SMLPX_ROOT
Root of custom SmlPx site, starting and ending with "/".

See Also:
Constant Field Values

VIRTUAL_SITE_CUST_SMLPX_ROOT_ACTUAL

public static final java.lang.String VIRTUAL_SITE_CUST_SMLPX_ROOT_ACTUAL
Actual root welcome page of custom SmlPx site.

See Also:
Constant Field Values

TRAIL_SELECTOR_PARAM_NAME

public static final java.lang.String TRAIL_SELECTOR_PARAM_NAME
Name of request parameter used to select trail (by trail exhibit short name).

See Also:
Constant Field Values

FEATURE_COLLECTIONS_ROOT

public static final java.lang.String FEATURE_COLLECTIONS_ROOT
Root of "features" collections tree, starting and ending with "/".

See Also:
Constant Field Values

STATS_SINK_PAGE_RRURL

public static final java.lang.String STATS_SINK_PAGE_RRURL
Stats-sink receiver page root-relative URL.

See Also:
Constant Field Values

SINGLE_PAGE_CONTACT_SHEET_TN_COUNT

public static final int SINGLE_PAGE_CONTACT_SHEET_TN_COUNT
Most thumbnails to show on one of the best/new/etc collections pages; strictly positive. The value chosen works nicely with the default page and lightbox layout, with a protective safety margin.

See Also:
Constant Field Values

CAT_HANDLER_USE_JSP_FORWARD

public static final boolean CAT_HANDLER_USE_JSP_FORWARD
If true have the catalogue page generic handler use jsp:forward where possible to get to specific handler.

See Also:
Constant Field Values

DEFAULT_EXPECTED_USER_BW_BYTESPERSEC

public static final int DEFAULT_EXPECTED_USER_BW_BYTESPERSEC
Expected typical mean bandwidth per active/sticky user, bytes per second; strictly positive. We may override this default value from (say) GenProps or from collected stats.

Not expected to be terribly precise, but should err a little on the high side.

Used, amongst other things, for a server to estimate its own capacity.

As of 20050510:

As of 20060116: revising per-sticky-user estimate downwards, but all spiders and hotlinkers (etc) add significant per-server load, so a simple overall estimate of 2kBps is possibly more accurate.

See Also:
Constant Field Values

DO_FRAME_BREAKOUT

public static final boolean DO_FRAME_BREAKOUT
If true, attempt to break out of third-party HTML frames. We may want to do this to stop people accidentally (or deliberately, to steal revenue, for example) wrapping our pages, though this may break Google search's cacheing features for example.

See Also:
Constant Field Values

ENABLE_URCHIN_STATS

public static final boolean ENABLE_URCHIN_STATS
If true, enable Urchin (ie Google) site stats tracking.

See Also:
Constant Field Values

URCHIN_REQ_ATTR_NAME

public static final java.lang.String URCHIN_REQ_ATTR_NAME
Request-level attribute set non-null when Urchin code has already been set in the HEAD or page text.

See Also:
Constant Field Values

ENABLE_STICKY_HIT

public static final boolean ENABLE_STICKY_HIT
If true, enable recording (eg via Urchin) of when a user becomes 'sticky'.

See Also:
Constant Field Values

VOTER_DATA_POINT_PREFIX

public static final java.lang.String VOTER_DATA_POINT_PREFIX
Unique prefix for data-point name for vote StatsSink IDs.

See Also:
Constant Field Values

VOTE_MIN_REQUEST_GAP_MS

public static final int VOTE_MIN_REQUEST_GAP_MS
Minimum time between requests to one user to vote, and also how long they get to vote, ms; non-negative. Small values may help shut out spiders and collect more votes, but at an increased risk of annoying users and of discarding votes from thoughtful/slow users.

A value of the order of minutes is usually suitable.

Once a user has voted we should generally wait many times as long before requesting another vote eg in order to suppress false votes from spiders that we otherwise fail to screen out.


VOTE_BUTTONS_AUTO_HIDE_ON_EXPIRY

public static final boolean VOTE_BUTTONS_AUTO_HIDE_ON_EXPIRY
If true, use JavaScript to attempt to auto-hide vote buttons (roughly) when the vote permit expires.

See Also:
Constant Field Values

PRO_ICON_15x15_NAME

public static final java.lang.String PRO_ICON_15x15_NAME
Name of 15x15 "smile"/"pro"/"for" image within static-icon area.

See Also:
Constant Field Values

CON_ICON_15x15_NAME

public static final java.lang.String CON_ICON_15x15_NAME
Name of 15x15 "frown"/"con"/"against" image within static-icon area.

See Also:
Constant Field Values

ALLOW_BOUNCE_TO_LOCAL_MIRROR

public static final boolean ALLOW_BOUNCE_TO_LOCAL_MIRROR
If true then allow users to be pushed to a local country mirror. To avoiding bouncing people around (eg in case of inconsistent algorithm versions) or making wrong guesses about which is the "best" machine for a user, and overly polluting the users' minds with the non-canonical name, any such "bouncing" has to be very conservative.

Typically only done if:

Any such redirection would be temporary (302) and not done to spiders/bots.

See Also:
Constant Field Values

MOBI_REC_DEFAULT_SCREEN_WIDTH_PX

public static final int MOBI_REC_DEFAULT_SCREEN_WIDTH_PX
Recommended/widely-supported screen-width for .mobi devices/sites, in pixels.

See Also:
Constant Field Values

MOBO_REC_MAX_PG_WEIGHT_BYTES

public static final int MOBO_REC_MAX_PG_WEIGHT_BYTES
Recommended maximum page weight for .mobi devices/sites, in bytes.

See Also:
Constant Field Values

HOME_PAGE_TEASER_BANNER_IMAGE_COUNT

public static final int HOME_PAGE_TEASER_BANNER_IMAGE_COUNT
Number of teaser thumbnails to show on front-page banner strip; strictly positive. This is constrained by the width of the main part of the page.

See Also:
Constant Field Values

CANON_TREE_URIS_WITH_REDIR

public static final boolean CANON_TREE_URIS_WITH_REDIR
If true then we canonicalise tree-display URIs to try to reduce state-space with 301/302 redirects. We do this to reduce the number of different pages (and URI lengths) that SEs and end-users may need/try to fetch and cache, without reducing the actual information available.

This should reduce noise and server load!

We use 301 redirects to deal with non-standard URL forms, eg missing a trailing '/' or not monocased, since the duplicates that we might otherwise accept never have independent value.

We use 302 redirects to send the client to a higher node (shorter URI) that contains the same information. This can only be a temporary redirect because the tree shape (and thus the/any redirection) may change at any time in principle.

See Also:
Constant Field Values

REDIR_MOBILES_AT_ROOT_TO_XHTML

public static final boolean REDIR_MOBILES_AT_ROOT_TO_XHTML
If true then attempt to redirect mobile-phone browsers hitting front page to XHTML version.

See Also:
Constant Field Values

SUPPORT_HOVERBOX

public static final boolean SUPPORT_HOVERBOX
If true, support Hoverbox CSS-based large-thumbnail rollovers. Hoverbox c/o Nathan Smith http://host.sonspring.com/hoverbox/

See Also:
Constant Field Values

SUPPORT_USER_LINK_POSTING

public static final boolean SUPPORT_USER_LINK_POSTING
If true, support "Reddit It | Digg This | Add to del.icio.us" style links.

See Also:
Constant Field Values

SHOW_FP_TRAILS_TEASER

public static final boolean SHOW_FP_TRAILS_TEASER
If true, insert teaser for trails on front page and possibly elsewhere.

See Also:
Constant Field Values

CDN_HOST

public static final java.lang.String CDN_HOST
Private CDN hostname for more valuable content. This may be an alias to one or more hosts.

This is rendered all lower-case to slightly improve compressibility in certain contexts, and is also prefix-less (eg no "www.") to be in canonical form.

See Also:
Constant Field Values
Constructor Detail

WebConsts

private WebConsts()
Prevent construction of an instance.


DHD Multimedia Gallery V1.60.69

Copyright (c) 1996-2012, Damon Hart-Davis. All rights reserved.