# Bits and pieces of user interface

Although based on a "thin client", ERP5 is a rich user interface which offers many functionalities. What is important is that the interface is uniform throughout the system, so if you know how to use Person module, you don't have to learn anything new when it comes to doing sales or accounting.
This section briefly describes various parts of user interface.

## Module view

Module view is what you see when you enter something from the home page - module is meant for storing some "top-level" objects, so the only thing a module shows is a list of something (persons, organisations, sale orders or something else). Usually all the objects a module contains are of the same type, sometimes of a few similar types (e.g. Accounting Transactions show four or five types of transactions).
When you are in a module - assume it is Persons - you see something like this:
Let's examine every part of this screen.

### Menu bar

Favourites
This dropdown list shows some options which are either user-specific or related to administration of the ERP Site; most of them are - or will be - covered in other parts of this handbook or on erp5 wiki, like:
* Business templates management
* Worklists
* Preferences
* Creating and editing category trees
Modules
This is basically a navigation aid - it lists all modules that are currently present in the system (and available for you to view), so that you don't have to go back to the site's main page to travel to another module.
Languages
This lists all translation packs that are currently installed, and allows you to change the user interface language whenever you feel like it.
Search box
It is a quick, site-wide search facility; may require some additional configuration to work properly.
Jump
Some modules or objects may define special "jump" actions, which bring up lists of object related in some way to the one you are currently looking at - e.g. if you have a CRM package, you'd be able to jump from a person to a list of all sale opportunities related to this person. On this picture, you have only one jump-list - to all queries that this person has posted in the system.
Action box
This is a dropdown that actually lets you do things in the system. It comprises three sub-lists of actions you may undertake:

#### Add

    lists types of objects that can be added inside the module (or object) you are currently in; since we are in "Persons" module, the only thing that can be added here is a Person object.

#### Workflow

    this list actions that are currently possible within a workflow which this object is in (will become more obvious when we are looking at an object, not a module)

#### Object

    actions that are defined by the object itself.
Cut/copy/paste
These are standard actions that pertain to the objects shown on the list - if the listbox has checkboxes on the left and you select some objects, you can cut or copy, and then paste. There is nothing magic to it.
Print (optional)
This button may be present or absent, depending on whether the object defines some "object_print" actions. Usually it produces a pdf representation of what you currently have on your screen. It can be very handy when listbox is used, because you can filter and sort objects, show and hide columns, and then print the list as you see it.
New
When in a module, this button creates a new objects of the type which can be created within the module and shows it to you on the screen. If more than one type of objects can be created within the module it creates the first one (alphabetically). CAUTION: when you press this button, the object is created immediately and presented to you for editing. It is too late to cancel, the object is already there - if you change your mind, you have to go back and delete it.
Delete
Select some records, click this - you will see a confirmation dialog. This dialog will tell you if there are some other object related to the ones you are trying to delete. You can't delete an object if another objects has a "link" to it.
What happens when you confirm, depends on the implementation - objects can be either deleted, or moved to a "deleted" state.
Search button (optional)
Some modules define their own, dedicated search facilities (e.g. Accounting Transactions module), then this button appears. Clicking on it will bring up a search dialog.
Show all objects
If you had filtered the object in one way or another, this button will erase all filtering criteria you might have applied and show all records you can see in the current module.
Manual filtering
If you want the listbox to display only a few records selected manually by you, tick some checkboxes in the leftmost column and press this button.
Multi-column sorting
If you want to sort by one column, click on the column header (see below). If you want to do more elaborate sorting, like "first by this column, then by that one", use this button.
Exchange (optional)
Present if the module defines some "object_exchange" actions - usually there are things like: export data to CSV, generate dataset in spreadsheet format, import data from another application etc. If only one action is defined, it is launched immediately; if more than one, a selection dialog pops up. Can also produce a dialog asking for data input.
Report (optional)
Present if the module defines some "object_report" actions - like generating VAT transactions report, producing paysheet in MSWord format etc. If no report variables to specify exists it is launched immediately, otherwise it takes you to a dialog form on which you can choose report specific variables or limitations for report data. If more than one report is defined, a selection listbox appears on the dialog form.
Customize listbox
By default, listbox shows columns which were defined by the person who made the application. By using this tool, you can hide some columns and show other ones. Your settings will be seen only by you, and will be remembered even if you log out and in again.

