CRUNCHER fr MagicBox SL
========================

 nderungen gegenber der letzten Beschreibung sind mit dem nderungs      #
 Kennzeichen "#" in der Spalte 75 jeder Zeile markiert!                    #

Version 2.08 (31.01.1993)                                                  #



Inhalt
------

I  Einfhrung
1.1  Konzept des Crunchens
1.2  Begriffe
1.3  Installation

II  Benutzung
2.1  Mglichkeiten des Crunchers
2.2  Programmparameter des Crunchers
2.3  Arbeitsweise des Crunchers

III  Dateien

IV  Haftungsausschlu und Warnung

V  Autor


I  Einfhrung
-------------

1.1  Konzept des Crunchens

  In einer Mailbox sammeln sich mit der Zeit immer mehr Nachrichten an.
  Ein SYSOP mu nun dafr sorgen, da die Nachrichten, die sich in der
  Mailbox befinden nicht zu alt, und somit zu langweilig werden. ltere
  Nachrichten sollten daher regelmig gelscht werden.
  
  Des weiteren wird eine Mailbox unbersichtlich, wenn in einem Brett
  zuviel Nachrichten aufgehoben werden. Man hat dann zwar die Mglich-
  keit alte Informationen immer wieder zu finden, aber aufgrund der
  groen Datenmenge, die weiterhin verwaltet werden mu, wird das Programm
  zwangsweise langsamer.
  
  Der Befehl LSCHEN oder KILL entfernt aus der Mailbox eine Nachricht
  nicht wirklich, sondern markiert diese nur als gelscht. Dadurch werden
  diese Befehle viel schneller, als wenn beim Lschen die Nachricht auch
  physikalisch entfernt werden mu. 
  
  Aus diesen Grnden gibt es Programme, die einen Teil, oder eine ganze
  Mailbox durchsuchen und alte, doppelte oder zuviel Nachrichten auch
  physikalisch aus den Dateien entfernen und somit dem Sysop die
  Mglichkeit geben, auch mal die Mailbox lngere Zeit alleine zu lassen,
  ohne gleich zu Befrchten mssen, da die Festplatte in Krze
  berfllt ist.
  
  Ein solcher Cruncher ist ebenfalls in MagicBox SL enthalten.

1.2  Begriffe

  Nachfolgend werden die einzelnen Begriffe beschrieben, die im Kapitel
  1.3 Installation wieder verwendet werden.
  
  - BINR (Bin-Bretter)
    In BIN-Bretter werden Programme gespeichert, die andere User downladen
    knnen. Da es meistens unerwnscht ist, da alte Programme gelscht
    werden, kann der Cruncher diese Bretter berspringen
    
  - Cruncheintrag:
    Im Bretteditor kann unter CRUNCHEN AB: ein Wert eingetragen werden,
    der vom Cruncher ausgewertet wird. Dieser Wert bestimmt die maximale
    Anzahl von Nachrichten, die in diesem Brett verbleiben drfen.
    Als Besonderheit dient der Eintrag "0", der dem Cruncher andeutet,     #
    da das Brett beim Crunchen bergangen werden soll.                    #

  - DUPE's:
    Diese Dinger sind identische Nachrichten, die durch Fehlfunktionen im
    Netz erzeugt wurden. In einem Brett steht somit die gleiche Mail
    mehrfach. Da es nur Speicherplatz und Nerven der User kostet, ist es
    natrlich uninteressant solche Dupes in der Mailbox zu belassen.
    
  - Ereignis:
    Ein Ereignis ist ein tglich wiederkehrender Prozess. Zu einer
    bestimmten Uhrzeit kann ein Programm automatisch gestartet werden.

  - Parameter:
    Jedem Programm knnen Parameter beim Aufruf bergeben werden. Das
    bedeutet, da man so einem Programm mitteilen kann, was es denn
    eigentlich tun soll. Diese Parameter sind je Programm verschieden
    und fr den Cruncher im Abschnitt 2.2 erklrt!
    
  - PM: (Private Mails)
    PM's werden getrennt verwaltet. Der Cruncher hat aber auch eine
    Routine um die PM's crunchen zu knnen.
    
  - Verfalltage:
    Um Nachrichten nicht zu alt werden zu lassen kann man die Anzahl der
    Verfalltage angeben. Das heit, da eine Nachricht nach einer Anzahl
    von Tagen fr den User uninteressant ist und daher gelscht werden
    soll.

