Aktuelles Release | Module | Designs | Anleitungen | Support
 
 

ViaThinkSoft Personal WebBase

Entwicklung eigener Personal WebBase-Module

Da Personal WebBase noch in der Entwicklungsphase ist, kann sich die Modulstruktur ständig ändern. Daher wird eine vollstände Anleitung zum Entwicklen von Modulen erst nach Version 1.0 herausgegeben. Sie können jedoch Ihre eigenen Module anhand von bestehenden Modulen erstellen, indem Sie diese abändern. Bei der Modulentwicklung stehen Ihnen alle Möglichkeiten der Codeausführung offen. Diese Anleitung soll Ihnen helfen, Ihre Module dem Personal WebBase-Standard anzugleichen. Sie dürfen uns auch Ihre Module zuschicken, damit wir diese prüfen bzw. zertifizieren und ggf. veröffentlichen können.

Achtung! Diese Anleitung ist nur gültig für Personal WebBase Systeme ab Version 0.80!
Bei älteren Versionen können Module andere Strukturen aufweisen oder gewisse Sicherheitsmerkmale nicht besitzen!

Gängige Modul-Präfixe
  • main_ bezeichnet Module, die ohne Login aufgerufen werden können (Modulrechte: -1)
  • user_ bezeichnet Module, die durch Benutzer oder Gäste aufgerufen werden können (Modulrechte: 0, 1)
  • admin_ bezeichnet Module, die nur durch Administratoren aufgerufen werden können (Modulrechte: 2)
  • common_ bezeichnet Module, die keine sichtbare Oberfläche haben, sondern mit anderen Modulen oder der Datenbank Wechselwirken und Funktionen bereitstellen. (Modulrechte: -1)
