Owncloud/OneDrive Ordner bei neuer Bestellung bereitstellen

Hallo,

Ich würde gerne bei jeder neuen Bestellung , dem Kunden einen automatisch generierten OneDrive Ordner zur Verfügung stellen.

Gibt es hier jemanden, der so etwas Ähnliches schon gemacht hat?
Bzw. Vorschläge oder Verbesserungen.

VG
Patrick

Über OwnCloud lässt es sich vermutlich besser abbilden.

OwnCloud ermöglicht mir Ordner via curl anzulegen und Shares zu erstellen.

Kann mir jemand helfen/sagen, wo ich den PHP Code ablegen muss, dass die Skripte bei der Bestellung aufgeführt werden?

VG Patrick

Hallo Patrick,

handelt es sich um readonly Verzeichnisse? Oder soll der Kunde da auch etwas hochladen können?

Ich habe mich mit einem ähnlichen Thema befasst, aber ganze Verzeichnisse kann ich nicht sharen. Das einzige was möglich ist, wäre im Kundenbereich ein Verzeichnis und die Links zum Download leiten auf einen shared Link zu Amazon S3. Das selbe Prinzip ginge auch für Google Cloud Storage und Azure Blob Storage.

Alternativ ginge auch FTP, WebDAV und Nextcloud. Bei diesen Diensten gibt es aber keine sicheren Links, also werden die Downloads über die Bandbreite des Shop Hosting gestreamt, was bei großen Dateien eher nicht geeignet ist.

Wenn die Links aber Public sein können, dann wär das kein Problem.

VG
Philipp

1 Like

Keine Ahnung, wie das technisch geht.

OwnCloud ist technisch eine Sackgasse und läuft nicht einmal unter PHP 8. Dann besser NextCloud, ist ein fork von OwnCloud. Irgendwann in den nächsten Monaten werde ich unsere OwnCloud Installation auch auf NextCloud migrieren.

Nur kein OneDrive. Lädt da ein Kunde oder Du etwas hoch, was der prüden KI von M$ nicht schmeckt, ist gleich Dein komplettes M$-Konto weg!

Hallo,

Technisch ist es nicht so das Problem , Owncloud/Nextcloud unterstützt POST PHP Befehle mit dem man Ordner erstellen und Sharen kann.

Ich möchte das Ganze im Abschnitt Bestellbestätigung unterbringen.
Ich brauche eher Hilfe wo ich den PHP Code ins E-Mail Template einbauen muss, dass bei einer Bestellung der Ordner erstellt und geshared wird.

Falls NextCloud dafür besser ist, als Owncloud verwende ich halt Nextcloud.
Onedrive wäre nur eine Alternative

VG

Dazu musst du dir ein eigenes kleines Plugin bauen:

  1. CheckoutOrderPlacedEvent subscriben
  2. Deinen Request senden
  3. Den erstellten Link in der OrderRepository speichern (z.B. customFields.link)
  4. $order->setCustomFields([link => link])
  5. Dann im Mail Template den Link mit {{ order.customFields.link }} ausgeben

Einfach oder? :wink:

Ansonsten würde ich mal schauen ob es dazu ein Flow-Builder Event gibt, ich meine es gibt Webhooks. Vllt lässt sich damit was anfangen.

VG

1 Like

Hört sich nicht kompliziert an.

Ich erkläre nochmal kurz was ich möchte.

Es wird eine Bestellung aufgegeben,
Shopware soll mit der Bestellnummer eine Freigabe am Nextcloud erstellen.
Danach soll dieser freigegeben werden entweder als ShareLink oder über die E-Mail Adresse, Berechtigung Upload only
Dieser Link soll dann in das Bestellbestätigungsformular eingebettet werden.

So stelle ich mir das vor.

VG

Die selbe Prozedur wie oben beschrieben und das Template der Bestellbestätigungsseite anpassen. Wie man den Ordner in Nextcloud freigibt, kann ich dir nicht sagen. Aber ich denke dass man Public keine Schreibberechtigung geben kann.

1 Like

Perfekt dann baue ich ein kleines Plugin, kannst du mir vl noch sagen wie und wo ich da genau Anfange.

Ich kann das Plugin dann auch sharen, falls noch jemand interessiert ist.
Nextcloud lässt mich schon über curl API Ordner anlegen - php script auf einer PI läuft das schon.
Die Freigabe kann man auch über OCS API freigeben, da würde es sogar eine Berechtigungsgruppe Upload geben.

VG