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.

Exempel på ett tänkbart flöde

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

Administrera en vald ärendetyp

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.

Översikt av flöden

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.

Skapa nytt ärendeflöde

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.

Intern hantering

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.

Hantera flödesdel allmänt

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

Hantera flödesdel händelse
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".

Hantera flödesdel händelse detaljer
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.

Hantera flödesdel specifika inställningar
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

Hantera flödesdel villkor
Välj vilket villkor som du vill konfigurera genom att klicka på kugghjulet längst till höger.

Hantera flödesdel villkor
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 …”.

Hantera flödesdel villkor exempel
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.
  • Ä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).

Hantera generella villkor
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.

Hantera specifika villkor 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.

Hantera resultat
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.

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

Hantera generella resultat
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.