Seite 1 von 1

Mulitmediadateien speichern

Verfasst: Fr, 12. Nov 2021 15:48
von Manfred
ich muß jetzt mal ganz unerfahren fragen.
Folgendes Szenario, vereinfacht dargestellt.
1) Webserver mit xb2net
2) ADS Server im DD mit (noch) DBF Dateien (Foxpro)
3) Webzugang über Browser
4) Datensätze mit Multimediadateien speichern

Es können zu einem Datensatz auch Multimediadateien gespeichert werden. In der Regel sind das Bilder von einem Smartphone, oder eine Tablet übertragen zu der Eingabe eines Datensatzes über einen Webbrowser. Es sind auch ab und an Videos dabei.
Bis jetzt ist es so, das alle Multimediadateien getrennt auf der Platte im eigenen Verzeichnis gespeichert werden. Das klappt auch ganz gut, wenn sie zu dem jeweiligen Satz später angezeigt werden sollen, weil das bisher über ein EXE Programm geregelt wurde, was direkten Zugriff aufs Verzeichnis usw. hat. Jetzt soll aber alles über xb2net Webserver laufen und da habe ich so meine Schwierigkeiten, wie man das dann macht. der hat ja keinen Direkten Zugriff auf das Verzeichnis, bzw. kann das ja nicht als Link an den CLient mit dem Webbrowser weiter geben. (so meine Theorie, der würde ja sonst aus dem Internet direkten Zugriff auf die Platte benötigen) Also kam mir die idee diese Multimedia evtl. in einer FPT datei zu speichern. Wäre das eine Idee, oder eher nicht? Was wäre dann zu beachten? Größe? Performance? wwi?

Re: Mulitmediadateien speichern

Verfasst: Fr, 12. Nov 2021 15:55
von Tom
Hallo, Manfred.

Eine Memodatei wird da schnell an ihre Grenzen stoßen, vor allem, wenn Videos dabei sind.

Natürlich kann der Server (auch als Dienst) Verzeichnisse sehen und bespielen. Er agiert als Software frei auf dem Rechner und, wenn er nicht als Dienst läuft, auch im Netz. Ein Webserver, der sich der Daten aus einer Datenbankanwendung bedient, um sie im Netz z.B. in Mitarbeiterportalen zu präsentieren, muss das ja auch tun. Das heißt aber nicht, dass man von außen an diese Verzeichnisse käme. Du verwechselst das mit der Webroot. Nur wenn Dein Server z.B. das Recht hat, auf "d:\daten" zuzugreifen, muss jemand, der via Internet von diesem Server Daten bekommt, dieses Recht noch längst nicht haben. :wink:

Alternativ zur FTP oder Dateispeicherung kannst Du auch mit SQlite hantieren. Oder mit PostGres. Aber ich würde Videos tatsächlich eher als Dateien auf der Platte ablegen.

Re: Mulitmediadateien speichern

Verfasst: Fr, 12. Nov 2021 16:00
von Marcus Herz
Aber ich würde Videos tatsächlich eher als Dateien auf der Platte ablegen.
Würd ich auch so machen

Re: Mulitmediadateien speichern

Verfasst: Fr, 12. Nov 2021 16:05
von Manfred
HI Tom
das hatte ich alles schon befürchtet, wollte aber erstmal die Bestätigung, das ich da nicht falsch liege. Es wären zwar nur temporär, die die Dateien vorgehalten werden müßten, aber es käme ja noch das spätere Packen wieder hinzu, wenn sie entfernt werden aus der Memodatei.
Aber das mit dem Verlinken, da muß ich nochmal nachhaken.
Derzeit ist es so, das die Bilder/Videos über einen Webzugang auf dem Webserver erstmal gespeichert werden können. (Das bietet ja das jeweilige OS des Endgerätes an) Dann wird in einem Intervall von einem Serviceprogramm entsprechende Bilder/Videodatei auf einen anderen Dateiserver umkopiert, weil dort bisher ein Windowsprogramm läuft, das die Dateien anzeigen/abspielen soll. Heißt das jetzt ich könnte von dem Webserver aus auf den Dateiserver auf die entsprechenden Bild/Videodateien verweisen und dann als Link über xb2net an den Client im Internat/Intranet weiterreichen und der kann die dann anzeigen lassen, obwohl die nicht auf dem Webserver selbst liegen?
Das kann doch nicht klappen, der Client im Internet hat doch gar keinen Zugriff da drauf. Und der wäre es ja, der das haben müßte, oder?

