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

    Existierende Kategorien ändern, Felder hinzufügen

    Scheduled Pinned Locked Moved Entwicklung
    5 Posts 5 Posters 3.9k 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.
    • I Offline
      ina611
      last edited by

      Hallo,

      Ich wollte für das Objekt Server in der Kategorie Speicher ein weiteres Feld hinzufügen. Im Forum habe ich oft die Frage nach einer Änderung existierender Kategorien gefunden, aber keine passende Antwort die mich zufrieden stellte. Ich habe also selbst herumgebastelt und nebenher eine Art "Anleitung" geschrieben, für all diejenigen, die auf die selben Schwierigkeiten wie ich gestoßen sind.

      Beispiel: Bei Objekt Server Kategorie Speicher ein Text-Feld namens „Raid“ hinzufügen

      1) Template ändern
      In dem Verzeichnis
      _xampp\htdocs\src\themes\default\smarty\templates\content\bottom\content_
      muss zunächst dem Template „catg_memory.tpl“ ein Eintrag hinzugefügt werden an der entsprechenden Stelle.

      [{isys type="lang"  ident="LC__CMDB_CATG__MEMORY_RAID"}]:
      [{isys type="f_text" name="C__CATG__MEMORY_RAID" p_strTable="isys_memory_raid" p_bDbFieldNN="0" tab="40"}]

      2) Tabelle ändern
      Mit dem Programm MyPhpAdmin, welches in das Web-Verzeichnis vorher kopiert werden muss, kann man der entsprechenden Struktur einen Eintrag hinzufügen.
      Angesprochen wird es über http://server-name/phpmyadmin/
      Der Tabelle „isys_catg_memory_list“ wird ein Feld namens „isys_catg_memory_list_raid“ hinzugefügt. Der Typ ist text und das Null Kästchen sollte ausgewählt werden, damit das Feld optional auch leer bleiben kann.

      3) DAO- Datei ändern
      In dem Verzeichnis
      xampp\htdocs\src\classes\cmdb\dao\category\global_
      muss die Datei “isys_cmdb_dao_category_g_memory.class.php“ umgeschrieben werden. Dabei muss man mehrere Einträge hinzufügen.
      • Kommentar: * Filter rows
        "isys_catg_memory_list__raid" => "LC__CMDB__CATG__MEMORY_RAID",
      • Kommentar: *Syncronize category data –> bei create und save
        $l_catdata["isys_catg_memory_list__raid"],
      • Kommentar: * Executes the query to save the category entry given by its ID $p_cat_level
        o Die Methode
            public function save($p_cat_level, $p_newRecStatus, $p_titleID, $p_manufacturerID, $p_typeID, $p_unitID, $p_capacity, $p_raid, $p_description)
            erweitern um den Eintrag $p_raid.
        o bei update folgenden Eintrag hinzufügen
            "isys_catg_memory_list__raid = ".$this->convert_sql_text($p_raid).", ".
      • Kommentar: * Save global category menory element –> bei update und save!
      _  $POST['C__CATG__MEMORY_RAID'],
      • Kommentar: * Executes the query to create the category entry referenced by isys_catg_memory__id $p_fk_id
        o Die Methode
      _      public function create($p_objID, $p_newRecStatus, $p_titleID, $p_manufacturerID, $p_typeID, $p_unitID, $p_capacity, $p_raid, $p_description)

          erweitern um den Eintrag $p_raid.
        o bei insert folgenden Eintrag hinzufügen
          "isys_catg_memory_list__raid = ".$this->convert_sql_text($p_raid).", ".

      4) UI-Datei ändern
      In dem Verzeichnis
      _xampp\htdocs\src\classes\cmdb\ui\global_
      muss die Datei “isys_cmdb_ui_category_g_memory.class.php“ umgeschrieben werden. Es müssen zwei Einträge an passender Stelle hinzugefügt werden
      _• $l_rules["C__CATG__MEMORY_raid"]["p_strValue"] = $l_catdata["isys_catg_memory_list__raid"];
      • $l_rules["C__CATG__MEMORY_raid"]["p_strValue"] = $POST["C__CATG__MEMORY_raid"];

      5) Sprachkonstante ändern
      In dem Verzeichnis
      xampp\htdocs\src\lang
      werden die verwendeten Sprachkonstanten in den Dateien „de.inc.php“ bzw. „en.inc.php“ gepflegt
      Ein entsprechender Eintrag mit Übersetzung muss hinzugefügt werden

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

        Hi,

        danke für die Mühe, wird ein paar Leuten bestimmt helfen.
        Eine Info noch: man kann eine custom Sprachdatei mit dem Namen "de_custom.inc.php" in src/lang anlegen. Diese Datei wird beim Update nicht überschrieben

        1 Reply Last reply Reply Quote 0
        • A Offline
          ad0105
          last edited by

          Hi, dieser Beitrag ist jetzt natürlich schon ziemlich alt, aber vielleicht schau hier ja trotzdem nochmal jemand vorbei: Ich müsste ebenfalls 1-2 bestehende Kategorien um jeweils ein Feld erweitern, bin dabei über diesen super Post von ina611 gestolpert und frage mich jetzt aber, was wohl mit den Änderungen bei Updates passiert. Ganz besonders was die neu eingefügten Felder in der DB angeht. Hat hier jemand Erfahrungen damit, die er oder sie mit mir teilen könnte?
          "ds" hat ja die bereits die custom Sprachdatei erwähnt.

          VG ad0105

          1 Reply Last reply Reply Quote 0
          • creissC Offline
            creiss i-doit Kenner
            last edited by

            Hi,

            bezüglich der eigenen Sprachkonstanten-Datei gibt es bei Updates keine Probleme. Alles andere kann und wird einem mit hoher Wahrscheinlichkeit bei einem der zukünftigen Updates um die Ohren fliegen. Sofern die Anleitung nach sechs Jahren überhaupt noch funktionierten sollte… Zu der Zeit, als der Beitrag geschrieben wurde, gab es übrigens noch keine (bzw. nur sehr rudimentäre) benutzerdefinierte Kategorien, weswegen das mal ein interessanter Ansatz war. Wir sprechen hier übrigens von i-doit in der Version 0.9.9-5.

            Also mal ganz davon ab, dass der Support solche Anpassungen nicht unterstützt, würde ich dir ganz dringend davon abraten, solche Änderungen am Kern vorzunehmen. Arbeite lieber mit benutzerdefinierten Kategorien und riskiere keinen Datenverlust oder Systemstillstand.

            Lieben Gruß
            Christian

            NEU - i-doit und IT-Dokumentation bei YouTube: https://www.youtube.com/@donamic_de
            Komplett-Strategie: https://i-doit-trainings.de/it-dokumentation-komplett-strategie/
            i-doit Mastery – https://i-doit-trainings.de/i-doit-mastery

            1 Reply Last reply Reply Quote 0
            • dkirstenD Offline
              dkirsten administrators
              last edited by

              Hallo,

              auch kurz meine 5 Cent…

              Aus i-doit Herstellersicht =):

              Sprachdateien anpassen: JA! (Custom Sprachdateien finden sich als Beispiel im Dateisystem)
              Benutzerdefinierte Kategorien benutzen: JA!
              Im Code Kategorien anpassen: NEIN! (Es sei denn, Du wirst Entwicklungspartner)

              Viele Grüße,

              Daniel

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