A module resides in a page and gives a total overview of “something” that might be a table, a graph or perhaps even a form. It is a natural evolution of a widget, but with full functionality available.
Filtering is available to distinguish chosen parts in the content, as well an inline search if needed that reside within a toolbar.
A module is a placeholder for all relevant information of an area, such as the whole transaction history or account listing.
It can hold multiple rows divided up in a pagination, but the content can also be split into tabs that hold different sections that are closely related to each other.
The natural placement for a module is within a page and in one page only.
It should contain all possible information, but the content can be customised for example by adding/removing columns in a table list or connecting it to a 3rd party service.
Errors should always aim to be contextual and the user should easily understand whether they affect the whole module or a specific value.
Detailed information can either be shown in a expanding row or in a slideout modal.
Do's and don'ts
- Use widgets as paths or links to the parent module instead of placing it in multiple locations
- Let the user choose what kind of information they are interested in
- Place a module in multiple pages, it should reside in one location
- Instead of showing 200 rows in a module, make use of pagination or a filtering function