Customised Search Page Descriptor Syntax Diagrams

Introduction

All Exprodo databases let you configure a customised search page. This is a search page designed for searching for a particular data type, and you can choose what search options should be available. This means, for example, that you can choose to have widgets that let a user select a value from a drop-down to match against items in the database, or perhaps a range of numeric values to search for. You create a customised search page as follows:
  1. Go to the menu editor (on the menu as Admin→Menu Editor by default)
  2. Select the menu you want to modify, and click the Edit button.
  3. Select an item in the tree of menu items where the new item should appear and click the "New Item" button.
  4. Change the type to "Custom Page", and the custom page type to "Customised Search Page"
One of the options is a text box labelled Descriptor. The diagrams below show the syntax for that descriptor. This defines the widgets that should appear on the search page where the user can enter some information that gets converted into the conditions used for the search.

Examples

descriptor

group

groupFlags

css-class

Any CSS-legal name. It will be added to output so you can control display using CSS.

label

Any text string excluding semi-colons and colons.

item

  • "[free]" means you want a text entry search box that will look for the text being in any text-valued property.
  • "[free-propertyPath]" means you want a free text entry, but this one is limited to searching within the given property path.
  • The most common style used is normally "propertyPath" or "propertyPath:*" for a multi-select.
  • If you specify a label, that that is the label that will be used in place of the default label for the property pointed to by the property path. This also implies the "!" flag. Without this, the label defined in the bakery is the one that will be used (in those contexts where labels are displayed).

itemFlags

  • S requests that items are displayed with a small widget, where supported
  • L requests that items are displayed with a large widget, where supported
  • C means that the search conditions generated should use a "Contains" relation. Only applicable for string properties.
  • M means that the search conditions generated should use a "Matches" relation so the user should enter a regular expression. Only applicable for string properties.
  • E means that the search conditions generated should use a "Equals" relation. Anything the user enters will be compared exactly. Only applicable for string properties.
  • N means that the search conditions generated should use an "Includes Any" relation. Only used for Tag Set properties. The default relation for Tag Set properties is "Includes All".
  • ! means there should be a label displayed for this item. Only useful in horizontal containiner as the others display labels already.
  • * means the user can select multiple values or a range instead of a single value.

property-path

property-name

digit

All diagrams have been created using Tab Atkins Railroad Diagrams library.