Gängige Modul-Bestandteile
  • autostart/[0|1|2|3|4].inc.php
    Autostarter der Phase x. Bei den Autostarten werden grundlegende Funktionen festgelegt und alle Datenbanktabellen (neu)erstellt. Findet Personal WebBase bei Phase x keine Autostarter mehr, wird der Vorgang fortgesetzt, selbst wenn ein Modul noch einen Autostarter der Phase x+1 enthält. Übliche Verteilungen sind:
    0: Absolut Grundlegende wb_ Funktionen, reservierter Bereich
    1: Grundlegende Funktionen werden definiert, Anlegen der Konfigurations- und Moduletabelle
    2: Anlegen von Tabellen und Konfigurationswerten, sonstige Aktionen, baut auf 1 auf
    3: Löschen von veralteten oder ungültigen Daten, baut auf 2 auf
    4: Abschließende Überprüfungen oder Arbeiten, baut auf 3 auf
  • images/menu/16.[gif|png]
    Das kleine Symbol, nur verwendet im Menü
  • images/menu/32.[gif|png]
    Das große Symbol, verwendet im Konfigurationsmenü im Administrationsbereich oder in der Titelzeile
  • page/*.inc.php
    Diese werden durch modulseite.php?modul=...&seite=... aufgerufen. Rufen Sie Modulinhalte nur über modulseite.inc.php auf, da diese die Variablen für das Modul bereitstellt.
  • page/main.inc.php
    Diese Seite wird aufgerufen, wenn der Menüeintrag angeklickt wird.
  • page/edit.inc.php
    Hat sich eingebürgert als die Seite, auf welcher ein Eintrag editiert wird.
  • page/operate.inc.php
    Hat sich eingebürgert als die Seite, auf welcher Konfigurationseinstellung oder Editierungen vollzogen werden. Es wird per header('Locate: ...') weitergeleitet.
  • page/config.inc.php
    Ist diese Seite vorhanden, ist das Modul in dem Konfigurationsmenü verfügbar. Diese Seite enthält dann die Konfigurationseinstellungen Ihres Modules.
  • var.inc.php
    Enthält die Grundsetzlichen Konstanten Ihres Modules. Diese Konstanten setzen unter anderem den Namen, die Lizenz und die benötigten Rechte für das Modul fest. Die Variablen werden bei modulseite.inc.php an die seite_*.inc.php und crossover/* weitergegeben. Bitte führen Sie keinen Code in diesem Modul aus!!!
  • [*/]index.html
    Diese Dateien sind leer und verhindern, dass der Inhalt des Verzeichnisses angezeigt werden kann.
  • page/view.inc.php
    Sie können diesen Namen für eine Seite verwenden, bei der ein Eintrag betrachtet, aber nicht bearbeitet wird.
  • page/checkparsing.inc.php
    Sie können diesen Namen für eine Seite verwenden, bei der z.B. ein Link oder eine Eingabe vor dem speichern des Eintrages überprüft wird.
  • includes/menu_entry.inc.php
    Diese Include wird von den gfx_zeichneitems[_filter]-Funktion innerhalb von functions.inc.php aufgerufen und zeigt einen Item-Menüeintrag an. Sie müssen die GFX-Funktionen nicht verwenden, doch sind diese bei Standard-Modulen mit der Ordnerstruktur üblich. Die var.inc.php-Informationen werden nicht übergeben.
  • images/item*.gif
    Diese Grafik wird z.B. in menueeintrag.inc.php aufgerufen und zeigt die Items in ggf. unterschiedlichen Farben an.
  • crossover/
    Dieses Verzeichnis beinhaltet querverknüpfte Funktionalitäten der Module. Eigentlich ist seite_konfig.inc.php ebenfalls eine querverknüpfte Funktionalittät, doch ist diese Funktion derzeit nur als Seite definiert. Je nach dem, mit welchem anderen Modul Ihr Modul zusammenarbeiten soll, müssen Sie anderen Code entwerfen. Der Name Ihres Modules ist hier $m2 und nicht $modul. $modul ist der Name des Modules, welches der Benutzer gerade aufgerufen hat, also mit welchem Ihr Modul zusammenarbeitet.
  • crossover/common_cronjob/main.inc.php
    Wenn Ihr Modul durch die minütliche Cronjob-Ausführung Aufgaben abarbeiten soll, verwenden Sie diese Querverknüpfung.
  • crossover/user_overview/main.inc.php
    Wenn Ihr Modul einen Eintrag, also eine Information oder eine Warnung in der Ereignisanzeige von user_uebersicht ausgeben soll, verwenden Sie diese Querverknüpfung.
  • crossover/common_systemcheck/main.inc.php
    Wenn Ihr Modul einen Eintrag, also eine Information oder eine Warnung in der Systemcheck-Anzeige des Administrationsbereiches bei core_systemcheck ausgeben soll, verwenden Sie diese Querverknüpfung.
  • crossover/admin_database/main.inc.php
    Das Modul user_phpmyadmin verwendet diese Schnittstelle für das Modul admin_datenbank, damit der Administrator die eigene Datenbank betrachten kann. Verwenden Sie diese Querverknüfung für ein Datenbankmanagment-System-Modul.
  • system/
    Wenn Sie ein fremdes System wie z.B. phpMyAdmin verwenden, können Sie es in diesen Ordner ablegen.
  • system/_wbver.inc.php
    Hier können Sie die aktuelle Version eingeben, die dann von page/main.inc.php ausgelesen werden kann.
  • system/_wbchanges.txt
    Tragen Sie hier ein, welche Änderungen Sie an der PHP-Software durchgeführt haben, damit das Update dieser einfacher wird.
  • static/<modulname>
    Zeigt an, dass <modulname> statisch auf das Modul zugreift und die Inhalte direkt aufruft. In der Regel wird der Inhalt nicht aufgerufen, wenn er nicht existiert (fileexists).
  • static-core/
    Ein spezieller Bestandteil des Personal WebBase Frameworks, der direkt aufgerufen wird. In der Regel wird der Inhalt nicht aufgerufen, wenn er nicht existiert (fileexists).
  • ordnername.txt
    Ist in einer Modul-ZIP, bei der die Daten im ZIP-Wurzelverzeichnis liegen enthalten und gibt Personal WebBase die Information für den Modulnamen. Wird bei Installation gelöscht.
