Data Recovery

On 2017-04-04 we had a rather major disk malfunction that caused data loss. The data on this site was originally restored from a 2016-11-05 backup, but with wiki pages changes since then recreated from the search index.

Note that files and images uploaded since November are still missing and will need to be re-uploaded and reattached to the pages by hand.

Please let us know if you find anything else missing or broken due to this outage. We thank you for your patience.

LIST - filter command

A filter is used to define the search query that will be run to gather a set of results for the list. A large number of possible individual parameters can be 'filtered' as set out in the table below and multiple filter commands can be applied in an additive manner ie the equivalent of an AND operation.

Available filters

Name Description Boolean Sample Tiki Version
categories Match on the object's directly associated categories yes 1 OR 3 7
content Full text search on all of the object's content
Additional field argument can be provided to search for other fields instead of the default ones.
yes hello world 7
contributors user login to search for as the contributors for the content yes admin OR testuser 8
deepcategories Match on the object's categories or their parents, providing deep searching yes 1 OR 3 8
distance filtering on object location by distance no {filter distance="10km" lat="51.5287336" lon="-0.3824611"} 16.1
exact Exact text search
Use with the field argument to search for an exact title or field value. Can be used to look for empty tracker field {filter field="tracker_field_foobar_text" exact=""}
yes hello world 13
favorite Show only the favorited objects of a certain user. The feature Wiki Argument Variables must be set at : Admin -> Editing and Plugins -> Wiki argument variables no {filter favorite="{{user}}"} 8
field Basic filter by field contents
For the full list of fields see Unified+Index#Fields
yes {filter field="title" content="foo"},
{filter field="tracker_id" content="42"},
{filter field="tracker_field_foobar" content="John Doe"},
{filter field="tracker_status" content="o OR p"} ,
{filter field="blog_excerpt" content="Some text"}
7 (and onwards with more fields arriving most releases)
language Search on the object's language (2-letter code) when available. unknown is used when unspecified. yes* en or fr OR unknown 7
multivalue needed when filtering on array type fields like users' groups no Customers OR Staff ?
personalize to filter down to own contibutions without relying on argument variables ? ? 12
range A date (unix timestamp) range
Must have from and to arguments specified
no < searchfieldname > 8
range In Tiki 9, from and to can now take now instead of a unix timestamp, and you can also set either from or to together with "gap" to specify the one relatively to the other no < searchfieldname > 9
relation Must have certain relation
Additional field arguments objecttype and qualifier (the relationship) must be specified
no < object_id > 8
textrange A text range
Must have from and to arguments specified
no < searchfieldname > 8
type Filter on object type no wiki page (from Tiki 8 you can search for multiple types by providing a comma separated list)
trackeritem to search trackers

11 or earlier

* AND matching won't make much sense, single-value field

Boolean Syntax

When applying an individual filter more complex logic can also be applied using a Boolean syntax - that applies to all aspects of Unified Search - e.g. when filtering on content you could exclude all items not containing the word "water" by using:
{filter content="NOT water"}

Empty or Non-empty

To filter for a empty or non-empty fields, the syntax might depend on the Unified Index engine.
  • When using "MySQL Full Text Search" or "Elasticsearch" as the Unified Search Engine, you can use these syntaxes:
    • to include all non-blanks non-NULL values:
      {filter content="NOT "}
    • to include all blanks OR NULL values:
      {filter exact=""}

       Special case: 'Non-empty' for date fields using Elasticsearch

      In the specific case of filtering for 'Non-empty' date fields when using Elasticsearch, you need to convert your syntax to filter for a (wide enough) range of valid dates: this way you will match all items having some date and leave out the ones without dates set. Otherwise, Elasticsearch will fail and trigger some error (tested with Elasticsearch 1.x and 2.x).

Peculiarities for Elasticsearch

