AEM 6.4 has reached the end of extended support and this documentation is no longer updated. For further details, see our technical support periods. Find the supported versions here.
Use Search Forms to customize the selection of search predicates used in the search panels available in various AEM consoles and/or panels of the author environment. Customizing these panels makes the search functionality versatile according your specific needs.
A range of predicates are available out-of-the-box. You can add multiple predicates, including (amongst others) the Property predicate to search for assets that match a single property specified by you, or the Options predicate to search assets that match one or more values that you specify for a particular property.
You can configure the search forms used within various consoles and the asset browser (when editing pages). The dialogs for configuring these forms can be accessed via:
Tools
General
When you first access this console you can see that all the configurations have a padlock symbol. This indicates that the appropriate configuration is the default (out-of-the-box) configuration - and cannot be deleted. Once you have customized the configuration the lock will disappear - unless you delete your customized configuration, in which case the default (and the padlock indicator) will be reinstated.
The default configurations available are:
Page Editor (Documents search):
This configuration defines the options available when searching for document in the assets browser (when editing a page).
Page Editor (Image search):
This configuration defines the options available when searching for images in the assets browser (when editing a page).
Page Editor (Manuscript search):
This configuration defines the options available when searching for manuscripts in the assets browser (when editing a page).
Page Editor (Page search):
This configuration defines the options available when searching for pages in the assets browser (when editing a page).
Page Editor (Paragraphs search):
This configuration defines the options available when searching for paragraphs in the assets browser (when editing a page).
Page Editor (Product search):
This configuration defines the options available when searching for products in the assets browser (when editing a page).
Page Editor (Dynamic Media Classic [formerly Scene7] search):
This configuration defines the options available when searching for Dynamic Media Classic resources in the assets browser (when editing a page).
Sites Admin Search Rail:
This configuration defines the search options available to the user when using the search rail of the Sites console.
Page Editor (Video search):
This configuration defines the options available when searching for videos in the assets browser (when editing a page).
Assets Admin Search Rail:
This configuration defines the search options available to the user when using the Assets console.
Catalogs Admin Search Rail:
This configuration defines the search options available to the user when searching a commerce catalog.
Orders Admin Search Rail:
This configuration defines the search options available to the user when searching commerce orders.
Product Collections Admin Search Rail:
This configuration defines the search options available to the user when searching commerce product collections.
Products Admin Search Rail:
This configuration defines the search options available to the user when searching commerce products.
Project Admin Search Rail:
This configuration defines the search options available to the user when searching projects.
The following predicates are available, dependent on the configuration:
Predicate | Purpose | Settings |
---|---|---|
Analytics | Search/filter capabilities in the Sites browser when showing analytics powered data. Analytics search filters load up to match the mapped customized analytics columns. |
|
Asset Last Modified | Date the asset was last modified. |
A customized predicate, based on the Date Predicate. |
Components | Allows an author to search/filter for pages that have a specific component on it. For example an image gallery. |
|
Date | Slider-based search of assets based on a date property. |
|
Date Range | Search assets created within a specified range for a date property. In the Search panel, you can specify Start and End dates. |
|
Expiry Status | Search assets based on expiry status. |
|
File Size | Search assets based on their size. |
|
Hidden Filter | A filter on property and value, not visible to the user. |
|
Options | The options are content nodes created by the user. See Adding an Options Predicate for more information. |
|
Options Property | Search on a property of the option. |
|
Page Status | Search pages according to their status. |
|
Path | Search assets located under a specific path. |
|
Property | Search on a specified property. | none |
Publish Status | Search assets based on their publish status |
|
Range | Search resources that lie within a specified range. In the Search panel, you can specify minimum and maximum values for the range. |
|
Range Options | A specific search predicate for Assets and the same as common Slider Predicate. Is still available due to backward compatibilty issues. |
|
Rating | Search assets according to their rating. |
|
Relative Date | Search assets based on the relative date of their creation |
|
Slider Range | A common search predicate extending the range predicate with the slider capability. The value of the property searched on must be between the slider limits. |
|
Tag | Search assets based on tags. You can configure the Path property to populate various tags in the Tags list. |
|
Tags | Search based on tags. |
|
The common search predicates are defined in:
/libs/cq/gui/components/common/admin/customsearch/searchpredicates
Search predicates related only to siteadmin (classic UI) are located under:
/libs/cq/gui/components/siteadmin/admin/searchpanel/searchpredicates
This information is for reference only, you must not make changes to /libs
.
Dependent on the predicate a selection of settings are available for configuration:
Field Label
The label that will appear as the collapsible header or as the field label of the predicate.
Description
Descriptive details for the user.
Placeholder
Empty text or the place holder of the predicate in case no filtering text is entered.
Property Name
The property to be searched on. It uses a relative path and the wildcards */*/*
specify the depth of the property relative to the jcr:content
node (each asterisk represents one node level).
If you want to search only on a first level child node of the resource that has the x
property on the jcr:content
node use */jcr:content/x
Property Depth
The maximum depth to search for that property within the resources. So a search on that property can be performed on a resource and recursive children until the level of the children equals specified depth.
Property Value
The property value as an absolute string or as an expression language; for example, cq:Page
or
${empty requestPathInfo.suffix ? "/content" : requestPathInfo.suffix}
.
Range Text
The label of the range field in the Date Range predicate.
Option Path
The user can select the path using the Path Browser in the predicate setting tab. After selecting the + icon is used to add the selection to the list of valid options (then the - icon to remove if required).
The options are content nodes created by the user, having the following structure:
(jcr:primaryType = nt:unstructured, value (String), jcr:title (String))
Options node path
Effectively the same as the Options Path, only this is in the common predicate field, the other is specific for assets.
Single Select
If checked, the options are rendered as checkboxes that allow for only a single selection. If mistakenly selected, a checkbox can be deselected.
Publish and Live Copy Property Name(s)
The labels for the publish and live copy checkboxes for the Sites specific predicate.
The * on the field labels in the Settings tab means the fields are required and if left blank an error message will appear
Navigate to Tools, Operations, Search Forms.
Select the configuration that you want to customize.
Use the Edit icon to open the configuration for updating.
If a new customization you will probably want to add new predicate fields and define the settings as required. If an existing customization you can select an existing field and update the settings.
Select Done to save the configuration.
The customized configurations are stored (as appropriate) under:
/apps/cq/gui/content/facets/<option>
/apps/commerce/gui/content/facets/<option>
You can add or edit fields and define/update their settings:
Open the customized configuration for updating.
If you want to add a new field, open the Select Predicate tab and drag the required predicate to the required location. For example, the Date Range Predicate:
Depending on whether:
You are adding a new field:
After adding the predicate the Settings tab will open and show the properties that can be defined.
You want to update an existing predicate:
Select the predicate field (on the right), then open the Settings tab.
For example, the settings for the Date Range Predicate:
Make your changes as required and confirm with Done.
Select the Preview icon:
This will display the search forms as they will be shown (fully expanded) in the Search column of the appropriate console.
Close the preview to return and finish the configuration.
Open the customized configuration for updating.
Select the predicate field (on the right), open the Settings tab and then select the Delete icon (bottom left).
A dialog will request confirmation of the delete action.
Confirm this and any other changes with Done.
Once you have customized a configuration this will override the defaults. You can resinstate the default configuration by deleting your customized configuration.
You cannot delete either of the default configurations.
Deleting a customized configuration is done from the console:
Select the required configuration (for example, Page Editor (Paragraphs search)) and then the Delete icon in the toolbar:
The customized configuration will be deleted and the default reinstated (this is indicated by the reappearance of the padlock symbol in the console).
Option predicates (Options, Options Property) allow you to configure an item to be searched for. They are usually used to search for something directly under the page; for example, a property on the page node.
The following example (to search according to the template used to create a page), illustrates the steps involved:
Create the node defining the property to be searched on.
You will need a root node holding definitions of the individual options to be available to the user.
The nodes for the individual options need the properties:
jcr:title
- the field label to be shown in the search railvalue
- the property value to be searched onYou must not change anything in the /libs
path.
This is because the content of /libs
is overwritten the next time you upgrade your instance (and may well be overwritten when you apply either a hotfix or feature pack).
The recommended method for configuration and other changes is:
/libs
, under /apps
. In this case from:/libs/cq/gui/content/common/options/predicates
/apps.
Open the Search Forms console and select the configuration you want to update. For example, Sites Admin Search Rail.
Then click/tap the Edit search forms icon.
Depending on the configuration add an Options or Options Property to the configuration.
Update the fields, in particular:
Property Name
Specific the node property to be searched for on the target nodes. For example:
jcr:content/cq:template
Option node path
Select the path to where your options are held. For example:
/apps/cq/gui/content/common/options/predicates/templatetype
Select Done to save your configuration.
Navigate to the appropriate console (in this example, Sites) and open the Search rail. The newly defined search forms, together with the various options will be visible. Select the required option to see the search results:
The following table lists the permissions required to perform edit, delete, and preview actions on search forms.
Action | Permissions |
Edit | Read, Write permissions on the /apps node. |
Delete | Read, Write, Delete permissions on the /apps node |
Preview | Read, Write, Delete permissions on the /var/dam/content node.Read, Write permissions on the /apps node. |