Java URL Optimization API (SEO API) 2.1.0

Package com.endeca.soleng.urlformatter.seo

Contains the SeoUrlFormatter and its associated classes for configuring and tuning the behavior of this SEO-friendly implementation of the core UrlFormatter interface.

See:
          Description

Interface Summary
AggrERecFormatter Interface that specifies the formatting of a UrlState associated with an aggregate record, used by SeoUrlFormatter.
DimLocationFormatter An extension point used by various SEO URL formatting classes to control the rendering of DimLocation objects into path-encoded keyword strings.
ERecFormatter Interface that specifies the formatting of a UrlState associated with an Endeca record, aggregated by an SeoUrlFormatter.
NavStateCanonicalizer An interface that specifies canonicalization of a NavStateUrlParam, aggregated by an SeoUrlFormatter.
NavStateFormatter An interface that specifies the formatting of an UrlState associated with a Navigation State, aggregated by an SeoUrlFormatter.
SeoUrlParam An interface that specifies the storage of an SeoUrlParam.
StringFormatter An interface for string formatting, implementations of which are aggregated by SeoDimLocationFormatter, SeoERecFormatter, SeoAggrERecFormatter, and StringFormatterChain.
 

Class Summary
LowerCaseStringFormatter A StringFormatter that formats strings to lower case.
RegexStringFormatter A StringFormatter that specifies a regular expression for find/replace manipulations on strings.
SeoAggrERecFormatter An ERecFormatter that formats an Aggregate record in SEO Optimized format, by formatting its representative record using the SeoERecFormatter.
SeoDimLocationFormatter A formatter that generates URL path keywords from a DimLocation object in the order [root][ancestors][descriptor].
SeoERecFormatter An ERecFormatter that formats the UrlState associated with an Endecan record in SEO Optimized format, taking into account record Dimension Values and Properties.
SeoNavStateCanonicalizer A class that creates a canonical sort order for a NavStateUrlParam.
SeoNavStateEncoder Specifies the encoding of a URL parameter, can be aggregated by the SeoUrlFormatter in an UrlParamEncoder[] array using the toString method of the Long class to perform base 36 encoding.
SeoNavStateFormatter A NavStateFormatter that formats an UrlState in SEO Optimized format, formatting each of the the Navigation state's DimLocations with SeoNavStateFormatters.
SeoUrlFormatter An UrlFormatter that parses and formats optimized URLs.
StringFormatterChain A StringFormatter that aggregates an array of StringFormatter objects, which it uses to apply a series of operations on a string.
UpperCaseStringFormatter A StringFormatter that formats strings to upper case.
UrlEncodedStringFormatter A StringFormatter that URL encodes strings.
UrlParamEncoder Specifies the encoding of a URL parameter, aggregated by an SeoUrlFormatter in an UrlParamEncoder[] array.
 

Package com.endeca.soleng.urlformatter.seo Description

Contains the SeoUrlFormatter and its associated classes for configuring and tuning the behavior of this SEO-friendly implementation of the core UrlFormatter interface.


SEO URL Configuration Guide


Contents

This overview contains the following sections:

See Also:
URL Optimization API Overview - the Javadoc overview page for the URL Optimization API.
Sample URL Configuration File - a sample configuration file for the URL Optimization API containing a basic configuration for the standard Endeca wine application.

Deconstructing a Sample Navigation URL

  http://wines.endeca.com/browse[miscPath][pathSeparatorToken][pathParameters][queryString]

  http://wines.endeca.com/browse/Napa/Wine-Red-Merlot/Pine-Ridge/_/N-1z141vcZ66xZ1z141ei

This example URL is for the following navigation page:

Descriptor Dimensions
Region > Napa
Wine Type > Red > Merlot
Winery > Pine Ridge
URL Fragment Reference
miscPath - for navigation URLs, the SeoUrlFormatter renders path keywords in the misc-path using an SeoNavStateFormatter, which is configured to render dimension details using a map of SeoDimLocationFormatter objects. This map is keyed by dimension name or dimension id, enabling you to configure keyword generation on a dimension-by-dimension basis. Each SeoDimLocationFormatter can be configured to render keywords from any combination of descriptor name, ancestor names, and root dimension name. Further, these DimVal names can be processed using various StringFormatter objects to refine the appearance of these keywords.

pathSeparatorToken - this token is used to separate the path keywords from the path parameters. The value for this token is configured via the pathSeparatorToken property on the SeoUrlFormatter class.

pathParameters - this URL fragment contains path-encoded parameters and is rendered directly via the SeoUrlFormatter. This section of the URL will only contain parameters identified in the pathParamKeys property on the SeoUrlFormatter. By default, each parameter value is URL-encoded, but the SeoUrlFormatter maintains a map of UrlParamEncoder objects, which allow you to specify custom encoding logic parameter-by-parameter.

queryString - this URL fragment contains standard query-string parameters and is rendered directly via the SeoUrlFormatter. The query-string contains all remaining parameters from an URL state that were not rendered in the path-encoded parameter section. The example above does not include any query-string parameters.


Deconstructing a Sample Record URL

  http://wines.endeca.com/browse[miscPath][pathSeparatorToken][pathParameters][queryString]

  http://wines.endeca.com/browse/Napa/Pine-Ridge/Wine-Red-Merlot/Vintage-1993/Merlot-Napa-Valley-Selected-Cuvee/_/R-43264

This example URL is for a record detail page containing a record with the following attributes:

Record DimVals
Region > Napa
Wine Type > Red > Merlot
Winery > Pine Ridge
Vintage > 1993
Record Properties
P_Name: Merlot Napa Valley Selected Cuvee
URL Fragment Reference
miscPath - for record detail URLs, the SeoUrlFormatter renders path keywords in the misc-path using an SeoERecFormatter, which is configured to render dimension details using an array of SeoDimLocationFormatter objects. This map is keyed by dimension name or dimension id - enabling you to configure keyword generation on a dimension-by-dimension basis. Each SeoDimLocationFormatter can be configured to render keywords from any combination of descriptor name, ancestor names, and root dimension name. Further, these DimVal names can be processed using various StringFormatter objects to refine the appearance of these keywords. Additionally, the SeoERecFormatter uses an array of propertyKeys to identify the record properties which should also be rendered to the path keywords URL fragment. Property values can also be processed via a configurable StringFormatter on the SeoERecFormatter.

pathSeparatorToken - same as for the Sample Navigation URL above.

pathParameters - same as for the Sample Navigation URL above.

queryString - same as for the Sample Navigation URL above.


Deconstructing a Sample Aggregate Record URL

  http://wines.endeca.com/browse[miscPath][pathSeparatorToken][pathParameters][queryString]

  http://wines.endeca.com/browse/Napa/Robert-Mondavi/_/A-75997/An-1z141vc/Au-P_Winery

This example URL is for an aggregate record detail page containing a representative record with the following attributes:

Record DimVals
Region > Napa
Winery > Robert Mondavi
URL Fragment Reference
miscPath - this section is generated similarly to the Sample Record URL except that in this case the SeoUrlFormatter uses an SeoAggrERecFormatter to extract the representative record for the aggregate before rendering the path keywords.

pathSeparatorToken - same as for the Sample Navigation URL above.

pathParameters - same as for the Sample Navigation URL above.

queryString - same as for the Sample Navigation URL above.


Java URL Optimization API (SEO API) 2.1.0

Copyright © 2010 Endeca Technologies, Inc. All Rights Reserved.
@VERSION
PRODUCT: Java URL Optimization API (SEO API) (urlFormatterSeo)
VERSION: 2.1.0
BUILD:   12010DEV
ARCH_OS: n/a
DATE:    2010-06-29T04:02:48-0400