Konstanten der var.inc.php
  • $modulueberschrift
    Der tatsächliche Name des Moduls im Menü und in der Titelzeile
  • $modulpos
    In welcher Gruppierung soll das Modul im linken Menü angezeigt werden?
  • $modulsekpos
    Welche positionierung soll das Modul innerhalb der Gruppe haben?
  • $deaktiviere_zugangspruefung
    Hebelt $modulrechte aus! Diese Variable auf keinen Fall auf 1 bzw. true setzen! Diese Funktion wird benötigt, damit die Auslogg-Funktion auch bei beschädigter oder abgelaufender Session funktioniert.
  • $modulrechte
    Modulklasse; 2=Admin, 1=Kunde, 0=Gast, -1=Hauptmenü. Der Modulpräfix admin_, user_ oder main_ ist nur eine Bezeichnung. In der Regel muss nicht auf $ib_user_type geprüft werden, da Personal WebBase dies automatisch erledigt. Ausnahme gilt z.B. bei Modulen, die für Nicht-Administratoren (-1, 0, 1) freigegeben sind, jedoch auch von Administratoren benutzt werden sollen (z.B. durch page/config.inc.php). Dort muss auf $ib_user_type = 2 geprüft werden.
  • $autor
    Name des Autos
  • $version
    Versionsangabe als YYYY-MM-DD Datumsschreibweise
  • $menuevisible
    Im Menü sichtbar machen?
  • $license
    Lizenztyp (nur eine Textangabe, fälschungs-unsicher)
    0 = Für jeden kostenlos, öffentlich erhältlich
    1 = Kostenpflichtig, öffentlich erhältlich (mit Freischaltung) oder nach Bezahlung erhältlich mit Verbot der Weitergabe
    2 = Modul für Privatanwendung, in der Regel nicht öffentlich erhältlich
    3 = Personal WebBase-Kernmodul. In der Regel wichtig zur korrekten Funktionalität von Personal WebBase. Kann wichtige Wechselwirkungen mit bestehenden Modulen tätigen.
    4 = Modul, das Personal WebBase beigelgt ist
Wichtige Sicherheitshinweise
  • Jede PHP-Datei muss die Konstante WBLEGAL überprüfen
  • Es dürfen keine PHP-Dateien des Modulverzeichnisses direkt aufgerufen werden
Besondere Datenbankfelder
  • id
  • user_cnid
  • folder_cnid
  • *_cnid
  • name
Durch Personal WebBase bereitgestellte Funktionen
  • In Arbeit
Weitere Hinweise
  • Wenn Ihr Modul Einträge von verschiedenen Benutzern verwendet, muss das Datenbanktabellenfeld user heißen, damit Gastkonto-Leerungen durchgeführt werden können bzw. Datensätze ungültiger Benutzer gelöscht werden können
  • Wenn Ihr Modul Einträge mit verschiedenen Ordnern verwendet, muss das Datenbanktabellenfeld folder heißen, damit Datensätze von gelöschten oder ungültigen Ordnern gelöscht werden können
  • Verwenden Sie stets das Feld "name", damit die Datensätze Ihres Modules mit der Suchfunktion korrekt betitelt werden können!
  • Setzen Sie für Ihr modul is_searchable in der Tabelle webbase_module nur, wenn folgende Bedingungen erfüllt sind:
    - Es handelt sich um ein Benutzermodul ($modulrechte 1 oder 0)
    - Das Feld user ist vorhanden
    - Die Seite ?seite=edit&aktion=edit&id=... und/oder ?seite=view&id=... muss erreichbar sein, um den Datensatz zu editieren
Zurück zur Übersicht


 
  © Copyright 2004 - 2024 ViaThinkSoft. Alle Rechte vorbehalten!
Impressum | Haftungsausschluss | Datenschutzerklärung

Content last modified: 2009-09-15 22:56:12 GMT+0200 - Powered by ViaThinkSoft Sigma Version 3.0 WIP
 

Valid HTML 4.01 Transitional CSS ist valide!