Upgrade z ALVAO 10.4 – manuální kroky
Custom Apps
Při upgrade z verze ALVAO 10.4 je třeba upravit existující programová rozšíření, viz ALVAO Asset Management Custom Apps resp. ALVAO Service Desk Custom Apps. Zdrojové soubory a skripty upravte podle postupu uvedeného na této stránce. Pokud upgradujete z verze ALVAO 10.3 nebo starší, nejprve vlastní rozšíření převeďte na verzi ALVAO 10.4.
- Převeďte vaše stávající úpravy ze složky App_Code v instalaci SD WS do agendy Aplikace podle následujícího postupu:
- V sekci Správa – Aplikace vytvořte vhodnou strukturu aplikací.
- V aplikaci vytvořte pro každý přenášený soubor nový skript s šablonou:
- Prázdná, pokud přenášíte soubor s implementací jednoho z typů rozšíření (např. soubor obsahující třídu implementující ITicketAutoAction).
- Knihovna tříd, pokud přenášíte soubor s pomocnými třídami (např. soubor Settings obsahující názvy služeb používané v rozšířeních).
- Do skriptu vložte obsah přenášeného souboru.
- using System.Web.WebServices;
nahraďte za:
using Alvao.Apps.WebService;
- Automatické akce na základě změny události – používáte-li v automatických akcích sloupec tActHd.bActHdUserRead, je potřeba jej změnit na tAct.UserRead.
- Vlastní funkce pro výběr osoby - Používáte-li vlastní proceduru spPersonSearch-Custom2,
přidejte do ní nové parametry @onlyCustomizableUsers a @rightLimitationPersonId. Doporučujeme zkopírovat definici výchozí implementace
spPersonSearch a do ní znovu zanést vlastní úpravy.
- Používáte-li tabulku ve vlastním formuláři, odstraňte z ní metody DefaultAction() a Actions(), pokud je máte implementovány.
- Odstraňte použití metody scope.Open().
- ALVAO Standard HW/SW Request Forms - vlastní formulář žádosti o HW
Nová šablona se nachází ve složce Templates/StandardHwSwRequestForm.
Ve stávajícím kódu cs souboru, který vychází z Code/StandardHwSwRequestForm-Hw-NewTicket.cs, nahraďte následující řádky:
TicketBody += properties["ItemName"];
TicketBody += "\nCena: " + properties["Cena"];
za tento kód:
object itemName;
properties.TryGetValue("ItemName", out itemName);
TicketBody += itemName;
object price;
properties.TryGetValue("Cena", out price);
TicketBody += "\nCena: " + price;
- Používáte-li ve vlastních formulářích některou z metod Alvao.API uvedenou ve sloupci A10.4,
nahraďte ji příslušnou metodou ze sloupce A11.0.
A10.4 |
A11.0 |
AM.ImportCsv.RunImportCsv |
AM.ImportCsv.Run |
AM.Object.CreateObject |
AM.Object.Create |
AM.Object.CopyObject |
AM.Object.Copy |
AM.Object.DeleteObject |
AM.Object.Delete |
AM.Object.MoveObject |
AM.Object.Move |
AM.Object.GetObjectById |
AM.Object.GetById |
AM.ObjectProperty.UpdateProperties |
AM.ObjectProperty.Update |
Common.Email.QueueMailMessage |
Common.Email.Queue |
Common.Person.GetPersonById |
Common.Person.GetById |
Common.Person.GetPersonByEmail |
Common.Person.GetByEmail |
Common.Person.GetPersonCultureInfoOrDefault |
Common.Person.GetCultureInfoOrDefault |
SD.Message.SendMessage |
SD.Message.Send |
SD.Sections.MoveSections |
SD.Sections.Move |
SD.Sections.CopySections |
SD.Sections.Copy |
SD.Sections.ReplaceSectionsRights |
SD.Sections.ReplaceRights |
SD.Sections.ReplaceSectionsSlaRights |
SD.Sections.ReplaceSlaRights |
SD.Sections.GetSectionOnlySolverId |
SD.Sections.GetOnlySolverId |
SD.Sections.ExportSections |
SD.Sections.Export |
SD.Sections.ValidateSectionsBeforeImport |
SD.Sections.ValidateBeforeImport |
SD.Sections.ImportSections |
SD.Sections.Import |
- Položka enumerátoru ObjectClass.Code.Store z Alvao.API (Alvao.API.AM.Model.ObjectClass.Code.Store) byla přejmenována na Alvao.API.AM.Model.ObjectClass.Code.Warehouse.
- Datábázová procedura spMoveNode nově vyžaduje vyplnit hodnotu v parametru person.
- Odstraňte použití metody Alvao.Apps.AppsConfig.ConnectionProvider.SetApiContext.
- Do další verze ALVAO (vydání duben 2023) bude SD WS zrušena. Ve vlastních formulářích a aplikacích doporučujeme nahradit metody SD WS odpovídajícími metodami z Alvao.API:
Např.:
sdws.ReadColumn(recordId, tableName, columnName);
nahraďte za
Alvao.API.Common.Database.ReadColumn(recordId, tableName, columnName);
sdws.WriteColumn(recordId, tableName, columnName, newValue);
nahraďte za
Alvao.API.Common.Database.WriteColumn(recordId, tableName, columnName, newValue);
V integracích s externími systémy doporučujeme nahradit metody SD WS odpovídajícími metodami z Service Desk Enterprise API:
Pozn.: Metody SD WS, které nejsou v tabulce uvedeny, budou mít náhradu až v další verzi ALVAO (vydání duben 2023).
- Pokud v Aplikacích používáte databázové transakce, aplikujte nová doporučení. (T124214ALVAO)
Vlastní šablony tiskových sestav
Vlastní šablony tiskových sestav přepište na podporovanou verzi XSL následovně:
Původní konstrukce |
Nová konstrukce |
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> |
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> |
<xsl:script>...</xsl:script> |
- |
<xsl:if test="context()[not(end())]"> |
<xsl:if test="position()!=last()"> |
<xsl:for-each select="xxx" order-by="yyy,zzz"> |
<xsl:for-each select="xxx">
<xsl:sort select="yyy" />
<xsl:sort select="zzz" />
|
<xsl:if test=".[value!='']"> |
<xsl:if test="value!=''"> |
<xsl:when test=".[not(proplist/prop[kind='xxx']) and proplist/prop[kind='yyy']]"> |
<xsl:when test="not(proplist/prop[kind='xxx']) and proplist/prop[kind='yyy']"> |
<xsl:apply-templates select="ancestor(node[classid='x'])/nodelist"/> |
<xsl:apply-templates select="ancestor::node[classid='x']/nodelist"/> |
<xsl:apply-templates select="xxx" order-by="yyy" /> |
<xsl:apply-templates select="xxx">
<xsl:sort select="yyy" />
</xsl:apply-templates>
|
Nenašli jste co jste hledali? Zeptejte se našeho týmu technické podpory.