Community
    • Categories
    • Recent
    • Popular
    • Users
    • Search
    • Register
    • Login

    Angepasstes h-inventory skript

    Scheduled Pinned Locked Moved Allgemein
    5 Posts 2 Posters 2.2k Views 1 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M Offline
      marcstud
      last edited by

      Hallo,

      ich möchte das import Skript so anpassen, das es mir zusätzliche Informationen zu Programmen liefert,
      die nicht über das Paketmanagment System installiert worden sind.
      Das klappt auch soweit und die Applikationen werden in das xml File geschrieben.

      Jetzt habe ich noch das Problem, dass ich zu den Programmen gerne die Compiler Flags speichern würde.
      Am besten in dem Feld "Description" von den einzelnen Applikationen.

      Zum Testen habe ich als erstes dafür das "commentaire" Feld im xml File benutzt.

      Meine Fragen dazu:

      Erscheint das "commentaire" Feld irgendwo in idoit ? Wenn ja wo ?
      Und ist es möglich durch ein passendes generiertes xml File bestimmte Felder in idoit mit Werten zu versorgen ?

      Gruß
      Marc

      1 Reply Last reply Reply Quote 0
      • M Offline
        marcstud
        last edited by

        Hallo,

        so ein Problem habe ich schonmal gelöst. Das commentaire Feld wird zwar ausgelesen, aber der Wert dann nicht in die Datenbank
        geschrieben. Da mit der Wert des commentaire Felde in der Tabelle isys_catg_application_list im Feld isys_catg_application_list__description landet muss man folgende Datei verändern:

        isys_cmdb_dao_category_g_application.class.php

        Dort in Zeile ca. 54 wo die Funktion create_element aufgerufen wird, bei den Funktionsparametern die übergeben werden,
        den Parameter    $l_application["commentaire"] hinzufügen.

        Die Funktionsaufruf sieht dann so aus:

        $this->create_element(  $l_cat,
                                                                                        $l_list_id,
                                                                                        $l_objid,
                                                                                        C__RECORD_STATUS__NORMAL,
                                                                                        $l_application["name"],
                                                                                        $l_application["commentaire"]);

        Danach wird der Wert in die Tabelle geschrieben. Das Problem ist jetzt noch das der Wert von der GUI anscheinend nicht
        ausgelesen wird. Der für das Feld Description von Application zuständige  Wert steht in der Tabelle isys_catg_global_list (dort das Feld description). Werde heute mal versuchen die Datei isys_cmdb_dao_category_g_application.class.php so zu modifizieren,
        das dieses Feld beschrieben wird. Wenn es klappt Lösung hier.

        Gruß
        Marc

        1 Reply Last reply Reply Quote 0
        • dsD Offline
          ds
          last edited by

          Hi,
          damit schreibst du das Feld nur in die Beschreibung der verknüpfung zum Server/Client.
          Du musst das aber in die Applikation selbst schreiben

          Das geht ungefähr so (Achtung, ich hab das nicht getestet :-)):

          Ebenfalls in der import Methode ->

          
          if (!$l_objid) {
          					$l_objid = $this->insert_new_obj(
          			 			C__OBJTYPE__APPLICATION,
          			 			ISYS_FALSE,
          			 			$l_application["name"],
          			 			ISYS_NULL,
          			 			C__RECORD_STATUS__NORMAL
          			 		);
          
          			 		$l_dist 		= new isys_cmdb_dao_distributor($this->get_database_component(), $l_objid,
            																	C__CMDB__CATEGORY__TYPE_SPECIFIC, null,
            																	array(C__CATS__APPLICATION));
            					$l_dao = $l_dist->get_category(C__CATS__APPLICATION);
          
          				    $_POST["C__CMDB__CAT__COMMENTARY"] = $l_application["commentaire"];
          
                                                   /* Auch verfügbar: */
            					//$_POST['C__CATS__APPLICATION_SPECIFICATION'] = ""
          				    //$_POST['C__CATS__APPLICATION_MANUFACTURER_ID'] = ""
          				    //$_POST['C__CATS__APPLICATION_RELEASE'] = ""
          
          				    $l_tmp=0;
          			 		$l_dao->save_element(null, $l_tmp);
          		  		}
          
          

          Und bei Änderungen an den Dateien, backup nicht vergessen, denn beim nächsten Update können alle Änderungen verloren gehen.

          1 Reply Last reply Reply Quote 0
          • M Offline
            marcstud
            last edited by

            Hallo,

            die hier aufgezeigte Lösung hat so nicht gefunzt.
            Ich habe mir jetzt ein Methode geschrieben die das
            richtige Description Feld in der Datenbank beschreibt.
            Habe jetzt nur noch ein Problem.
            Das String $l_application["commentaire"] wird beim
            Einlesen irgendwo abgschnitten, d.h. in der Klasse
            isys_cmdb_dao_category_g_application.class.php ist der
            der String schon zu kurz.

            Um einen Lösungsvorschlag wäre ich sehr dankbar.

            Gruß
            Marc

            1 Reply Last reply Reply Quote 0
            • M Offline
              marcstud
              last edited by

              Hi,

              letzten Kommentar bitte ignorieren. Das Problem liegt schon in dem vom h-inventory erzeugten xml File.

              Gruß
              Marc

              1 Reply Last reply Reply Quote 0
              • First post
                Last post