Use area filters

Define an area filter in the Administration Console to specify which types of item files are copied to a deployment or library cache area.

Area and audit filters

By defining an area filter and associating it with the deployment or library cache area, you can specify that only certain types of item file are automatically copied to that area. Use file name patterns to include or exclude from the filter those files that mach the patterns.

For details about defining areas and associating them with a project/stream, see Define and assign areas.

When working with area filters in the Administration Console, you can:

  • List (query) existing area filters in the Dimensions CM base database.

  • Create an area filter in order to add a series of file selection criteria for that filter.

  • Add, edit, or delete a file selection criteria for the items to be included in a deployment.

  • Add, edit, or delete a file selection criteria for the items to be excluded from a deployment.

  • Create a new area filter by copying the details of an existing one.

  • Delete an area filter.

To associate an area filter with a deployment or library cache area, go to Administration Console > Distributed Development > Areas & Deployment > Area filters.

For details about adding area filters, see Create area filters.

Audit filters

You can also use filters that you define to control an audit process. An audit filter selects the files to fix that are flagged as errors during an audit operation. For example, if an audit filter has the pattern *.txt, then only files with the suffix .txt are refetched to the area to fix the issues. All other file types are not fixed.

Note: Audit filters do not change the list of files to be examined and do not affect the success or failure of an audit.

You can specify audit filters in the following ways:

  • On the AUDIT command use the /FILTER qualifier to specify a filter. This affects only this specific audit.

  • On the RAWS command use the/FILTER qualifier to attach a filter to a specific project or stream and area. This filter is always used until it is changed with another RAWS command.

  • In the web and desktop clients, attach a deployment area to a project or stream and select an audit filter. For details about assigning deployment areas, see Assign deployment areas.

Note: The filter on the AUDIT command replaces any filter specified on the RAWS command.

Back to top

Use area and audit filters correctly

Area and audit filters can be confused. The correct use is as follows:

Area filters Used to exclude files from deployment areas and to delete files from areas when they are audited.
Audit filters Used to exclude files from the AUDIT command /FIX process.

Caution: Do not attach an audit filter to an area (as an area filter), as this may have unintended consequences. For example, to prevent the audit process from fixing *.exe files, use an audit filter. If this audit filter is accidentally attached as an area filter, the *.exe files are deleted from the area during an audit.

Back to top

Evaluate area filter criteria

When Dimensions CM is about to copy item files to a deployment or library cache area, it first checks for an area filter associated with it. For a given item revision and area filter, the rules are evaluated according to the following criteria:

  1. If the area has no area filter defined, the item revision is transferred into the area.

  2. Otherwise, if the item revision matches an exclusion rule, the revision is not transferred into the area.

  3. Otherwise, if there are no inclusion rules, the revision is transferred into the area.

  4. Otherwise, if the item revision matches an inclusion rule, the revision is transferred into the area.

  5. Otherwise, the item revision is not transferred into the area.

Note: When you assign a project or stream to an area, you specify a folder offset for the location of the files for that project/stream. Any file-matching pattern needs to take account that different projects/streams are likely to have different folder paths relative to the base directory for the area.

Back to top

Use file patterns in filters

You can use wildcard characters and file patterns to include or exclude files in filters.

The following characters are supported in patterns:

Character Description
* Matches zero or more characters.
? Matches one character.
/ Used as a separator of folders.

Patterns are considered in terms of relative paths, relative to a base folder. For example, a pattern ../foo.java does not match anything because the base folder's parent is never included.

Note: When you assign a project or stream to an area, you specify a folder offset for the location of the files in the project/stream. Any file-matching pattern must take into account that different projects/streams are likely to have different folder paths relative to the base folder for the area.

Guidelines for applying include/exclude patterns:

  • Combinations of an asterisk (*) and a question mark (?) are allowed.

  • Matching is done per folder. The first folder in the pattern is matched against the first folder in the path to match, then the second folder is matched, and so on.

    Example: When you have the pattern ?abc/*/*.java and the path /xabc/foobar/test.java, the first ?abc is matched with xabc. Then an asterisk (*) is matched with foobar. Finally, *.java is matched with test.java. They all match, so the path matches the pattern.

  • You can match multiple folder levels. For example, you can match a complete folder tree, or a file anywhere in the folder tree. To do this, two asterisks (**) are used as the folder name. Two asterisks (**) match zero or more folders.

    Example: The pattern test/** matches all files and folders under /test/, such as /test/x.java or /test/foo/bar/xyz.html, but not /xyz.xml.

  • If a pattern ends with a slash (/ or \), then two asterisks (**) are assumed to be appended. For example, mypackage/test/ is interpreted as if it were mypackage/test/**.

Pattern examples:

Pattern Description
*.java Matches .java, x.java and Foo.java, but not Foo.xml.
?.java Matches Q.java, x.java, but not .java or abc.java.
**/xyz/** Matches all files that have a string xyz in their path, including xyz as a file name.
**/CVS/*

Matches all files in CVS folder that can be located anywhere in the folder tree.

For example, it matches:

CVS/Repository

org/apache/CVS/Entries

org/apache/jakarta/tools/ant/CVS/Entries

but not:

org/apache/CVS/foo/bar/Entries

org/apache/jakarta/**

Matches all files in the org/apache/jakarta folder tree.

For example, it matches:

org/apache/jakarta/tools/ant/docs/index.html

org/apache/jakarta/test.xml

but not:

org/apache/xyz.java

Back to top

See also: