@DATABASE TruncateMail.guide
@AUTHOR "Marek Szyprowski"
@(C) Marek Szyprowski 2000
@$VER 1.2 (03.09.2000)
@NODE MAIN "TruncateMail.guide"




       @{"  Polski  " LINK Polski}                   @{"  English  " LINK English}




@ENDNODE

@NODE Polski "Spis treôci"

      Spis Treôci:

 @{" Wprowadzenie " link wprowadzenie}      Co to jest?
 @{" Moûliwoôci " link mozliwosci}        Co oferuje program?

 @{" Instalacja " link instalacja}        Jak zainstalowaê?
 @{" Konfiguracja " link konfiguracja}      Co moûna zmieniê?

 @{" Skîadnia " link skladnia}          Jak go uûywaê?

 @{" Prawa autorskie " link prawa_autorskie}   Jakie jest status programu?

 @{" Bîëdy " link bledy}             Czy coô dziaîa nie tak?
 @{" Przyszîoôê " link przyszlosc}        Co nowego w przyszîoôci?
 @{" Historia " link historia}          Co byîo wczeôniej?

 @{" Autor " link autor}             Co wiadomo o autorze?


@ENDNODE

@NODE wprowadzenie "Wprowadzenie"

@{b}@{fg shine}Co to jest? @{fg text}@{ub}

@{b}Truncate Mail@{ub} to program napisany w C, którego zadaniem jest
usuwanie wszystkich zbëdnych czëôci listów e-mail - wiëkszoôci nie
uûywanych pól z nagîówka oraz reklam doklejanych przez róûne
serwery (np. list dyskusyjnych, czy darmowych kont). Efekt jest
zdumiewajâcy. Przeciëtne maile z list dyskusyjnych chudnâ nawet o
45%. Moûe nie jest to duûe zysk na pojedyïczym  pliku, jednak
najczëôciej takich plików sâ setki lub nawet tysiâce...


@ENDNODE
@NODE mozliwosci "Moûliwoôci"

@{b}@{fg shine}Co oferuje program?@{fg text}@{ub}

* moûliwoôê peînej konfiguracji programu poprzez plik konfiguracyjny

* rozpoznaje i omija zaîâczniki do listów

* jest bardzo szybki - przetworzenie 500 listów z listy dyskusyjnej
  WFMH AmigaPL trwa u mnie ok. 15 sekund

* wspóîpracuje z @{b}YAM@{ub}em dziëki dodatkowemu skryptowi w arexxie

* nie wymaga duûo pamiëci (tylko kilkanaôcie kilobajtów - nawet do
  przetworzenia bardzo duûych listów)

@ENDNODE

@NODE instalacja "Instalacja"

@{b}@{fg shine}Jak zainstalowaê?@{fg text}@{ub}

Instalacja jest bardzo prosta. Wystarczy przekopiowaê plik
"truncatemail" do katalogu C:, a plik "truncatemail.prefs" do
katalogu ENVARC: na dysku systemowym.

Jeûeli chcemy uruchamiaê @{b}Truncate Mail@{ub}a bezpoôrednio z
poziomu @{b}YAM@{ub}a, musimy zainstalowaê dodatkowy skrypt w arexxie.
Plik "TruncateFolder.yam" naleûy skopiowaê do katalogu
"YAM:rexx". Nastëpnie w oknie konfiguracyjnym programu @{b}YAM@{ub},
w zakîadce "Arexx" naleûy jeden z "wpisów do menu Skrypty"
nazwaê TruncateFolder, typ ustawiê na "AmigaDOS", a w pole skrypt
wpisaê "run >nil: rx rexx/TruncateFolder.yam". Naleûy równieû
zaznaczyê opcjë "Czekaj na zakoïczenie".

@ENDNODE
@NODE konfiguracja "Konfiguracja"

@{b}@{fg shine}Co moûna zmieniê?@{fg text}@{ub}

Po uruchomieniu @{b}TruncateMail@{ub} sprawdza plik konfiguracyjny
ENVARC:truncatemail.prefs. Plik ten skîada sië z 2 linii.

