WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 16.03.2024 18:42:52

ruebezahl
Mitglied

Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Hallo!
Ich schraube wieder mal an Itemz, und da vor allem an den Presets.

Es soll die Möglichkeit kommen, in den Einstellungen eine Übersichtseite "neuer" Presets zu bekommen und per Klick auch gleich zu verwenden.
Das habe ich schon (frickelig mit JSON gemacht), die Seite ist im Original auf wbce.at. Kann aber überall sein, ich reiße mich nicht drum.

Dabei gibt es aber ein Problem: Abhängige Dateien; JS, CSS, Bilder usw.
Nicht bei jedem Preset passt alles nötige in die Settings. Vor allem bei Slidern nicht.
Ich kann natürlich "auf CDN machen" und die Sachen extern in die Presets linken, aber das will ich nicht.

Was habe ich für Möglichkeiten?
Es soll die Anwender nicht überfordern.

Falls es wen interessiert: Da schraube ich gerade:
Itemz als Tortengrafik
https://wbce.at/tpls/unterseiten/bastelecke.php

EDIT
Ein Gedanke wäre, das als Modul "itemz-helpers" zu tarnen, aber da komme ich mit den Versionsnummern nicht zu Rande.

Beitrag geändert von ruebezahl (16.03.2024 18:50:50)

Offline

#2 16.03.2024 19:00:17

webbird
Administrator

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Ich habe da ein Verständnisproblem. Für mich paßt der Text irgendwie nicht zur Überschrift. Willst Du jetzt wissen, wie man über die Modulinstallation des Backends ein ZIP in ein Unterverzeichnis von Itemz entpacken kann? Also das ZIP "tut so", als wäre es z. B. ein anderes Modul, und entpackt sich dann aber in Itemz? Das macht IMHO keinen Sinn. (Aber das ist auch nur eine Interpretation der Anfrage, die ja nicht stimmen muss.)

Wenn Du "vollständige" Presets zur Verfügung stellen willst, inkl. CSS/JS/Bildern/whatever, bau eine entsprechende Installationsroutine in das Itemz ein. Dann hast Du alles zu 100% in der eigenen Hand. Du kannst dann auch neue Presets entweder bei Dir oder bei GitHub oder sonstwo zur Verfügung stellen, und innerhalb von Itemz eine Seite bauen, die alle verfügbaren Presets anzeigt (samt Versionsnummern oder ähnlichem), herunterlädt und an der richtigen Stelle installiert.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#3 16.03.2024 20:20:58

ruebezahl
Mitglied

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

webbird schrieb:

Wenn Du "vollständige" Presets zur Verfügung stellen willst, inkl. CSS/JS/Bildern/whatever, bau eine entsprechende Installationsroutine in das Itemz ein.

DAS möchte ich vermeiden ;-) Nie und nimmer bringe ich eine Installationsroutine zusammen.

Die Sache ist so:
In Presets werden nur die Settings vorbelegt, per JS (über JSON). Das funktioniert schon.
Wenn da noch weitere Dateien nötig sind, werden die (eben über die Settings) nur verlinkt.
Üblicherweise sollten diese Daten im Verzeichnis /modules/itemz/helpers/[irgendwie]/..... sein. Aber die kommen ja nicht mit.
Das ist die Frage: Wie mache ich es, dass die mitkommen?


Auch eine hässliche Möglichkeit:
Zum schnell mal Testen kann ich die Presets so machen, dass sie den Krempel von wbce.at laden. Quasi ein CDN.
Aber: Das lassen die Leute dann ja so und ich hab den Traffic. Außerdem gibt es da Datenschutzbedenken.

Alternativ: Ich biete nur Presets, die OHNE weitere Daten auskommen. Da fallen halt alle Slider usw raus und viele der Scriptchen, die man so im Web findet.

Offline

#4 16.03.2024 21:52:27

webbird
Administrator

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Nutz doch ein Verzeichnis in "media", wo man das ZIP hinlegen kann. Wie man ein ZIP auspackt, kannst Du Dir im Core abgucken. (Und im Droplets-Modul auch, glaub ich.) Dann musst Du im Backend nur noch eine Seite anbieten, die im entsprechenden Verzeichnis unter "media" nachguckt, ob da ein ZIP rumliegt und es auf Klick auspackt, fertig. Ein Preset aka "Sammlung von Settings als JSON" kann ja einen Key "requirements" haben und diese werden dann abgeklappert, wenn man das Preset auswählt. Wenn was fehlt -> Hinweis auf das Download-Verzeichnis des ZIPs.

Das Ganze könnte man auch noch richtig komfortabel machen, wenn das ZIP dann per cURL geholt wird.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

Liked by:

ruebezahl

#5 17.03.2024 17:04:37

stefanek
Core-Team

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Nur als Idee: mit dem AddonFileEditor kann man auch ZIPs in einen Ordner entpacken.


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Liked by:

ruebezahl

#6 18.03.2024 13:47:15