Re: Mulitmediadateien speichern

Verfasst: Sa, 13. Nov 2021 0:40
von Martin Altmann
Nein, das klappt nicht.
Da hatten wir auch schon häufiger drüber gesprochen. Du musst als Link einen Funktionsaufruf anbieten, der als Parameter den Namen der Datei bekommt. In dieser Funktion liest Du Dir Daten von Platte und sendest sie direkt an den Client. Musst dafür noch die Header-Felder setzen (Dateigröße, Name, Typ).

Viele Grüße,
Martin

Re: Mulitmediadateien speichern

Verfasst: Sa, 13. Nov 2021 7:56
von Manfred
hatten wir. Stimmt. Das heißt also, wenn die Dateien auf dem Webserver liegen würden, dann wäre es kein problem!?

Re: Mulitmediadateien speichern

Verfasst: Sa, 13. Nov 2021 8:14
von Martin Altmann
Auch so ist es kein Problem, wenn Du das mit der Funktion machst. Dann brauchen sie noch nicht mal auf dem Webserver liegen - er kann ja auch per UNC auf ein entferntes Verzeichnis zugreifen, von dort lesen und an den Client senden.

Viele Grüße,
Martin

Re: Mulitmediadateien speichern

Verfasst: So, 14. Nov 2021 10:51
von nightcrawler
In Bezug auf den ADS: Es wäre möglich, eine Advantage Extended Procedure zu schreiben, welche den (UNC?) Dateinamen als INPUT Parameter bekommt und dann ein BLOB zurückliefert. Dasselbe auch für die Speicherung (dann allerdings das BLOB als INPUT).
Somit kannst Du über die SQL Schnittstelle oder das ADS API auf jegliche Datei zugreifen, welche im Zugriffsbereich des ADS Servers (idR LOCAL SYSTEM des Servers) liegt. Hab ich vor Urzeiten mal gemacht und damit den kompletten Fileserver geknackt;)

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 11:01
von Manfred
ich erweitere das mal ein wenig.
Vorhin bin ich durch einen dummen Zufall im Architekten auf die Demodaten zu dem ADS gestossen. Die habe ich aktiviert und dort etliche Sätze gesehen, in denen Bilder usw. als BLOB abgelegt sind. Warum machen die das dann? Wie sieht es mit Bildern aus und mit PDF z.B. ?

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 12:12
von Tom
Ich verstehe Deine Frage nicht, Manfred. BLOB-Felder (binary large objects) können Binärdaten speichern, also letztlich alles. Wenn es kein Limit gibt, kann man auch alles darin speichern. Die Frage ist, ob man das tun will und/oder muss. Und was es an Kraft kostet. Wenn ich eine nur wenige Minuten lange 4K-Videodatei habe, dann sind das schon einige Gigabyte. Die müssen zur Speicherung eingelesen werden, und für die Anzeige auch irgendwie aufbereitet. In aller Regel lohnt sich das nicht. Und es sind unveränderliche Daten, die ich ggf. ständig mitsichern muss, weil sie ja in Tabellen oder sogar in meinem monolithischen Datenstruktur enthalten sind. Deshalb macht man das in aller Regel nicht, sondern verlinkt sozusagen die physikalischen Dateien.

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 12:24
von Manfred
ok, ich habe etwas verkürzt geschrieben.
es geht mir jetzt z.B. um PDF Dateien, oder Jpeg. Ich muß irgendwie eine Dokumentenverwaltung unterbringen. Dort sind dann in der Regel PDF Dateien. Die Sache ist nur die, es können von der Menge her dynamische Stückzahlen und unterschiedliche Kategorien zugeordnet werden, die nicht alle in ein Verzeichnis sollen.
Ich überlege gerade noch, wie ich das am besten lösen könnte. Komme aber irgendwie nicht richtig voran.

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 13:06
von Jan
Manfred,

ich habe ja auch ein Programm, in dem ich die Bilder in einem binären Memo ablege. Was ich da mache: Die Bildertabelle hat ein Character-Feld, in das ich den Hash der Datei schreibe. Und eine zusätzliche Tabelle hat alle Zuweisungen der Bilder gespeichert, mit Verlinkung auf die eigentliche Bilder-Tabelle. Durch den Hash verhindere ich, das ich eine Datei doppelt einlese. Und durch die Link-Datei brauche ich jedes Bild auch nur 1x.

