Ansatheus 2003-2006
  
Fragen und Antworten
  
  Hier findet Ihr Antworten auf Fragen, die häufig gsetellt werden oder auf Sachverhalte, die öfters
  bei der Arbeit mit AT Contenator auftreten.
    

Wie kann ich Menüpunkte erzeugen?
  AT Contenator generiert Menüpunkte aus Verzeichnissen, die bestimmte Kriterien erfüllen müssen.
  
  - eine vorangestellte einstellige Zahl mit nachfolgendem Unterstrich -> 1_Home
  - mit erstem Großbuchstaben -> Home
  
  Wichtig ist, daß jedes Verzeichnis eine index.php enthält. Im Normalfall ist dies die index.php
  und die dazugehörige content.txt für den Verzeichnisaufruf, die im Verzeichnis "_verzeichnis_index_dateien"
  liegen und nur in das entsprechende Verzeichnis hineinkopiert werden.
  Es können bis zu 10 Unterverzeichnisse erzeugt und als Untermenü angezeigt werden. Dieser Wert kann
  im Code der core.menu.php noch vergrößert werden.
    

Wie kann ich Menüpunkte ausblenden?
  Verzeichnisse mit folgenden Kriterien werden nicht als Menüpunkt angezeigt:
  
  - home
  - _home
    

Was kann ich in die content.txt schreiben und was muß ich dabei beachten?
  normaler Text
  Im Prinzip kann sofort in einem Texteditor losgeschrieben werden, ohne irgendetwas beachten zu müssen.
  Das ist Ideal für die schnelle Ablage von Textinformationen jeglicher Art.
  
  formatierter Text
  Mittels speziellen Steuerzeichen können Texte zeilenweise formatiert und somit strukturiert werden.
  AT Contenator untersucht immer die ersten beiden Zeichen ganz am Anfang jeder Zeile auf Steuerzeichen.
  Dabei ist darauf zu achten, daß auch keine für die zukünftige Nutzung reservierten Steuerzeichen genommen
  werden (siehe Hilfe|Steuerzeichen).
  
  HTML-Code
  HTML-Code wird ebenfalls verarbeitet. Dabei ist ebenfalls auf die reservierten Steuerzeichen zu achten.
  Wenn der Code ab dem 3. Zeichen beginnt, ist man auf der sicheren Seite, obwohl die ersten beiden Zeichen
  ebenfalls funktionieren.
  
  PHP-Code
  PHP-Code muß per Include eingebunden werden (siehe Hilfe|Steuerzeichen).
    