ruebezahl
Mitglied

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Hallo & Danke!
Ich hatte noch einen anderen Gedanken:
Ich könnte ein Pseudo-Modul machen, das NUR eine Sammlung der Dateien enthält. Das würde die Nutzer wohl nicht überfordern.

Da bliebe das Problemchen mit den Versionsnummern, die außer Kontrolle geraten würden: Man müsste ja immer eine neuere Version installieren.
Klarer gesagt:
Wenn jemand das Modul installiert, hat er die gerade aktuelle Dateien-Sammlung. Kommt dann später eine andere Version - mit anderen Dateien, kommen die dazu. Damit man das Modul aber installieren kann, muss es eine höhere Versionsnummer haben, sonst verweigert der Installer.

Das würde sich damit umgehen lassen, dass die Versionsnummer des Moduls immer wieder zurückgesetzt wird.

So insgesamt muss ich aber sagen:
Ich heble nicht gerne WBCE-Interna aus, da habe ich schon sehr schlechte Erfahrungen damit gemacht.

Option #1 muss sein, dass die Presets ohne Abhängigkeiten kommen.

Beitrag geändert von ruebezahl (18.03.2024 13:47:55)

Offline

Liked by:

stefanek

#7 18.03.2024 14:57:22

webbird
Administrator

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Warum die Versionsnummern ein Problem sein sollen, verstehe ich nicht.


Ich habe eine Amazon-Wishlist. wink Oder spende an das Projekt.
Ich kann, wenn ich will, aber wer will, dass ich muss, kann mich mal

Offline

#8 18.03.2024 15:26:53

stefanek
Core-Team

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Ich verstehe ein wenig was Du vorhast.
Ich arbeite schon etwas länger an einem Modul das auch mit einer Reihe von "Layout-Plugins" arbeitet (wie ich sie genannt habe). Jedes Plugin enthält die zusätzlichen Dateien (CSS, JS, Bildchen, Schriftarten und was sonst noch).
Das Modul ist immer noch "Alpha" und eine Installationsroutine habe ich noch nicht. Momentan lade ich die Plugin-Ordner "zu fuss" in den /LayoutPlugins/ Unterordner meines Moduls rein.

Das einzige Modul das mit Plugins auf ähnliche Weise arbeitet ist das OutputFilter Dashboard.
Hier hat jedes Plugin auch eine eigene plugin_info.php Datei (Beispiel: hier).

So in etwa denke ich es an.

Ich bin allerdings noch nicht dazu gekommen, es umzusetzen.

Mein Plan ist, in den settings des Moduls einen Bereich zu machen wo man die Plugins hochladen und einsehen kann. Ideal wäre es auch, wenn man die mitgelieferten Dateien direkt von da bearbeiten könnte. Ich habe auch überlegt, es mit AFE zu kombinieren, aber es ist nicht so einfach zu machen, weil der AFE grundsätzlich etwas seltsam programmiert wurde, sodass man die einzelnen Dateien von Modulen nicht von Außen (z.B. einem anderen Modul aus) ansteuern kann. Da ist die Ordner/Datei-Struktur in einer Session gespeichert und Dateien und Ordnern wird eine Nummer zugewiesen, um sie zu erreichen, statt der Pfad zur Datei/Ordner.


Vielleicht brauchst Du es nicht so weit ausgebaut wie von mir oben beschrieben.

Persönlich denke ich, dass es für die Nutzer das praktischste wäre, wenn
- einzelne Plugins im ZIP-Format hochgeladen werden könnten
- eine Liste der Plugins, mit Titel, kurzer Beschreibung, vllt auch Screenshot einsehbar wäre
- die einzelnen Dateien des Plugins bearbeitbar wären (vom Backend aus)
- Plugins vom Backend aus wieder exportiert werden könnten

Optimal wäre es (von meiner Warte aus gesehen), wenn man den AFE so erweitern könnte, dass er eine Art Bereich bereit stellt, der in Modulen inkludiert werden könnte. Einmal inkludiert (über eine kleine Funktion wie echo afe_module_connect('my_module_dir', 'plugins_dir'); würde alles nötige in meinem/deinem/x's Modul bereit gestellt werden.

Leider verfüge ich momentan nicht über die nötige Zeit/Ressourcen, um das umzusetzen.

Es ließe sich natürlich auch komplett ohne AFE umsetzen.

Wie dem auch sei, bitte fasse es einfach als eine Gedankenströmung auf, nicht als ein "must have" oder sowas.
Übrigens sollte all das nicht all zu schwer sein, im vergleich zu anderen Dingen, die Du bereits umgesetzt hast (tinyNL und viele andere).

Schöne Grüße,
Stefanek


“Success is the progressive realization of a worthy ideal.” ― Earl Nightingale

Offline

Liked by:

ruebezahl

#9 19.03.2024 11:29:42

berny
Mitglied

Re: Zip im Modulverzeichnis -> Unterverzeichnis entpacken?

Querdenken:
lässt sich das nicht so lösen, wie der Template Generator beim Miniform?
Extern konfigurieren und dann alles herunterladen und lokal installieren?

Offline

Fußzeile des Forums

up