Erweiterung der Control File

tb-killa
Beiträge: 67
Registriert: 22 Okt 2017, 16:59

Erweiterung der Control File

Beitragvon tb-killa » 02 Jan 2018, 11:31

Hi,

wir haben mal so eine Idee diskutiert und dachten mal diese Information an euch weiter zu tragen.
Es geht um die Erweiterung der Control-File für den Punkt: [Product] -> picture:

Folgende Punkte sprechen für eine einheitliche Definition dieser Erweiterung:
-> Gleichbleibende Definition der Picture Variable
-> Gleichbleibende Abfrage innerhalb der OPSI-Scripte
-> Direkter Eintragung innerhalb des OPSI-Kern Möglich (Import / Bearbeitung)
-> Vereinfachte Abfrage der Grafik beim WINST sowie im OPSI-KIOSK pro Anwendung.
-> Mögliche Speicherung der Grafik als longblog innerhalb der Database

Bestimmt gibt es weitere Punkte, aber gerne würden wir die Idee erstmal vortragen und diskutieren =)

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3167
Registriert: 04 Apr 2013, 12:15

Re: Erweiterung der Control File

Beitragvon n.wenselowski » 02 Jan 2018, 15:51

Hi,

das ist eine sehr interessante Idee.

tb-killa hat geschrieben:-> Gleichbleibende Definition der Picture Variable
-> Gleichbleibende Abfrage innerhalb der OPSI-Scripte

Einfachere Angabe des Bilds nicht zu vergessen.
Wenn ich das ganze weiter denke, könnte man sogar soweit gehen, dass man das entsprechende Bild bei einer Installation einfach anzeigt, ohne dass ein Benutzer zusätzlich etwas machen muss - das explizite Setzen im winst-Script kann entfallen.

tb-killa hat geschrieben:-> Direkter Eintragung innerhalb des OPSI-Kern Möglich (Import / Bearbeitung)

Was ist hiermit gemeint?

tb-killa hat geschrieben:-> Vereinfachte Abfrage der Grafik beim WINST sowie im OPSI-KIOSK pro Anwendung.
-> Mögliche Speicherung der Grafik als longblog innerhalb der Database

Ich denke die Abfrage im Kiosk hängt davon ab wie das ganze gespeichert wird.
Ich persönlich bin kein großer Freund davon BLOBs in einer DB zu halten, zumal wir bei opsi nicht nur eine Datenbank als Backend haben - es muss einen Weg geben, welcher mit allen Backends funktioniert.
Mein Ansatz wäre den Dateinamen mit Pfad relativ zum Depot-Root zu speichern.
Das ermöglicht den Clients einfach das Bild zu laden, wenn der Share gemountet ist. Das hilft allerdings dem Kiosk nicht, da zu dessen Laufzeit kein Mount des Depot-Shares besteht (und ich würde ehrlich gesagt dafür keinen Einbauen wollen).

Für Clients könnte es dennoch nicht uninteressant sein ein Bild auch über das Webinterface zu laden. Und wie wird das Bild dabei geliefert? Einfacher Stream? Base64-encodiert? Benötigen die Clients noch besondere Metadaten?


Gruß

Niko
opsi development - uib gmbh
For productive opsi installations we recommend support contracts.

tb-killa
Beiträge: 67
Registriert: 22 Okt 2017, 16:59

Re: Erweiterung der Control File

Beitragvon tb-killa » 02 Jan 2018, 16:44

n.wenselowski hat geschrieben:
tb-killa hat geschrieben:-> Direkter Eintragung innerhalb des OPSI-Kern Möglich (Import / Bearbeitung)

Was ist hiermit gemeint?

Damit ist die Verarbeitung innerhalb von Opsi gemeint, sprich z. B. Beim Import die Grafik als base64 zu speichern.
n.wenselowski hat geschrieben:Für Clients könnte es dennoch nicht uninteressant sein ein Bild auch über das Webinterface zu laden. Und wie wird das Bild dabei geliefert? Einfacher Stream? Base64-encodiert? Benötigen die Clients noch besondere Metadaten?


Gruß

Niko