Warum lädt die Seite nicht, wenn ein Menüpunkt angeklickt wird?
  Dieses Verhalten liegt nicht am AT Contenator, sondern an den Einstellungen der PHP.INI. Damit
  der Contenator korrekt arbeitet, sollte folgender Eintrag in der PHP.INI gemacht werden:
  
  register_globals=ON
  
  Dieser Eintrag sorgt dafür, daß PHP-Variablen zwischen den Seiten übergeben werden können.
  Bei einigen PHP-Versionen ist dieser Eintrag entweder auf OFF, nicht vorhanden oder die PHP.INI
  existiert gar nicht erst. Ist das der Fall, dann wird diese einfach angelegt - unter Windows im
  Windows-Verzeichnis und unter UNIX/Linux im etc-Verzeichnis.
  Ist dies unter UNIX/Linux nicht möglich, z.B. wegen fehlender Benutzerrechte oder wenn PHP im
  safe_mode läuft (insbesondere auf Uni-Servern), dann kann dies elegant mit einer .htaccess-Datei
  umgangen werden, die im Root des contenatorbasierenden Systems liegt, also im selben Verzeichnis,
  in der auch die index.php liegt, die das contenatorbasierende System aufruft.
  Die .htaccess hat folgenden Inhalt:
  
  #(entspricht off)
  php_value register_globals 0
  
  #(entspricht on)
  php_value register_globals 1
  
  Die nicht gewünschte Option muß mit einen # am Zeilenanfang auskommentiert werden.
  Den AT-Contenator-Sourcen und dem Beispielprojekt liegt diese Datei bei. Es muß nur die entsprechende
  Option aktiviert werden (# vor der Option entfernen). Dies darf aber nur gemacht werden, wenn die
  Variablenübergabe nicht funktioniert, sonst gibt es einen internen Serverfehler.
  
  Dank an Martin Lehmann, TU Berlin
    

Kann ich für die Online-Bearbeitung der Inhalte mittels dem Modul OnlineEdit nur bestimmte
Benutzer zulassen?
  AT Contenator hat bisher keine eigene Benutzerverwaltung. Dennoch kann die .htaccess-Funktionalität
  des Apache Webservers dafür genutzt werden (serverseitiger Zugriffsschutz).
  
  1. Es wird ein Verzeichnis im Projektpfad angelegt.
  (hier /beispielprojekt/pwpw ) kleingeschrieben damit es nicht im Menü angezeigt wird.
  
  In dieses Verzeichnis kommen die .htpasswd und die .htgroup Datei. Zur Sicherheit kann das Verzeichnis auch
  noch mit einer .htaccess geschützt werden.
  
  Das mit dem zusätzlichen Unterverzeichnis muss nicht sein, aber so sind immer alle Passwortdateien
  zusammen. Wenn dann mal alles gesperrt werden muss, einfach dieses Verzeichnis umbennen.
  
  2. Die unten Beipielhaft aufgeführte ".htaccess" Datei kommt ins Projektverzeichnis
  ( /beispielprojekt )
  
  3. Sollten für einige Seiten spezielle Zugangsregeln zu Anwendung kommen, dann wird zusätzlich
  zur "modul.ordner.onlineedit.php" Datei die ".htaccess" Datei in das Verzeichnis kopiert
  in der die zu editierende "content.txt" steht.
  
  Das war es auch schon. Jetzt hat man, je nach Inhalt der ".htaccess" Datei, eine Editiermöglichkeit
  auf User oderGruppenbasis.
  
  Beispielvorlage für die .htaccess Datei
  
  AuthUserFile /var/www/htdocs/Beispielprojekt/pwpw/.htpasswd (Absoluter Pfad zur Datei, dieser muss angepasst werden)
  AuthGroupFile /var/www/htdocs/Beispielprojekt/pwpw/.htgroup (Absoluter Pfad zur Datei, dieser muss angepasst werden)
  
  AuthType Basic
  AuthName "Seitenlogin"
  
  require user Demo
  
     <Files ./modul.ordner.onlineedit.php>
         require user Demo
     </Files>
  
  Beispielvorlage für die .htpasswd Datei
   #Der Username ist "Demo" das Passwort lautet "passwort"
  
  Demo:$apr1$RP4.....$a425xHbGfI/On1R6upGLx/:Demouser:
  
  Hier eine Beispielvorlage für die .htgroup Datei
   #Der Username ist "Demo" das Passwort lautet "passwort"
  Gruppe ist all (alle Gruppen)
  
  all: Demo
  
  Update
  Da AT Contenator mittlerweile einen Online-Editor hat, der den Zugang mittels Passwort-Abfrage regelt,
  kann alternativ auch dieses Modul eingesetzt werden (bei Standardinstallation mit dabei). Möchte man
  zudem die o.g. serversetige Abfrage nutzen, sollte die .htaccess-Datei im Root einfach wie folgt
  erweitert werden:
  
     <Files module.ContenatorEdit.php>
         require user Demo
     </Files>
  
  Zusätzlich muß dann die Passwort-Abfrage in der Datei "module.ContenatorEdit.php" deaktiviert oder
  entfernt werden. Diese Lösung erlaubt es, gruppenweise Berechtigungen zu vergeben. Dazu muß nur
  jedes Unterverzeichnis dann eine entsprechende .htaccess erhalten.
  
  Dank an Kay Dittmann
    

Beim Laden der Seite wird ein "permission denied" bei Zeile 110 der core.parser.php angezeigt - warum?
  Da ist eine Sache des Providers, die aber mit wenige Handgriffen umgangen werden kann. Grund ist, daß
  manche Provider automatisch in einem Zeitraum (z.B. alle 24 Stunden) Verzeichnisse anlegen, die
  Zugriffsstatistiken etc. enthalten. Diese Verzeichnisse sind geschützt, der User darf nicht darauf
  zugreifen -> permission denied. In Zeile 110 der core.parser.php wird die Funktion count_files_dir
  für Statistikangaben rekursiv aufgerufen, die in der Fußzeile erscheinen.
  
  Jetzt gibt es 4 Lösungsvarianten:
  
  1) dem Provider bescheid sagen, er solle doch die Berechtigungen entsprechend setzen
  2) in der content.txt im Statistik-Bereich Dateien und Verzeichnisse deaktivieren
  3) in Zeile 512 (ca.) in der core.parser.php den Aufruf der Funktion auskommentieren
  4) in der Funktion die 7. Zeile ersetzen oder erweitern
  
  Wird z.B. das Verzeichnis "usage" angelegt, dann muß die Zeile so erweitert werden:
    
  if (is_dir("$dir/$datei") && $datei!="." && $datei!=".." && $datei!="usage" && (substr($datei,0,1) != "_"))
    

  Das Verzeichnis "usage" wird somit ausgeschlossen und die Statistik funktioniert weiterhin.
  
  Dank an Tobias Tabler
    

Kann ich meiner Homepage einen Titel für die Titelzeile des Browsers geben?
  Ja! Datei "core.config.dat" Option "websitetitel".
    

