Grundläggande begrepp
De fem begrepp som allt i Keplin vilar på — appar, skärmar, datamodell, versioner och publicering — och de två användarbefolkningarna.
Innan du rör vid en enda knapp är det värt att slå fast ett halvdussin idéer. Allt annat på plattformen — varje meny, varje panel, varje beslut du kommer att fatta — vilar på de här begreppen. Den här sidan definierar dem en gång, i lugn och ro; de följande kapitlen utgår från att du kan dem.

Appen — grundenheten för allt
En app är en komplett och självförsörjande applikation: dess skärmar, datamodell, API:er, skript, rapporter, inställningar och användare lever tillsammans och reser tillsammans. Varje app har:
| Egenskap | Vad det är |
|---|---|
| Namn | Hur appen visas i listan och på arbetsytan. T.ex. Kundhantering. |
| Slug | Namnets korta form, som härleds automatiskt och används i adresserna. T.ex. gestao-clientes. |
| Ikon | Appens symbol i sidofältet och i listan. |
| Beskrivning | En fri mening, synlig i appträdets sidhuvud. |
Att vara självförsörjande får två praktiska följder:
- En app kan exporteras som en
.keplinapp-fil och importeras i en annan installation — den tar med sig allt. - Att ta bort en app tar bort hela dess värld (design, data, filer) utan att röra de andra apparna eller de externa databaser den var kopplad till.
Nota
Listan över appar som du ser i sidofältet är inte densamma för alla: varje konto ser bara de appar det har åtkomst till. Utanför dessa syns appen varken i listan eller öppnas via länk.
Skärmar — applikationens sidor
En skärm är en sida i den byggda appen, ritad i en visuell editor: du drar widgetar (tabeller, formulär, diagram, kalendrar, …) till en canvas, kopplar dem till data och bestämmer vad som händer vid varje klick. Varje skärm har en rutt — sökvägen i appens adress — och kan ta emot parametrar (till exempel numret på den kund som ska visas i en detaljvy).
Tre skärmtyper förtjänar ett eget namn:
- Vanliga skärmar — de som du skapar och organiserar fritt i trädet.
- Systemskärmar — de finns i alla appar från första sekunden: Login, Recuperar palavra-passe (återställning av lösenord) och Registo (registrering). Du redigerar deras utseende i samma editor, men rutten och åtkomsten är fasta.
- Publika skärmar — serveras utan påbörjad session, för sidor som vem som helst får se. De kan bara läsa data från API:er som är märkta som publika.
Limmet mellan skärmarna är Navigering: appens meny (topp- eller sidofält), med poster, undermenyer och genvägar, ritad i sin egen editor.
Datamodellen
Datamodellen är kartan över appens entiteter — tabeller, fält, relationer och enums — byggd ovanpå Datakällor (de databaser som appen kopplar upp sig mot). Du importerar de tabeller som är intressanta till modellen, ger dem vänliga namn, och därifrån talar resten av plattformen modellens språk: tabell-API:erna genererar kompletta operationer utifrån den, skärmarna väljer fält via det vänliga namnet, enums matar listorna med alternativ.
Det väsentliga: modellen beskriver, den duplicerar inte. Data fortsätter att bo i databaserna; modellen är lagret som gör dem användbara för skärmarna och API:erna utan att samma logik skrivs två gånger.
Versioner — att arbeta utan rädsla
Varje app har Versioner, och den första heter alltid main. En version är en fullständig kopia av appens design och data i det ögonblicket — att skapa versionen ”2.0” utifrån main ger dig en gren där du kan ändra allt utan att röra det som används.

Det som är värt att komma ihåg:
- Arbetsversionen är din. Var och en väljer vilken version man arbetar i; att byta version ändrar ingen annans version.
- Versioner delar inte data. En ny version föds med data kopierade från ursprunget; därifrån går var och en sin egen väg.
- Varje version har historik. Alla sparningar registreras, med två sätt att gå tillbaka: Återställ appen till det här tillståndet (tar tillbaka allt till ett givet ögonblick) och Ångra den här ändringen (upphäver en enskild sparning). Ingen av dem skriver om historien — att ångra är alltid ett nytt steg i loggen.
- Du kan hämta element mellan versioner — en skärm som blev färdig i ”2.0” kan hämtas till main utan att resten följer med.
Publicering — vilken version varje adress serverar
Att publicera är ingen knapp för att ”lägga ut” — det är en koppling: varje
adress (host) serverar EN version av appen. I avsnittet Publicering i
appens inställningar kopplar du en host (t.ex. crm.foretaget.se) till en
version; den som besöker adressen ser den versionen, och bara den.

Så länge du inte publicerar någon host svarar appen ändå — på den interna
adressen /app/<slug> (t.ex. /app/gestao-clientes), med arbetsversionen.
Det är den naturliga platsen att experimentera på under bygget.
Dica
Den här modellen ger dig miljöer gratis: main publicerad på
produktionsadressen, ”2.0” på en testadress, och din arbetsversion på
/app/<slug> — tre publiker, tre versioner, samma app.
Två användarbefolkningar
Det finns två sätt att vara i Keplin, med separata konton och separata dörrar:
| De som bygger | De som använder | |
|---|---|---|
| Loggar in via | Plattformens inloggningssida | Den publicerade appens adress (eller /app/<slug>) |
| Ser | Arbetsytan: träd, editorer, versioner | Skärmarna i den byggda appen — och inget mer |
| Kontot hanteras i | Användare (global meny, administratörer) | Appens användare, i varje apps inställningar |
| Profiler | admin (allt, i alla appar) och developer (bara de tilldelade apparna) | De du definierar i appens Behörigheter |

Appens användare vet inte ens att Keplin finns: inloggningen, registreringen och lösenordsåterställningen som de ser är systemskärmarna i appen, med appens tema och appens språk. Uppdelningen återkommer i allt — och det är därför varje apps inställningar (tema, översättningar, konton, behörigheter) följer med den när du exporterar den.
Nota
Genom hela den här dokumentationen syftar ”användare” utan närmare bestämning på den som bygger. När vi talar om den som använder den byggda appen säger vi alltid appens användare.