MOD03: Filter&Search - mercal03/TINF21C_Team1_AAS-Server-Webclient GitHub Wiki

Changelog

Version Date Author Comment
0.1 09.05.2023 Samara Dominik Created, set up basic structure
0.2 09.05.2023 Severin Helms Add Scope
0.3 09.05.2023 Severin Helms Add User view
0.4 10.05.2023 Severin Helms Add Requirements
0.5 10.05.2023 Severin Helms Add Implementation
0.6 10.05.2023 Samara Dominik Enhance Scope, add Glossary
0.7 10.05.2023 Samara Dominik Added Design
0.8 10.05.2023 Martin Rittmann Add Module Context, Analysis
0.9 10.05.2023 Tom Engelmann Add Module Tests

Table of contents

1 Scope

The scope of this module is to enable users to efficiently search and filter assets based on their specific input criteria.

2 Glossary

  • AAS: Asset Administration Shell
  • AASX: file format to store an asset

3 Module Requirements

3.1 User View

Once the user has entered the site and loaded a server, there is the possibility to filter by year and manufacturer name or search directly for an asset using a search box. If the user clicks on the year filtering, a drop-down menu with sorting options opens. If the user clicks on the manufacturer name, a drop-down menu also opens with the selection of the Manufacturer-Name.

3.2 Requirements

/REQ60/ Sort by year

The user should be able to sort the displayed assets by manufacturer year.

/REQ70/ Filter for manufacturer

The user should be able to filter the assets by manufacturer.

/REQ80/ Search for digital twin

The user can search for digital twins by entering the name of the asset.

/NF30/ Efficiency

The webpage shall add servers and apply filters in the fastest way possible as well as the user being able to find desired results with the lowest possible amount of steps.

/NF40/ Usability

A user searching a specific product shall find that product as fast as possible, intuitively know how the webpage works and there shall be enough online documentation for new users. No further training or experience is required.

3.3 Module Context

This modules responsibility is the processing of data. After loading the data from a server in MOD01 and adding the data to the GUI in MOD02, this module shall now deliver the possibility for the user to find data more easily and therefore limit the entries shown in the application by applying filter and search parameters. Also a sort functionality shall be implemented to find the latest and oldest assets on the server.

4 Analysis

This module delivers the functionality to filter, sort and search the data of the previously loaded server. More precisely this module has three functions, filtering by manufacturer, sorting by manufacturing year and limiting the list of assets by searching for text values. These functions serve the usability and main goal of the project to speed up the finding of assets in a big list.

5 Design

The filtering, sorting, and search functionalities are all positioned in a separated bar below the Webclient-header. This ensures quick and easy access for users.The filtering for manufacturer and sorting by year features have own drop-down menus, providing users with a efficient selection process. The search bar is equipped with input assistance, additionally, an extra button allows users to delete their search query directly, eliminating the need to manually erase the entire entry.

image image image image

Additional details on our Usability Concept can be found on the Usability-Concept-page.

6 Implementation

All functions are implemented with java script.

/REQ60/ Sort by year

Filtering by year is done via a dropdown menu. The user selects the type of sorting in the dropdown menu. "Oldest first" or "Newest first". With this input, the assets are sorted by year in ascending or descending order and then output. Since there are also assets without dates, they are appended below the sorted array.

/REQ70/ Filter for manufacturer

After selecting a server, the names of the manufacturers are read from the assets and stored in an array. These are then output as a dropdown under the manufacturer filter. The user can then click on a manufacturer name. The clicked name contains an associated value that can be used to query the assets for the manufacturer name. The assets are then displayed with the associated manufacturer name. You can also search for a manufacturer directly using an input field. The user enters a string that is used to check whether a manufacturer name contains this substring, and then all asstes that match it are displayed.

/REQ80/ Search for digital twin

You can use the search bar to search for a Asset. If you enter a value, the Assets are queried for the name and read out. These are then listed as auto-completion under the search bar. The corresponding attachment can be selected there and will then be displayed.

7 Module Tests

The functionalities have been tested in the test suite TS-Asset with the test cases TC-Asset-Search-002, TC-Asset-Filter-003, TC-Asset-Sort-004.

In TC-Asset-Search-002 the functionality of searching for specific assets by their name or by a substring of their name has been tested. It passed the test and produced the expected results.

In <TC-Asset-Filter-003 the functionality of filtering for specific assets by the name of their manufacturer has been tested. It passed the test and produced the expected results.

In TC-Asset-Sort-004> the functionality of sorting the assets by the year of their manufacturing has been tested. It passed the test and produced the expected results.