Lino basics

About Lino front ends

A Lino application can run under two different front ends. The same “soul” can have different “skins”.

ExtJS front end

The classical front end for Lino, based on the Sencha ExtJS JavaScript library.

React front end

The modern front end for Lino, based on ReactJS and the PrimeReact widget library.

Both front ends are actively maintained and used in production. Both have their advantages and limits. The ExtJS front end is older and won’t change very much any more.

As an end user you must decide with your site maintainer which front end you want to use. You may opt to use them both, in which case each front end has its own URL so that you can easily switch between them. For example you might prefer the React front end when accessing Lino from your mobile phone while you use the ExtJS front end when working from your desktop computer.

Signing in

Most –but not all– Lino sites require you to sign in using a username and password.

user settings

The settings stored for your user account. You can edit your user settings by selecting My settings from the user menu. Some application also provide a quick link [My settings].

user menu

The sub-menu of the main menu that holds commands related to your authentication: signing in or out, editing your user settings, acting as another user, …

The main page

When you enter a Lino site, you see the main page.

main page

The content of the browser page presented to the end user before they select any action from the main menu.

The main page includes the main menu, some welcome messages, a series of quick links and your dashboard.

main menu

The top-level menu that leads to all functions of an application. You can access it in every Lino window. Each time you select a command from the main menu, Lino opens a new window which will be placed over any other open windows. A window remains open until you close it. So you have a stack of windows.

welcome message

A short message to inform the end user about something after signing in.

Welcome messages are being generated dynamically each time your main window is being displayed. Unlike notifications you don’t get rid of them by marking them as seen.

A shortcut link in the main page.


A series of data views displayed in the main page.

Each dashboard item displays some data from your database. Many Lino applications allow you to configure that dashboard in your user settings.

Window types

data window

A window that displays a set of table rows.

The layout and behaviour of a data window is defined by a data view.

See Data windows below.

grid window

A data window in grid view.

list window

A data window in list view.

detail window

A data window in detail view. The layout of a detail window is defined by a detail layout.

A window that shows one row at a time. Unlike the grid window it is meant to focus on that single row and to show more details about it.

insert window

A window that will cause a new database row to be created when you submit it. It asks you to to enter some data fields of the new row.

dialog window

A pop-up window used to enter additional information before actually executing a requested action.

parameter window

A window used to edit the values of the parameters of an action.

A detail window usually opens by double-clicking or hitting enter on one item of a list window.

An insert window can be called from both a detail window and a grid window.

A detail window can possibly include slave tables.

Data windows

Most commands of the main menu open a data window that displays some set of data rows from your database.

The default mode for displaying these data rows is a “table” that renders rows and columns like a spreadsheet.

  • Hit Enter or double click on a row of a grid window to open a detail window on that row (if that table has a detail view defined).

  • Hit Escape or click the X in the upper right corner of the window to close that window and return to the home screen.

  • You can edit individual cells of a grid by hitting F2 or by simply clicking on it.

  • A data window has a toolbar where you have the quick search field and a series of buttons for navigating or running actions.


The toolbar

In most windows you have a toolbar.


A row with action buttons at the top of a list window or detail window.

quick search field

A field where you can enter text for quickly filtering the rows displayed in a list window (or a detail window with navigation buttons). See About the quick search field below.

navigation buttons

A series of action buttons used to navigate within a set of data rows, i.e. to go to the previous, next, first or last row within the set of rows defined by a list window.

action button

Any button of a toolbar that will fire an action when you click it.

Display modes

A data view can have different modes to display the data. We call these modes display mode.

display mode

One of the possible modes for displaying the data in a data view. Possible display modes are “grid”, “list”, “cards”, “summary”, “html” and “gallery”.

grid view

A data view when showing its data as an editable table. using rows and columns like a spreadsheet.

list view

A data view when showing its data as a list of items.

cards view

A data view when showing its data as cards.

detail view

A data view when showing its data with one page for each row.

summary view

A data view when showing a summary of its data.

plain html view

A data view when showing its data as a non-editable (“plain html”) table.

A data view when showing its data as an image gallery.

Not all data views feature all display modes. It is up to the application developer to specify which display modes are available in a given data view.

About the quick search field

You might wonder how Lino knows where to search when you type some text in the quick search field.

For example, when doing a quick search in a list of persons, Lino searches only the name field and not for example the street. That’s because street names often contain names of persons. A user who enters “berg” in the quick search field don’t want to see all persons living in a street named after a person whose name contained “berg”.

A special type of quick search is when the search string starts with “#”. In that case you get the database row with that primary key.

Slave panels

In a detail window you can have slave panels.

slave panel

A panel showing data that is related to the current row being displayed in a detail window but stored in a separate database table. The actor behind a slave panel is called a slave table.

A slave panel has a special button eject in its upper right corner. Click this button to open that slave table in a data window on its own. This is good to know for several reasons:

  • If the slave panel’s display mode is 'summary', the eject button is the only way to see that data as a table.

  • The slave panel is meant as a preview, it has no navigation toolbar and shows only a limited number of rows.

Site parameters

Many Lino applications have a menu command Configure ‣ System ‣ Site parameters, usually available only to site managers.

Lino jargon

phantom row

This is the last, empty, row in a grid window. When you enter something into this row, Lino will create a new database row. Lino adds a phantom row only in a grid window where you have permission to add new rows.


A list of choices that cannot be edited via the web interface and as such appears as constant or hard-coded to the site manager.

The values of a choicelist are given by the application developer, but they can be locally customized for a given Lino site.

slave table

A data view that is meant to display only the rows that are related to a given database row, which the slave table calls its master instance.

For example if you have two database models City and Person, with a foreign key pointing to City, then the application developer might define a slave table PersonsByCity, which displays only persons who live in a given city.

master instance

The database object that acts as master of a slave table.

master table

A data view that is not bound to a master instance.