COrgaMon.Foto: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
 
(6 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 22: Zeile 22:
** Dabei wird eine Sicherungsnummer <code>bbbb</code> dem Foto-Anlieferungsnamen vorangestellt
** Dabei wird eine Sicherungsnummer <code>bbbb</code> dem Foto-Anlieferungsnamen vorangestellt
** Die Sicherung erfolgt nach <code>./bak/nnn/Fotos/bbbb-GGG-RRRRR-Fp.jpg</code>
** Die Sicherung erfolgt nach <code>./bak/nnn/Fotos/bbbb-GGG-RRRRR-Fp.jpg</code>
* Ermittlung des Baustellen-Kürzels für diesen RID
* Ermittlung des Baustellen-Kürzels für diesen RID (Steht direkt im Datensatz)
* Suche des Baustellen-Kürzels in baustelle.csv
* Suche des Baustellen-Kürzels in baustelle.csv (Suchspalte "NUMMERN_PREFIX")
* Ermittlung des Benennungsmodus und des Namen der Internet-Ablage
* Ermittlung des Benennungsmodus (Spalte "FotoBenennung") und des Namen der Internet-Ablage (Spalte "FTPBenutzer")
* Ermitteln der Zielbaustelle aus Spalte "BAUSTELLE_KUERZEL"
* Öffnen der \~Kürzel~\Fotobenennung.csv & FotoParameter.ini bei FotoBenennung=JA
* Öffnen der \~Kürzel~\Fotobenennung.csv & FotoParameter.ini bei FotoBenennung=JA
* Ermittlung des Zieldateinamens
* Ermittlung des Zieldateinamens
Zeile 77: Zeile 78:
* lade die neuen/bisher fehlenden Fotos-nnnn.zip-Archive der Internet-Ablage in ein lokales FotoVerzeichnis
* lade die neuen/bisher fehlenden Fotos-nnnn.zip-Archive der Internet-Ablage in ein lokales FotoVerzeichnis
* entpacke die Archive in ein anderes/das gleiche Verzeichnis
* entpacke die Archive in ein anderes/das gleiche Verzeichnis
== Log ==
* Der Fotoservice protokolliert seine Aktionen in mehreren Log-Dateien, insbesondere sind hier Gründe aufgezeichnet warum etwas nicht funktioniert hat
* Alle Log-Dateien befinden sich im Unterverzeichnis .\log des OrgaMon-App-Servers
=== FotoService.log.txt ===
* Infos über Umbenennungen von Fotos
=== FotoService-Transaktionen.log.txt ===
* Infos, wohin Fotos im Erfolgfall umkopiert wurden
=== FotoService-Ablage-JJJJMMTT.log.txt ===
* Infos, welche Foto-Zip Archive wohin verschoben/abgelegt wurden (Löschprotokollierung, eine Forderung des Datenschutzes)


== Datensicherung ==
== Datensicherung ==

Aktuelle Version vom 6. April 2023, 18:07 Uhr

  • Aufgabe dieses Dienstes ist das Umbenennen und Verteilen der Fotos

Weg eines Fotos durch den FotoServer

OrgaMon-App

  • Im Protokoll eines Auftrages kann bestimmt werden welche Fotos vom Monteuer gemacht werden können
  • Nach der Erstellung des Fotos mit dem Handy wird es auf dem Handy als GGG-RRRRRR-Fp.jpg gespeichert (Im Verzeichnis "Pictures")
    • GGG ist die 3 stellige Geräte-ID (z.B. 023)
    • RRRRR ist der RID des Auftrages (z.B. 2837372)
    • Fp ist der Foto-Parameter, also der Name des Foto-Buttons im Protokoll der Baustelle (z.B. FA)
  • In die Protokoll-Eingabe des Handys wird Fp=GGG-RRRRR-Fp.jpg eingetragen (dies wird erst nach "senden" für den stationären OrgaMon sichtbar)
  • Der Upload erfolgt im Hintergrund der OrgaMon-App via SFTP, alle Handys einer Firma teilen sich den Upload-Bereich
  • Alle Upload landen im App-Server Unterverzeichnis ./ftp
  • der Upload erfolgt mit dem Suffix .$$$ bis die Datei komplett übertragen ist
  • das Umbenennen von f.jpg.$$$ nach f.jpg erfolgt durch die OrgaMon-App erst bei Erfolg wird die Bilddatei auf dem Handy nach uf.jpg umbenannt

das Foto ist jetzt im FTP Bereiches des FotoServers

Annahme

  • Als allerersten Schritt wird eine Kopie des Fotos ins Sicherungsverzeichnis gemacht
    • Dabei wird eine Sicherungsnummer bbbb dem Foto-Anlieferungsnamen vorangestellt
    • Die Sicherung erfolgt nach ./bak/nnn/Fotos/bbbb-GGG-RRRRR-Fp.jpg
  • Ermittlung des Baustellen-Kürzels für diesen RID (Steht direkt im Datensatz)
  • Suche des Baustellen-Kürzels in baustelle.csv (Suchspalte "NUMMERN_PREFIX")
  • Ermittlung des Benennungsmodus (Spalte "FotoBenennung") und des Namen der Internet-Ablage (Spalte "FTPBenutzer")
  • Ermitteln der Zielbaustelle aus Spalte "BAUSTELLE_KUERZEL"
  • Öffnen der \~Kürzel~\Fotobenennung.csv & FotoParameter.ini bei FotoBenennung=JA
  • Ermittlung des Zieldateinamens
  • Ermittlung des Zielverzeichnisses
  • Gibt es bei diesen ersten Schritten ein Problem wird die Datei nach .\htm kopiert
    • In .\log\FotoService.log.txt erfolgt ein Eintrag was das Problem war
20211103 16:56:04;3690708;INFO: 5730: 003-3947416-FN.jpg 20211103 16:56:00 -> 20210825 15:44:54
20211103 16:56:04;3947416;WARNUNG: 003-3947416-FN.jpg: RID in H:\dat\db\AUFTRAG+TS nicht vorhanden!
20211103 16:56:04;3947416;WARNUNG: 003-3947416-FN.jpg: RID in H:\dat\db\_AUFTRAG+TS nicht vorhanden!
20211103 16:56:04;3947416;ERROR: 003-3947416-FN.jpg: RID 3947416 konnte nicht gefunden werden!

Umbenennung

Für die Benennung von Fotos sind manchmal Daten erforderlich, die erst der Monteur noch eingeben muss. Fotos werden meistens bereits übertragen, ohne dass der Monteur etwas eingegeben hat, oder bevor er "gesendet" hat. In diesem Fall landen die Fotos mit ihrem Original-Dateinamen auf der Internet-Ablage des Kunden UND 5 Minuten später in der -neu Datei des App-Server-Dashboards.

Nun gibt es 3 Geschwindigkeiten bei der Umbenennung

Direkt

  • ohne dass der Monteur sendet wird hier direkt bei der Lieferung vai ftp umbenannt. Ist z.B. nur die Zählernummer oder andere bekannte Felder Bestandteil des Dateinamens geht das sofort

Schnell

  • Sind ZaehlerNummerNeu oder ReglernummerNeu teil des Dateinamens, so ist zum Zeitpunkt der Foto-Dateilieferung in der Regel dieser Wert noch nicht bekannt
  • sobald wenn der Monteur "sendet" liegen erst alle Infos vor (z.B. ZählernummerNeu)
  • alle 5 Minuten werden diese neuen Daten verarbeitet.

Langsam

  • bei machen Umbenennungen sind sogar OrgaMon-Daten erforderlich (z.B. ReglerNummerKorrektur). Also erst wenn der OrgaMon "Sync mit dem Fotoserver" bei der jeweilgen Baustelle durchführt
  • Dieser "Sync" wird bei Tagwache und Tagesabschluss automatisch durchgeführt
  • Diesen Modus "Langsam" kann man beschleunigen indem man :
    • den Monteur motiviert jetzt zu "senden" (wenn noch nicht erfolgt)
    • Im OrgaMon -> Tagwache -> Einzeltest vorbereiten -> Haken raus bei 2 Punkten
      • [ ] Mobil auslesen
      • [ ] Sync mit dem Fotoserver
  • nach 5 Min. sollte alles was möglich ist vollständig umbenannt sein

Ablage

nach 00:00 Uhr macht der FotoServer einen automatischen Abschluss

  • Alle fix und fertig umbenannten Fotos werden in .zip Datei archiviert
    • Erst dadurch werden sie für den stationären OrgaMon sichtbar, der die .zip im Rahmen der Tagwache herunterlädt

OrgaMon

der OrgaMon ist via FTP an die Internet-Ablage gekoppelt und holt nur Fotos-nnnn.zip Archive niemals direkt .jpg Dateien

  • durchlaufe alle Fotoladebaustellen
  • lade die neuen/bisher fehlenden Fotos-nnnn.zip-Archive der Internet-Ablage in ein lokales FotoVerzeichnis
  • entpacke die Archive in ein anderes/das gleiche Verzeichnis

Log

  • Der Fotoservice protokolliert seine Aktionen in mehreren Log-Dateien, insbesondere sind hier Gründe aufgezeichnet warum etwas nicht funktioniert hat
  • Alle Log-Dateien befinden sich im Unterverzeichnis .\log des OrgaMon-App-Servers

FotoService.log.txt

  • Infos über Umbenennungen von Fotos

FotoService-Transaktionen.log.txt

  • Infos, wohin Fotos im Erfolgfall umkopiert wurden

FotoService-Ablage-JJJJMMTT.log.txt

  • Infos, welche Foto-Zip Archive wohin verschoben/abgelegt wurden (Löschprotokollierung, eine Forderung des Datenschutzes)

Datensicherung

  • Im .\bak Verzeichnis muss sich zumindest ein Unterverzeichnis befinden mit dem Namen #zzz (wobei "z" eine Ziffer "0" .. "9" sein muss)
  • Der Server startet und ermittelt aus allen "#*" Unterverzeichnissen das mit der höchsten Nummer "zzz", nur in dieses wird gesichert
  • Direkt wenn ein Bild im FTP- Bereich komplett hochgeladen ist, wird noch vor der Zuordnung eine Sicherungskopie nach .\bak\Fotos gemacht
  • die Befüllung von ./bak/#zzz ist also kontinuierlich über den ganzen Tag zu erwarten
  • Im Rahmen des "Ablagedienstes" der automatisch nach 00:00 Uhr anläuft werden zudem alte Dateien aus allen Internetablagen (./web) nach #zzz verschoben
  • Nach dem Verschieben der Zips wird die Grösse des aktuell verwendeten Sicherungsverzeichnisses protokolliert
  • Ist es >3,8 GB so wird ein neues Sicherungsverzeichnis angelegt (Name ist die alte Nummer + 1), die Umschaltung auf dieses Sicherungsverzeichnis erfolgt beim nächsten Dienste-Start, aber möglicherweise nicht sofort

Entlastung

  • Sicherungsverzeichnisse, die man wegverschieben darf, werden deshalb mit der leeren Datei ./MOVE-OK markiert
  • Ein externes Sicherungstool sollte also z.B. #222 erst verschieben wenn #222/MOVE-OK vorhanden ist
  • Das Verschieben muss manuell erfolgen

Konfiguration

[System]
[~Id~]
ftphost=
ftpuser=   # Mussfeld
ftppwd=
BackUpPath=
WebPath=
[StatistikPath=]
FTPPath=
UnverarbeitetPath=
LogPath=
  • ein Service für das verzögerte Umbenennen von Foto mit Namensbestandteilen aus ZählernummerNeu und ReglernummerNeu
  • dabei wird über den Protokoll-Variable Name entschieden, ob es sich um eine Zähler oder Regler Umbenennung handelt
'FA' ... 'FE' ... 'FK' ->Regler#Neu-Umbenennung
'FL' ... 'FN' ... 'FZ' ->Zähler#Neu-Umbenennung