Project: PHP-Nuke - 03. FileBase to Download Import - Import Beschreibung

AMBROSIA60-Portal  FileBase to Download Import Project



PHP-Nuke Download Section vs. FileBase
How to import from Filebase ...




Übersicht:
Start....Übersicht
Section 1....Analyse I, Filebase Synchronisation
Section 2....Umsetzung der Filebase Synchronisationsprozedur
Section 3....FileBase Import, Allgemeine Beschreibung
Section 4....Analyse II, Ticker Import
Section 5....Umsetzung des TIC Imports
Section 6....TIC Import, Allgemeine Beschreibung
Section 7....Einbindung DLIMP / DLTIC in die Maintenance
Section 8....Hinweis zur FileBase Security
Section 9....Übersicht und Status Gesamtprojekt
Section 10....References
Section 11....Download
Section 12....Weiterentwicklungen, Fixes




  • 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:

SourceTAGVerzeichnis
GroupGFDQ:\GFD
Area 1GFDAPPQ:\GFD\APP
Area 2GFDDEVQ:\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:\X4
Q:\HIDDEN4
  
[ROOT]5
  
[FIDONET]1, 9
parent=03
Q:\news4
Q:\service4
Q:\DIV13\mailutil4, 8
  
[FILEBASE]1, 7
parent=03
Q:\DIV134, 6
Q:\filelist4
Q:\DIV34
  
[XP]1
parent=FILEBASE3
Q:\xp4
  
[PDN]1
parent=FILEBASE3
Q:\PDN4

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:
Screenshot Admin Console nach Import Filebase 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:
Screenshot DLIMP Admin Console, 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:
Screenshot DLIMP Admin Console, 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:
Screenshot DLIMP Admin Console, 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






© 2003-2024 by Ulrich Schroeter   00936