# Basics of Oblo
## Domain
A domain can be thought of as a project in a more general sense, where different types of surveys, types of entries are used generally around the same topic. For example LICCI as a domain includes entry-types from three different sources as explained in other parts of the guidelines.
A domain has different texts, which can be translated into different languages:
- a title (which can be translated into differnt languages)
- a description
- a set of aspects, which are part of the profile of users interacting with the domain.
- A set of entry-types and value-codes.
Besides that a domain also includes a banner and a logo.
Besides that domains, can also include other particular configurations, which provides specific configuration for users of that particular domain.

Platform startpage showing 3 domains

The Startpage of a domain shows the and entries of that domain(left)
## Entry-types
Entry-types define a set of aspects that can be filled out in order to make up an entry of that type, which ends up being a point on the map of the domain.
Each domain can have its own entry-types.

The entries on the map and in the entries menu can be filtered by types, either trought the legend (over the map) or in the filter options.
IMPORTANT: Entry-types currently cannot be created on the platform but have to be specified by the platform administartor.
## Creating an entry
The purple "create entry" button on top of the map opens a menu of entry-types (if there are multiple) or brings the user to the creation page.

The entry creation page
## Aspect: What data can be collected?
An entry-type specifies an ordered set of aspects (variables)?
There are the following aspect-types:
**String:** A text input
**Number**: A integer or float input
**Select:** Selecting one of multiple options
**Multi-select:** Selecting several of multiple options
**Tree-select:** A hierarchical selection
**Location:** A geolocation
**Date:** A date
**Image:** a list of images
More complex types:
**List:** A list includes multiple values of same given aspect-type (*list-item type*).
(e.g. a list of names of species: "Lists of Strings")
**Composite:** A composite combines several aspects together.
The individual aspects of the compsite are called *components*.
This often makes sense as a list-item type: e.g. A List of species of when some species has been seen the last time:
List of Composite, where the comonents are "Species name" (String) and "Year last seen" (Integer).
All aspects have a part which can be translated (label seen by the user, description, select-options) and parts which are universal (e.g. the type).
There are some general configurations that can be made for each aspect of an entry-type and some specific configurations for depending on the aspect-type.
### General configurations:
**Entry title:** The value of this aspect will be used to make the title of the entry
**required:** If the user must set the aspect value in order to submit the entry.
**condition:** Sometimes aspects should only be seen/available when a specific other aspect has a certain value.
(INSERT SOME EXAMPLE WITH THE SPECIES)
E.g.
"Do you think the still species exist?" SELECT (options: yes, no)
"Why do you think the species does not exist anymore" (String, condition:"Do you think the still species exist?" -> no).
Conditions can be configured in details: multiple conditions, several options of select, default value...)
**visible:** If the aspect should be visible to set.
**Aspect actions:** Additional actions that are triggered when a value is set, or a button is pressed.
The action can be very specific and include calculating data or requesting data from another page.
E.g. When the location is set, the liccion server is requested for the climate zone of the coordinate. The return value is set to a climate zone aspect (which is not visible, but used to create a tag... see below).
### Aspect-type specific configurations:
**String:** maximum length of characters
**Number**: minimum or maximum (or both)
**Select:** Images for the options
**Multi-select:** conditions. some options, when selected exclude other options; Images for the options
**Tree-select:** Different visual representation of each level, with different levels of details; E.g. images, descriptions...; Images for the options
**Location:** Privacy settings
**Date:** An allowed range (e.g. just until today)
**Image:** minimum or maximum number of images
**Composite:**
**List:** a minimum or maximum (or both) of items.
### Selections and Tags
Selection aspect types (Select, Multiselect, Treeselect) can be used to add tags to entries.
### Tags
Tags on entries can be seen in the entries-menu and can be used to filter entries.
E.g. The raw observation get a tag from their climatic zone.
This is a aspect, which is invisible and automatically calculated by the location (Hence it doesnt need to be set by the user manually).
### Other interesting notes:
Entry types can have a configuration of who is allowed to create them.
E.g. completly public, Registered users, only selected users...
[Installing the app as progressive web app](https://hackmd.io/@opentek/installation) (adding it to the home screen).
Translation CSVs:
https://docs.google.com/spreadsheets/d/1U-mrw62TLzEiwR5RazPY5tg_CtpESKuDN_il2Ta2t9w/edit#gid=738487610
What do you want as output?
Image Glossary:
https://hackmd.io/YhxEJ3ZaT2uNbShlxfdN4Q?both