Getting Started with Uber Filter

Before you can begin using Uber Filter, you need to add an Uber List to your page that lists something Uber Filter has an index plugin for.

The Uber Filter package provides the following filters:

File
Index data for filtering files.
Page
Index data for filtering pages.
User
Index data for filtering users.

Filter indexes for other data can be added as plugins provided by other packages, using a similar plugin mechanism to that used throughout this family of addons.

 

Start with a simple list of pages

To get started, we will build a simple filtered list of pages, a bit like the list used on this site's search page. First, add an Uber List block with an item template to create a simple list of pages.  On the Pagination tab of the block edit dialog, for filtering to work you need to ensure that 'Repaginate in browseris checked and 'Group items by pageis not checked. Save this block, publish your page and make sure your Uber List works before adding any Uber Filter blocks.

For example, here is the Magic Data used in the Uber List to create the search page on this site.

# List all pages beneath the home page (page 1)
SET 1 AS_PAGE LIST_ALL_PAGES 500 

# Filter the list to remove pages with the attribute 'Exclude From Notes'
FILTER_LIST  
ATTRIBUTE 'Exclude From Notes' NOT  
END_FILTER_LIST

# Sort the list by time/date
SORT_BY
PAGE_ADDED_TIME  
END_SORT_BY

# With newest first
REVERSE

And here is the stack used as a list template, its just a cache free html block containing some magic data:

[% UBER_LIST_ITEM PARENT_FROM_TOP 2 PAGE_NAME %] - [% UBER_LIST_ITEM PAGE_LINK %]

[Added on [% UBER_LIST_ITEM PAGE_ADDED_TIME DATE "Y-m-d" %]]
[% UBER_LIST_ITEM PAGE_DESCRIPTION TRUNCATE_TO_WORD 100 %] [% UBER_LIST_ITEM URL AS_NAMED_LINK "read more" %]

You can see how this was set up in more detail by viewing the screenshots gallery at the bottom of this page.

Add filter widgets to a working list

Once you have a working Uber List, you can begin adding Filter Widgets. Each Filter Widget is a concrete5 block. All Filter Widgets on a page and associated with an Uber List will cooperate to provide filtering of that list. For now, just add an Filter Text block and in the associated data fields select Name.

When saved and the page is published, you will now have a small form text entry field, that when you click 'Go' will reduce the items shown by the Uber List to those with a matching name.

Make sure the page search index has been generated

If the list does not filter, you may need to run the 'Index Search Engine' job from the dashboard jobs page. Uber Filter works by extracting filter data from core search data for Pages, Files and Users.

Add more filter widgets

How you proceed from here really depends on what properties and attributes you have for your pages. A Checkbox List widget for Tags can be fun to add next. 

If you have a big Uber List and a lot of Filter Widgets on a page, the data can result in a noticeable delay while the filter data is prepared and loaded. To improve the user experience, Uber Filter data is cached by Uber List, so now is a good time to enable the Uber List cache. You can also add a Loading Overlay filter widget to the page, so users get some feedback while waiting.

Other filter widgets either provide more controls for visitors to filter a list, or supplement the controls with further capabilities, such as making a filter selection sticky, providing a URL to link into a page with filters pre-selected, clearing all filters and more.

Please see the Filter Widget Documentation for details of each of the Uber Filter blocks.

Other addons that integrate with Magic Data and Uber List may also provide further filtering capabilities. For example, Magic Data Forms can provide filter index data for any form source that is integrated with Magic Data Forms.

Filter indexes currently installed on this site are:

File
Index data for filtering files.
Form Response
Index data for filtering form responses.
Page
Index data for filtering pages.
User
Index data for filtering users.

Last updated: over a year ago