1.3  Installation

   Kopieren Sie das Programm CRUNCHER.GTP in den PROGRAMM-Ordner, oder
   in einen beliebigen Ordner auf dem gleichen Laufwerk, auf dem auch
   MagicBox SL installiert ist.
   
   Es gibt dann zwei Mglichkeiten das Programm einzubinden:

   1. Als Ereignis. Dazu sind beispielsweise folgende Schritte notwendig:

      - Einloggen
      - EDIT EREIGNIS
      - Angabe der Uhrzeit, Art = PROGRAMM,
        Parameter = \MAGICBOX\PROGRAMM\CRUNCHER.TTP -P -%80 -Z -B -D

      Die Parameter sind also mit einem Leerzeichen hinter den Programmnamen
      anzugeben (Beschreibung der Parameter im Abschnitt 2.2)!

      In diesem Falle wird IMMER die KOMPLETTE Box gecruncht!!!!!
   
   2. Als eigener Befehl! (siehe auch Beschreibung der BEFEHLE.CNF!)
      Nachfolgend ein Beispiel

      - In die Datei BEFEHLE.CNF folgende Zeilen eintragen:
        ; ---------------------------------------------------
        PROGRAMM
        QUick-crunch
        8
        \MAGICBOX\PROGRAMM\CRUNCHER.TTP -a
        ; ---------------------------------------------------
      - Auch hier die Parameter mit einem Leerzeichen getrennt vom Programm-
        namen angeben!
      - Nun kann mit 'QU' der Cruncher gestartet werden, wobei er lediglich
        das Brett bearbeitet, in dem sich der User befindet!
      - Mit 'QU -B -P -K' wrde der Cruncher mit PM und BIN-Crunch ber
        die komplette Box gestartet!
        Beschreibung der Parameter im Abschnitt 2.2!

II  Benutzung
-------------

2.1  Mglichkeiten des Crunchers

  Es wurde Wert darauf gelegt, da der Cruncher mglichst schnell arbeitet.
  Das wurde dadurch realisiert, da die meisten Aktionen im Ramspeicher
  des Computers ablaufen. Achtung es wird KEIN TT-Ram untersttzt!
  
  Was kann man nun alles mit den Nachrichten der Box anstellen?
  
  - Auswahlmglichkeit, ob PM's gecruncht werden sollen oder nicht
  - Auswahlmglichkeit, ob BIN-Bretter gecruncht werden sollen oder nicht
  - Einstellmglichkeit, wieviel Mails aus den Brettern entfernt werden
  - Einstellmglichkeit, auf wieviel % ein Brett gecruncht werden soll.
  - Einstellmglichkeit, ob nur bereits gelschte Mails entfernt werden.
  - Einstellmglichkeit eines Verfalldatums
  - Auswahlmglichkeit, ob DUPES gesucht und gelscht werden sollen.
  - bersprungmglichkeit einzelner Bretter!