Nur so als Idee.

Jan

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 13:15
von Tom
Hallo, Manfred.

Wir verwalten die Dokumente in einer eigenen Datenbank, wo sie mit Erläuterungen und (frei gestaltbaren) Kategorien versehen, verschlagwortet und mit Kontakten verknüpft werden können. Je nach Dokumententyp werden unterschiedliche Viewer genutzt, meistens interne. Aber ob die Dokumente auch in dieser Datenbank gespeichert werden, spielt eigentlich keine große Rolle. Das tut es nur, wenn die ggf. verlinkten Dokumente nicht mehr gefunden werden können, weil sie von außen gelöscht oder verschoben wurden. Oder mit neuen Inhalten überschrieben wurden. Wenn diese Gefahr besteht, hat es Sinn, die Dokumente selbst in die Datenbank einzulesen. Ansonsten wird automatisch eine Ordnerstruktur angelegt, die die Dokumente enthält. Wichtig sind "Automatisch hinzufügen"-Ordner, die dafür sorgen, dass das Dokumentenmanagement neue Dokumente eigenständig findet. Drag&Drop sorgt für einen ähnlichen Vorgang. Und sehr viele Kunden freuen sich über die Scanneransteuerung.

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 13:23
von Manfred
Hi Tom,
wie ist denn bei euch die Reihenfolge der Abarbeitung? Die Dokumente werden erstellt. Und wie kommen sie ins System? Sind sie dann egal von welcher Seite man kommt erreichbar? Wann, wo und wie werden sie zugeordnet? Ich denke mal, einmal kann man das Dokument wählen und sich alle Kontakte/Kategorien usw. dazu anzeigen lassen? Dann Kontakte zu denen man sich alle zugordneten Dokumente anzeigen lassen kann? Kategorien, um sich dann die zugehörigen Dokumente/Kontakte anzeigen lassen kann? Wie sieht sowas aus?

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 15:15
von Marcus Herz
Hi

- Wenn es um "externe" Dokumente geht, sprich eingescannte oder gemailte Dateien, hat sich bei meinen Kunden schon ein Dokumentenmanagement (zB Docuware) sehr bewährt.
- wenn es um selbst generierte Dateien geht, kann man sich da was selber bauen.
Einer meiner Kunden erstellt die Drucke über Docuware, sieht sie sich dort in der Vorschau an, kann da noch grafische Ergänzungen durchführen, und dann versenden. Das hat schon was, das mit Xbase/ADS nachzubauen, glaub nicht dass sich das amortisiert. Man kann beim Druck gleich Schlagworte für Docuware mitgeben. Das ist wirklich gut vernetzt.
Mein Tipp: Geht's um viele, schau dir mal ne Demo 'ner Dokumentenverwaltung an, es gibt ja nicht nur Docuware (das kenn ich halt, Tobit ist ähnlich)

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 16:58
von Koverhage
Oder ELO da kann Dir Bertram was zu sagen

Re: Mulitmediadateien speichern

Verfasst: Mo, 20. Dez 2021 17:08
von HaPe
Hallo Zusammen !

Bei einem Arzt setzen wir das so um:
- Jede Dokumentenart (bisher PDF und RTF) bekommt einen QR-Code und die zugehörige Patienten-ID als BarCode.
- Es wird eine Brotherlösung eingesetzt, die die Dokumente einscannt, mit führender 4stelliger Dokumentenart-Nummer, DateTime-Stamp dazwischen und angehängter 8stelliger Patienten-ID versieht und in ein überwachtes Verzeichnis kopiert.
- Mein Tool überwacht das Verzeichnis, prüft und legt gegebenenfalls das Patientenverzeichnis anhand der 8stelligen Patienten-ID an und verschiebt das Dokument dorthin.
- Das Arzt-Programm liest auf Wunsch das Dokumenten-Verzeichnis des Patienten mit der Dokumenart als Filter in eine Liste ein.
- Der Anwender wählt aus der Liste das Gewünschte aus und kann damit machen was er möchte ...
Kein Dokument liegt in einer Datenbank.