User Tools

Site Tools


This page is a WIP. There is likely to be incomplete and/or missing information while the page is being built.

Advanced Filtering

The Filter Field, found in the Results View of the Files Page and Products Page on the Smart Content pane, allows you to construct expressions that are used to perform advanced filtering operations. These expressions consist of 3 distinct elements:

  1. A Scope Selector, which [optionally] tells the application which column of data the filter should be evaluated against.
  2. A Scope Modifier that is [optionally] used to modify the selected scope.
  3. A Query Pattern, which represents the value or expression to match.

A properly constructed expression is formatted as1):

[1::[2::]]3

Scope selectors and scope modifiers both consist of predefined alphabetic character sequences followed by two colons; e.g. “abc::”. Which characters a query pattern consists of depends on which of the other elements in the expression are [or are not] declared.

Within any given expression, only one scope selector can be declared. Depending on the scope selected, an expression may also contain a scope modifier that is used to further refine the set of information that is to be filtered.

As an example, consider an expression that matches the products purchased in the month of January 2016:

Scope Selector
  |
  |  Scope Modifier
  |     |
  |     |     Query Pattern
 _|__  _|_  _________|___________
/    \/   \/                     \
date::pur::[2016-01-01,2016-01-31]

In the example above, we first select the Date (Time) scope. Then, we indicate that we want to use the Purchased modifier—this is the default if no modifier is declared for the date scope.

Logical OR

When the parser that translates the text entered in the filter field into database queries or encounters an unquoted space character in the expression, the space character is interpreted as a logical OR. If we apply this meaning to the sample expression Genesis 3 and the column of data being evaluated matches either “Genesis” or “3”, the result of the evaluation is true and the record is not filtered from the view.

To evaluate both words as a single entity (a phrase), encapsulate the words with quotation marks; i.e., "Genesis 3".

Logical AND

When the parser that translates the text entered in the filter field into database queries encounters the character sequence && (space, ampersand, ampersand, space), the sequence is interpreted as a logical AND. If we apply this meaning to the sample expression Genesis 3, the column of data being evaluated must match both “Genesis” and “3” (separately) before the record is not filtered from the view.

Scope Selectors

Scope selectors tell the application which column of data the filter should be evaluated against. If explicitly declared, scope selectors are always declared at the beginning of the expression.


Keyword

Important: This is the default for the Files page. This is also the default for the Products page in 4.9.1.x builds; the default for the Products page was changed to Name in 4.9.2.x builds.

The key scope selector is assumed if no other scope selector is declared (for Files and Products in 4.9.1.x, but Files only in 4.9.2.x). Use this selector to signify that the query pattern portion of the expression should be evaluated against the keywords assigned to an asset.

Scope Modifiers:

  • None

Query Pattern:

  • Single words are simply entered as the character sequence of the word
  • Partial words are followed by a colon and an asterisk (i.e., :*) to indicate “starts with”
  • Phrases (multiple words treated as a single entity) are enclosed between quotation marks
    • The marks should be placed such that they encompass the scope selector (if specified) and the value together (i.e., "key::word1 word2" or "word1 word2")

Examples:

  • Genesis
  • Gen:*
  • "Genesis 3"
  • key::Genesis 2)
  • "key::Genesis 3" 3)

Name

Important: This is the default for the Products page in 4.9.2.x and later builds; the default for the Products page in 4.9.1.x builds is Keyword. This selector is not supported in builds prior to 4.9.2.x.

The name scope selector is assumed for Products (in 4.9.2.x and later builds) if no other scope selector is declared. Use this selector to signify that the query pattern portion of the expression should be evaluated against the name column of data.

Scope Modifiers:

  • None

Query Pattern:

  • Single words are simply entered as the character sequence of the word
  • Phrases (multiple words treated as a single entity) are enclosed between quotation marks
    • The marks should be placed such that they encompass the scope selector (if specified) and the value together (i.e., "name::word1 word2" or "word1 word2")

