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

    Verbindung Clients - Lizenzen

    Scheduled Pinned Locked Moved Entwicklung
    11 Posts 3 Posters 2.7k 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.
    • T Offline
      TheNightwish
      last edited by

      Hallo zusammen,

      ich bin grad dabei mir das Datenbankschema zu verinnerlichen und zu verstehen um später mal bei Problemen an den richtigen Stellen ansetzen zu können. Leider verstehe bzw. finde ich dabei aber die Verbindung zwischen Clients, auf denen Software mit Lizenzen installiert ist, und den Lizenzen nicht.
      Durch welche Tabelle und Spaltennamen sind die denn geregelt?

      Vielen Dank für eure Antworten
      MfG

      1 Reply Last reply Reply Quote 0
      • T Offline
        TheNightwish
        last edited by

        Hat sich erledigt, habs in der Tabelle catg_application_list gefunden.

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

          isys_cats_lic_item = Lizenzobjekt
          isys_catg_lic_list = Lizenz - Anwendungsobjekt
          isys_catg_application_list = Anwendung/Dienst - Clientobjekt

          1 Reply Last reply Reply Quote 0
          • T Offline
            TheNightwish
            last edited by

            Meine gedachte Verbindung von installierter Software auf Clients und dazugehörigen Lizenzen funktioniert mit dem Importmodul nicht mehr..
            Ich dachte, man bekommt die verwendeten Lizenzen raus, indem man zum Beispiel so eine Abfrage erstellt:

            SELECT isys_obj.isys_obj__title, isys_catg_lic_list.isys_catg_lic_list__isys_cats_lic_item__id, isys_cats_lic_item.isys_cats_lic_item__title, isys_cats_lic_item.isys_cats_lic_item__amount, isys_cats_lic_item.isys_cats_lic_item__cost
            FROM isys_obj
            INNER JOIN isys_catg_lic_list
            ON (isys_obj.isys_obj__id = isys_catg_lic_list.isys_catg_lic_list__isys_catg_lic__id)
            INNER JOIN isys_cats_lic_item
            ON (isys_catg_lic_list.isys_catg_lic_list__isys_cats_lic_item__id = isys_cats_lic_item.isys_cats_lic_item__id)
            INNER JOIN isys_catg_application_list
            ON (isys_catg_application_list.isys_catg_application_list__isys_catg_lic_list__id = isys_catg_lic_list.isys_catg_lic_list__id)
            WHERE isys_obj__status = 2;

            Damit kriege ich normalerweise eine Auflistung aller Softwareprodukte mit Lizenz und die Gesamtzahl der Lizenz für die Softwareprodukte. Über einen Zähler kann man dann zählen, wieviele davon installiert sind.

            Das funktioniert aber nur, wenn man bei jedem Client händisch und Anwendung / Dienst eine Lizenz zuweist. Es muss aber noch anders gehen, weil unter Software -> Lizenzen ->entsprechende Lizenz -> Lizenzen  steht, dass 3 Lizenzen in Benutzung sind. (was auch stimmt) Mit der obigen Abfrage erhalte ich aber nur die, die wirklich auch unter Clients noch zugewiesen worden sind.

            Könnt ihr mir da weiterhelfen?
            Vielen Dank und viele Grüße
            TheNightwish

            1 Reply Last reply Reply Quote 0
            • T Offline
              TheNightwish
              last edited by

              Kann mir keiner sagen, wo in der Datenbank die Verknüpfung entsteht zwischen den Clients und den zugeordneten Lizenz, wenn man die Clients importiert und die Clients nicht händisch eingibt und unter Client -> Anwendung/Dienst die Lizenz der entsprechenden Software dort nochmal zuweist????

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

                Wie gesagt,

                isys_catg_application_list ist die Kategorie Anwendung/Dienst im Clientobjekt. Hier entsteht ein eintrag, wenn dem Client eine Anwendung zugewiesen wird
                isys_catg_lic_list ist die Kategorie Lizenz im Anwendungsobjekt. Hier wird die Lizenz zur der Anwendung verknüpft (über isys_cats_lic_item__id)
                isys_cats_lic_item ist die Spezifische Kategorie Lizenz (Liste) im eigentlichen Lizenzobjekt

                Die Kombination aus diesen Einträgen ist dann die verknüpfte Lizenz zum Client.

                Nun zu deiner Frage:
                Wenn unter "Client -> Anwendung/Dienst" die Lizenz nochmal zugewiesen wird, wird die Anwendungszuweisung zur Lizenz (isys_cats_lic_item__id; Also die Informationen zu welcher Lizenz die Anwendung gehört) in der Kategorie Lizenzen im Anwendungsobjekt, also unter "Anwendung -> Lizenzen" nochmal hergestellt (Über Fremdschlüssel isys_catg_lic_list__isys_cats_lic_item__id nach isys_cats_lic_item__id)).
                Hierfür wird in der Kategorie Lizenz: isys_catg_lic_list eine Verknüpfung zur spezifischen Lizenz: isys_cats_lic_item hergestellt

                1 Reply Last reply Reply Quote 0
                • D Offline
                  dbluemer
                  last edited by

                  Schwierig in Worte zu fassen, ich versuche es mal:

                  In der Tabelle isys_catg_lic_list befindet sich die Zuweisung von Lizenzen an Objekte (in diesem Fall: Anwendungen). Verknüpft wird über einen Connector (Zum Anwendungsobjekt kommt man über isys_catg_lic_list__isys_catg_lic__id -> isys_catg_distributor__isys_catg_lic__id, im Distributor steht dann die obj__id der Anwendung).

                  In der Tabelle isys_catg_application_list befindet sich die Zuweisung von Anwendungen zu Objekten (hier: Clients). Verknüpft wird die Anwendung über die obj__id, also isys_catg_application_list__isys_obj__id. Zum Clientobjekt kommt man wieder über den Connector (isys_catg_application_list__isys_catg_application__id -> isys_catg_distributor__isys_catg_application__id).

                  Das Lizenzobjekt erreicht man über isys_cats_lic_list, indem man von isys_catg_lic_list joint (isys_catg_list_list -> isys_cats_lic_item -> isys_cats_lic_list -> isys_cats_distributor).

                  1 Reply Last reply Reply Quote 0
                  • T Offline
                    TheNightwish
                    last edited by

                    Da steig ich immernoch nicht dahinter. Ihr sagt was von der Tabelle isys_catg_distributor. Auf die bin ich auch schon gestoßen. Allerdings kann ich aus dieser Tabelle nix weiter lesen, als in jeder Spalte die gleichen Zahlen. Da fehlen mir irgendwie die Beziehungen.. (Bild siehe Anhang)

                    Um die Verbindung zum Clientobjekt herzustellen (was dbluemer im 3. Absatz gemacht hat) bin ich bisher immer so vorgegangen, dass ich mir aus der Tabelle isys_catg_application_list doe Spalte isys_catg_application_list__isys_catg_application__id genommen habe und mit dieser in die isys_obj Tabelle gegangen bin. Dort ist dann die isys_obj__id des Clients gleich der isys_catg_application_list__isys_catg_application__id.  Wie ihr das über die Tabelle isys_catg_distributor macht, erschließt sich mir nicht..

                    Auch in isys_cats_distributor seh ich nicht viel, abgesehen vom Großteil der Einträge "NULL".

                    Im Anhang mal ein paar Screenshots. Auch von meiner gewünschten Abfrage, die ja eigentlich nicht viel können muss, außer mir ein lizenziertes Softwareprodukt auszugeben und die Zahl der gekauften Lizenzen zu diesem Produkt.

                    Vielen Dank schonmal für eure Mühen 😉
                    Viele Grüße
                    TheNightwish

                    Distributor.JPG
                    isys_cats_distributor.JPG
                    isys_catg_application_list.JPG
                    Abfrage.JPG

                    1 Reply Last reply Reply Quote 0
                    • D Offline
                      dbluemer
                      last edited by

                      @TheNightwish:

                      Um die Verbindung zum Clientobjekt herzustellen (was dbluemer im 3. Absatz gemacht hat) bin ich bisher immer so vorgegangen, dass ich mir aus der Tabelle isys_catg_application_list doe Spalte isys_catg_application_list__isys_catg_application__id genommen habe und mit dieser in die isys_obj Tabelle gegangen bin. Dort ist dann die isys_obj__id des Clients gleich der isys_catg_application_list__isys_catg_application__id.  Wie ihr das über die Tabelle isys_catg_distributor macht, erschließt sich mir nicht..

                      Hier liegt ein Fehler vor: Du kannst NICHT die Tabelle isys_catg_application_list direkt mit der isys_obj joinen. Da kommst Du, wenn überhaupt, nur zufällig auf die richtigen Ergebnisse. Vielmehr musst Du folgendermaßen joinen:

                      
                      SELECT * FROM isys_catg_application_list
                      INNER JOIN isys_catg_distributor ON isys_catg_application_list__isys_catg_application__id = isys_catg_distributor__isys_catg_application__id
                      INNER JOIN isys_obj ON isys_obj__id = isys_catg_distributor__isys_obj__id
                      
                      

                      Der Distributor mappt die Objekte auf die Kategorien, beim Anlegen eines Objektes werden auch die DIstributoreinträge generiert. Von daher kommt es häufig vor, dass eine Objekt-ID gleich der isys_catg_application__id ist, weshalb Deine Vorgehensweise auch zu funktionieren scheint. Aber eben nicht immer.

                      Ich empfehler Dir ren Report-Manager, der enthält einige Standardreports, unter anderem den von Dir gewünschten mit den Lizenzen.

                      1 Reply Last reply Reply Quote 0
                      • T Offline
                        TheNightwish
                        last edited by

                        Mit dem Report Manager habe ich das schon probiert. Dieser zeigt mir aber jede Lizenz einzeln an, die in Benutzung ist. Ich wöllte gern aus der Abfrage aus dem obigen Bild über ein PHP-Script, dass er mir den Softwarenamen einmal anzeigt, in der nächsten Spalte die gesamten Lizenzen dafür, in der nächsten Spalte die verbrauchten und in der letzten die noch freien Lizenzen.
                        Da habe ich im Report Modul noch keine Option gefunden das zu realisieren.

                        Danke für die Hilfe mit der isys_catg_distributor Tabelle. Die hilft schonmal um die spätere Zuverlässigkeit der Abfrage von Software auf Clients zu gewährleisten. Leider hilft sie mir in dem Problem der Lizenzverwaltung noch nicht so recht weiter, weil ich da die Verbindung immer noch nicht sehe… So würde er mir ja nur jede Software ausgeben die auf diesem Rechner ist. Ich möchte aber nur die lizenzpflichtigen Softwareprodukte sehen.

                        Viele Grüße
                        TheNightwish

                        1 Reply Last reply Reply Quote 0
                        • T Offline
                          TheNightwish
                          last edited by

                          Hallo zusammen,

                          könnte mir jemand dabei bitte noch helfen??
                          Vielleicht gleich mal mit einer Datenbankabfrage, mit der ich 2 Spalten sehe (links den Softwarenamen (isys_obj__title) und rechts die Menge der gekauften Lizenzen dafür (isys_cats_lic_item__amount)) aber eben von allen lizenzierten Softwareprodukten, so wie es mir I-doit im Browser anzeigt. Das wäre echt nett. Ohne das komme ich hier nicht weiter 😞

                          Danke und viele Grüße
                          TheNightwish

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