ENGINE gesucht: IT-Dokumentationssystem / Formulare schnell entwickeln?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • ENGINE gesucht: IT-Dokumentationssystem / Formulare schnell entwickeln?

    Hallo,

    Zusammenfassung für Schnellleser : Ich möchte also nur noch über eine MySQL-Tabelle definieren, welche Objekte es geben soll, welche Attribute diese jeweils haben sollen, von welchem Typ und wo die Daten herkommen sollen bzw. eben bei Listbox die Referenzierung aufgelöst wird und welche Validierungen erfolgen sollen (Dateneingabe mit JS prüfen). ....und eben keine 100 Formulare + PHP + SQL-Code per Hand entwickeln. Ich will eine Engine, die das für mich macht.

    wir nutzen seit Jahren ein eigenentwickeltes IT-Ticketsystem zur Bearbeitung von Supportanfragen.
    Dieses System soll um ein "IT-Dokumentation-Module" erweitert werden.

    (Ja, mir ist bekannt, dass Unmengen an (freien) Ticketsystemen (wie OTSR) oder (freien) Dokumentationssystemen (wie i-DoIT) existieren und eine Eigenentwicklung "Zeitverschwändung" sei.
    Doch aus einer Vielzahl von Gründen, die ich hier nicht ausdiskutieren möchte, macht es eben doch Sinn.)

    In diesem Dokumentationssystem soll es für die unterschiedlichen Objekte (Hardware (Drucker, Server, Router, ...), Software (OS, Dienste, ...) und Informationen (Internetzugangsdaten, Verträge. ...))
    jeweils eigene Formulare geben, da die Objekte unterschiedliche Attribute haben.
    Die Objekte sollen untereinander über die Formulare verknüpft werden (-> "an USV xyz sind die Server serverABC und serverDEF angeschlossen" etc.).

    Es wird also eine große Anzahl von Formularen benötigt, die ich ungerne alle "per Hand" in Notepad++ / NetBeans erstellen möchte (PHP, HTML, MySQL).

    => Meine Frage:
    Mit welchen Methoden kann man sich Formulare weitesgehend automatisch generieren?
    Ein kleiner Ansatz wird hier gezeigt: Formulare mit PHP dynamisch erzeugen - administrator.de
    Denke da z.B. an sowas wie QuickForm2 aus PEAR, wobei ich damit noch keine praktischen Erfahrungen habe.
    Es geht also nicht nur um die Formulare, sondern auch um die Datenanbindung (und von der Datenvalidierung mit JS mal abgesehen).
    So habe ich den Versuch unternommen, die Felder zu einem Objektformular in einer eigenen Tabelle speichern, so dass ich nur ein PHP-Script habe, welches je nach Parameter in der URL mir ein Formular anzeigt
    mit den entsprechenden Eingabefeldern. Doch nun kommen noch Checkboxen, Radio, Listboxen etc. hinzu und es wird kniffliger.

    Beispiel: Formular-Felder-Beschreibungstabelle
    Code:
    ID | Objekt | Feldname     | Inputtyp     | SQL
    ----------------------------------------------------
    1    Router   Benutzername   Eingabefeld
    2    Router   Passwort       Eingabefeld
    3    Router   Firmware       Eingabefeld
    4    ...      ...
    5    Drucker  Papiertyp      Selectbox
    6    Drucker  Farbe_sw       Radiobuttons
    7    ...      ...
    8    Server   Betriebssys    Selectbox     select name from data_doku_betriebssysteme where id =
    wird objekt.php?typ=router aufgerufen, wird ein Formular mit 3 Eingabefeldern erzeugt. Bei objekt.php?typ=drucker eben 2 Formularelemente.
    Es ist natürlich noch notwendig, neben dem Feldnamen für die Spalte in der Tabelle zur Speicherung der Daten, auch eine Feldbezeichnung für die Anzeige anzuzeigen.

    Und eine weitere Überlegung ist, wie man die Daten speichert:
    a) für jeden Objekttyp eine eigene MySQL-Tabelle?
    Code:
    drucker => data_doku_drucker, router => data_doku_router ....
    Mit welchem Algorithmus lassen sich die MySQL-TAbellen aus dem Formularskript automatisch erstellen?
    b) eine Datentabelle Spalten-basierend:
    Code:
    ID | Objekttyp | Objekt   | Benutzername | Passwort | Firmware | Papiertyp | Farbe_sw
    --------------------------------------------------------------------------------
    1     Router      Fritzbox   admin          geheim     2.00       null        null
    => Nicht gut! Alle Attribute / Spalten für alle Objekte. Wird unübersichtlich.

    c) eine Datentabelle Zeilen-basierend:
    Code:
    ID | ObjektID | FeldID | Wert
    -------------------------------------------
    1    1          1        admin
    2    1          2        geheim
    3    1          3        2.00
    => Nicht gut! Viele Zeilen in der Tabellen (Anzahl Objekte x Anzahl Objektattribute). Wird unübersichtlich.


    Weiter gehts mit einer Suchmöglichkeit die implementiert werden muss und der Darstellung des Suchergebnisses als Tabelle
    wo oben zu jeder Spalte Eingabefelder vorhanden sind, mit denen mal mittels AJAX eine "Live-Filterung" durchführen kann.
    Ebenso sollte man innerhalb des Suchergebnisses zwischen den Datensätzen in der Formularansicht (statt der Tabellenansicht) hin- und herblättern können.

    Daraus folgt das Problem, dass z.B. beim Objekt "Server" es eine Referenz (Listbox) zum Betriebssystem gibt.
    D.h. im Datensatz vom Server, ist ja nicht "Windows 2008" gespeichert, sondern z.B. die ID-Nummer 7, die sich dann auf die Tabelle data_doku_betriebssysteme bezieht.
    In der Tabellenansicht vom Server soll ja dann nicht in der Spalte Betriebssystem die 7 stehen, sondern "Windows 2008".
    Vielleicht wäre es ein Ansatz, wenn man in der Formular-Felder-Beschreibungstabelle noch eine Spalte "SQL" einfügt, die den SQL-Befehl beinhaltet, um die korrekten Daten abzufragen (siehe oben Datensatz 8).


    Drumherum muss eben eine "ENGINE" arbeiten, die aus diesen Daten aus der "Formular-Felder-Beschreibungstabelle" alles weitere macht
    => Formulare erzeugen
    => SQL-Befehle je nach Felder dynamisch generieren
    => SQL-Befehle zum Ändern von Formulardaten und auch zum Suchen
    => Referenzen zu anderen Tabellen in SQL auflösen (-> Listboxen)

    Ich hoffe ihr konntet Ansatzweise verstehen, wonach ich Suche. Bin für jeden Ratschlag dankbar.

    Grüße
    Olli

  • #2
    ENGINE gesucht: IT-Dokumentationssystem / Formulare schnell entwickeln? - PHP Forum: phpforum.de
    Wir werden alle sterben

    Kommentar

    Lädt...
    X