$Id: NEUE_FEATURES,v 1.1.2.6 2006/06/19 14:56:45 ignatius0815 Exp $
###############################################################################
                          Neue Features in phpCMS 1.2.2
###############################################################################

************************
  MENU & SITEMAP:
************************

    * IFNOTEMPTY
          o neuen optionalen Parameter "IFNOTEMPTY" für den {MENU} Befehl in
            Template Dateien hinzugefügt, um die Flexibilität der Menüanzeige
            zu erhöhen:
            {MENU NAME="SUB1" IFNOTEMPTY} zeigt das Menü mit dem Namen SUB1 nur
            dann an, wenn das Menü nicht leer ist, d.h. es Menüpunkte zu
            diesem Menü gibt.
            Wenn dieser Parameter nicht wverwendet wird, zeigt phpCMS den .PRE
            und .PAST Teil des Menütemplates auch dann an, wenn dazwischen
            keine Menüpunkte vorhanden sind.
    * PREACTIVE / POSTACTIVE
          o Die optionalen Menü Subtemplates ".PREACTIVE" und ".POSTACTIVE"
            wurden hinzugefügt.
            Das Subtemplate PREACTIVE wird verwendet, um den Menüpunkt, der
            direkt vor dem aktiven Menüpunkt liegt, darzustellen.
            Analog wird das Subtemplate POSTACTIVE verwendet, um den dem
            aktiven Menüpunkt folgenden Menüpunkt darzustellen.
            Das kann dazu genutzt werden, um Menüs zu erzeugen, in denen der
            aktive Menüpunkt auch eine Auswirkung auf die Darstellung der
            beiden benachtbarten Menüpunkt hat, z.B. ein Schattenwurf auf
            den nachfolgenden Menüpunkt.
    * Verwendung des selben Template Datei für Inhalt, Sitemap und Suchseiten
          o Die Sitemap und Suchseite kann nun mit dem selben Template, wie
            die normalen Content Seiten dargestellt werden. Es ist nicht mehr
            notwendig, für diese Seiten ein seperates Template zu erstellen.
            Beispiel:
            Fügen Sie die beiden Felder
            {SEARCH SEARCHTEMP="SEARCH"}
            {TOC CLASS="00.01"}
            in die Template Datei, die Sie auch für die Darstellung Ihres
            Contents verwenden, ein.
            Damit der phpCMS Parser nun weiss, ob er diese Felder in der
            Template Datei ignorieren oder beachten soll, müssen sie jeweils
            über ein Feld in der jeweiligen Content Datei freigeschaltet
            werden.
            Fügen Sie also das Feld {CONTENT_TOC} in Ihre Sitemap Content
            Datei ein, bzw. das Feld {CONTENT_SEARCH} in Ihre Such-Contentdatei.
            Beide Felder können leer sein, da ihr Inhalt ignoriert und nur
            auf ihr Vorhandensein geprüft wird.
            Achtung:
            Aus Gründen der Rückwärtskompatibilität mit vorhergehenden
            phpCMS Versionen, ist diese Funktion in der Standardeinstellung
            abgeschaltet.
            Um sie einzuschalten, muss die Datei parser/include/default.php
            editiert, und der Wert der beiden Variablen CONTENT_SEARCH und
            CONTENT_SITEMAP von 'off' auf 'on' gesetzt werden.
            Ebenso könnendie Namen der beiden Contentfelder in der
            Konfigurationsdatei geändert werden (die Voreinstellung ist
            CONTENT_SEARCH und CONTENT_TOC)

************************
  ONLINE-EDITOR:
