Hope | What | How | Who | Jobs | Partners | Kontakt | Mehr über Synodalsoft

Software jargon for everybody

Site operators

site operator

The legal person that operates a Lino site.

The site operator owns the data stored on their Lino site.

The site operator provides the infrastructure to run their Lino site.

The site operator is responsible for granting and revoking of access rights to end users as well as their training and support.

The site operator is responsible for protecting their data against privacy issues.

The site operator can assign their responsibilities to a hosting provider, a server administrator and eventually an application developer and can reassign these responsibilities at any time to another service provider.

The site operator provides the following human resources either in-house or via a third-party service provider:

site user

A human who has a user account on a given Lino site.

end user

A site user who uses a Lino site for actually working. This is in contrast to a site manager who manages those who work.

key user

An experienced end user who knows how to use a given part of the application, who can explain this to their colleagues and who can give basic end-user support. If needed, submits support requests to the site expert.

site manager

Manages a Lino site via its web interface.

The site manager manages accounts and access permissions to the end users, can change site-wide configuration settings and has full access to all functions provided via the web interface.

Don’t mix up site manager with system administrator, server administrator or hosting provider.

system administrator

Manages the IT system of a site operator. Installs, configures and maintains client devices and software as required.

release manager

The contact person between the site operator and the server administrator.

Coordinates the activities before and after a site upgrade.

site expert

The contact person between the site operator and the service providers involved with the Lino site.

Responds to end-user support requests reported by key users.

Communicates as needed with the hosting provider and the application developer.

Formulates and explains the requirements of the site operator regarding the Lino application.

Introduces expert support requests to the application developer and answers to callback questions.

Communicates with the end users in order to analyse their needs, and then explains to the application developer how to make or improve the application.

Organizes training for key users.

Developers

software developer

A natural person who develops a software product.

Writes and maintains developer documentation and a test suite for the application.

A developer writes release notes for site experts.

Software development includes one or more of the following tasks: analysis, programming, testing, deployment, writing documentation, maintenance and support.

We differentiate the following types of Lino developers:

application developer

A software developer who writes and maintains the source code of a given Lino application.

core developer

A software developer who helps maintaining the Lino framework as a whole, which includes maintaining the privileged applications.

contributing developer

An application developer who contributes to the Lino framework, for example by testing general framework features, discussing changes and new features, submitting pull requests, …

core team

The people who develop the Lino framework as a software product.

A big business

development provider

An organisation that provides professional services in order to develop and maintain a software product.

Operates a collaboration infrastructure for their workers. Some of these workers are developers.

software engineer

A natural person who is not a programmer but an active member of a developer team.

What a software developer does

A development provider can provides the following services.

analysis

The art of formulating the needs of a customer in a language that can be understood by a programmer.

programming

Write and maintain the source files and publish them.

testing

Make sure that the software does what it is meant to do, that a new version does not introduce regressions or other side effects. This is also called quality control.

deployment

Installing the software on a remote site, either public or for a site operator.

developer support

Support given to an application developer.

expert support

Support given by a development provider to a site expert. This is more technical and specialized than end-user support.

manual testing

A method of software testing where the testers manually execute test cases without using any automation tools in order to find bugs in the software system. It is imperative for every release because full automated testing is not possible. Manual testing is usually done by experienced end users because it requires a good knowledge of the functional requirements. Optionally they can be executed by the application developer before a release, or by the server administrator after an upgrade.

automated testing

A part of the development process which verifies that a change in the software doesn’t break any existing functionality.

Miscellaneous

code repository

A data structure that stores a set of files and directories, plus their change history.

privileged applications

Lino applications that have the „privilege“ of being maintained by the core team. They serve as examples for explaining and testing Lino, and at the same time are being used on production sites in the real world.

Their documentation is incorporated into the Lino docs, in the User Guide and the Developer Guide.

stand-alone applications

Lino applications that have their own developer documentation, demo projects and technical specs.

Lino community

The natural and legal persons who use the Lino framework and want to collaborate with other members.

Lino consultant

Knows the possibilities and limitations of the Lino framework and gives neutral advice about whether or not to choose Lino as a solution. Helps you with analyzing and formulating your needs and finding the right business partners who will implement a solution.

service provider

A legal or natural person who sells services to a customer.

maintenance

The work of keeping a given system running.

demo site

A Lino site that contains fictive data used for demonstration or testing purposes.

production site

A Lino site that contains sensitive data owned by its site operator.

Lino server

A virtual or physical computer operated in order to run one or several Lino sites.