Generell wäre die Möglichkeit pro Package die Grafik als Base64 abzuspeichern und letztendlich als Json Request anzufragen vollkommen ausreichend.
Damit kann die Grafik als file oder innerhalb des MySQL backend gespeichert werden.

Vielleicht gibt es noch weitere Ideen bezüglich der Control File?

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3167
Registriert: 04 Apr 2013, 12:15

Re: Erweiterung der Control File

Beitragvon n.wenselowski » 04 Jan 2018, 10:24

Hi,

tb-killa hat geschrieben:
n.wenselowski hat geschrieben:
tb-killa hat geschrieben:-> Direkter Eintragung innerhalb des OPSI-Kern Möglich (Import / Bearbeitung)

Was ist hiermit gemeint?

Damit ist die Verarbeitung innerhalb von Opsi gemeint, sprich z. B. Beim Import die Grafik als base64 zu speichern.
n.wenselowski hat geschrieben:Für Clients könnte es dennoch nicht uninteressant sein ein Bild auch über das Webinterface zu laden. Und wie wird das Bild dabei geliefert? Einfacher Stream? Base64-encodiert? Benötigen die Clients noch besondere Metadaten?


Generell wäre die Möglichkeit pro Package die Grafik als Base64 abzuspeichern und letztendlich als Json Request anzufragen vollkommen ausreichend.
Damit kann die Grafik als file oder innerhalb des MySQL backend gespeichert werden.

Ja, das wäre sicherlich nicht schlecht.

Ich bin mir nicht sicher, ob die API das dann tatsächlich als Teil des Produkts ausgeben sollte, weil die Ausgaben dann relativ groß werden, oder ob man für Speichern / Laden der Bilder nicht eine eigenes set an Methoden haben möchte (bspw. productImage_insert, productImage_get, ...).


Gruß

Niko
opsi development - uib gmbh
For productive opsi installations we recommend support contracts.

tb-killa
Beiträge: 67
Registriert: 22 Okt 2017, 16:59

Re: Erweiterung der Control File

Beitragvon tb-killa » 04 Jan 2018, 12:39

n.wenselowski hat geschrieben:Ich bin mir nicht sicher, ob die API das dann tatsächlich als Teil des Produkts ausgeben sollte, weil die Ausgaben dann relativ groß werden, oder ob man für Speichern / Laden der Bilder nicht eine eigenes set an Methoden haben möchte (bspw. productImage_insert, productImage_get, ...).


Gruß

Niko


Ich denke auch dass eigene Methoden für diesen Zweck genau den richtige Weg darstellen wird.

tb-killa
Beiträge: 67
Registriert: 22 Okt 2017, 16:59

Re: Erweiterung der Control File

Beitragvon tb-killa » 16 Sep 2019, 21:14

Hallo Niko,

ich wollte mal Fragen ob es zu diesem Thema neue Informationen gibt ?
Prinzipiell scheint das Thema an sich bestimmt im allgemeinen eine tolle Erweiterung zu sein.

Wir haben aufgrund anderer Themen tatsächlich die Base64 encoded als string für den Favoriten erklärt, zumal diese Technik auch in der Web-Entwicklung zuhause ist.

SQL hat eine direkte BASE64 Integration, für das File-Backend benötigt man BASE64 - En / Decoding Funktionen.

Deine Idee mit eigenen Methoden für das "productImage" wäre natürlich der beste Weg.

Grüße

Benutzeravatar
n.wenselowski
uib-Team
Beiträge: 3167
Registriert: 04 Apr 2013, 12:15

Re: Erweiterung der Control File

Beitragvon n.wenselowski » 26 Sep 2019, 13:57

Hi,

ich bin mit opsi 4.2 beschäftigt und habe aktuell keine Zeit hierfür.

Wenn es jemand implementieren will, kann ich gerne Hilfestellung geben.
Ansonsten muss es leider weiter warten, bis es jemand beauftragt oder wir mit 4.2 soweit draußen sind, dass wieder Zeit für andere Themen ist.


Gruß

Niko
opsi development - uib gmbh
For productive opsi installations we recommend support contracts.