Att uppdatera besökssystemet xVis har inte varit nån lek direkt, väldigt mycket pill och handpåläggning. Dags att ändra på det.
Det största problemet har varit systemets konfigurationsfil, xvis.config. Det är en vanlig xmlfil där element lagts till för varje version, och som man fått manuellt uppdatera när man ska uppgradera. Inget för den vanlige användaren direkt. Men nu har jag lagt till en uppdateringsfunktion, som kollar om ett element finns och om inte så läggs det till med ett standard värde. Alla element ligger i en textfil, elements.txt så varje gång något händer i xvis.config, kan man bara läsa på in elements.txt för att få en fräsh version.
Först alltså, läs in elements filen och läs ut vilket element det handlar om. En rad i elements.txt kan se ut så här:
/xvis/public/system/general/appPath>/<
/xvis/public/system/general/appPath är elementet vi letar efter och det som finns mellan > och < är standardvärdet.
Skicka detta sedan till funktionen som letar efter XML noden /xvis/public/system/general/appPath och kolla om noden finns:
xn = xd.SelectSingleNode(xPath);
if (xn != null)
{
//Noden finns, returnera ok
return true;
}
else
{
//Noden finns inte, skapa den!
XmlNode newNode;
newNode = xd.CreateNode(XmlNodeType.Element, name, "");
newNode.InnerText = defaultValue;
XmlNode pNode = xd.SelectSingleNode(parentNode);
pNode.AppendChild(newNode);
xd.Save(xmlPath);
}
Busenkelt, givetvis, när man väl tar tag i det.