PHP-Nuke Download Section vs. FileBase
How to import from Filebase ...
- Section 3 - FileBase Import, Allgemeine Beschreibung
Der FTN Filebase Import oder anders ausgedrückt, die FTN Filebase Synchronisation
nach PHP-NUKE Downloads geht von einer Maximus Filebase aus.
Bei der Entwicklung war ausschlaggebend die Verbreitung von Binkley bzw.
BinkD als Mailer. Ich selbst hatte mein System bereits vor 1995 auf
Binkley in einer Nacht- und Nebel-Aktion umgestellt. Das FileBase Format für
eine File Request Unterstützung setzt dabei auf eine Maximus Filebase auf.
Daher habe ich das stillschweigend als Grundvorraussetzung für eine Umsetzung nach
PHP-NUKE Downloads angenommen.
Der Import oder die Synchronisation erfolgt in 3 Schritten. Zunächst muss die
Maximus Filebase Konfiguration in eine PHP-NUKE Downloads
gerechte Form gebracht werden. Aufgrund der KATEGORIE Struktur unter
PHP-NUKE Downloads muss zunächst eine Vorsortierung nach
Gruppen durchgeführt werden. Da die Maximus Filebase Konfiguration
eine solche Gruppierung nicht kennt, die physikalische Filebase aber bereits aufgrund
der früheren BBS Konfiguration und der aktiven Ticker Konfiguration nach Gruppen
sortiert ist (Gruppierung erfolgt nach unterschiedlichen Hauptverzeichnissen,
bzw. im Ticker nach einer Gruppen Definition, die aber wiederum nach Verzeichnissen
aufgebaut ist), erfolgt ein sogenanntes Groups-Routing.
Stufe 1: [ Aufruf Script DLIMP1.PHP, Import Filebase Konfiguration nach PHP-Nuke DLIMP ]
Vergleichbar mit einer Frontdoor ROUTE.FD für die Verteilung
der an Downlinks zu versendenden Mailpakete, wird eine Gruppierung aufgrund
der physikalischen Verzeichnisstruktur vorgenommen.
Beispiel:
|
Source | TAG | Verzeichnis |
Group | GFD | Q:\GFD |
Area 1 | GFDAPP | Q:\GFD\APP |
Area 2 | GFDDEV | Q:\GFD\DEV |
usw.
|
Alle 2 oben aufgeführten Areas haben als gemeinsamen Root-Pfad
Q:\GFD.
Dieser wird für die Gruppe
GFD verwendet. Also können diese
beiden Areas der Gruppe
GFD zugeordnet werden.
Für den ersten Schritt wird ein Script DLIMP1.PHP von der Commandline aufgerufen.
Dieser Script benötigt eine vorgefertigte Datei
GROUPS.LST in der
die Grunddefinitionen für die Gruppenzuordnung definiert sind. Weiterhin benötigt
dieser Script Zugriff auf die
Maximus Filebase Konfiguration
FILEAREA.CTL. Der Verweis muss in dem Script
../includes/CONSTANTS.PHP
definiert sein.
Die Datei
GROUPS.LST enthält Gruppen
1 (Ticker, BBS) bzw.
Kategorie (PHP-Nuke Downloads) Definitionen. Ebenso werden vom Import auszuschliessende
Verzeichnisse in einem
EXCLUDE Block
2 definiert.
Da unter
PHP-NUKE Downloads Kategorien mehrstufig und verschachtelt aufgebaut
werden können enthält die Datei
GROUPS.LST noch zusätzliche Hinweise
auf die übergeordnete Kategorie (parent=...)
3.
Ansonsten enthalten die Gruppen die eindeutige Zuordnung von Verzeichnissen
4
die vom Script
DLIMP1.PHP dann von oben nach unten abgearbeitet werden.
Alle Pfade die mit Q:\DIV13
6 anfangen werden der Gruppe FILEBASE
7 zugeordnet, es sei denn zuvor wurde ein spezielles Verzeichnis
Q:\DIV13\mailutil
8 einer anderen Gruppe FIDONET
9 zugeordnet.
Die Gruppe
ROOT 5 ist eine Ausnahme (parent=0) und MUSS gesondert
ohne weitere Pfad- und Parent-Angaben nach dem
EXCLUDE Block
2
definiert sein, da dies der Einstieg in den
PHP-NUKE Downloads Kategorie Baum ist.
Beispiel:
|
[EXCLUDE] | 2 |
Q:\X | 4 |
Q:\HIDDEN | 4 |
| |
[ROOT] | 5 |
| |
[FIDONET] | 1, 9 |
parent=0 | 3 |
Q:\news | 4 |
Q:\service | 4 |
Q:\DIV13\mailutil | 4, 8 |
| |
[FILEBASE] | 1, 7 |
parent=0 | 3 |
Q:\DIV13 | 4, 6 |
Q:\filelist | 4 |
Q:\DIV3 | 4 |
| |
[XP] | 1 |
parent=FILEBASE | 3 |
Q:\xp | 4 |
| |
[PDN] | 1 |
parent=FILEBASE | 3 |
Q:\PDN | 4 |
usw.
|
Aus der oben aufgeführten GROUPS.LST Definition ergibt sich folgende Kategorie Struktur:
[ROOT]
+ [FIDONET] ----+- Q:\NEWS
| +- Q:\SERVICE
| +- Q:\DIV13\MAILUTIL
|
+ [FILEBASE] ---+- Q:\DIV13
| +- Q:\FILELIST
| +- Q:\DIV3
|
+ [XP] --- Q:\XP
+ [PDN] -- Q:\PDN
Beispielaufruf des Scripts im DOS-Fenster: i:\php\php -f i:/apache/apache2/fbmaint/dlimp1.php
Stufe 2: [ Aufruf PHP-Nuke Admin Console - DLIMP ]
In Schritt 1 wurde eine Basiskonfiguration nach PHP-Nuke transferiert, aber noch nicht aktiviert.
Hierzu muss erst noch in der PHP-Nuke Admin Console eine weitergehende Konfiguration
vorgenommen werden, die in der Speicherung der DLIMP Konfiguration ihren Abschluss findet.
Screenshot DLIMP PHP-Nuke Admin Console v1.10, nach Import der Filebase Area Konfiguration:
Die Gruppen Definitionen aus Schritt 1 finden sich wieder als Kategorien in der DLIMP Konfiguration (rot).
Die Areas die aufgrund der Pfadvorgaben in Schritt 1 abgebildet wurden sind blau hinterlegt.
i.e. Q:\NEWS -> Areas FNEWS, FNEWSFRQ,
Q:\SERVICE -> SERVIC,
Q:\DIV13 -> BOX_INFO,
Q:\FILELIST -> FILELIST,
Q:\XP -> Areas XP-MISC, XP-DATS, XP-TOOLS, XP-PROG,
Q:\PDN -> Areas PDNASM, PDNBASIC, PDNCEE, PDNJAVA.
Zunächst sind sämtliche importierten FileArea Definitionen noch Inaktiv geschaltet. Mit
den Funktionen (orange)
Einzelne Area aktivieren,
Block aktivieren oder
Alle aktivieren
können einzelne Areas, einzelne Gruppen oder alle Areas auf einmal aktiviert werden. Dabei wird
in der Spalte Status der augenblickliche Status jeder einzelnen Area und Kategorie angezeigt.
Inaktiv: es wurde noch keine Aktion vorgenommen. Die Area/Kategorie ist noch inaktiv.
REQ Aktivieren: die Area/Kategorie wurde mit der Funktion
Aktivieren in den zu aktivierenden
Zustand versetzt. Den Status Aktiv erhält die Area/Kategorie nach Abschluss der Konfiguration
beim Speichern der DLIMP Konfiguration Speichern Funktion. Solange bleiben die Änderungen
im temporären Zustand.
REQ Inaktivieren: eine zuvor aktive Area/Kategorie wurde deaktiviert.
Aktiv: Die Area/Kategorie wurde nach der DLIMP Konfiguration Speichern Funktion in den
Produktivzustand übernommen.
Screenshot DLIMP PHP-Nuke Admin Console v1.10, Area Konfiguration überarbeiten:
Mit der Funktion
Ändern in der FileArea Zeile können eine Reihe von Angaben überarbeitet
werden. So kann der AreaTag, der in der
MAXIMUS Filebase nur 8-stellig sein darf, für die Anzeige
unter
PHP-Nuke Downloads Section korrigiert werden (rot). Auch kann nachträglich noch
die übergeordnete Kategorie gewechselt werden (blau).
Screenshot DLIMP PHP-Nuke Admin Console v1.10, Detailansicht Area überarbeiten:
So kann der AreaTag (rot) rechts in Klammern der importierte Areaname, links im Feld der überarbeite
Areaname, die übergeordnete Kategorie (blau) aus einer Auswahlliste, die Beschreibung (orange)
oder der Status der Area (grün) überarbeitet werden. Nach Abschluss der Änderungen
muss die Änderung für die DLIMP Konfiguration gespeichert werden.
Um alle Änderungen in der DLIMP Konfiguration in das Produktivsystem zu übernehmen
muss mit der Funktion
Aktiviere DLIMP Konfiguration die Aktivierung vorgenommen werden
(siehe Screenshot
Detailansicht Sonderfunktionen).
Dabei werden unter
PHP-Nuke Downloads noch nicht existierende Kategorien und Areas
vorbereitet und eingespeichert, deaktivierte Areas aus der
PHP-Nuke Downloads Konfiguration
entfernt und evtl. vorhandene Dateilinks entfernt.
Basepath und
Homepage Konfiguration:
Um die Dateilinks in den
PHP-Nuke Downloads Areas auf die physikalische Filebase
verweisen zu lassen, muss einmal unter dem Webserver ein Virtuelles Verzeichnis auf
die Filebase erstellt werden. Aus den Informationen
Homepage,
Basepath
und physikalischem Dateilink wird später beim automatischen Import der Filelink
für die jeweilige Datei generiert.
Beispiel:
aus
Homepage: http://ambrosia60.dd-dns.de
Basepath: /files/
Physikalischer Datei Pfad: Q:\SERVICE\NODELIST.ZIP
wird
Dateilink: http://ambrosia60.dd-dns.de/files/service/nodelist.zip
Der Basepath ist dabei das Virtuelle Webserververzeichnis, das auf die physikalische
Filebase verweist.
Die Angaben zu Basepath und Homepage erfolgen auf der Haupt-DLIMP Admin Konfigurations Seite
am Ende der Übersicht der Kategorien und Areas. Die Angaben müssen gesondert mit
dem Speichern Knopf rechts neben der Basepath/Homepage Konfiguration gespeichert werden.
Beim Speichern erfolgt eine Validitätsprüfung und ggf. Korrektur der Daten.
Screenshot DLIMP PHP-Nuke Admin Console v1.10, Detailansicht Sonderfunktionen:
Stufe 3: [ Aufruf Script DLIMP3.PHP in daily maintenance, Filebase Synchronisation ]
Beispielaufruf des Scripts im DOS-Fenster: i:\php\php -f i:/apache/apache2/fbmaint/dlimp3.php