************************

    * Backupschnittstelle
          o Eine Schnittstelle wurde in den Online-Editor eingefügt, über
            die ein externes Programm zur Erstellung einer Sicherheitskopie
            eingeklinkt werden kann.
          o Wenn die Datei class.edit_backup_phpcms.php im include-Verzeichnis
            existiert, wird diese nun automatisch vor dem Speichern des
            Contents im Online-Editor eingebunden und ausgeführt.
          o Der Dateiname der gerade editierten Datei ist in
            $DEFAULTS->DOCUMENT_ROOT.$CHECK_PAGE->path.'/'.$CHECK_PAGE->name
            zu finden.
    * Überprüfung der Schreibrechte, bevor eine Datei editiert werden kann.
          o Die Edit-Buttons sind nun inaktiv, wenn die zu editierende Datei
            schreibgeschützt ist und Änderungen dementsprechend nicht
            gespeichert werden könnten.
    * Neuer edittype "SELECT"
          o Ein neuer Editiertyp "SELECT" kann nun in Template Dateien verwendet
            werden. Mit Hilfe dieses Editiertypes kann im Edit-Modus für ein
            Feld eine Auswahlliste angezeigt werden.
            Beispiel:
            {MYFIELD EDITTYPE="SELECT" OPTIONS="option 1;option 2;option 3"}
            Dieses Beispiel erzeugt eine Auswahlliste mit den gegebenen
            Optionen. Die Wahl des Benutzers wird von Online-Editor im
            Contentfeld {MYFIELD} gespeichert

###############################################################################
                          Neue Features in phpCMS 1.2.1
###############################################################################

************************
  MENU & SITEMAP:
************************

    * BETWEEN
          o In Menütemplate Dateien steht nun das optionale Menü Subtemplate
            ".BETWEEN". zur Verfügung.
            Sofern dieses Subtemplate für ein Menü definiert ist, wird sein
            Inhalt jeweils zwischen den Menüpunkten (aber nicht vor dem ersten
            und nach dem letzten Menüpunkt) angezeigt.
            Das kann z.B. verwendet werden, um ein Trennzeichen zwischen den
            Menüpunkten eines horizontalen Menüs einzufügen.
            Beispiel:
            Das folgende Menü

            item 1 | item 2 | item 3 |item 4

            kann erstellt werden, indem man im Menütemplate das folgende
            Subtemplate einfügt:

            {MAIN.NORMAL}
                <span class="delimeter"> | </span>

            Dies funktioniert auch in Sitemap Subtemplates.

    * Menü-Trennzeichen kann geändert werden
          o Eine neue Konfigurationsvariable Namens MENU_DELIMETER
            wurde der Konfigurationsdatei parser/inlcude/default.php
            hinzugefügt.
            Mit Hilfe dieser Variable kann das Trennzeichen für die
            Menüdatei (Voreinstellung ist das Semikolon) geändert werden.
            Außerdem wurde das neue Schlüsselwort DELIMETER zur Verwendung
            in Menü-Dateien hinzugefügt, mit dessen Hilfe sich das
            Trennzeichen auch innerhalb der Menüdatei ändern lässt.
            Beispiel:
            MENU: SUB1
            CLASS;    MNAME;        LINK
            00.02.01; Sub page 1/1; $home/spage_1_1.en.htm
            00.02.02; Sub page 1/2; $home/spage_1_2.en.htm

            # aendere Trennzeichen von ';' nach '|':
            DELIMETER:|

            MENU: SUB1
            CLASS|    MNAME|        LINK
            00.03.01| Sub page 2/1| $home/spage_2_1.en.htm
            00.03.02| Sub page 2/2| $home/spage_2_2.en.htm

************************
  PARSER:
************************

    * Das Trennzeichen innerhalb von Tagdateien kann geändert werden
          o Eine neue Konfigurationsvariable Namens TAG_DELIMETER
            wurde der Konfigurationsdatei parser/inlcude/default.php
            hinzugefügt.
            Mit Hilfe dieser Variable kann das Trennzeichen zwischen den
            Parametern für parametrisierte Tags in der Tagdatei geändert
            werden (Voreinstellung ist das Komma).

###############################################################################
                          Neue Features in phpCMS 1.2.0
###############################################################################

