Document toolboxDocument toolbox

(sv) Versionshantering


Inledning

FMA tillhandahåller versionshantering av alla objekt. Alla objekt, dokument, länkar och egenskaper tillhör en specifik version som kan namnges och kommas åt av behöriga användare. Alternativa versioner (Utkast) kan skapas i FMA, t.ex. för planeringssyften. FMA-versionen gäller inte för enstaka objekt eller dokument utan utgör snarare en "global" översikt över versionen i fråga.

Implementering på lägre nivå är en del av FMA:s primärdatabasfunktioner. Implementeringsuppgifter är transparenta för FMA Application Server. 

Versionsinformation för objekt
Administratörer har tillgång till versionsinformation för alla valda objekt i systemet. Denna information består av en lista över de versioner där de valda objekten infogades, uppdaterades eller raderades. För varje version finns utförlig information om versionsägare, versionsdatum och datakälla (del av verifieringskedjesystemet).

Versionshantering

Versionshantering kan orsaka problem om den inte kontrolleras ordentligt. Versionshanteringsmekanismen erbjuder många olika möjligheter, men det är klokt att förse den med ytterligare logik. 

Faktisk versionshantering kan då genomföras "bakom kulisserna" och presenteras för användare som en sorts logiskt arbetsflöde. 

FMA utgår ifrån att det finns ett Masterarkiv som används som officiell lagringsplats och ett obegränsat antal utkast kan skapas av användare och därefter delas, publiceras eller kasseras.

FMA-versioner innehåller endast förändringarna, vilket innebär att inga data dupliceras. Objekt som skapas i en version finns kvar i databasen så länge den inte raderas. Den version som objektet raderades i utgör slutet på objektets livscykel. Objektet finns fortfarande kvar och kan visas i en tidigare version. 

Användarfall

Uppdateringar under byggnadens livscykel: I ej versionshanterade system sker alla uppdateringar på plats och eventuella existerande historiska data (datauppdatering, ändring av planritning, sålda fastigheter, etc.) skrivs över. Systemet tillåter inte att framtida planer och data publiceras parallellt med aktuella data. Användare av ett nytt system ska kunna arbeta i parallella alternativ med historiska, nuvarande och framtida dokument och data.

Planerade alternativa layouter och byggnadsplaner: Användare ska kunna lagra alternativa layouter för planering och presentationer. Denna åtgärd får inte påverka det huvudarkiv som används för det dagliga arbetet och underhållet av byggnaderna. FM-system ska ges möjlighet att interagera med alternativa versioner för simulationer och rapporter.

Rapportering i versionskontext: Användare måste kunna skapa rapporter som reflekterar ändringar i fastighetsarkivet under en viss tidsperiod. (Tillgängligt utrymme per kvartal, antal fastigheter, etc.)

 

Strikt och Enkel versionshantering

Läget Strikt versionshantering tillåter endast att data görs i arbetsutkast. Publicerade versioner kan till skillnad från utkast inte ändras på något sätt. Detta läge kräver att en ny version publiceras varje gång ändring av data måste genomföras. Fullständig verifieringskedja tillhandahålls i detta läge för alla publicerade versioner, eftersom även de minsta enheterna spåras. Ändringar som utförs vid redigering i ett utkast spåras inte (ändringar som görs efter varandra i samma Utkast skriver över tidigare angivna värden). 
Läget Enkel versionshantering tillåter endast att en version skapas vid behov. Publicerade versioner är inte "låsta". Redigering kan utföras i den valda versionen. Existerande information skrivs över. Endast information om den senaste ändringen lagras. 

Utkast är "arbetskopior" av den fullständiga databasen ur användarens perspektiv, men inga data dupliceras, vilket gör att databasens storlek begränsas till ett absolut minimum (endast inkrementella ändringar lagras). 
Då REST API används för att lägga till, uppdatera och radera objekt och dokument måste information om korrekt arkivversion bifogas. 