### Navigation

Navigation breadcrumb
A standard web breadcrumb to show you where you are - some applications allow you to get fairly deep into the data structure. Also, allows you to go up as many steps as you want.

### Listbox tools

Flat list mode
Brings you back to the standard, "flat" mode of a listbox (see Understanding listboxes for detailed explanation, and http://wiki.erp5.org/HowToConfigureListbox for technical information).
Tree list mode
Goes into a "tree" mode whereby you can browse the listbox data by category tree (see Understanding listboxes for detailed explanation, and http://wiki.erp5.org/HowToConfigureListbox for technical information).
List Action
In module, does nothing. In an object, usually goes to a "folder contents" view which would allow you to cut, copy, paste and delete items.
Page selector
Standard page selector, if listbox has more items that it is configured to display on one page.
Select/unselect all items
Quicky check/uncheck all items in the listbox.
Apply
Applies filters which you typed into search/filter boxes (see below) - basically, has the same effect as pressing enter while cursor is in one of these boxes.
Sort by column links
If the configuration says a column is sortable, clicking on the link will sort listbox contents by this column in an ascending order; click again to reverse sort order.
Search/filter boxes
If the configuration says a column is searchable, enter something into the box and press enter. Columns differ int the search mode they use - some search by partial matches (type "John" to find "Johnny Knoxville", some accept wildcards ("John%").
Item selection column
Select items for copy, cut, delete etc.

## Object view

When you click on an object (a person, in this case), you enter a slightly different view, like this:
Basic things are the same, here we briefly describe what is different.

### Navigation

New object
It is similar to the "new" button on the module level, except that it always creates the same type of object like the one you are currently working on.
Listbox navigation buttons
If you entered the object by clicking on a link in a listbox (which is the most common way of accessing an object), these buttons allow you to move to previous, next, first and last item in that listbox; importantly, the listbox "remembers" any filtering and sorting you did, so you move only among the items you selected before and in the order you sorted them.
Up to the listbox
Takes you back to the listbox from which you came here (if you want to move up, you can also use breadcrumb, but the breadcrumb always takes you to the "view" tab, while this one takes you to the place whence you came.
Object tabs (or "views")
An object often has lots of properties (or attributes), far too many to present on one screen - then it defines many "views". The first - and default - one is always called "view"; also, every object has "history" and "metadata" tabs.

### Working with object

Save button
Saves any changes you might have made to the object. Sometimes it is not there, if the object is read-only for some reason.
Status message
This is the place ERP5 tells you if the operation you tried to perform was successful, and if not, then why. In this case it says the object was successfully saved.

### Basic fields

Text box
Just a text box, nothing special - type anything you like, press save.
Any field in an ERP5 form may be additionally equipped with a "validator" - in such a case if you enter an invalid value and try to save the field will tell you what was wrong.
Relation field
This field represents a "relation" of this object to some other object - in this case it says that this person works for that company. It has some very nice features:
* if it is empty, the little gear will show a list of object you can make a relation to - pick one and save
* if it has some value, the little airplane takes you straight to the related object (the "ERP5 Polska" company in this case)
* if it is empty and you type something into it and press the gear, it will make a search and present a limited list of objects
* if it is empty, you type something into it and press Enter or click Save, it will check how many matching objects there are - if only one, the system will immediately set the relation; if more than one, it will present a dropdown for you to choose which one did you have in mind.
Category dropdown
The category system (described elsewhere) lets you classify objects - here you can choose the region in which the person lives, from a tree-like category structure.
Listbox
This is a similar listbox to the one you've seen before in the module view; the main difference is that because it shows a more customized selection of objects, it does not have the "select column"; also, the "list action" is now usually meaningful - it brings you to another listbox displaying all objects "contained within" this person, and then you can copy, paste, delete etc.