When using Elasticsearch as the Unified Search Index, you need to be aware of a few peculiarities:
  1. To filter by exact value use the tracker field perm name with the tracker_field_ prefix
  2. To filter by exact EMPTY value (i.e. missing value), use the _text version of the permanent name for that field where available.
    • Mysql index works with non _text version too but elastic does not. The reason is that Radio button, dropdown and a number of other fields use the normal permName field as identifier and add a _text version which is a plain text.
    • In ElasticSearch, this means that identifiers are exact-matches - they are not analyzed by search index and wildcard searches (like the empty one) does not work on them. Plain text, on the other hand, support wildcard searches, are anayzed and thus, work for exact="" search.
  3. When you use a field (let's say radio button, or dropdown, for instance) with a value "No", you will get some problems when search for that value in Elasticsearch since "No" is a stopword in Elasticsearch.
    • This is defined in the "Control Panel > Search" where you can exclude it to not be a stopword.
    • Being a stopword means that for analyzed string fields like tracker_field_myPermanentName_text, searching for stopword will result in nothing and searching for an empty value will show those fields containing a stopword. So, instead of seeing all empty ones, you will see all empty ones and all the ones that have a stopword in them - like all the "No" ones. This is undesired, so if you have such a field and need to filter on a stopword, please update the list of stopwords to exclude that specific value.


1. Basic

Basic usage
    {pagination max="10"}
    {filter content="hello world"}
    {filter categories="1 AND 2"}
    {filter language="en or unknown"}
    {filter type="wiki page"}
    {filter range="modification_date" from="2014-01-01" to="last week"}

The date filters use strtotime to convert various common formats to Unix epoch. Unlike what the documentation previously said, this has always been the case.

2. Date ranges

Parameters to, from and gap:
  • The idea is that you specify the value in to as the last day you want that filter to work on.
    • For instance: 1 week ago or "-1 week" - both should work with php's strtotime() parsing.
  • Then, the gap should cover the whole previous date range that you need. If you want, for instance, items older than 1 week, you can use a number there as big as you can, for instance 40 years
    (of course not going beyond 1970 as this is the start of the UNIX era and strtotime will return odd results).
  • And the idea of parameter from is that you specify the first day you want that filter to work on.

In Tiki 15+, the following date filters are possible:
Tiki 15+
{filter range="tracker_field_myDate" gap="1 day" to="now"} {* Within the last day *}
	{filter range="tracker_field_myDate" gap="10 years" to="-1 week"} {* Older than one week *}
    {filter range="tracker_field_myDate" gap="1 week" to_field="tracker_field_myDeadline"}  {* 1 week before the deadline *}
    {filter range="modification_date" from="-10 years" gap="1 year"} {* Between 9 and 10 years ago *}
    {filter range="modification_date" gap="1 year" to="10 years"} {* In between 9 and 10 years from now *}
    {filter range="modification_date" from="-40 years" to="now"} {* Within the last 40 years; a.k.a, "in the past" *}
    {filter range="modification_date" from="2014-01-01" to="last week"}

2.1. Unix timestamps

Unix timestamps may also be used. In Tiki 9+, the following date filters are possible:
Tiki 9+
{filter range="modification_date" from="1317427200" to="now"}
    {filter range="modification_date" gap="31536000" to="now"}
    {filter range="modification_date" from="now" gap="31536000"}

3. Numeric ranges

When you use Elasticsearch as the unified search index, you can reuse the same parameters to, from and gap that are shown above for Date ranges:
Tiki 15
{filter range="tracker_field_myPermanentName" from="40" gap="100"}

This will display items which have the field with permanent name "myPermanentName" with values starting at 40 and up to 100 numbers higher (from 40 to 140).

4. Tracker with categories

Filter in a specific tracker
    {list max="10"}
    {filter content="hello world"}
    {filter categories="1 AND 2"}
    {filter content=5 field=tracker_id}

5. Tracker and logged user items

Filter in a specific tracker and the logged user item(s)
{list max="1"}
{filter content="2" field="tracker_id"}
{filter field="tracker_field_username" content="{{user}}"}

6. Tracker item status

Filter by tracker item status
  {filter content="2" field="tracker_id"}
  {filter field="tracker_status" content="o OR p"}

7. Tracker items with empty field

Filter tracker items having an empty field (exact match)
  {filter content="2" field="tracker_id"}
  {filter field="tracker_field_fieldPermanentName" exact=""}

8. Wiki pages with partial match

Filter wiki pages with a partial match with some text string such as 'foo'
  {filter type="wiki page"}
  {filter field="title" content="foo"}

9. Wiki pages with partial match and spaces in string

Filter wiki pages with a partial match with some text string containing spaces such as 'foo bar'
  {filter type="wiki page"}
  {filter field="title" content="\"foo bar\""}

10. Wiki pages with exact match and spaces in string

Filter wiki pages with an exact match with some text string containing spaces such as 'foo bar'
  {filter type="wiki page"}
  {filter field="title" exact="foo bar"}

11. Wiki pages with boolean partial matches and spaces in strings

Filter on literal text with spaces in
    {filter content="\"hello world\" OR \"goodbye world\""}

12. Users in specific group(s)

Filter users in a specific group
  {filter field="object_type" content="user"}
  {filter field="groups" multivalue="Customers OR Staff"}

All the LIST Plugin commands

Alias names of this page:
listfilter | listfilters | list filter | list filters | listfilterrange | filterrange






Keywords serve as "hubs" for navigation within the Tiki documentation. They correspond to development keywords (bug reports and feature requests):

Accessibility (WAI and 508)
Accounting (7.x)
Articles and Submissions
Batch (6.x)
BigBlueButton audio/video/chat/screensharing (5.x)
Browser Compatibility
Link Cache
Clean URLs
Communication Center
Compression (gzip)
Contacts (Address Book)
Contact us
Content Templates
Contribution (2.x)
Credit (6.x)
Custom Home and Group Home Page
Date and Time
Debugger Console
Directory of hyperlinks
Documentation link from Tiki to doc.tiki.org (Help System)
Docs 8.x
Draw 7.x
Dynamic Content
Dynamic Variable
External Authentication
Featured links
File Gallery
Friendship Network (Community)
Gmap Google maps
i18n (Multilingual, l10n, Babelfish)
Image Gallery
Inter-User Messages
Kaltura video management (4.x)
Live Support
Logs (system & action)
Look and Feel
Lost edit protection
Map with Mapserver
Meta Tags
Mobile Tiki and Voice Tiki
Performance Speed / Load
Platform independence (Linux-Apache, Windows/IIS, Mac, BSD)
Profile Manager
Search engine optimization
Search and Replace
Semantic links (3.x)
Shadow Layers
Shopping cart
Social Networks
Spam protection (Anti-bot CATPCHA)
Tags (2.x)
Tell a Friend, alert + Social Bookmarking
TikiTests (2.x)
Theme CSS & Smarty
Transitions (5.x)
User Administration including registration and banning
User Files
User Menu
WebDAV (5.x)
Web Services
Wiki 3D
Wiki History, page rename, etc
Wiki Page Staging and Approval (2.x)
Wiki Plugin extends basic syntax
Wiki Syntax
Wiki structure (book and table of content)

Tiki Newsletter

Delivered fresh to your email inbox!
Newsletter subscribe icon
Don't miss major announcements and other news!
Contribute to Tiki