Appens inställningar
Tema, översättningar, autentisering och registrering, användarkonton, behörigheter och rotation av poster — allt som finjusteras i en app, avsnitt för avsnitt.
Varje app har sina egna inställningar — temat är den här appens, kontona är den här appens, behörigheterna är den här appens. Det är därför inställningarna reser med appen när du exporterar den i ett paket (med de undantag som sidan ”Importera och exportera appar” går igenom i detalj). Den här sidan går igenom alla avsnitten, med särskild uppmärksamhet på de sex som används mest: tema, översättningar, autentisering, konton, behörigheter och rotation av poster.
Öppna inställningarna
- Öppna appen i sidofältet.
- Överst i appens fält, klicka på kugghjulsknappen Appens inställningar. Navigeringsträdet lämnar plats åt inställningsträdet, organiserat i grupper.
- Klicka på ett avsnitt: det öppnas som en flik i arbetsytan — som en skärm eller ett skript — med appens namn i sidhuvudet, det aktiva avsnittet i en bricka bredvid, och avsnittets knappar (till exempel Spara) alltid i övre högra hörnet.

Den kompletta kartan:
| Grupp | Avsnitt | Vad som ställs in |
|---|---|---|
| Applikation | Allmänt | Identifikation, publicering, export och borttagning — se de två första sidorna i det här kapitlet. |
| Applikation | Autentisering | Hur användarna loggar in i appen, publik registrering och återställning. |
| Applikation | Aviseringar | Appens aviseringskanaler: i appen och e-post (egen SMTP). |
| Applikation | Lagring | Vart filerna som appens användare skickar upp tar vägen (appens disk, S3, SFTP, nätverksutdelning). |
| Användare | Appens användare | Kontona för dem som använder den byggda appen. |
| Användare | Behörigheter | Roller och regler: data, skärmar, menyer och åtgärder. |
| Utseende | Tema | Den byggda appens färger, form och typografi, med förhandsvisning. |
| Lokalisering | Översättningar | Appens språk och de översatta fraserna, i en matris. |
| Data | Rotation av poster | Hur många dagar varje typ av post sparas innan den tas bort. |
Nota
Det här är appens inställningar — inte att förväxla med plattformens Inställningar (i sidofältets administrationszon), som styr hela installationen: bakgrundsprocesser, aviseringar, sessioner och globala gränser.
Tema
Avsnittet Tema målar den byggda appen — den som dina användare ser — utan att röra någon skärm. Till vänster ligger färggrupperna; till höger visar panelen Förhandsvisning ”Exempel med de aktuella tokens — uppdateras direkt”: varje färg du ändrar syns där i samma ögonblick.