A Lino server can be operated by a site operator (self-hosting) or by a server provider who specializes in this job for their customers.

self-hosting

When a site operator runs their own Lino server.

This makes sense for site operators who have their own server infrastructure.

production server

A Lino server used to host one or several production sites.

demo server

A Lino server designed to host one or several of demo sites.

preview site

A copy of the production site as it would look when using some newer version of the software.

It is made available to end users so they can preview and test an upcoming version before a site upgrade. The primary goal of a preview site is to help the site operator to test new features and to reduce stress caused by unexpected results after an upgrade.

client device

Any device used by an end user to access a Lino site.

This can be a desktop or notebook computer, or a mobile device.

Solution providers

solution provider

A service provider who is able to provide all the services needed by a site operator.

A solution provider usually connects with other service providers, but for the site operator he is the sole service vendor and legally responsible person.

support

The service of helping somebody with using a given system.

Support –unlike research– is always a response to a concrete support request.

Can be done professionally by a support provider.

support provider

A service provider who provides support to their customer.

A support provider, a side effect, usually also publishes and maintains documentation.

support request

A request for help submitted by a customer to a support provider.

end-user support

Basic first-level support to end users.

The support provider is always available when end users need them. Forwards the request other actors if they cannot help directly.

end-user training

A service that comprises publishing of training material and/or organizing training sessions for end users.

Server administrators

The server administrator communicates with the site operator(s), the server provider and the application developer.

The server administrator organizes access to locally customized document templates to the site manager.

A server administrator knows how to install Python packages (using pip into virtual environments (using virtualenv). Previous experience with hosting Django applications is useful.

A server administrator is not a software developer and does not need profound knowledge of Lino or the Python language.

Hosting providers

We maintain a list of recommended Lino hosting providers.

hosting service

The work of installing and maintaining a Lino site for a site operator.

The combined services of a server provider and a server administrator.

hosting provider

A legal person who provides hosting service.

server provider

Installs and maintains a virgin Linux server to be used for running Lino sites.

Is responsible for root actions, backups, reliable functioning and protection against certain types of attacks unauthorized access.

Creates one or several SSH user accounts to be used by the server administrator. Grants access to the server via SSH.

Makes the web sites on the server available via Internet or a local network.

server administrator

Installs and maintains the software on a Lino server.

Takes care of the maintenance and security of the server. Plans and executes software updates and data migrations.

Responsibilities of a hosting provider

As a Lino hosting provider you assume the following responsibilities:

  • You set up a virtual machine running with a virgin Debian operating system and grant SSH access to a server administrator.

  • You care about registering a domain name and SSH certificates if the customer needs it.

  • You care about security and protect the server against hackers

  • You make backups of the server to make sure it doesn’t get lost in case of a serious accident.

  • You care about scaling. When your customer’s site grows, they might want to move to a bigger machine.

  • You care about reliability and make sure that the Lino site is always available to respond when your customer needs it.

  • You respond to support requests of the site operator.

Product carriers

product carrier

The legal or natural person who carries or governs the usage of a software product.

A product carrier invests into development, maintenance and marketing of a given software product.

When a given Lino application is being used on only one site, the operator of that site is de facto also the application developer. Otherwise the application developer is a separate legal person by which several site operators collaborate and maintain the application as their shared project.

product manager

Finds new business partners.

Explores the market and formulates strategic choices

application expert

Centralizes the requirements of all users and negotiates priority conflicts.

site experts

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.

See also List of known Lino applications

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 server administrator 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).

A Lino consultant or distributor may decide to run one or several online demo sites.

online demo site

A fully functional Lino site with fictive demo data used for showing Lino to other people. All online demo sites get updated and reinitialized every morning. You may edit according to the user permissions, but your changes will have vanished the next day. The sites are visible and writeable for everybody, so don’t enter any sensitive private information there.

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 Repositories 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 software 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.

plugin

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

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 software developer:

test suite

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

Service sales models

There are two types of sales models for services : flat-rate support and per-hour support.

flat-rate support

A support sales mode where the customer pays a given sum for a given period and gets unlimited support. The only limit are human resources. The provider promises that they give their best to help the customer with any problem. Upon agreement the provider can write additional invoices for extra work that needs more effort than usual.

This model works well when provider and customer trust each other and want a long-term relationship. The project is seen as a collaboration where both partners contribute their work. Advantage is reduced administrative cost and increased communication.

per-hour support

A support sales mode where the customer pays for every hour of work required by the provider. The provider is responsible for writing service reports. Advantage is transparency.