Versionshantering termeminologi

  1. Version – Versioner används för att hantera ändringar i de olika elementen som lagras i FMA-databasen.

    1. Versionshantering inkluderar objekt med deras egenskaper, dokument, länkar, etc.

    2. En ny version skapas efter varje ändring (redigering).

    3. Ingenting raderas permanent i systemet. En ny version skapas som inte innehåller det raderade objektet.

    4. Genom att ändra ett objekt skapas en ny version av hela systemet, utan att onödiga data dupliceras. Övriga oförändrade objekt återges i deras senaste versioner. På så sätt skapas en sammanhängande bild av hela "världen" – Multiple Worlds Framework används för att beskriva en komplett uppsättning av funktioner.

  2. Alternativ – Alternativ används för planering eller utkast. Denna term är inte direkt tillgänglig för slutanvändaren. I de flesta fall innebär det faktiskt "alternativ version" när det finns flera olika versioner i systemet som är lika viktiga. Alternativ används i användargränssnittet för att skapa personliga utkast eller för att spara framtida versioner av arkivet.

  3. Etikett – Etiketter är versioner som är åtkomliga för användare. Etiketter visar viktiga versioner i systemet. Det kan finnas många ändringar (lågnivåversioner) som lagras för verifieringskedja och ångra-åtgärder mellan etiketterna.

  4. Aktuell version – Detta är en markör som kan användas för att lagra en specifik version som valts av administratören. Detta kan också ses som standardversionen, dvs. den version som är tillgänglig i systemet när det startas och som reflekterar "världens" aktuella tillstånd.

  5. TIP – Detta är en markör som används för att acceptera nya alternativa versioner i huvudversionen. Versioner accepteras, men de blir inte samtidigt aktuella. Funktionen kan ses som att versioner placeras i turordning. Denna term är inte synlig för slutanvändaren. Inställning av TIP i versionshanteringssystemet utförs "bakom kulisserna" genom användarfunktioner som t.ex. "publicera ändringar".


(Detaljerade versionshanteringsscenarion och användarfall beskrivs i separata dokument.)

Utkast (alternativ)

FMA-utkast är oberoende alternativa versioner av systemet. Det finns dock vissa samband mellan objekt i Masterarkivet och i Utkast.

Skapa ett utkast

När ett utkast skapas måste utgångspunkten för utkastet väljas. I exempeldiagrammet är Utkast A1 härlett från version V2 i Masterarkivet.Därför kommer alla objekt i A1 att ha samma utgångsläge som i V2.  Användare kan modifiera befintliga objekt eller lägga till nya objekt. Alla ändringar är endast synliga i detta utkast och påverkar inte objekt i V2 eller V3.

A2 utgör en ögonblicksbild i ett Utkast Utkast kan ses som en "sparat tillstånd" som visar de ändringar som gjorts före och efter en ögonblicksbild togs.  

Om Arkivet används i enkelt läge kan ändringar i de olika versionerna göras. Detta kan leda till flera konflikter. Om en användare t.ex. raderar ett objekt i A1 som ursprungligen lades till i V2 går det inte att radera detta objekt i V2. Användaren får ett varningsmeddelande som anger att det valda objektet redan har modifierats (raderats) i framtida versioner. 

Kassera ett utkast

Om ett utkast kasseras raderas alla ändringar som gjorts i detta utkast permanent från systemet. Det finns ingen indikation som visar att utkastet har existerat.

Publicera ett utkast

Att publicera ett utkast innebär att användaren vill införliva ändringar som gjorts i utkastet i Masterarkivet. Det finns olika möjligheter, men den nuvarande versionen har bara ett publiceringsläge som kommer att:

  1. Sammanfoga alla ändringar som gjorts i Utkastet till en version (inga snapshots)

  2. Skapar en ny version i Masterarkivet som innehåller dessa ändringar.

  3. Radera utkastet

Då publiceringsfunktionen startas visas ett processfönster från servern där publiceringsstatusen visas. Användaren behöver inte vänta på detta utan kan stänga processfönstret och fortsätta arbeta. Publiceringen sker på serversidan och körs separerad från webbklienten.

 

Enkelt versionsträd med ett alternativ (utkast)