Components of a Lino site

About sites and applications

Lino site

An instance of a given Lino application running on a given server.

Lino application

A database application that was developed using the Lino framework.

Every Lino site is owned by its site operator who manages user accounts of their site and assigns permissions. The site operator owns the data on their site. The site operator designates a site maintainer who is responsible for installing and updating the software on the site.

A Lino site can be used either for internal use by your employees in your local network, or as a public website. All Lino sites have a similar, typical, look and feel, which is optimized for efficient daily usage.

Every Lino site has a web interface under a domain or subdomain name, a set of local settings and configuration files, and usually its own database. Multiple sites can share a same database in order to provide different front ends.

Every Lino site runs a given Lino application.

Every Lino application is a software product on its own. It has a given set of functionalities and can be recognized by its end users.

A same Lino application can potentially run on many sites. In that case the operators of these sites automatically have a common product carrier.

The product carrier of an application decides which features and functionalities are available in their application: the database structure (how data is stored), the view layouts (how end users see the data) and the actions (what users can do with the data).

Code repositories

Because Lino is Free Software, its source code is publicly available for everybody.

The Lino framework is stored on GitLab as a set of about 30 public code repositories.

We differentiate the following types of repositories: the Lino core, the Lino Extensions Library, a series of Lino applications, a series of front ends and a series of documentation trees.

See Components of the Lino framework for a more technical overview.

source repository

A set of source files that is grouped together as a whole and published together with a version control system.

source code

Content to be edited by a developer and to be built (compiled) into an executable program file or consumable content (e.g. text, image, sound or video).

source file

A file that contains source code.

Examples of source file types commonly used for building executable program code are .py, .js and .rst.

Some consumable content file formats commonly used in a Lino project are .html and .pdf.

configuration file

A file that contains configuration settings to be read by a program.

Lino core

A source repository containing core functionality used by every Lino application.

Lino Extensions Library

A plugin library with shared plugins that are used by many Lino applications.

plugin

A module or logical part of an application which potentially can be shared among several applications.

plugin library

A collection of plugins grouped into a single source repository and maintained by a given development provider.

front end

A specialized plugin responsible to render the web interface of a Lino site.

A Lino site can be exposed with different front ends, using the same application code and database but different front ends.

Lino contains roughly 4500 source files with Python code (.py) and 6500 source files with Sphinx code (.rst).

Some more jargon you might encounter when talking to a developer:

test suite

A set or source code files that don’t add any functionality and is used only for automated testing.