| Grupp | Vad den målar |
|---|---|
| Bas | ”Appens bakgrund och text, kantlinjer och fokus.” |
| Ytor | ”Kort och popovers (menyer, listrutor, verktygstips).” |
| Färger | ”Komponenternas semantiska färger och texten ovanpå var och en” — primär, sekundär, destruktiv, accent, dämpad. |
| Navigering | ”Appens navigeringslister (topp, sidor, menyer).” Som standard följer de ytorna; ändra dem för att tillämpa din grafiska profil. |
Varje färg har en visuell väljare och ett hexadecimalt fält (#rrggbb) —
skriv eller välj, det är samma sak. I slutet av listan bestämmer Form
och typografi resten:
- Hörnradie — från Inga rundade hörn (0) till Maximal (1rem), i fem steg.
- Aviseringarnas position — i vilket hörn appens notiser (toasts) visas.
- Teckensnitt (sans) — appens teckensnittsstack.
För att spara, Spara; för att gå tillbaka till ursprungsfärgerna, Återställ standard (återställer i editorn — det blir definitivt först när du sparar). Det sparade temat tillämpas omedelbart på den byggda appen, och reser med den i varje paket.
Översättningar — appens språk
Avsnittet Översättningar är en matris: en rad per fras, en kolumn per språk. Det är här appen får språk och det är här skärmarnas fraser översätts utan att lämna en enda tavla.

- Skapa en fras: skriv på sista raden, som alltid står tom och väntar (”skriv för att skapa…”). Frasens Nyckel ”(kommer från frasen)” — det är själva texten på basspråket som identifierar den i skärmarna.
- Lägga till ett språk: klicka på + i sidhuvudet, välj i ”välj språk…” och bekräfta med Lägg till språk. Ett nytt språk är en ny kolumn, som föds tom.
- Byta basspråk eller ta bort ett språk: i kolumnens meny — Gör till basspråk och Ta bort det här språket (”Det här språkets översättningar försvinner med det.”).
- Ta bort en fras: i radens meny, Ta bort frasen — den försvinner ur alla språk när du sparar.
- Hitta det som saknas: sökningen ”Sök på vilket språk som helst…” och filtret Ofullständiga visar bara fraserna med tomma celler.
I skärmarna används fraserna genom sin text: t("Kundlista") i en
TypeScript-händelse returnerar översättningen på språket hos den som
använder appen. För värden mitt i frasen, skriv dem inom måsvingar —
”{n} poster” ger ”3 poster” — och plattformen varnar (gul cell) när en
översättning tappat en måsvinge som originalet har: i det språket skulle
värdet inte visas.
Dica
Att ändra texten i en redan sparad fras är att ändra dess nyckel — och plattformen byter ut den också i de skärmar som använder den, och säger hur många den rörde. Ingenting blir kvar och pekar på en fras som inte längre finns.
Till sist, Spara: ”Översättningarna har sparats och kompilerats.”
Autentisering och registrering
Avsnittet Autentisering bestämmer hur man kommer in i den byggda appen — inte i plattformen. Det är tre block:

Autentiseringsläge — grundvalet:
| Läge | Hur det fungerar |
|---|---|
| Användarnamn och lösenord | ”Appens användare loggar in med de uppgifter som hanteras i fliken Användare.” Allt bor i appen; det är ursprungsläget. |
| OAuth / OpenID Connect | ”Appen överlåter inloggningen till en extern identitetsleverantör (OIDC-issuer).” Inloggningen blir din organisations. |
OAuth / OpenID Connect — leverantörens fält (aktiva bara i det läget): Issuer-URL och Client ID (obligatoriska), Client secret (”Sparas krypterad; den visas aldrig igen.” — att lämna tomt behåller det som redan finns) och Scopes (”Separerade med mellanslag. Tomt använder leverantörens standard-scopes.”).
Registrering och återställning — appens publika systemskärmar:
- Tillåt publik registrering: på, ”vilken besökare som helst kan skapa ett konto på skärmen /register. Avstängt serveras inte skärmen.”
- Roll för nya registreringar: ”Roll som automatiskt tilldelas den som registrerar sig.” Välj en roll ur listan i Behörigheter, eller Ingen roll — men utan roll loggar kontot in utan att se vare sig data eller skärmar.
- Återställningen av lösenordet skickar länken via e-postkanalen som anges i Aviseringar — kanalen måste vara aktiv och ha fullständig SMTP, annars går det inte ut några återställningsmejl.
Spara med Spara (”Autentiseringen har sparats.”).
Appens användare — kontona
Avsnittet Appens användare hanterar kontona för dem som använder appen. Varningen överst är gyllene regeln: ”De här användarna tillhör den byggda appen — de loggar in i appen i runtime och har ingen som helst åtkomst till KEPLIN-plattformen.”

Listan visar varje konto med Användare, Roller och Senaste inloggning (”har aldrig loggat in” när det aldrig skett någon inloggning), och den är byggd för att svara på frågor:
- Sökningen ”Sök på namn, användarnamn eller e-post…” och filtren på roll och tillstånd hittar vilket konto som helst.
- Den bärnstensfärgade varningen ”… användare utan någon roll alls — de ser varken data eller skärmar” är klickbar och filtrerar genast fram de kontona — det är orsak nummer ett till att ”appen är tom”.
- Markera flera konton för att agera i klump: Ge roll, Ta bort roll, Aktivera, Inaktivera — att ge tolv personer samma roll är en operation, inte tolv fönster.
Skapa eller redigera ett konto (knappen Ny användare, eller Redigera i radens meny — öppnas som en sida, aldrig i ett fönster):
| Fält | Anteckningar |
|---|---|
| Användarnamn | Obligatoriskt. ”Bokstäver, siffror, punkt, bindestreck, _ och @.” |
| Namn / E-post | Valfria; e-posten krävs för återställning av lösenordet. |
| Lösenord | Vid skapandet är det första lösenordet — ”användaren kan ändra det i appen.” Vid redigering, ”fyll bara i för att ange ett nytt lösenord.” |
| Aktiv | Avstängt finns kontot men ”kan inte logga in i appen.” |
| Roller | Visas roll för roll. Ett nytt konto har de roller som ”ges som standard” i Behörigheter förbockade. |
Att ta bort ett konto (radens meny → Ta bort) går inte att ångra — användaren kan inte längre logga in i appen.
Nota
Behörigheterna redigeras inte på kontot. De redigeras alltid i rollerna, i avsnittet Behörigheter — ett undantag som läggs på en person är ett undantag som ingen någonsin hittar igen.
Behörigheter
Avsnittet Behörigheter bestämmer vad varje roll får göra i appen, längs fyra axlar: data, skärmar, menyer och åtgärder. ”Behörigheterna adderas: den som har två roller får det bästa av båda.”

Listan Roller visar var och en med antalet användare och regler, och brickorna ”full åtkomst” och ”standard”. Ny roll skapar en och öppnar genast dess sida, med fem flikar:
Allmänt — Namn, Beskrivning och två reglage:
- Full åtkomst: ”Allt, utan undantag — och det fortsätter stämma när appen växer.” Det är appens administratörsroll; med den påslagen gäller inte ens de andra flikarna.
- Ges som standard: ”Tilldelas den som registrerar sig eller skapas på nytt.”
Data — en rad per tabell-API, med fyra bockar — Visa, Skapa, Ändra, Ta bort — och en Omfattning som säger vilka poster man når:
| Omfattning | Betydelse |
|---|---|
| Alla poster | Ingen radbegränsning. |
| Bara mina | Bara de poster vars ”Fältet som säger vems den är” är den inloggade användaren. |
| Med villkor… | Bara de poster som uppfyller ett filter du sätter ihop — med fasta värden eller värden från sessionen. |
”Omfattningen tillämpas på servern, vid alla läsningar och skrivningar — på skärmarna, i koden, i rapporterna och i arbetsflödena. Utan någon regel alls ser den här rollen ingenting från det här API:et.”
Skärmar — för varje skärm och varje enhet (Webb, Surfplatta, Mobil), en nivå: Dold (”syns inte i menyerna, och en handskriven rutt nekas”), Visa (skrivskyddad) (”öppnas skrivskyddad — fält och knappar som sparar är inaktiverade”) eller Redigera. Genvägarna ”visa alla” / ”dölj alla” fyller en hel kolumn. ”Visa” är en visuell hjälp; det som verkligen stoppar skrivningar är behörigheterna under Data, på servern.
Menyer — till skillnad från skärmarna är en meny synlig som standard: dörren är skärmen, och den är redan stängd. Här döljs resten — en hel grupp, aviseringsklockan — per enhet. Att avmarkera en grupp tar med sig dess barn.
Åtgärder — de verb som bara finns i den här appen: godkänna, stänga,
exportera. De deklareras i panelen Åtgärder i rollistan (en Nyckel
som aprovar-despesa och ett Namn, knappen Ny åtgärd) och varje
roll bockar för dem den ger. I skärmarna har varje widget egenskapen
”Åtkomst” för att kräva en åtgärd; i TypeScript-kod frågar man
keplin.session.can("aprovar-despesa").
Allt sparas på en gång med Spara (”Behörigheterna har sparats.”). Att ta bort en roll varnar för hur många användare som blir utan den — ”den som blir helt utan roll slutar se data.”
Rotation av poster
En app med trafik skriver historik utan uppehåll — anrop, körningar, klick. Avsnittet Rotation av poster bestämmer ”hur många dagar varje typ av post sparas innan den tas bort. Noll dagar betyder att den sparas för alltid.”

Det är ett rutnät med en rad per typ av Post och tidsfristen i Spara (fältet visar ”Sparas alltid” när det står på noll):
| Post | Vad det är | Från början |
|---|---|---|
| Anrop till API:erna | ”En rad per GraphQL-anrop. Det är det som växer snabbast i en app med trafik.” | Sparas alltid |
| Skriptkörningar | ”Historiken bakom knappen ”Körningar” i skripteditorn.” | Sparas alltid |
| Appfel | ”Förekomsterna bakom de problem som Radar visar. Att ta bort dem får inte problemet att försvinna, bara dess historik.” | Sparas alltid |
| Navigering och klick | ”Hög volym och kort värde: det är till för att undersöka det som just hänt, inte för historik.” | 2 dagar |
| Scheman | ”De utsatta tiderna och det som blev ogjort. Det som misslyckades sparas dubbelt så länge.” | 30 dagar |
| Arbetsflödesinstanser | ”Bara de som redan har avslutats. De som fortfarande körs eller väntar på någon tas aldrig bort. De som misslyckades sparas dubbelt så länge.” | Sparas alltid |
| Granskning | ”Vem som gjorde vad. Den delas av alla appar, så det är alltid den längsta perioden bland dem som gäller.” | Sparas alltid |
Spara tillämpar policyn (”Rotationen har sparats.”) och rensningen börjar köra i bakgrunden, varje dag.
Dica
I en produktionsapp, sätt riktiga tidsfrister från första dagen — 30 till 90 dagar för anropen till API:erna är en sund startpunkt. ”Sparas alltid” är utmärkt under utveckling och en diskfaktura i produktion.
Gränser att hålla i minnet
Gränserna du stöter på i inställningarna och gesterna i det här kapitlet:
| Vad | Gräns |
|---|---|
| Appens namn | 2 till 120 tecken |
| Appens beskrivning | Upp till 500 tecken |
| En appanvändares användarnamn | 2 till 120 tecken (bokstäver, siffror, punkt, bindestreck, _ och @) |
| Exportens lösenfras | Minst 8 tecken |
| Importpaket | Högst 200 MB |
| Rotation av poster | 0 till 3650 dagar per typ (0 = spara alltid) |
De globala gränserna — sessionernas längd och maxstorleken på uppskickade filer — är inte per app: de bor i plattformens Inställningar, i panelen ”Sessioner och gränser”, och gäller hela installationen.