[Allegro] Vb.317: Sicherheitskonzept / FLEX: get I und fetch rec / Neu: cambio.flx
Bernhard Eversberg
b-eversberg at gmx.de
Do Nov 21 08:47:33 CET 2019
Verlautbarung 317 zur allegro-Entwicklung 2019-11-21
-----------------------------------------
Sicherheitskonzept [Danach wurde jüngst mal gefragt]
------------------
Ein eigenes Dokument zum Sicherheitskonzept gibt es nicht.
Was in der Praxis gemacht wird, ist nicht kompliziert:
1. Lese- und Schreibrechte für Datenordner einrichten
2. desgl. Lese- und Programmstart-Rechte für Programm-Ordner
3. Den Wert "access" in der INI-Datei der schreibberechtigten Nutzer auf
mindestens 1 setzen (siehe Doku zur INI-Datei in der Musterdatei cat.ini)
4. Für das Web-Interface (PHPAC oder a35): dem Nutzer, der den Server avanti
startet, das Lese- bzw. Schreibrecht für den Datenordner geben.
5. Diejenigen Nutzer, die Schreibmöglichkeiten für z.B. Exporte brauchen,
aus einem Ordner mit Schreibecht starten lassen, d.h. Programmaufruf aus
diesem Ordner heraus anlegen.
Das ist dann der exklusive "Arbeitsordner" des Nutzers.
6. Bestimmte FLEX-Skripte, die nicht jeder benutzen können soll, durch eingebaute
Passwortabfragen absichern. Wie man das machen kann, steht in Vb.149.
Den "access"-Wert des Nutzers, der den FLEX gestartet hat, kann man ausserdem
im Skript mit der internen Variablen A ermitteln. Im FLEX ändern aber nicht.
Volltextsuche
-------------
... in der aktuellen Erg.Menge
kann man mit Esc abbrechen. Bisher wurde dann die bis zu dem Zeitpunkt
erzielte Erg.Menge nicht sofort angezeigt. Das wurde gerichtet. Sie ist
wie jede normale Erg.Menge dann verwendbar.
FLEX "set O" (großes o)
------------
Damit wird, aber nur in acon, der Operator-Code geändert, und zwar auf
den Wert, der gerade in der iV steht. Anwendung in a35del.job.
Das ist der Code, der in den Datumskategorien an das Datum gehängt wird,
als Unterfeld $o
FLEX "get I" mit Internet-Dateien
---------------------------------
geht mit https:... nur in a99, in acon nicht.
Statt dafür eine deftige Funktionsbibliothek in acon zu integrieren,
wurde entschieden, lieber das freie und höchst leistungsfähige Produkt
"curl" zu nutzen. Das geht sehr einfach:
call curl https://... >datei.txt
In datei.txt steht dann Sekundenbruchteile später der Inhalt der
mit https:... erzeugten Ausgabe. Diese Datei kann man nun in aller
Ruhe im Job mit var Fdatei.txt als Ganzes in die iV einlesen und dann
sonstwas damit machen.
Oder mit "open datei.txt" öffnen und dann mit "get" usw. verarbeiten.
Wie das genau auszusehen hat, wurde am Beispiel der EZB-Wechselkurse
exemplarisch programmiert. Der neue FLEX cambio.flx führt es vor.
Abzuholen ab sofort mit X gf cambio.flx
Den cambio.flx kann man in a99 mit
X cambio ausführen lassen, aber auch in acon mit dem Aufruf
acon -jcambio.flx im DOS-Fenster und mit
./acon -jcambio.flx im Linux-Kommandofenster.
cambio.flx ist üppig kommentiert. Auf Englisch damit Kollegen in
Oxford auch was davon haben - das Verfahren ist potentiell äußerst
universell einsetzbar, denn die mit "curl" besorgte Datei
kann ja auch eine dynamische sein, so wie im dnb.flx ...
Wenn curl noch nicht vorhanden ist:
auf https://curl.haxx.se/download.html
findet man Versionen zum Download für wirklich jede Umgebung.
Doku: https://curl.haxx.se/docs/
oder:
Kurze Liste der Optionen: Befehl curl --help
Lange Liste: Befehl curl --manual
curl ist eine radikal quelloffene und kostenfreie Software und passt
daher ideal zu allegro.
FLEX : Befehle "fetch rec" und "open"
------------------------------------
Im Forum war moniert worden:
Die Befehlsfolge
fetch rec
if cancel jump ende
klappt nicht. Es erscheint am Ende "-1" im Anzeigefenster und
es kann dadurch zu einer Endlosschleife kommen.
Die Antwort war:
Da haben Sie leider recht - und endlich mal wieder einen Fehler entdeckt.
Beim Befehl "fetch rec" registriert a99 leider nicht den Status "cancel",
wenn das Lesen nicht klappt.
Die Korrektur ist erledigt, und zudem noch eine andere:
Der Befehl "open ..." lieferte nicht mehr korrekt den Fehlercode für "if no"
wenn die Datei nicht da war. Das ist natürlich schlimm, weil's danach einen
Absturz geben kann, sobald der erste get-Befehl dann kommt.
a99.zip und a9910.zip liegen wieder bereit.
Programm srch - VERALTETES MISFEATURE abgeschafft
-------------------------------------------------
Es gab ganz ganz früher mal für den Suchbegriff in srch die Möglichkeit,
ein G oder ein S an den Anfang zu setzen. Damit wurde ein- bzw. aus-
geschaltet, daß Großbuchstaben als solche gesucht werden sollten bzw.
alles in Kleinschrift.
Diese nicht mehr nützliche Option wurde abgeschafft - es klappte auch
nicht mehr. Seit langem kann man statt mit Option -s auch mit regulären
Ausdrücken suchen, und zwar mit -r statt -s.
Darüber informiert Vb.196, Beispiele findet man auch in Vb.248.
Mehr Informationen über die Mailingliste Allegro