# Toc ordering.  Ordered list of help TOC's (books) as they would appear
# on the bookshelf. All the other TOCS will be follow these books.
# Non-present TOC's on this list will be ignored. Use the location of each TOC
# as /pluginId/path/to/toc.xml. This option is deprecated, 
# use org.eclipse.help.base.HELP_DATA instead
baseTOCS= 

# Filtering by criteria
# Set true to enable criteria filtering, otherwise set false
enableCriteria=false

# List all the supported criteria names, separated by comma 
supportedCriteria= 

# Apply filtering by enablement to the infocenter
filterInfocenter=false