[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