W pierwszej zapisane sâ nazwy pól (pooddzielane spacjami), jakie
program ma pozostawiê w wynikowym liôcie. Na tâ listë nie ma
potrzeby wpisywania pola "content" (i wszystkich z nim
zwiâzanych) - jest ono specjalnie traktowane i nigdy nie zostanie
skasowane, gdyû dotyczy ono zaîâczników.

Druga linia zawiera znaki (równieû pooddzielane spacjami),
z których zbudowana jest linia rozpoczynajâca reklamë.

Oto przykîadowy plik konfiguracyjny:

@{fg back}@{bg text}from: to: date: subject: reply-to: message-id:
- _ =                                         @{bg back}@{fg text}

@ENDNODE
@NODE skladnia "Skîadnia"

@{b}@{fg shine}Jak go uûywaê?@{fg text}@{ub}

Wzorzec wywoîania programu to:

truncatemail PATTERN/A CHECKDATE/S

Parametr PATTERN oznacza dowolny poprawny wzorzec AmigaDOSu (np.
YAM:aminet/0#?). Okreôla on, jakie pliki przetworzy program.

Przeîâcznik CHECKDATE kaûe programowi porównaê datë
przetwarzanych plików z datâ pliku kontrolnego ".lasttruncated",
znajdujâcego sië w tym samym katalogu. Wszystkie pliki starsze od
niego zostanâ zignorowane. Na koniec program uaktualni datë pliku
kontrolnego.

Oto przykîadowe wywoîania programu:

@{fg back}@{bg text}truncatemail Yam:aminet/08247.009@{fg text}@{bg back}
Program wytnie zbëdne czëôci w liôcie Yam:aminet/08247.009.

@{fg back}@{bg text}truncatemail Yam:amigapl/0#? checkdate@{fg text}@{bg back}
Program przetworzy wszystkie nowe (od poprzedniego uruchomienia)
pliki w katalogu Yam:amigapl, pasujâce do wzorca "0#?".

Jeszcze prostsze jest korzystanie z programu z poziomu @{b}YAM@{ub}a,
jeûeli mamy zainstalowany skrypt "TruncateFolder.yam". Wystarczy
wybraê opcjë "TruncateFolder" z menu Skrypty, a program sam
przetworzy wszystkie nowe (od poprzedniego jego uruchomienia)
listy w aktualnej teczce. Aby zaoszczëdziê czas skrypt nie kaûe
aktualizowaê indeksu danej teczki, przez co @{b}YAM@{ub} bëdzie pokazywaî
trochë wiëksze rozmiary plików z listami. Nie przeszkadza to jednak
w pracy.

@ENDNODE
@NODE prawa_autorskie "Prawa autorskie"

@{b}@{fg shine}Jaki jest status programu?@{fg text}@{ub}

Program jest programem freeware. Moûesz dowolnie rozpowszechniaê
niezmienione wersje. Autor nie bierze ûadnej odpowiedzialnoôci za
dziaîanie programu i ewentualne szkody wyrzâdzone przez niego
(np. skasowanie listu). Uûywasz go na wîasne ryzyko!

@ENDNODE
@NODE bledy "Bîëdy"

@{b}@{fg shine}Czy coô dziaîa nie tak?@{fg text}@{ub}

Niektórzy budujâ ramki  wokóî sygnaturek ze znaków "-", "_" i
"=", co powoduje, ûe TruncateMail rozpoznaje je jako reklamy i
usuwa.

Program "gîupieje" jeûeli pola CONTENT w nagîówku majâ bîëdnâ
zawartoôê.
               
Skrypt TruncateFolder.yam nie potrafi znaleúê katalogu teczki,
jeûeli jej ôcieûka dostëpu zawiera spacje.
 
@ENDNODE
@NODE przyszlosc "Przyszîoôê"

@{b}@{fg shine}Co nowego w przyszîoôci?@{fg text}@{ub}

* Poprawa ewentualnych bîëdów
   
* Obsîuga plików Mailbox
 
Jeûeli chciaîbyô, abym dodaê coô, napisz @{"do mnie" link autor}.

@ENDNODE
@NODE historia "Historia"

@{b}@{fg shine}Co byîo wczeôniej?@{fg text}@{ub}

v1.x - bardzo wolno dziaîajâce makro w arexxie

v2.x - skrypt w AmigaDOSie - proteza i program napisany w czystym
       ANSI C

v3.0 - samodzielny program napisany w C z wykorzystaniem amigowych
       bibliotek

v3.01 - usuniëty gîupi bîâd - TruncateMail nie mógî odczytaê preferencji
            
v3.1 - program zrekompilowany pod GCC
     - nowa, mniejsza procedura inicjujâca;
     - zredukowane do minimum uûycie stosu (wymaga tylko ok. 500 bajtów)
               
v3.11 - usuniëty gîupi bîâd wprowadzony w poprzedniej wersji - w pewnych
        okolicznoôciach program kasowaî caîâ treôê listu.

v3.2 - nowa procedura usuwajâca reklamy (wycina równieû reklamy dodawane
       na poczâtku listu - np. przez serwery eGroups)
     - plik kontrolny ".lasttruncate" nie ma juû dîugoôci 0, co powinno
       zapobiec problemom z program PFSDefrag.
     - poprawne obsîugiwanie listów napisanych w HTMLu (Content-Type:
       multipart/alternative)
         
@ENDNODE
@NODE autor "Informacje o autorze"

@{b}@{fg shine}Co wiadomo o autorze?@{fg text}@{ub}

Autorem programu jest Marek Szyprowski. Jeûeli masz jakieô uwagi lub
sugestie napisz do mnie: march@staszic.waw.pl.

@ENDNODE

@NODE english "Contents"

      Contents:

 @{" Introduction " link introduction}      What is this?
 @{" Features " link features}          What this tool can?

 @{" Installation " link installation}      Haw to install it?
 @{" Configuration " link configuration}     What You can change?

 @{" Syntax and usage " link syntax}  How to use it?

 @{" Copyrights " link copyrights}        Can You copy it?

 @{" Bugs " link bugs}              What works wrong?
 @{" Future " link future}            What will be in the future?
 @{" History " link history}           What we know about earlier versions?

 @{" Author " link author}            What is known about author?


@ENDNODE

@NODE introduction "Introduction"

@{b}@{fg shine}What is this?@{fg text}@{ub}

@{fg text}TruncateMail@{fg text} is a small tool written in C, which removes all
unnecessary parts from e-mail files - most lines from header and
advetisments added by various servers. After this operation
typical mail from mailing lists is about 45% smaller!

@ENDNODE
@NODE features "Features"

@{b}@{fg shine}What this tool can?@{fg text}@{ub}

* it is fully configurable by editing prefs file

* while processing mail files do not affect any attachments

* it is very fast - processing 500 typical mails from WFMH
  AmigaPL mailing list takes about 15 seconds on my system

* works with @{b}YAM@{ub} through additional arexx script

* do not need much memory - only a few kilobytes, even while
  processing big files

@ENDNODE

@NODE installation "Installation"

@{b}@{fg shine}How to install?@{fg text}@{ub}
                  
Installation is easy. Just copy "truncatemail" file to C:
directory and "truncatemail.prefs" to ENVARC: directory.

If You want to run @{b}TruncateMail@{ub} from YAM, You have to install
additional arexx script. Copy "TruncateFolder.yam" file to
"YAM:rexx" directory. Then, open YAM Configuration window and go
to "Arexx" options. Select one of "Script menu entry" items. Name
it "TruncateFolder", type change to "AmigaDOS" and as "Script"
write "run >nil: rx rexx/TruncateFolder.yam". Then select option
"Wait for temination".

@ENDNODE
@NODE configuration "Configuration"

@{b}@{fg shine}What You can change?@{fg text}@{ub}

After start @{fg text}TruncateMail@{fg text} checks his configuration file
ENVARC:truncatemail.prefs. That file has 2 lines:
 
In first line there are written names of fields from header,
which @{fg text}TruncateMail@{fg text} will not remove. They are separated by space
char. On this list there isn't "CONTENT" field, because it
contains informations about attachments, so it shouldn't be
removed. 

Second line contains chars (separated by space char), from which
a first line of advertisements is usually built.
 
This is a example prefs file:

@{fg back}@{bg text}from: to: date: subject: reply-to: message-id:
- _ =                                         @{bg back}@{fg text}

@ENDNODE
@NODE syntax "Syntax"

@{b}@{fg shine}How to use it?@{fg text}@{ub}

The syntax is:

truncate_mail PATTERN/A CHECKDATE/S

PATTERN is any correct AmigaDOS pattern (i.e. YAM:aminet/0#?). It
determinates which files @{b}TruncateMail@{ub} will process.

CHECKDATE is a switch which determinates wheather @{b}TruncateMail@{ub}
will compare dates of processed files with date of special,
control file ".lasttruncated", located in the same dir. All files
which are earlier than control file will be ignored. Then, the
date of ".lasttruncated" file will be actualized.

Examples:

@{fg back}@{bg text}truncatemail Yam:aminet/08247.009@{fg text}@{bg back}
@{b}TruncateMail@{ub} will remove all unnecessary parts from
Yam:aminet/08247.009 mail.

@{fg back}@{bg text}truncatemail Yam:amigapl/0#? checkdate@{fg text}@{bg back}
@{b}TruncateMail@{ub} will process all new (later than control
file) files in dir Yam:amigapl, which fit to "0#?" pattern.
                                       
Evem easier You can use it from @{b}YAM@{ub}, if you have
"TruncateFolder.yam" script installed. Just select
"TruncateFolder" item from menu "Scripts" and @{b}TruncateMail@{ub} will
process all new (later than control file) mail files in curent
folder. To save time arexx script will not update index of the
folder, so @{b}YAM@{ub} will not show that mails are smaller.

@ENDNODE
@NODE copyrights "Copyrights"

@{b}@{fg shine}Can You copy it?@{fg text}@{ub}

@{b}TruncateMail@{ub} is a freeware tool. You can copy or distribute
unmodified version as You wish. Author do not take any
responsible of any damage done by this tool. Use it at Your own risk!

@ENDNODE
@NODE Bugs "Bugs"

@{b}@{fg shine}What works wrong?@{fg text}@{ub}
            
Somebody makes frames around signatures from "-", "_" or "="
chars. @{b}TruncateMail@{ub} will recognise them as advertisements and
remove.

@{b}TruncateMail@{ub} do not works correctly when CONTENT lines in header
are corrupted.
      
TruncateFolder.yam arexx script could not find the folder directory, if
path contains space-char.
 
@ENDNODE
@NODE future "Future"

@{b}@{fg shine}What will be in the future?@{fg text}@{ub}

* Remove bugs
                  
* Add support for mailbox-file format
  
If You have any suggestion write @{"to me" link author}.

@ENDNODE
@NODE history "History"

@{b}@{fg shine}What we know about earlier versions?@{fg text}@{ub}

v1.x - very slow arexx script

v2.x - script in AmigaDOS and tool written in pure ANSI C

v3.0 - standalone tool written in C

v3.01 - removed stupid bug - TruncateMail couln't read prefs

v3.1 - recompiled with GCC
     - new, smaller init procedure
     - reduced stack usage (now TruncateMail needs only about
       500 bytes of stack)
       
v3.11 - removed stupid bug introduced in previous version -
        TruncateMail sometimes removed everything from body
        of mail.

v3.2 - new advertisements removing procedure - it also removes
       advertisements from the top of e-mail body (like these added
       by eGroups mailing lists)
     - size of file ".lasttruncated" is not 0, so problems with
       PFSDefrag should go away
     - better support for e-mails written in HTML (Content-Type:
       multipart/alternative)

 
@ENDNODE
@NODE author "Author"

@{b}@{fg shine}What is known about author?@{fg text}@{ub}

The author of @{b}TruncateMail@{ub} is Marek Szyprowski. If You have any
suggestions send me e-mail: march@staszic.waw.pl.
 
@ENDNODE
