Android Task List View Filter, Search, Sort
This scoping document defines the features required to deliver core filter, search and sort functionality in the Android Task list view. The Task list view presents a list of tasks sorted by geographic distance from the user. The task list view is used by users to sort and filter through tasks without spatial awareness. Users use this view to access different types of tasks (i.e BCC, Case confirmation) at varying levels (operational area, structure, family) and to directly jump into family interactions. Each Reveal product presents a core set of information in the task list view, but implementations have the capability to customize what family information is displayed.
Description of List View
The task list view has two columns, the task information column (left) and the task status column (right). The task information column presents the information about the task that is present. The following information is presented to the user in this column:
Task Code (BCC, Case Confirmation, Larval Dipping, etc)
Family Name and house number (if a task that’s assigned to a residential structure)
Distance from the user
The task status column presents a button that shows the color coded status of that task. If there are multiple tasks assigned to a family, tasks are grouped and the button directs to the family module. These buttons are action buttons.
Definitions of Filter, Search, Sort
We need to define how we want to filter, search and sort this view. This section defines the terms for reference.
Filter - A filter hides rows from the view that do not fit the filter criteria. Filter criteria are predefined and, likely, available in a combination.
Search - A search allows the user to type information into a box. A search is ad hoc and evaluates against all available fields. A search removes rows from the view that do not fit the search criteria. Search is most often used for quickly identifying fields that are typed in such as names and household numbers.
Sort - A sort is the process of retaining all information on the view, but presenting it in a different arrangement. The default source for the task list view is distance from the user.
State and Support for Combinations
We need to determine the level of support for the user to use a combination of these three features within a single view. In other words, should we support the ability to filter multiple fields, or just one. Then, at a larger scale, should we support searching or sorting on a view that is already filtered? No matter what we do, it’s appropriate to think of the filtered list as having state while the user is interacting with the view. Every time the user enters the view, they will be presented with the complete list of tasks. It is their responsibility to use these features and we must present a simple way to return to the base state of displaying all tasks by removing filters, and searches.
Filter Fields
This section defines the fields that need to be made available to filter.
Task Data Model
Business Status - (Label Status)
Code - Label: Type
(Beyond MVP)
executionStartDate
executionEndDate
owner
Intervention Unit (Not currently in the task data model)
Select multiple
Operational Area
Structure
Family
Person
Search Fields
This section defines the fields that need to be made available to search.
Task Information Column
Name as presented in the column (i.e. Dane Household)
House number
Family Module Information
First Name
Last Name
Household Name
Sort Fields
This section defines the fields that should be sorted on.
Task Data Model
Business Status - (Label Status)
Code - Label: Type
Business Logic For List View Behaviour
The following business logic should apply.
Filtering removes rows that do not meet the filter criteria
Searching removes rows from the view that do not meet the search criteria
Sorting does not remove rows. It sorts rows based on the sort criteria
Case Confirmation tasks always stay at top in a focus investigation
When there are multiple tasks on a structure they are grouped. This should be the default behaviour.
However, filtering and searching does break the group up. To put it another way, if you filter by intervention unit = Person, groups are no longer displayed. Individual tasks are displayed and users can directly enter the form.
In some cases, users have the ability to edit tasks that are already complete
(@Samuel Githengi , I need help figuring out what to do in this situation)
Discussion:
When searching for family or person level tasks, we need a way to display that that task is associated with the family
Feature: We should have rules around editing complete tasks.
It would be valuable to add rules like this either on the task data model or the plan.
Feature: We need to figure out the association between
Filters, Sorts and Searches do not persist after the user leaves the view
Design
This section will be completed in conjunction with the Ona design team.
To be designed:
Search View
Filter View
This site is no longer maintained. Please visit docs.opensrp.io for current documentation.