Wie können bestimmte Dateien von der Generierung im Linkindex ausgeschlossen werden?
  Es gibt verschiedene Möglichkeiten, dies zu tun:
  
  1. Wie kann ich bestimmte Dateiarten für den Linkindex zulassen?
  In der Datei "core.config.dat" im Verzeichnis "_config" gibt es die Option "dateiarten". Wird dort eine
  Dateiart nach folgendem Muster: .txt; eingetragen, dann wird jede Datei mit dieser Endung im Linkindex
  generiert. Den gleichen Effekt hat, wenn .txt keine Dateiendung ist sondern mitten im Dateiname auftaucht.
  
  2. Dateien ignorieren
  Will man aber eine bestimmte Dateiart unter einem Menüpunkt für den Linkindex zulassen aber diese unter
  einem anderen Menüpunkt nicht im Linkindex anzeigen, dann können sie auch explizit ausgeschlossen werden.
  Dazu gibt es in der "core.config.dat" die Option "dateiignore". Erhalten die auszuschließenden Dateien
  in ihrem Namen eine bestimmte Zeichenfolge (z.B. gesperrt oder _nichtanzeigen) und wird diese Zeichenfolge
  in dieser Option nach folgendem Muster: gesperrt; oder _nichtanzeigen; eingetragen, werden alle Dateien
  mit dieser Zeichenfolge ausgeschlossen.
  
  3. Linkindex ausschalten
  Die Option "linkindex=off" in der "core.config.dat" schaltet den Generator für den Linkindex ab. Jetzt
  wird zwar grundsätzlich kein Linkindex mehr generiert, aber es kann mittels eines eigenen Parser-Moduls
  ein eigene Funktionalität für einen Linkindex integriert werden.
    

Was sind Menü-Module?
  Ein Menü-Modul klinkt sich in das Menü der vom AT Contenator erzeugten Website ein. Dafür steht unter
  dem automatisch generierten Modul ein eigener Bereich zur Verfügung. In der Option "moduletitel" in
  der "core.config.dat" kann diesem Bereich eine Überschrift gegeben oder auch komplett weggelassen werden.
  Alle Menü-Module müssen nach einem genau vorgegebenen Muster im Dateinamen benannt werden:
  module.Menuepunkt.Anzeigeziel.php -> module.Gaestebuch.rechter.php.
  Es kann jede im Browser anzeigbare Dateiart als Menü-Modul integriert werden - z.B. module.Info._blank.txt.
  Auch direkte Links per META-Refresh (HTML) oder header-location (PHP) sind möglich.
  Werden keine anzeigbaren Verzeichnisse angelegt aber dafür Menü-Module, wird ebenfalls ein Menü erzeugt,
  allerdings ohne Untermenüs.
  Ein Beispiel ist das mitgelieferte Menü-Modul "Gaestebuch"
  
  Weitere Einzelheiten in der Hilfe zu "Module".
    

Was sind Parser-Module?
  Im Gegensatz zu Menü-Module werden Parser-Module in den Parser von AT Contenator eingebunden. Dadurch
  kann die Funktionalität individuell angepaßt und beliebig erweitert werden. Die Funktionalität steht dann
  zentral für die ganze Website zur Verfügung. Soll dagegen eine erweiterte Funktionalität nur für bestimmte
  Menüpunkte zur Verfügung stehen (z.B. passwortgeschützter Bereich), kann dies über Includes geschehen.
  Die Include-Datei muß dabei in dem entsprechenden Verzeichnis liegen und per Steuerzeichen in die
  dortige content.txt eingebunden werden (siehe Hilfe|Steuerzeichen).
  Auch Parser-Module müssen nach einem vorgegebenen Muster benannt werden: module.parser.Name.php.
  Ein Beispiel dafür ist das mitgelieferte Parser-Modul "Thumbnails".
  
    

Was sind Ordner-Module?
  Ordner-Module können von einfach bis komplex reichen. Sie ergänzen die Funktionalität immer lokal
  in einem Menüpunkt, der ja gleichzeitig auch einen Ordner darstellt. Ordner-Module können einfache
  Impressumseiten sein aber auch ein datenbankgestütztes Gästebuch oder Shop-System.
  
  Weitere Einzelheiten in der Hilfe zu "Module".
    

Warum arbeitet mein Schnufflodondron nicht richtig?
  Das Schnufflodondron benötigt den Verzeichnisnamen, in dem es liegt. Wenn AT Contenator im Verzeichnis
  "at_contenator" liegt, dann lautet der Eintrag für die Otion "unterverzeichnispfad=/at_contenator" in
  der "core.config.dat".
    

Warum funktioniert das Parser-Modul "Thumbnails" nicht?
  Es funktioniert schon, doch man muß es mit den richtigen Dateinamen "füttern". In Zeile 85 wird das
  Module angewiesen, nur Datei anzuzeigen, die im Dateinamen die Zeichenfolge "thumb" oder "voll"
  enthalten, z.B. bild_thumb.gif oder bild_voll.gif. Das ist deshalb notwendig, weil Parser-Module
  global wirken und bei Nichtunterscheidung alle Bilder in allen Verzeichnissen als Thumbnails
  generiert werden würden. Natürlich kann diese Zeile beliebig angepaßt und erweitert werden.
  Es sollte aber darauf geachtet werden, das der Eintrag "parsermodule=on" in der "core.config.dat"
  im Verzeichnis "_config" gesetzt ist. Die Anzahl der Thumbnails, die in einer Reihe angezeigt
  werden sollen, kann mit dem Eintrag "thumbnails=Anzahl" ebenfalls in dieser Datei verändert werden.
  

    Letzte Bearbeitung: 26.05.2006