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.