COrgaMon.Foto: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
 
(31 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 4: Zeile 4:
=== OrgaMon-App ===
=== OrgaMon-App ===


das Handy macht auftragsbezogene Fotos über das Protokoll und lädt diese auf einen FTP Bereich
* 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 <code>GGG-RRRRRR-Fp.jpg</code> gespeichert (Im Verzeichnis "Pictures")
* Nach der Erstellung des Fotos mit dem Handy wird es auf dem Handy als GGG-RRRRRR-Fp.jpg gespeichert
** <code>GGG</code> ist die 3 stellige Geräte-ID (z.B. <b>023</b>)
** GGG ist die 3 stellige Geräte-ID
** <code>RRRRR</code> ist der RID des Auftrages (z.B. <b>2837372</b>)
** RRRRR ist der RID des Auftrages
** <code>Fp</code> ist der Foto-Parameter, also der Name des Foto-Buttons im Protokoll der Baustelle (z.B. <b>FA</b>)
** Fp ist der Foto-Parameter, also der Name des Foto-Buttons im Protokoll der Baustelle
* In die Protokoll-Eingabe des Handys wird <code>Fp=GGG-RRRRR-Fp.jpg</code> eingetragen (dies wird erst nach "senden" für den stationären OrgaMon sichtbar)
* Der Upload erfolgt via FTP, alle Handys einer Firma teilen sich den Upload-Bereich
* 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 <code>./ftp</code>
* der Upload erfolgt mit dem Suffix .$$$ bis die Datei komplett übertragen ist
* 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 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


=== FotoServer ===
<b>das Foto ist jetzt im FTP Bereiches des FotoServers</b>


der FotoServer benennt Fotos um und verschiebt diese in Ziel-Ablagen nach 0 Uhr erstellt er Fotos-nnnn.zip der fertig umbenannten Fotos des Vortages
=== Annahme ===


* Kopie des Fotos in eine Sicherung
* Als allerersten Schritt wird eine Kopie des Fotos ins Sicherungsverzeichnis gemacht
* Ermittlung des Baustellen-Kürzels für diesen RID
** Dabei wird eine Sicherungsnummer <code>bbbb</code> dem Foto-Anlieferungsnamen vorangestellt
* Suche des Baustellen-Kürzels in baustelle.csv
** Die Sicherung erfolgt nach <code>./bak/nnn/Fotos/bbbb-GGG-RRRRR-Fp.jpg</code>
* Ermittlung des Benennungsmodus und des Namen der Internet-Ablage
* Ermittlung des Baustellen-Kürzels für diesen RID (Steht direkt im Datensatz)
* Öffnen der \~Kürzel~\Fotobenennung.csv bei FotoBenennung=6
* 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 Zieldateinamens
* Ermittlung des Zielverzeichnisses
* Ermittlung des Zielverzeichnisses
* Gibt es bei diesen ersten Schritten ein Problem wird die Datei nach <code>.\htm</code> 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
*** <b>[ ] Mobil auslesen</b>
*** <b>[ ] Sync mit dem Fotoserver</b>
* 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 ===
=== OrgaMon ===
Zeile 34: Zeile 79:
* entpacke die Archive in ein anderes/das gleiche Verzeichnis
* entpacke die Archive in ein anderes/das gleiche Verzeichnis


== Fotos sichern ==
== Log ==
 
* der Service für das verteilen von Fotos
* sofortiges Sichern jedes Fotos, das über FTP hochgeladen wird
 
 
llll-ggg-rrrrrr-pp.jpg
lll = laufende Backupnummer
ggg = geräte ID
rrr = Auftrags-RID
pp = Foto Parameter
 
* das Zuordnen der Fotos in die jeweiligen Ablagen
* Umbenennen der Fotos nach bestimmen Namensmodellen
* Aufräumen in den Internet-Ablage incl. Wegsichern der Daten
 
== Fotos Umbenennen  ==


* Sind ZaehlerNummerNeu oder ReglernummerNeu teil des Dateinamens, so ist zum Zeitpunkt der Foto-Dateilieferung in der Regel dieser Wert noch nicht bekannt
* Der Fotoservice protokolliert seine Aktionen in mehreren Log-Dateien, insbesondere sind hier Gründe aufgezeichnet warum etwas nicht funktioniert hat
* Der Monteur müsste "Senden" um die Information dem Foto-Server zugänglich zu machen
* Alle Log-Dateien befinden sich im Unterverzeichnis .\log des OrgaMon-App-Servers
* Die Konvention fordert, dass FN= das Einbau Zähler Bild ist, das "ZaehlerNummerNeu" im Dateinamen enthält
* Die Konvention fordert, dass FE= das Einbau Regler Bild ist, das "ReglerNummerNeu" im Dateinamen enthält
* Solange die Umbenennung noch nicht möglich ist wird der Platzhalter "Neu" in den Dateinamen eingefügt
* Bei der Umbenennung wird in folgender Reihenfolge versucht diese Eintragungen zu ermitteln


=== Live, wenn das Foto über FTP gerade angekommen ist ===
=== FotoService.log.txt ===


# Bei FotoBenennung=6 direkt aus der "Fotobenennung.csv" der Baustelle
* Infos über Umbenennungen von Fotos
# Im (gesicherten aber nicht mehr ganz frischen) .\dat\db\AUFTRAG+TS.BLA
# Im absichtlich veralteten .\dat\db\_AUFTRAG+TS.BLA
# In den Eingabe.GGG.txt Dateien


* die Umbenennung ist möglicherweise unvollständig, nun muss im nächsten Schritt vervollständigt werden
=== FotoService-Transaktionen.log.txt ===
* Es ist unvollständig wenn "Neu" im Dateinamen enthalten ist, das letzte Wort "Neu" wird später durch den Dateinamen ersetzt
* Es ist unvollständig wenn es (RIDnnnnn#pp) im Dateinamen enthält


=== bei alle 5 Minuten laufenden Umbenennung der Ausstehenden ===
* Infos, wohin Fotos im Erfolgfall umkopiert wurden


* Es wird versucht das Wort "Neu" abhängig vom Fotoparameter in den entsprechenden Wert umzusetzen
=== FotoService-Ablage-JJJJMMTT.log.txt ===


# Im (gesicherten aber nicht mehr ganz frischen) .\dat\db\AUFTRAG+TS.BLA
* Infos, welche Foto-Zip Archive wohin verschoben/abgelegt wurden (Löschprotokollierung, eine Forderung des Datenschutzes)
# In den Eingabe.GGG.txt Dateien (Callback!)
# In manuelle bereitgestellter ZaehlerNummerNeu.xls.csv
# In manuelle bereitgestellter ReglerNummerNeu.xls.csv


== Datensicherung ==
== Datensicherung ==
Zeile 92: Zeile 105:
* Nach dem Verschieben der Zips wird die Grösse des aktuell verwendeten Sicherungsverzeichnisses protokolliert
* 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
* 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
* Sicherungsverzeichnisse, die man wegverschieben darf, werden deshalb mit der leeren Datei <code>./MOVE-OK</code> markiert
* Ein externes Sicherungstool sollte also z.B. #222 erst verschieben wenn #222/MOVE-OK vorhanden ist


=== Entlastung ===
=== Entlastung ===


* Mit dem externen Programm "Flatdigger" kann ein zu groß gewordenes #zzz Unterverzeichnis entlastet werden
* Sicherungsverzeichnisse, die man wegverschieben darf, werden deshalb mit der leeren Datei <code>./MOVE-OK</code> markiert
* das Programm verschiebt die Daten so, dass neue Unterverzeichnisse (fortlaufende Nummer) entstehen, die alle maximal 4 GB gross sind
* Ein externes Sicherungstool sollte also z.B. #222 erst verschieben wenn #222/MOVE-OK vorhanden ist
* die 4 GB-Grenze hat historische Gründe: Diese Unterverzeichniss-Grössen konnten auf DVD-Medien gesichert werden
* Das Verschieben muss manuell erfolgen


== Konfiguration ==
== Konfiguration ==

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