Examples:

  • Genesis
  • "Genesis 3"
  • "name::Genesis 3" 4)
  • name::Gene 5)

Group

Use the group scope selector to signify that the query pattern portion of the expression should be evaluated against the Group of a product or asset.

Scope Modifiers:

  • None

Query Pattern:

  • Single words are simply entered as the character sequence of the word
  • Phrases (multiple words treated as a single entity) are enclosed between quotation marks
    • The marks should be placed such that they encompass the scope selector and the value together (i.e., "group::word1 word2")

Examples:

  • group::New
  • group::None
  • "group::Custom Group" 6)

SKU

Use the sku scope selector to signify that the query pattern portion of the expression should be evaluated against the Product ID / SKU of a package.

Scope Modifiers:

  • None

Query Pattern:

  • Use the # pattern to display packages for a single SKU
  • Use the #,# pattern to display packages for an explicit list of SKUs
  • Use the -# pattern to display packages with a SKU that is less than or equal to a specified SKU
  • Use the #- pattern to display packages with a SKU that is greater than or equal to a specified SKU
  • Use the #-# or [#,#] pattern to display packages for a range of SKUs
  • Use the #-#,#-# or [#,#],[#,#] or #,[#,#],#-# patterns to display packages for an explicit list of SKUs and/or SKU ranges

Examples:

  • sku::14812
  • sku::14812,13976,13439
  • sku::-15000
  • sku::15000-
  • sku::15000-15999
  • sku::[15000,15999]
  • sku::14812,13976,13439,15000-15999

Date (Time)

Use the date scope selector to signify that the query pattern portion of the expression should be evaluated against a Date of a package/installation. If no scope modifier is declared, the default is Order Date.

Scope Modifiers:

Query Pattern:

# = ISO 8601 extended format datetime string; i.e. YYYY-MM-DD for dates or YYYY-MM-DDTHH:mm:ss, YYYY-MM-DDTHH:mm:ssTZD (e.g. 1997-07-16T19:20:30+01:00) for combined dates and times.

  • Use the # pattern to display packages for a single date(time)
  • Use the #,# pattern to display packages for an explicit list of dates(times)
  • Use the [#,#] pattern to display packages for a range between two dates(times)
  • Use the [#,#],[#,#] or #,[#,#],# patterns to display packages for an explicit list of dates(times) and/or date(time) ranges

An additional set of dynamic keywords, enclosed between a pair of % symbols, used in the place of the # symbol above, are also supported. When these keywords are used independently, a range starting at the beginning of the specified duration and stopping at the end of the specified duration is implicit. When used explicitly within a range, the value of the datetime that will be substituted for the keyword will be either the beginning or the end of the specified duration, based on its position in the range.

n = A zero-based numeric value indicating the offset, into the past, from the current datetime.

  • %n_DAYS%
  • %n_WEEKS%
  • %n_MONTHS%
  • %n_YEARS%

Examples:

  • date::pur::[2016-01-01T00:00:01,2016-01-31T23:59:59]
  • date::instd::[%0_WEEKS%,%0_WEEKS%]

Scope Modifiers

Scope modifiers are used to modify the selected scope. If declared at all, scope modifiers are always declared immediately following a Scope Selector, or in some cases another scope modifier.

Released

Use the rel scope modifier to signify that the query pattern portion of the expression should be evaluated against the Released date.

Purchased

Use the pur scope modifier to signify that the query pattern portion of the expression should be evaluated against the Purchased date.

Installed

Use the instd scope modifier to signify that the query pattern portion of the expression should be evaluated against the Installed date.

Updated

Use the upd scope modifier to signify that the query pattern portion of the expression should be evaluated against the Updated date.


Query Pattern

The query pattern represents the value or expression to match.

1) [ ] = Optional
2) , 3) , 4) , 5) , 6) Requires 4.9.2.x