Admin: uppdatering av SIV 2024
Eftersom det är en omfattande uppdatering så noteras förändringarna i detta dokument.
Innehåll
Gemensamma attribut
Fyra nya datamängder som är gemensamma för alla kommuner har lagts till:
Skadekategorier
Skadetyper
Organisationer/bolag
Verksamheter
Beskrivning finns här för hur det har tillkommit
Syftet är att kunna ta ut kommun-överskridande statistik
Kommunerna kan inte redigera dessa tabeller men de kan förändra länkningen till motsvarade egna attribut. I redigeringsformulären har för de egna attributen så finns det tillagd en lista med de gemensamma attributen.
Följande tabeller påverkas
Tabell | Beskrivning |
---|---|
Administration_generic | Ny tabell: Id, namn_sv,namn_en,namn |
Administration | Kolumn generic tillagd |
Operation_type_generic | Ny tabell: Id, namn_sv,namn_en,namn |
Operation_type | Kolumn generic tillagd |
Categories_generic | Ny tabell: Id, namn_sv,namn_en,namn |
Categories | Kolumn generic tillagd |
type_generic | Ny tabell: Id, namn_sv,namn_en,namn |
damage_type | Kolumn generic tillagd |
Filter
Filter i SIV innebär att innehållet i tabellen View_damages kan filtreras så att en delmängd av informatioen är tillgänglig för sökning och visning.
De filter som kan användas är:
Kund
Status
Från datum
Till datum
Skadetyper, gemensamma för alla SIV-kommuner
Organisationer, gemensamma för alla SIV-kommuner
Filtren kan sättas på två olika vis
Grundläggande, genom användarattribut
Dynamiskt, genom ett filter formulär i klienten
Ett filter kan appliceras flera gåneger med olika värden, t.ex. status=1 och status=2
Filter siv.filter.damage.status
Numerisk värde enligt
Mottagen
Registrerad
Stängd
Avbruten
Filter siv.filter.damage.type
Numerisk värde enligt tabellen
Filter siv.filter.damage.type
Konfiguration
SIV konfiguration
Uppdaterade SIV ska bara innehålla ett dataslag, Skador. Anpassning till olika typer av användare görs genom dels förfinade roller för “skador i verksamheten” och del filter. Även allmän konfiguration av webb-klienten påverkar utseendet
Fil | Beskrivning |
---|---|
siv_damages.xml | Ny fil som innehåller alla konfiguration för skador förutom upplags-listor. Ersätter sive_all.xml och sive_open_damages.xml |
sive_all.xml och sive_open_damages.xml och sive_common_types.xml | Borttagna (De finns fysiskt kvar fortfarande) |
Det finns säkert brister men det är klart att testa i labb-miljö.
Kartteman
Vi håller på med att lägga till och förbättra kartteman kopplade till skador. Dels en allmän default stil och dels teman som förstärker ett urval. Arbetet pågår
Det svåra är att med symbolik kategorisera eller visa en trend i kartan.
Ritas symboler på enkilda skador så blir det väldigt blurrigt. Prickar med färg kan vara ett alternativ
Transformeras/grupperas skadepunkterna i förväg, t.ex. till skadeplatser, Deso eller dylikt kan ytan eller centrumpunkten användas för att visualisera. Frågan är hur. Låt säga att vi sparar förekomsten av skräpkategorier i procent t.ex. 20, 20 50, 10 per kategori av fyra. Hur ska vi visa detta. Upp till fyra kategorier går att använda tillsamman med paj-diagram. Kanske bara ange största förekomsten
Transformera on the fly med Geoserver. Detta är vad vi gör med punkt kluster. Om det går att filtrera först, före transformeringen, så går det att repetera punkt-kluster för varje kategori. Varje kategori kan få en egen färg och klustrets avstånd kund vara lite olika så de sprids. En site som ger lite tips på detta är https://www.cadlinecommunity.co.uk/hc/en-us/articles/360007541578-GeoServer-Creating-Stacked-Points
Några andra siter för inspiration
RegSO och DeSO
Dessa fanns redan konfigurerade under open_sweden/scb.xml. Nya style i Geoserver är tillagd. I toc.opensweden.scb är justerad så att gruppen kallas nu “Statistikområden” och det är bara Deso och Regso som visas.
Här kanske någon roll och ACL bör justeras så att inte något annat från SCB dyker upp i klienten.
Om vi kan ladda demografi under de senaste åren så är det en bra fortsättning
Ikartan klienten
TOC är ändrad så att Urval och bakrundskarta kommer längst ner. Det finns säker mer att göra så att den är lättarbetad för användaren. Kanske är det något för projekt ny klient.
Roller
Under rolltypen “Skador i verksamheten” fanns förut bara rollerna “Administrator” och “Normalanvändare” som har en massa ACLer koppplade till sig. Dessa finns kvar men har kompletterats med följande mer specifika roller:
Skapa och redigera skador
Ta ut statistik för skador
Tillgång till dynamisk filter för skador
Välja kommuner i dynamisk filter för skador
Snabbsök för skadeområden
Söka och visa skadeområden
Redigera skadeområden
Snabbsök för skadeplatser
Söka och visa skadeplatser
Redigera skadeplatser
Det som återstår är att redigera alla användargrupper och ersätta de gamla rollerna mot de nya
Rapporter
Rapporterna som vi gjorde i våras har fått gå till papperskorgen. I och med införande av filter så kan inte SQL användas utan istället så är datakällan Weave data-definition “skfab_view_damages” som användes.
När den ansluts i BIRT utan relation till dataslag så innehåller den alla poster som är tillgängliga för användaren. Effekten av filter finns med här så rapporterna får korrekt filtrerad data.
Fyra rapporter för statistik är klara för test
Skadeutveckling: med attributen kategori. typ. område, plats, organisation och verksamhet
Skadeutveckling, gemensam: med attributen gemensam kategori, typ, organisation, verksamhet och Regso-områden
Skadejämförelse: Samma attribut som för punkt 1
Skadejämförelse, gemensam: Samma attribut som för punkt 2
Problemställningen nu när inte SQL kan användas är att hämta ut rätt mängd data baserat på rapport-parametrarna. Därför måste BIRT dataset fixas med att addera beräknande kolumner
Kolumner som beräknas för dataset two_periods
From_date_1, To_date_1, From_date_2, To_date_2
Korrekta jämförbara värden för datum ingående parameterar “från period 1 …”
//From_date_1
var dt =params["from_period_1"].value.toString().split('-');
var y = new Number(dt[0]);
var m = new Number(dt[1])-1;
var d = new Number(dt[2]);
BirtDateTime.date(y,m,d);
Period_1, period_2, Period_1_cost, period_2_cost, period och damage_date_trunc
För att veta vilka poster som ska vara med i period_1 repetitive period_2 så får kolumnen värdet 1 om den är med och värdet 0 om den inte är med är värdet 0. Summan av kolumnen är därmed antal poster. På samma vis sätt kostnad för för period_1_cost och period_2_cost när posten är inom perioden
//Period_1
if ( row["damage_date_trunc"] >= row["from_date_1"] && row["damage_date_trunc"] <= row["to_date_1"] )
{
1
}
else
{
0
}
Period används som hjälp för att filtrera
//Period
row["period_1"] +row["period_2"]
damage_date_trunc gör om damage_date till datum så det kan jämföras
Filter
För att minska ner dataset till bara relevanta poster så sätts filter baserat på kolumnen period
Rapporten
Tabellelementet binds till dataset two_periods. Em grupp skapas efter önskat attribut, t-ex- operation_common. Summering på t.ex period_1_cost per grupp operation_common. Samma för period 2.
Detaljrden behövs inte eller kan göras osynlig.
För diagram så grupperas informationen automatiskt
Kolumner som beräknas för dataset one_period
För rapporten utveckling över tid så behövs inte period 2 kolumner men ytterligare en kolumn, group, för att gruppera tidsperiod