************************
  PARSER
************************

    * XHTML
          o alle hart-kodierten Ausgaben von phpCMS sind nun valides XHTML.

    * URI Parameter-Behandlung
          o Im Stealth Mode können nun Parameter durch ein einfaches "?" an die
            URI angehängt werden:
              http://www.yoursite.com/index.htm?parameter=value
            anstelle der alten Syntax
              http://www.yoursite.com/index.htm?&parameter=value
            in früheren phpCMS-Versionen.
          o Auch brauchen an URIs angehängte Parameter nicht länger mit einem
            "dummy parameter" versehen werden, der früher gebraucht wurde, z.B.
            wenn ein Formular via action="get" abgesendet wurde.

    * neuer "Secure Stealth Mode"
          o Wenn der Parser im Stealth Mode läuft, werden in diesem Modus alle
            Versuche abgeblockt, Contentdateien direkt über den Parser
            aufzurufen (z.B. 'parser.php?file='). Dies ist wichtig, da ansonsten
            Dateien, die in einem per .htaccess-geschützen Verzeichnis liegen,
            dennoch über den Parser aufgerufen werden können.

    * getrennte 404 Fehler-Seiten
          o Eine separate 404 Fehler-Seite kann nun konfiguriert werden. Diese
            wird angezeigt, wenn eine Content-Datei nicht vorhanden und der
            Debug-Modus aus ist. Im Gegensatz zur normalen Fehler-Seite wird
            die 404 Fehler-Seite nicht durch einen HTTP-Redirect ausgeliefert.
            Daher bleibt die Adresse der URL im Browser-Fenster stehen, um dem
            User so die Möglichkeit zu geben, diese zu korrigieren.

    * Leerzeichen und Tabs
          o Der Parser entfernt nun keine Leerzeichen und -zeilen mehr aus
            Templates und Content Dateien.

    * Ignore Tag:
          o <phpcms:ignore>.....</phpcms:ignore> kann benutzt werden, um Teile
            von Content- und Template-Dateien "auszukommentieren". Alles, was
            dazwischen steht, wird weder geparst noch ausgegeben.

    * P3P
          o phpCMS unterstützt nun "Platform for Privacy Preferences Project"
            (P3P) HTTP header (http://w3c.org/P3P/), die via GUI konfiguriert
            werden können.

    * "Mail2Crypt" SPAM-Schutz (in der 1.1.9 als PAX MailCrypt eingeführt)
          o Mail2Crypt wurde reimplementiert und arbeitet nun unabhängig von
            PAX. Über die GUI kann Mail2Crypt aktiviert, und die Pfade zu den
            relevanten Dateien konfiguriert werden.
            Mail2Crypt's Tag-Syntax lautet nun <!-- MAIL2CRYPT mail@domain -->
            (Die alte Syntax <!-- MAILCRYPT mail@domain --> bleibt noch bis zur
            v1.3.0 erhalten).
            Die Einbindung der benötigten JS-Datei erfolgt nun automatisch, wenn
            ein Mail2Crypt-Tag innnerhalb einer Seite verwendet wird. Die
            "include/embed"-Tags werden nicht mehr gebraucht.

    * Dyna-Tags
          o erweiterte PAX Dyna-Tags-Logik, um Parameter in eigenen Tags zu
            erlauben.

************************
  MENU & SITEMAP
************************

    * PARENTCLASS
          o Neuer Parameter "PARENTCLASS" in {MENU} für mehr Flexibilität im
            Template hinzugefügt:
          o {MENU NAME="SUB1" PARENTCLASS="00.01"} zeigt das Menü mit dem Namen
            SUB1 an, das zum MENU-Eintrag 00.01 gehört.

    * SELF
          o Neuer Layout-Typ "SELF" für MENU- and TOC-Templates. Wenn es
            benutzt wird, wird der Menü-Eintrag der aktuellen Seite damit
            dargestellt - ansonsten wird das "ACTIVE"-Layout verwendet.

    * Parameter in URLs
          o Es können Parameter in den im Menü definierten URLs verwendet
            werden. Diese werden ebenfalls bei der Ermittlung des aktiven
            Menüpunktes berücksichtigt. (Wenn in der Content Datei keine
            Menü-Klasse angegeben ist.)

    * TOC
      Neue Parameter in den {TOC}-Befehl für Templates hinzugefügt:
          o {TOC CLASS="class" TOCTEMP="template"}
                + Ein mit 'TOCTEMP' definiertes (Sitemap-)Template kann auf
                  allen Menü-Ebenen verwendet werden. Hierdurch brauchen z.B.
                  nicht für drei Menü-Ebenen drei identische Templates verwendet
                  werden.

          o {TOC CLASS="class" TOCSUFFIX="suffix"}
                + Mit 'TOCSUFFIX' kann leicht zu einer alternativen
                  Templategruppe gewechselt werden.
                  Hierbei wird jeweils 'suffix' an den Menünamen angehängt,
                  aus 'MAIN' wird so 'MAINsuffix' und aus 'SUB1' wird
                  'SUBsuffix'.

          o Die Kombination {TOC CLASS="class" TOCTEMP="template"
            TOCSUFFIX="suffix"} hätte die gleiche Wirkung wie
            {TOC CLASS="class" TOCTEMP="templatesuffix"}.

          o {TOC CLASS="class" SHOWACTIVES}
                + Das Schlüsselwort 'SHOWACTIVES' erzwingt die
                  Berücksichtigung von 'ACTIVE' und 'SELF'. Diese werden
                  ansonsten nicht interpretiert, da die Sitemap selbst der
                  aktive Link wäre. Wird folglich nur benötigt, wenn TOC als
                  Menü auf verschiedenen Seiten verwendet wird.

************************
  VOLLTEXTSUCHE
************************

    * Suchformular und Such-Ergebnisseite können nun auf einer einzigen Seite
      angezeigt werden.

    * zusätzliche Fehlermeldungen können eingerichtet werden, um den Usern einen
      Hinweis zu geben, wenn sie nach einem Wort aus der Stopwort-Datei oder
      nach einem "verbotenen" Begriff suchen.

    * Volltextsuche erkennt nun automatisch die gzip-Kompression in den
      Such-Dateien. Der "hidden-input-tag"
      <input type="hidden" name="gzip" value="on" /> in Suchformularen wird nun
      nicht mehr benötigt.

    * <SEARCH_MIDDLE> wurde eingeführt, das in der home.tag definiert werden
      kann. Es wird zwischen dem "zurück-" und "weiter"-Link ausgegeben. Wenn
      es undefiniert ist, wird es durch " "  ersetzt.

************************
                                  HTTP- UND FILE-INDEXER
************************

    * Der File-Indexer unterstützt nun lokale Stop-Wort-Dateien.

    * Im File-Indexer können beliebig viele zu indizierende Felder konfiguriert
      werden.

    * Stop-Wort-Dateien können durch den File-Indexer optimiert werden. Diese
      Optimierung löscht doppelte Einträge, sortiert Stop-Wörter in
      alphabetischer Reihenfolge, und konvertiert sie ins richtige
      (kleingeschriebene) Format.

    * Einführung eines Index-Ausschluss Tags. (HTTP- und File-Indexer)
      <phpcms:noindex> .... </phpcms:noindex> kann benutzt werden, um Teile
      des Contents oder Templates (wie Menüs etc.) auszuchliessen, so dass sie
      nicht indiziert werden. Links innerhalb des Nonindex Tags werden dennoch
      gespidert.

    * Einführung eines Spider-Ausschluss Tags (HTTP-Indexer)
      <phpcms:nofollow> ... </phpcms:nofollow> kann benutzt werden, um darin
      eingeschlossene Links vom Spidervorgang auszuschliessen.

    * verbesserter HTTP-Indexer Profil-Wizard
      Pfad Eintellungen für das Spidern/inclusion/exclusion können nun
      editiert werden.

    * Der HTTP-Indexer unterstützt nun das Manipulieren/Ersetzen von Teilen
      der URIs nach dem Indizieren per Regular Expression

    * Auch Zahlen werden nun indiziert und unterliegen keiner Mindestlänge.


************************
     CACHE
************************

    * Verbessertes Handling von serverseitigen, gecachten Dateien.
      Mehrere virtuelle Domains können nun mit einer phpCMS Installation
      betrieben werden und sich das Cache Verzeichnis teilen. Um
      Dateinamen-Konflikte zu vermeiden, werden die Cache-Dateien unter
      einem MD5-verschlüsselten, aus Domainnamen und komplettem Pfad der
      gecachten Datei zusammengesetzen Namen gespeichert.

************************
   STATISTIKEN
************************

    * "Top Referrer" und "Last Referrer" können protokollieret und mit einem
       mitgelieferten Plug-in dargestellt werden. Das Loggen der Referrer kann
       konfiguriert werden und läuft unabhänging vom Statistik-Modul. Die
       Darstellung der Referrer-Daten auf einen Seiten ist ebenfalls
       konfigurierbar.

************************
  GUI
************************

    * Komplett neuer File-Manager mit integrierter Cache-Ansicht im GUI.
          o verwendet Dateitypen Bibliothek mit Icons für alle gängigen
            Dateitypen und für die zum Erstellen neuer Dateien verwendeten
            Templates.
          o Dateiliste ist auf-und absteigend sortierbar für alle Eigenschaften.
          o Es kann zwischen Highlight- und Editier-Ansicht gewechselt werden,
            ohne Änderungen zu verlieren.
          o Ein im Browser ausführbare Datei wird nun in einem neuen Fenster
            geöffnet.
          o jetzt mit Multi-Kopier-/Umbenn-Funktion:
                + optionale Verwendung von Prä- und/oder Suffix für den
                  ausgewählten Dateinamen oder Ordner.
                + bei bereits bestehenden Dateien wird vor dem Überschreiben
                  nachgefragt.
          o Kürzung der Darstellung überlanger Dateinamen in Filemanager und
            Cache-Ansicht kann im GUI konfiguriert werden. Der vollständige
            Dateiname ist bei MouseOver sichtbar.

    * verbesserte Usability des phpCMS Konfigurations-Fensters.
      Untereinstellungen werden verborgen, wenn die übergeordnete Funktion
      deaktiviert ist.

************************
  DEBUG-MODUS
************************

    * Komplett neu geschriebener, Passwort-geschützer Debug-Modus mit vielen
      Funktionen. Aufgerufen durch Hinzufügen von "?debug" als Parameter an
      eine URI (z.B. http://www.meineseite.de/index.htm?debug)

************************
  ONLINE-EDITOR
************************

    * Sicherheitsrelevante Verbesserungen:
          o Online-Editor kann nun über die GUI abgeschalte werden, wenn er
            nicht benötigt wird (standardmässig auf "off")
          o Einige Standard-Passwörter sind nun als Editor-Passwörter nicht
            mehr erlaubt.

    * mehrere Editor-Passwörter können innerhalb eines Projekts gesetzt werden,
      durch Kommata getrennt:
        EDITPASSWORD := password1, password2, password3, ...
      Dadurch ist es z.B. möglich, verschiedene Passwörter für unterschiedliche
      Seiten zu vergeben, und zusätzlich ein "Master-Passwort" für alle Seiten.

    * mehrere kleine Verbesserungen am Online Editor.

************************
   BUG FIXES
************************

    * Viele Bug-Fixe and Verbesserungen.
      Nährere Infos dazu im CHANGELOG und im phpCMS Bug-Tracker bei SourceForge
      (http://www.sourceforge.net/projects/phpcms).
