[Allegro] Selbstbestimmte M- und W-Setzung

Thomas Berger ThB at Gymel.com
Sa Aug 9 23:22:22 CEST 2008


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Lieber Herr Allers, liebe Liste,


| Was meinen die Experten? Ich wäre ja dafür, das im Standard-Allegro in
die _start.flx
| einzubauen. Aber wenn ich der einzige bin, der das Gefühl hat, daß ihm
dadurch die Arbeit mit
| Allegro erleichtert wird, dann lasse ich mein Desiderat natürlich fallen!

Lassen Sie es bitte:

1. Vernuenftige Arbeitsverzeichnisse zu finden, ist Sache
des Netzwerkadministrators, in Domaenen gibt es Umgebungsvariable
%HOMEDRIVE% und %HOMEPATH%, die diese Setzungen spiegeln.
Anwendungsseitige Vorgaben halte ich fuer kontraproduktiv, je
elaborierter die sind, umso problematischer.

Desiderat an die Entwicklungsabteilung koennte sein, die
*Installationsprozedur* so zu gestalten, dass die Standard-
Verknuepfung der Demo-Datenbank nach der Installation dieses
Verzeichnis als Arbeitsverzeichnis waehlt.

Desiderat an die Entwicklungsabteilung koennte sein, dass
in a99 Funktionen angeboten werden, die eine Desktop-Verknuepufung
fuer die aktuelle Datenbank anlegen, dabei wird unter Rueckgriff
auf die genannten Umgebungsvariablen ein Arbeitsverzeichnis
vorgeschlagen, das der Benutzer aendern koennte.


2. Das vom System zugewiesene, Rechner- und benutzerspezifische
TEMP-Verzeichnis gemaess %TEMP% ist bekanntlich das einzige,
fuer das garantiert Schreibzugriff besteht. Gluecklicherweise
ist es zwar nicht mehr so, dass Setzen von DbAux jede Kenntnis
des "eigentlichen" TEMP-Verzeichnisses (get env TEMP) vernichtet,
insofern ist benutzung von DbAux also nicht mehr schaedlich,
nach meiner Erfahrung aber absolut ueberfluessig.

Desiderat an die Entwicklungsabteilung ist jedoch, die Temporaer-
dateien so zu benennen, dass nicht nur der Name der Indexparameter
einfliesst, sondern auch der Pfad der Datenbank. Und moeglichst
die zusammengehoerigen Dateien in einem Verzeichnis stehen.
Vorschlag koennte sein, zur Datenbank "cat" in c:\allegro\demo
ein Verzeichnis %temp%\allegro-c-allegro-demo anzulegen, und
darin die Temporaerdateien zu den diversen Sitzungen des aktuellen
Benutzers fuer diese Datenbank abzulegen. Und fuer die Datenbank
xy in \\host\share\pfad\subpfad analog
%temp%\allegro--host-share-pfad-subpfad
[Das ist die Idee, zwei Probleme dabei allerdings: a) das Mapping
ist nicht eindeutig, wenn Verzeichnisse "-" im Namen haben,
b) bei dieser Art des Zugriffs auf das Dateisystem gibt es ein
Limit fuer Pfade (m.W. 512 Zeichen), d.h. voranstellen von %TEMP%
kann aus einem unglaublich langem Pfad einen zu langen Pfad machen.
Abhilfe besteht darin, den Pfad geschickt zu codieren.

[Durch das offcheck-Verfahren im _start.flx von V28 bekommt
a99 immerhin oft mit, wenn man eine andere Datenbank "cat"
als neulich benutzt und loescht dann alle Aufzeichnungen, insofern
ist der Namenskonflikt im TEMP-Verzeichnis nicht mehr so bedrohlich
fuer die Datenbankkonsistenz, wie er die letzten 7 Jahre war.
Dennoch kann man die Sache "sauberer" gestalten als bisher]


3. Konkret zu Ihrem Vorschlag:

- - warum nicht als Separat-Datei, die nicht in _start.flx eingefummelt
~  werden muss, sondern auf Wunsch in der StartFLEX-Liste in den .ini-
~  Dateien verankert werden kann.
[Ein Anwender koennte einmal einen Unverellen _startplug.flx schreiben,
der - in der Liste der StartFLEXe eingebettet - alle Flexe in einem
"Plugin"-Verzeichnis ermittelt und ausfuehrt: Der koennte dann ein
Standard-Konstrukt werden]

- - Sie schreiben selbst, dass man in dem Flex u.U. etwas anpassen muss.
~  Man kann Admins aber nicht vorschreiben, die Flex-Sprache zu lernen,
~  es muesste also eine Konfigurationsdatei im Datenverzeichnis geben,
~  die erlaeuterte und aenderbare Einstellungen fuer das Verhalten
~  enthaelt.

- - Benutzernamen koennen m.W. Spatien enthalten, das mag Ihr Flex
~  m.E. gar nicht.
~  Natuerlich wird nur ein voellig wahnsinniger oder unbegabter Admin
~  so etwas zulassen, gerade letzter wird aber nicht in der Lage sein,
~  die dadurch entstehenden Probleme zu loesen.

- - Ihre Loesung ist so drastisch, dass auch die TEMP-Umgebungsvariable
~  fuer a99 verbogen wird (mit anschliessendem Neustart von a99). Das
~  geht wirklich zu weit: Sie moegen ja auf Ihrem Privatrechner tun und
~  lassen was Sie wollen, aber doch nicht im Ernst vorschlagen, dass das
~  zum Standard in Ihnen ganz unbekannten Installationen wird. Denken
~  Sie z.B. an Downloads aus ZACK, wo eine vom Browser angestossene
~  Ausfuehrung Daten vorverarbeitet und dann per ExFlex a99 zur
~  Uebernahme anstoesst: Entweder man muss an beiden Enden ein konkretes
~  Verzeichnis einkonfigurieren, oder man nimmt %TEMP% als Ort fuer das
~  zu uebergebende Ergebnis (dazu dient das ja). Die Loesung ist aber
~  irreparabel verbaut, wenn a99 %TEMP% umgebogegn bekommt: Dann ist es
~  seine eigene Insel.

- - das fest eincodierte "orda.ini" in Ihrem Vorschlag ist sicher nur
~  ein Versehen?

- - Wenn die Datenank "temp" heisst und im Datenverzeichnis ein
~  Unterverzeichnis "temp" liegt, geraten viele allegro-Module
~  bekanntlich sehr in Verwirrung.

viele Gruesse
Thomas Berger



viele Gruesse
Thomas Berger
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3-nr1 (Windows XP)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iQCVAwUBSJ4KjmITJZieluOzAQIRVQQAtMzAhyACqnTdXC3L1ctWj/pbVS7biaOv
cotAgmp9Gkhi6Eq3IZ0SSZHuo/71OMOD51xo52+XPwBUYgIKjjnREmSOv+8NflNc
i+gdWxld4BxLqJK20UfvdtjRvzNPV00SmrMvceU5QqJUPob7Qh4rUxSNx5Cgosh0
kwt0KhJ/pV8=
=jhUK
-----END PGP SIGNATURE-----



Mehr Informationen über die Mailingliste Allegro