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