KEPLIN Docs

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

  1. Öppna appen i sidofältet.
  2. Överst i appens fält, klicka på kugghjulsknappen Appens inställningar. Navigeringsträdet lämnar plats åt inställningsträdet, organiserat i grupper.
  3. 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.

Trädet med appens inställningar, med grupperna och avsnitten
Trädet med appens inställningar, med grupperna och avsnitten

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.

Avsnittet Tema i appens inställningar: färggrupperna till vänster och förhandsvisningen i direktsändning till höger.
Avsnittet Tema i appens inställningar: färggrupperna till vänster och förhandsvisningen i direktsändning till höger.

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.

Appens översättningsmatris: en rad per fras, en kolumn per språk.
Appens översättningsmatris: en rad per fras, en kolumn per språk.

  • 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:

Appens avsnitt Autentisering, med autentiseringsläget och den publika registreringen
Appens avsnitt Autentisering, med autentiseringsläget och den publika registreringen

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 över användare i appen Kundhantering: varje kontos roller och senaste inloggning.
Listan över användare i appen Kundhantering: varje kontos roller och senaste inloggning.

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.”

Appens avsnitt Behörigheter: rollerna, med varje rolls användare och regler, och de deklarerade åtgärderna nedanför.
Appens avsnitt Behörigheter: rollerna, med varje rolls användare och regler, och de deklarerade åtgärderna nedanför.

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äntNamn, 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.”

Matrisen för rotation av poster, med antalet dagar att spara per typ
Matrisen för rotation av poster, med antalet dagar att spara per typ

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.