2.2  Programmparameter des Crunchers.

  Wenn der Cruncher installiert wird (siehe Kapitel 1.3) sind die
  gewnschten Programmparameter anzugeben. Der Cruncher hat davon jede
  Menge.
  
  Jeder Parameter beginnt mit einem - und einem Buchstaben! Manche
  Parameter erfordern auch noch Zahlenwerte DIREKT IM ANSCHLU, also
  OHNE LEERZEICHEN!
  
  Werden mehrere Parameter angegeben, so ist jeweils zwischen den Programm-
  parametern ein Leerzeichen einzufgen.
  
  Nun der Aufruf des Programms mit der Beschreibung der Parameter:
  
   CRUNCHER.GTP {[{-%[nn]}{-M[nn]}] [-p[m]] [-b[inr] [-u[pdate]]]
                [-a[nzeigen]] [-z[wingend]] [-k[omplett]]
		[-g[elscht] [-d[upekiller]] [-v[nn]] }{[-?]}

   -%nn   = Mu ein Brett gecruncht werden, so enthllt es hinterher noch
            nn % der Nachrichten die bei 'Crunchen ab' eingestellt sind.
            Wird nn nicht angegeben, wird der Standardwert bernommen.
            (Standardwert = 90%     Bei Eintrag 200 -> bleiben 180 Mails)
            (MIN-MAX = 50 - 100)

   -Mnn   = Mu ein Brett gecruncht werden, so enthllt es hinterher noch
            die Anzahl der Nachrichten, die bei 'Crunchen ab' eingestellt
            sind, minus nn. Wird nn nicht eingegeben, so wird der Standard-
            wert bernommen.
            (Standardwert = 10, MIN-MAX = 1 - 50)

   Die Parameter -% und  -M schlieen sich gegenseitig aus! Werden beide
   Angegeben, so wird der bernommen, der zuletzt angegeben wurde.

   -PM    = Das Persnliche Fach wird auch durchsucht, wobei hier lediglich
   -P       die Nachrichten gecruncht werden, die auch gelscht wurden.

   -BINR = Die Binr-bretter werden durchsucht, wobei auch hier lediglich
   -B       die Nachrichten gecruncht werden, die auch gelscht wurden.
            ACHTUNG wenn dieser Parameter angegeben ist, dann wird der
            Eintrag in der Brettdatei bei 'Crunchen ab' ignoriert! Es
            werden die BIN-Bretter IMMER gecruncht, auch wenn der Eintrag
            '0' wre! Wobei BIN-Bretter nur von gelschten Mails           #
            befreit werden. Ein automatisches entfernen von ungelschten   #
            Mails wird NICHT durchgefhrt!                                 #

   -UPDATE
   -U     = Upgedatete Programme werden mit neuem Betreff aufgenommen.
            (geht nur als Befehlsparameter)

   -ANZEIGEN
   -A     = Wird ein Brett gecruncht, werden normalerweise nur '*'chen
            ausgegeben. Wurde aber der Parameter -A oder -ANZEIGEN ber-
            geben, so wird pro Mail eine Zeile ausgegeben, die folgenden
            Inhalt hat:
                               Absender,Empfnger,Gelesen,Datum,Betreff
            Angezeigte Lnge:    19        19        2      6     28
            
            Bei BIN-Bretters sieht die Ausgabe genauso aus, nur da im
            Betreff der Programmname steht!
            (geht nur ber serielle Schnittstelle!)

   -GELSCHT
   -G     = Von jedem Brett wird die BRETT.IND eingelesen und geprft, ob
            eine Mail gelscht wurde. Ist dies der Fall, dann wird das
            Brett gecruncht.
            Das bedeutet allerding einen Zeitverlust von ca. 250 % !
            Ohne -G werden 100 Bretter in ca. 10 Sekunden berprft, mit
            -G und ca. 40 Mails pro Brett werden 25 Sekunden bentigt.

   -Vnn   = Verfalltage fr die GANZE(!!!!) Mailbox. Bei nn kann die
            Anzahl der Tage angegeben werden, wie lange die Nachrichten
            maximal in den Brettern bleiben drfen! Wird V angegeben, so
            ist G automatisch aktiv! Gltige Werte gehen von 2 Jahre bis
            28 Tage. Wird fr nn ein falscher Wert angegeben, so werden
            366 Tage angenommen.
            Bretter mit dem Cruncheintrag '0' werden NICHT gecruncht!

   -DUPEKILLER
   -D     = Es werden alle Mails auf doppeltes Vorkommen berprft.
            Doppelte Mails werden aus der Box entfernt.

   -ZWINGEND
   -Z     = Die Datei MAGICBOX.FIL wird zwingend nach dem Programmlauf
            abgespeichert. In dieser Datei sind die Informationen ber
            die Anzahl der Mails in den Brettern enthalten. Normalerweise
            wird die Datei nur abgespeichert, wenn ein Brett gecruncht
            wurde! Um den Wartebildschirm mit den richtigen Mailzahlen     #
            zu versorgen, sollte bei einer Erstinstallation der Cruncher   #
            einmal mit dem Parameter -Z gestartet werden.                  #

   -KOMPLETT
   -K     = Wird das Programm als Befehl aufgerufen, wird nur das Brett
            gecruncht, in dem man sich gerade befindet. Wird dieser
            Parameter allerdings mit bergeben, so wird die komplette
            Box gecruncht!

   -?     = Gibt einen Hilfstext auf dem Bildschirm aus
   
   Wird kein Parameter bergeben, so ist folgende Einstellung aktiv:

   Crunchen auf 90 %, PM nicht crunchen, BIN-Bretter nicht crunchen,
   Kein Dupekiller, kein Verfalldatum!                                     #

2.3  Arbeitsweise des Crunchers

   Das Programm berprft, ob die Lnge der BRETT.IND-Datei grer ist,
   als der in der MAGICBOX.FIL angegebene Crunchwert * 520. Ist dies der
   Fall, so wird das Brett gecruncht.
   
   Eine Ausnahme gibt es natrlich: Ist der Crunch-Eintrag in der
   MAGICBOX.FIL = 0, so wird das Brett bersprungen! Nun die Ausnahme
   der Ausnahme: wenn das Brett ein BIN-Brett ist und der Parameter -B
   bergeben wurde wird trotzdem gecruncht!
   
   Wird das Programm online gestartet, dann wird nur das Brett bearbeitet, #
   in dem man sich gerade befindet. Dieses Brett wird nun auf alle Flle   #
   gecruncht. Bei einem Cruncheintrag von 0, werden nur evtl. gelschte    #
   Nachrichten entfernt!                                                   #

   Wird der Parameter -G bergeben, so wird das Brett gecruncht, wenn
   eine Mail darin gelscht wurde.

   Die Dateien MAGICBOX.FIL und die jeweilige Indexdatei wird KOMPLETT in
   den Speicher geladen, damit die entsprechende Geschwindigkeit erzielt
   werden kann. 

   Des weiteren wird versucht die neue Datendatei ebenfalls komplett im
   Speicher zu erzeugen. Hier ist aber auch ein schrittweises Crunchen
   realisiert. Als minimaler Speicher fr die Datendatei sind 4000 Byte
   reserviert!

III  Dateien
------------

  Das Programm greift auf folgende Dateien von MagicBox SL zu. Daraus
  ergibt sich, da wenn eine dieser Dateien durch einen Update von
  MagicBox SL in der Struktur verndert wird, kann fr die korrekte
  Funktion des Programms nicht garantiert werden.
  
   \MAGICBOX\SYSTEM\MAGICBOX.FIL               -> Brettdatei

   \MAGICBOX\SYSTEM\MAGICBOX.PMD               -> PM-Daten
                             PMI               -> PM-Index

   <laufw>:\MAGICBOX\BRETTER\<brett>\BRETT.DAT -> Brett-Daten
                                           IND -> Brett-Index

   \MAGICBOX\SYSTEM\CRNCH.PMD                  -> Zwischendatei: PM-Daten
                          PMI                  -> Zwischendatei: PM-Index
   <laufw>:\MAGICBOX\BRETTER\<brett>\CRNCH.DAT -> Zwischendatei: Brett-Daten
                                           IND -> Zwischendatei: Brett-Index

   Daraus folgert, da das Programm auf dem gleichen Laufwerk installiert
   sein mu, wie der SYSTEM-Ordner!

IV  Haftungsausschlu und Warnung
---------------------------------

  Das Programm wurde lngere Zeit auf Herz und Nieren getestet. Dennoch
  kann ich keine Haftung fr evtl. durch dieses Programm verursachte
  Schden bernehmen.
  
  Gelschte Nachrichten sind nach einem Durchlauf unwiederbringlich
  verloren, durch unberlegte Parameterauswahl, die mit einem verkehrten
  Systemdatum zusammentrifft, kann die komplette Box gelscht werden!
  
V  Autor
--------

  Geschrieben wurde der Quick-Crunch von Michael Pieper in Pure-C 1.0
                     ab Version 2.06 von Michael Pieper in Pure-C 1.1

  Dokumentation von Michael Pieper, 12. Dezember 1992
         Update von Michael Pieper, 31. Januar   1993

  Anschrift: Michael Pieper      Mailadresse: MagicNET:ALADIN@STARBOX
             Flurstrae 5                     LightNET:ALADIN@COLUMBIA
             8906 Gersthofen
 (ab 1.7.93) 86368 Gersthofen

       Tel.: 0821 495633


