MiniMate - Ein Verwaltungswerkzeug fr MiniVend
***********************************************

MiniMate, vormals MaxiVend genannt, ist ein WWW-Frontend fr MiniVend.
Programmiert wurde MaxiVend von Mike Heins, dem Autor von MiniVend. MiniMate
erlaubt es, die folgenden Aufgaben auf einfache Art und Weise durchzuf
hren: 
     
   * MiniVend-Datenbanken editieren
   * Seiten und andere Dateien (z.B. Bilder) holen und ablegen
   * ...

Lizenz
******

Fr MiniMate gelten die Bedingungen der GPL (URL:
http://www.gnu.org/copyleft/gpl.html).

Startseite, Version und Download
********************************

Die neuesten Informationen ber MiniMate werden auf 
http://www.linuxia.net/minimate/ zur Verfgung gestellt. Wenn Sie ber
aktuelle Entwicklungen informiert werden mchten, schreiben Sie bitte eine
Email an <racke@linuxia.net>.

Die Version von MiniMate ist z.Z. `3.14.0.3'. Ein Archiv mit dieser Version
kann von dieser Website (URL: minimate.tar.gz) und von ftp.minivend.com (URL:
ftp://ftp.minivend.com/pub/minimate/minimate.tar.gz) (tglich aktualisiert)
heruntergeladen werden und ist fr alle Betriebssysteme geeignet.

MiniVend 3.12 oder aktueller wird fr den Betrieb von MiniMate bentigt.

Demonstration
*************

MiniMate kann getestet werden unter den folgenden Adressen: 

http://www.linuxia.net/mmdemo/simple/admin/menu (URL: http://www.linuxia.net/mmdemo/simple/admin/menu)

http://www.linuxia.net/mmdemo/simple/config/menu (URL: http://www.linuxia.net/mmdemo/simple/config/menu)

Installation
************

Zunchst packen Sie das Archiv in einem beliebigen Verzeichnis (nicht im
Installationsverzeichnis von MiniVend) aus: 

racke@linuxia.net:/tmp > gzip -cd minimate.tar.gz | tar -xf -
Luft der Rechner unter Linux oder wird GNU tar verwendet, gengt:

racke@linuxia.net:/tmp > tar -xzf minimate.tar.gz
Nach dem Auspacken des Archivs wechseln Sie in das Verzeichnis `
MiniMate-3.14.0.3'. Dann starten Sie das `install'-Skript mit dem
Installationsverzeichnis von MiniVend als Parameter:

racke@linuxia.net:/tmp/MiniMate-3.14.0.3 > perl install ~/mvend
Das Skript berprft das Verzeichnis auf das Vorhandensein der `
minivend.cfg', erzeugt ein Unterverzeichnis `lib/MiniMate' im
Installationsverzeichnis und kopiert die bentigten Dateien in dieses
Verzeichnis.

Nun editieren Sie `minivend.cfg' und fgen die folgende Zeile hinzu: 


#include lib/MiniMate/minimate.cfg

Nach einem Neustart von MiniVend steht nun das Verwaltungswerkzeug zur Verf
gung. Es kann von jedem Katalog darauf zugegriffen werden, und zwar ber die
Seiten `admin/menu.html' (mit Frames) bzw. `config/menu.html' (ohne Frames).
Lautet die URL fr den Zugriff auf den Katalog beispielsweise `
http://www.linuxia.net/cgi-bin/simple', ist die einfachere Variante von
MiniMate unter `http://www.linuxia.net/cgi-bin/simple/config/menu' zu
erreichen.

Bitte beachten Sie, da zur Zeit die Verantwortung fr den Schutz des
Verwaltungswerkzeug vor unerlaubten Zugriff bei Ihnen liegt.

Probleme
========

Eingabe von Daten mit ' schlgt fehl
------------------------------------

Dieser Fehler tritt bei der Verwendung von MiniVend 3.11 auf. Bitte eine
aktuellere Version von MiniVend installieren.

`Term::ReadKey' vermisst `resize'
---------------------------------


Can't exec "resize": No such file or directory at /usr/lib/perl5/site_perl/Term/ReadKey.pm line 305.
Unable to get Terminal Size. The TIOCGWINSZ ioctl didn't work.
The COLUMNS and LINES environment variables didn't work.
The resize program didn't work. at /usr/lib/perl5/site_perl/Term/ReadKey.pm line 323.
make: *** No targets.  Stop.

Das ist ein bekanntes Problem mit Perl und MakeMaker unter Solaris. Weitere
Berichte gibt es ber Linux-Installationen unter X (Slackware und SuSE). 
Mike Heins hat den folgenden Ausweg vorgeschlagen:


    export LINES=24 COLUMNS=80

oder (fr Korn und hnliche Shells)


    setenv LINES=24
    setenv COLUMNS=80

Eine Alternative ist die Deinstallation von `Term::ReadKey'.

Editieren der Datenbanken lst einen Laufzeitfehler aus
-------------------------------------------------------

Pumin Wuvanich berichtete ber dieses Problem. Ich konnte es leider nicht
reproduzieren. Vielleicht ist es mit Unterkatalogen verknpft.

206.111.118.118 4pedfCqg:206.111.118.118 - [30/June/1999:12:30:14 -0700] 
test01 /cgi-bin/simple/config/dbedit Runtime error: Can't use string 
("2ndDayAir") as a HASH ref while "strict refs" in use at (eval 68) line 22.
>
206.111.118.118 4pedfCqg:206.111.118.118 - [30/June/1999:12:30:31 -0700] 
test01 /cgi-bin/simple/config/dbedit Runtime error: Can't use string 
("Ground") as a HASH ref while "strict refs" in use at (eval 68) line 22.
>
206.111.118.118 4pedfCqg:206.111.118.118 - [30/June/1999:12:31:00 -0700] 
test01 /cgi-bin/simple/config/dbedit Runtime error: Can't use string 
("locale") as a HASH ref while "strict refs" in use at (eval 68) line 22.
>


Sicherheit
**********

Das Verwaltungswerkzeug sollte nur dem jeweiligen Shopbesitzer zugnglich
sein.

Zugriffsschutz mittels Apache
=============================

Um den Zugriff auf die MiniMate-Seiten ohne Passwort zu unterbinden, wird
zunchst Apache entsprechend konfiguriert: 


<LocationMatch /cgi-bin/simple/+(admin/config)>
AuthType Basic
AuthUserFile /home/minivend/users
AuthName "MiniVend Administration"
require valid-user
</LocationMatch>

Das Pluszeichen ist wichtig, da sonst der Zugriff ber `
/cgi-bin/simple//config/menu.html' nicht passwortgeschtzt ist. Der
Benutzername des Shopbesitzers wird in die Katalogkonfigurationsdatei `
catalog.cfg' eingetragen:

RemoteUser minivend
Damit MiniVend dem Shopbesitzer den Zugriff auf die MiniMate-Seiten
gestattet, legen wir in den Verzeichnissen `config' und `admin' zunchst
eine leere Datei `.access' an:

racke@linuxia.net:~ > rm -f /home/minivend/lib/MiniMate/pages/config/.access
racke@linuxia.net:~ > touch /home/minivend/lib/MiniMate/pages/config/.access
racke@linuxia.net:~ > rm -f /home/minivend/lib/MiniMate/pages/admin/.access    
racke@linuxia.net:~ > touch /home/minivend/lib/MiniMate/pages/admin/.access

In den gleichen Verzeichnissen legen wir eine Datei `.access_gate' an, die
dem durch Apache authentifizierten Benutzer den Zugriff gestattet:

*: [perl arg="config" interpolate=1]
        return 1 if $Safe{config}{RemoteUser} eq q{[data session user]};
        return 0;
    [/perl]


Zugriff ber den internen Webserver
===================================

Eine nichtleere Datei mit dem Namen `.access' wird in allen Verzeichnissen,
die MiniMate-Seiten enthalten, angelegt und signalisiert MiniVend Seiten in
diesen Verzeichnissen nur dem jeweiligen Shopbesitzer anzuzeigen.Der
Shopbesitzer wird durch die Direktiven `RemoteUser' und `Password' in der
Katalogkonfiguration festgelegt:

Variable    MV_NO_CRYPT 1
RemoteUser  demo
Password    Gu3109n

Der Shopbesitzer greift auf die MiniMate-Seiten ber den internen Webserver
von MiniVend zu: 

http://www.linuxia.net:7786/simple/config/menu

Benutzung von MiniMate
**********************

Bilder hochladen
================

Hochgeladene Dateien knnen nur unterhalb des Katalogverzeichnisses abgelegt
werden. Aus Sicherheits- und Datenschutzgrnden verweigert man normalerweise
dem Webserver den Zugriff auf Dateien im Katalogverzeichnis. Um das
Hochladen von Bildern mit MiniMate zu ermglichen, mu man diese goldene
Regel jedoch durchbrechen. Es sollte jedoch nur das Unterverzeichnis mit den
Bildern freigegeben werden.

Zum Hochladen von Bildern whlen Sie auf der Seite `config/menu' "Andere
Dateien holen/ablegen".

Internationalisierung
*********************

Die Internationalisierung von MiniMate ist in Arbeit. Zustzliche
Freiwillige werden jedoch noch bentigt.

Eine russische und eine deutsche bersetzung liegt bereits vor.

Verzeichnis der MiniMate-Seiten
*******************************


`config/menu'
     
     Startseite der Version ohne Frames

`config/upload_other'
     
       Upload/Download von beliebigen Dateien


MiniMate fr Entwickler
***********************

MiniMate-Erweiterungen zur MML
==============================


`directive_value' NAME [PARSEVARS]
     
     Ergibt den Wert der Konfigurationsdirektive NAME. Hat PARSEVARS einen
     wahren Wert, werden Variablen innerhalb des Wertes durch den Wert der
     Variablen ersetzt.


Undokumentierte Tags
--------------------

   * base-url
   * check-upload
   * counter
   * db_columns
   * dbinfo
   * display
   * display_directive
   * e
   * export-database
   * global-value
   * if-key-exists
   * if-sql
   * import_fields
   * list_directives
   * list_pages
   * newer
   * quick_table
   * read_serial
   * reconfigure
   * rotate-database
   * rotate-table
   * rotate_file
   * row-edit
   * send-help
   * set-alias
   * set-click
   * substitute
   * title-bar
   * unconfigure
   * version
   * widget
   * write_config

TODO-Liste
**********

   * Bug Fixes 
          
        * Fehler im `install'-Skript beheben
        * Editieren der Datenbanken lst einen Laufzeitfehler aus
   * Hilfeseiten zugnglich machen
   * Internationalisierung
   * Sichere Installation von Anfang an
   * Ersetzen von Font-Tags durch <H?>
   * Ersetzen des externen `mv_upload'-Programms durch Benutzung von
     MiniVend-Tags beim Hochladen von Dateien via `admin/menu'
   * Durchsehen von vorhandenen Dateien (andere Dateien hochladen)
   * Bercksichtigung von Versionskontrollsysteme beim Hochladen von Seiten
   * HTML-Ausgabe berprfen
   * Vergleich mit ShopAdmin

nderungen
**********


8. August 99
     
     Deutsche bersetzung von Birgitt Funk hinzugefgt.

5. August 99
     
     Russische bersetzung von Alexei Yakimovich hinzugefgt.

28.Juli 99
     
     MiniMate-Seiten fr Lokalisierung vorbereitet.

26.Juli 99
     
     Fehler beim Suchen nach Datenstzen behoben (`config/dbedit').

13.Juli 99
     
     Hilfe fr Konfigurationsdirektiven wird nun angezeigt.

6.Juli 99
     
     `Makefile.PL' an Win32-Systeme angepat und das `install'-Skript neu
     geschrieben.

29.Juni 99
     
     berflssigen Import von `Data::Dumper' entfernt.

16.Juni 99
     
     Untersttzung fr Internationalisierung hinzugefgt.


Danksagungen
************

Bedanken mchte ich mich bei Mike Heins als Originalautor von MaxiVend und
als unerschpfliche Quelle fr Hinweise und Bugfixes.

Betty Chung fr die Vorbereitung der Lokalisierung der MiniMate-Seiten.

Alexei Yakimovich fr die russische bersetzung.

Birgitt Funk fr die deutsche bersetzung.

Stephen M. LaBar, Jr. fr seine Hilfe bei der Anpassung von `Makefile.PL'
an Win32-Systeme.

Kaare Rasmussen und Robert Hutchinson fr den Bericht ber das `resize'
-Problem und Mike Heins fr einen Ausweg.

Bob Jordan fr den Bericht ber das `Data::Dumper'-Problem.

Waldemar Gerr fr seinen Vorschlag zur Dokumentation der Installation.

Marci Beedle fr seine Berichte ber die Schwierigkeiten, die passende URL fr
MiniMate der Dokumentation zu entnehmen.

Historisches
************


12. Juli 99
     
     Version 3.14.0.3 freigegeben

30. Juni 99
     
     Version 3.14.0.2 freigegeben

29. Juni 99
     
     Version 3.14.0.1 freigegeben

