NOS (När - Om - Så)¶
NOS är en akronym för När – Om – Så och möjliggör dynamiska arbetsflöden. Ett exempel på detta är när en användare kryssar i ett alternativ i ett flervalsfält på ett formulär så beroende på om ett eller flera villkor är uppfyllda så ska en uppgift utföras. T.ex. visa en informationsruta, dölja/visa ett fält eller skicka e-post.
Översikt av händelser¶
NOS kallas även för Händelser och det är så det benämns i DF RESPONS gränssnitt. För att arbeta med händelser så väljer du först vilken ärendetyp du vill arbeta med och sedan klickar du på När-Om-Så i verktygsraden.
När du valt att arbeta med händelser presenteras en översikt av flöden. Ett flöde är helt enkelt ett sätt att gruppera/dela upp händelser. T.ex. kanske du har ett flöde som bara innehåller händelser som ska gälla vid redigering av ett ärende och ett flöde som bara reglerar notifikationer. Händelser som tillhör ett flöde kallas även för flödesdel.
Det är viktigt att känna till att flöden har en intern prioritering. Den interna prioriteringen innebär att om det är multipla uppgifter/aktiviteter (SÅ) som ska utföras, så utförs de enligt prioriteringsordning. Först enligt flödenas prioritering och sedan enligt flödesdelarnas prioritering inom respektive flöde. Genom att högerklicka på ett flöde i listan kan du enkelt ändra dess prioritering.
Skapa nytt flöde¶
När en ärendetyp just skapats så innehåller den inga händelser. För att skapa händelser måste det först finnas minst ett flöde. Klicka på Skapa nytt flöde i verktygsraden, en dialogruta öppnas.
Hantera flödesdelar¶
Se först till att du arbetar med ett existerande flöde genom att klicka på pennan i flödesöversikten. Efter detta presenteras en översikt av befintliga flödesdelar som försöker vara så informativ som möjligt. I kolumnerna visas bl.a. flödesdelarnas prioritet, namn, När-händelse, Om-villkor och Så-aktivitet. Eftersom det inte är helt ovanligt att många flödesdelar liknar varandra går det att kopiera befintliga flödesdelar. Du kopierar en flödesdel genom att klicka på papperssymbolen i högerkolummen. För att ändra egenskaperna för den aktuella flödesdelen, klicka på pennan i högerkolummen.
Kopiera eller ta bort en flödesdel¶
Du kopierar en flödesdel genom att klicka på papperssymbolen i högerkolummen. En direkt kopia av flödesdelen skapas då och läggs till sist i listan över flödesdelar. För att ta bort en flödesdel klickar du på den röda knappen i högerkolummen.
Lägg till flödesdel¶
Skapa en ny flödesdel genom att klicka på knappen Lägg till flödesdel upp till vänster i översikten för flödesdelarna. En dialogruta som innehåller fyra flikar öppnas:
- Allmänt
Innehåller allmänna inställningar för flödesdelen såsom namn, om den är aktiv och i vilka delar av systemet som den är giltig. - Händelse
Innehåller konfiguration av När-händelsen, dvs. vad som triggar själva flödesdelen. - Villkor
Innehåller konfiguration av Om-händelsen, dvs. vilka villkor som ska vara uppfyllda för att flödesdelen ska utföras. - Resultat
Innehåller konfiguration av Så-händelsen, dvs. vad som ska hända ifall villkoren är uppfyllda.
Allmänt¶
Under fliken Allmänt visas allmänna inställningar för flödesdelen, inställningar för vilka delar av systemet och situationer som den ska vara aktiv.
- Namn
Ett beskrivande namn på flödesdelen som visas i översikten. - Aktiv
Anger om flödesdelen är aktiv. Det kan vara smidigt att inaktivera flödesdelar som håller på att testas eller av någon anledning inte fungerar önskvärt. - Applikationsdomän
Anger i vilka applikationsdelar som flödesdelen är giltig. I dagsläget är det möjligt att konfigurera för Webbapplikationen (standard) och för WebService (WCF), t.ex. DF Respons Outlook Addin. - Användardomän
Anger i vilka användardelar som flödesdelen är giltig. Här särskiljer vi på Internt (dvs. då en användare är inloggad i Admin-delen) och Publikt (då en användare nyttjar systemet anonymt, t.ex. fyller i ett formulär). - Ärendeläge
Anger för vilka ärendelägen eller situationer där flödesdelen är giltig. I dagsläget är det möjligt att begränsa mellan Ärenderegistrering, Ärendeuppdatering och Ärendeöversikt.
Händelse¶
Under fliken Händelse konfigureras vad som ska trigga flödesdelen. Det finns mängder av möjliga ”triggers” och vi utvecklar löpande nya händelser till systemet efter behov. Det finns olika typer av händelser och de skiljer sig främst åt ifall de inträffar på grund av en direkt händelse i gränssnittet (GUI), t.ex. ”Trycker på knappen Spara”, eller om de inträffar i systemets kärna, t.ex. ”Ärendet sparas”.
Välj vilken händelse (trigger) som du vill konfigurera genom att klicka på kugghjulet längst till höger. Det är möjligt att filtrera på kolumnerna "Inträffar i" och "Gäller för".
Generella inställningar för vald händelse, i detta fall är händelsen "Flervalsfält - Värde ändras".
Händelse - Generellt¶
När du valt vilken typ av händelse du vill konfigurera så visas ovanstående bild. I detta fall är händelsen Flervalsfält – Värde ändras.
- Namn
Själv namnet på händelsen, går inte ändra utan är hårdkodat i systemet. Du kan byta händelse genom att klicka på länken Byt händelse. - Händelsetyp
I detta fall är händelsetypen GUI vilket innebär att den kommer att inträffa/triggas då användaren ändrar på valt/valda alternativ på ett flervalsfält i gränssnittet. Det finns även en händelsetyp som heter System vilket indikerar att händelsen triggas till följd av något som sker i systemet, t.ex. dess register. Det är dock värt att veta att System-händelser kan triggas indirekt till följd av t.ex. knapptryckningar i gränssnittet. - Meddelning
Anger när meddelning om att händelsen inträffar/inträffat sker. Det är alltså möjligt att för vissa händelser ange när meddelning ska ske, dock är det oftast förinställt då det inte är logiskt med olika alternativ. Om vi tar fallet med System-händelsen ”Ärende sparas” så går det ställa in att meddelning ska ske innan själva sparningen. Detta är praktiskt ifall man önskar avbryta sparningen om ett eller flera villkor är uppfyllt. - Trigga direkt
Anger om händelsen ska triggas direkt när det aktuella ärendeläget öppnas/visas. Ett exempel för detta är då formuläret för ärendeuppdatering öppnas/visas. Detta kan vara lämpligt om man t.ex. vill visa/dölja ett eller flera fält beroende på ärendets aktuella status. - Ajaxifiera
Anger om händelsen ska ajaxifieras om möjligt. Detta är endast möjligt för GUI-händelser och kan vara lämpligt då användarvänligheten kan öka. Ajaxifiering innebär att endast den berörda delen av sidan laddas om istället för att hela sidan laddas om.
Händelse - Specifika inställningar¶
För vissa händelser finns specifika inställningar, t.ex. händelser som rör dynamiska fält av en viss typ.
Specifika inställningar för händelsen. I detta fall är det endast möjligt att välja vilket flervalsfält som triggar händelsen.
Villkor¶
Under fliken Villkor konfigureras helt enkelt vilka villkor som måste vara uppfyllda för att resultatet av flödesdelen, själva aktiviteten/uppgiften ska utföras. Vanliga villkor är helt enkelt ”Alltid sant” eller en utvärdering av aktuell status på ärendet, t.ex. till följd av När-händelsen. Om det är flera villkor som ska uppfyllas så är det möjligt att skriva avancerade uttryck, t.ex. ”(VILLKOR 1 OCH VILLKOR 2) ELLER VILLKOR 3” ska vara uppfyllda.
Villkorlista¶
Välj vilket villkor som du vill konfigurera genom att klicka på kugghjulet längst till höger.
Villkorslistan som utgör en översikt av konfigurerade villkor, i detta fall två stycken.
Villkorslistan visar namnen på de tillagda villkoren tillsammans med en beskrivning. Beskrivningen automatgenereras utifrån den aktuella konfigurationen. Varje villkor har dessutom ett alias som användas för att skapa formeluttrycket som används för att evaluera villkoren. Om inget formeluttryck angetts så används standarduttrycket som är enligt formeln ”VILLKOR 1 OCH VILLKOR 2 OCH …”.
Generella inställningar för villkor. Formeluttrycket gör det möjligt att mycket detaljerat styra hur evalueringen ska ske.
Villkorsinställningar - Generellt¶
Genom att lägga till ett nytt villkor i villkorslistan eller klicka på pennan för att ändra befintligt villkor, så presenteras dess inställningar. Inställningarna har en generell del och en specifik del. Klicka på Spara villkor eller Avbryt för att komma tillbaka till villkorslistan. I villkorslistan är det även möjligt att ta bort villkor som är felaktiga eller inte ska användas mer.
- Namn
Själv namnet på villkoret, går inte ändra utan är hårdkodat i systemet. Vill du ta bort ett villkor så görs detta ifrån villkorslistan. - Alias
Helt enkelt ett alias för villkoret som används för att skriva formeluttrycket för evaluering. - Ärendeevaluering
Om villkoret utvärderar status på ett ärende så är det möjligt att ange vilket ärendetillstånd som ska utvärderas. Vilka tillstånd som är logiska att använda beror på flödesdelens ärendeläge/situation men kortfattat så är följande möjliga att ange:- Med det senast sparade ärendet (databas)
Tillståndet som utvärderas är alltså den senaste informationen om ärendet som ligger i databasen. Ingen hänsyn tas till vilken information som är inmatad i eventuella formulär. - Med original-ärendet (ärendelås)
Tillståndet som utvärderas är den information som är kopplad till ärendet i ärendelåset (se Ärendeminnet). Detta kräver naturligtvis en situation där ett ärendelås finns, t.ex. uppdatering/redigering av befintligt ärende. - Med föregående tillstånd (sidladdning)
I en s.k. PostBack-miljö, dvs. i GUI:t där sidan ”laddas” om till följd av en interaktion, t.ex. knapptryck, så utvärderas ärendet som det såg ut innan sidladdningen inträffade. - Med aktuellt tillstånd
Tillståndet som är det allra senaste av ärendet, t.ex. så som det ser ut i ett formulär för tillfället. Detta är t.ex. så som ärendet skulle se ut om det sparades till databasen.
- Med det senast sparade ärendet (databas)
- Ärendejämförelse
Om villkoret jämför två statusar/tillstånd på ett ärende så är det även möjligt att ange vilket tillstånd som jämförelse ska ske med (se ovan).
Konfigurering av generella inställningar för ett villkor. I exemplet har vi för avsikt att utvärdera vilka alternativ som har markerats jämför med när formuläret öppnades/visades för första gången.
Villkorsinställningar - Specifika inställningar¶
I princip alla villkor har specifika inställningar, t.ex. vilket fält som ska utvärderas. Vilka inställningar som kan göras beror helt på villkorstypen.
Specifika inställningar för villkorstypen "Flerval - Värdeförändring". I exemplet så vill vi se ifall: "Fältet 'Önskar svar' har alternativet 'Vill ej bli kontaktad' markerat" jämfört med när ärendet öppnades/visades.
Resultat¶
Den sista konfigurationsfliken gäller Resultat, dvs. vad som ska utföras/ske ifall villkoren uppfylls. Precis som för villkor är det möjligt att specificera mer än en aktivitet och dessa presenteras i resultatlistan. Även resultatlistan har en prioriteringsordning som styr i vilken ordning resultatdelarna/aktiviteterna ska utföras. Detta är viktigt då det finns aktiviteter som kan avbryta utförandet av den aktuella flödesdelen.
Lista över möjliga resultat/aktiviteter att lägga till. Precis som för händelser så utförs dessa antingen i gränssnittet eller i systemet. Det är möjligt att filtrera på egenskaperna "Inträffar i" och "Gäller för". Klicka på kugghjulet för att lägga till ett resultat.
Tillagda resultat/aktiviteter presenteras i resultatlistan. Aktiviteterna utförs enligt prioriteringsordning.
Resultat - Generellt¶
Denna del visar endast namnet på resultattypen och går inte att ändra. Alla konfigurering av resultat är typ-specifik och sker under avdelningen Specifika inställningar.
Resultat - Specifika inställningar¶
Vilka inställningar som kan göras är specifikt för den valda resultat-typen. Klicka på Spara resultat eller Avbryt för att komma tillbaka till resultatlistan. I resultatlistan kan du även ta bort resultat och ändra dess prioritet.
Konfiguration av resultattypen "Flervalsfält - Ändra markerat värde". Det syns inte riktigt i bilden men resultatet är konfigurerat så alternativt 'Svar ej önskat/möjligt' kommer att markeras.