Description
The TACTIC Search Box is used to build filters to refine the results in the view. A variety of search filters can be constructed, ranging from simple column searches to large complex compound searches. The creation of search filters closely resembles that of creating mail filters in a mail application. Each search filter plays a role in the outcome of the final results. The Search Box is flexible enough to handle any kind of search.
Keyword Search
Open the Search Criteria by clicking the
button on the tool shelf.
The keyword search section allows for creation of a search filter to search on the words found in the column named keywords. These keywords must be manually inputted and updated.
Filter
The Filter section allows for the creation and activation of search filters. Each search filter operates on one attribute on that sType. These searches use standard text search logic and supports TACTIC’s expression language.
The Clear button clears out all the data in all the search filters: resets the drop down selection boxes and clears out the input search criteria box.
Parent Search
A search can be based on any property of a parent search type. For example, if asset_category is the parent type then a search can be made based on the properties of the parent. For example, a filter can be created on the parent (asset_category) where the code is "video".
Children Search
The Children search filter allows refining based on data in columns in the children. For example, a filter can be created to find all tasks where the priority is greater than 3.
Matching and Compound Searches
Click the [+] icon beside a search parameter to add additional search definitions.
The drop down selection box at the top of the search box can be used to set up the search to be match open (matching any of the definitions) or match specific (matching all of the definitions). The default match option is "Match all".
Compound Search gives the capability to set an AND or an OR option for filters. The default compound search option is "AND".
To switch the compound search option, select "Compound Search" from the drop down selection box at the top, add a new search filter, click on the word "and" that appears between the search filters to toggle it to "or".
Operators
is | Finds an exact match. eg. Process "is" Compositing |
is not | Finds all the results that do not match exactly. eg. Process "is not" Compositing |
contains | Does a partial match. eg. Process "contains" ompost |
does not contain | Finds all the results that do not match a partial match. |
is empty | Match the empty field. |
starts with | Match on the beginning part of the string. eg. Process "starts with" Comp |
ends with | Match the ending part of the string. eg. Process "ends with" ing |
in | Match any of the strings delimited by " |
". eg Process "in" Compositing | Lighting |
not in | Find all the results that do not match the strings delimited by " |
". | is distinct |
The "In" Operator
It is possible to search for items in a list using a simple text string with a "|" operator. For example, search for either "TM_001" or "TM_002" or "TM_003":
Sequence code [in] "TM_001|TM_002|TM_003"
The vertical bar (a logical "or") is a delimiter that specifies that the search should look for any item with the code "TM_001" or "TM_002" or "TM_003".
To switch the compound search option, select "Compound Search" from the drop down selection box at the top, add a new search filter, click on the word "and" that appears between the search filters to toggle it to "or".
The "Is Distinct" Operator
This operator filters out items with the same column value. ie. The results will only contain items that have a distinct entry in that column.
Sequence code [is distinct]
note: there is no need to put any criteria in the box when using the operator is distinct
Saving Searches
When saving a view as either "Project View" or "My View", the search filters are also saved with the view. Once the view is saved, the next time the view is opened, the search filters will be applied. This makes saving a view essentially like generating a report with a predefined set of criteria.
Expression values
The search criteria input for search filters can be TACTIC expressions. To signify to TACTIC that a search criteria is an expression, wrap the expression in curly braces {}. This signifies to the search engine to evaluate the value as an expression before sending it to the search.
Having the search criteria be a TACTIC expression allows for many uses of predefined variables in the expression language.
For example, the following will search for all tasks for this week based on a Sunday to Sunday work week.
timestamp "is after" "{$PREV_SUNDAY}" timestamp "is before" "{$NEXT_SUNDAY}"
Here is the TACTIC expression to find all of the checkins that have occurred this month:
timestamp "is after" "{$THIS_MONTH}"
Here is the TACTIC expression to find all the tasks for the current project:
project_code "is" "{$PROJECT}"
Note: the curly braces {} around these predefined variables are not needed in the expression mode described below.
Full Expression searches
Full expressions searches are an advanced way of searching for results. For each column, there is an "**expression" option. This option provides the ability to use the full power of the expression language within a search that are beyond the capabilities of the search user interface.
The full expression executes an evaluation on this expression then relates the results to the main search. Careful consideration must be take to refine an expressions so that is as efficient as possible.
For example, search for all of the assets that have model tasks:
@SOBJECT(sthpw/task['context','model'])
This search will first execute a search of all of the tasks that have model. Note that this does a search on all of the modelling tasks. With a large number of tasks, this operation can be heavy. Care must be taken to minimize the results of the expression. One way to make the search more efficient is limit the search to just that of the current project:
@SOBJECT(sthpw/task['project_code',$PROJECT]['context','model'])
The expressions can be combined with other filters in any combination so that very complex searches can be achieved.
For example, another more complex search is to find all items with a modelling task assigned to someone in the "toronto" location (assuming there is a custom property on the login table), we can use:
@SOBJECT(sthpw/login['location','toronto'].sthpw/task['project_code',$PROJECT]['context','model'])
This works because tasks (sthpw/task) and logins (sthpw/login) are connected through each other through the "assigned" column in the task table and "login" column in the login table.
There are 4 modes available to the expression search: "have", "do not have", "match", "do not match". These four searches can be applied to the Shot List page.