STrojette
Returning Observer

JFileChooser Alternative im ContentCreator?

Hallo zusammen!

wir haben bei unserem Kunden ein Script welches aktuell nur im SiteArchitect verwendet wurde.

Das Skript lässt nen Nutzer per JFileChooser eine Datei aus dem File-System auszuwählen, welches dann von dem Skript ausgelesen und in einen Content-Eintrag übertragen wird.

Nun möchte der Kunde dieses Skript auch im CC nutzen können.

Dort ist die Verwendung des JFileChoosers aber nicht möglich (sofern ich hier nicht irgendwas übersehen habe).

Hat jemand eine Idee wie wir die Funktion im CC reproduzieren können?

 

P.S: Die einzige Alternative die uns sonst bleibt, wäre, dass der Kunde die Datei zunächst in die Medien hochladen müsste und das Skript dann nicht auf das File-System des Rechners, sondern den Medien-Katalog zugreift.

0 Kudos
2 Replies
mbergmann
Crownpeak employee

Hallo,

einen „direkten“ Ersatz gibt es hier nicht.

Eine in solchen Fällen öfter genutzte Alternative ist, per Script/Executable ein Formular anzuzeigen, das eine FS_REFERENCE enthält. Darüber kann dann eine Datei hochgeladen werden (D&D oder per dort eingebautem Filechooser). Der Code, der das Formular geöffnet hat, verarbeitet die Datei dann weiter.

Stichworte:

Man nutzt dafür am besten einen gesonderten „temp“-Ordner in der Medienverwaltung, den man als uploadFolder in der FS_REFERENCE angibt. Außerdem einen zweiten (anderen!) Ordner, der immer leer ist - auf den schränkt man die Auswahlmöglichkeit der FS_REFERENCE ein. Das dient nur dazu, dass Benutzer anstatt eine Datei hochzuladen nicht eine schon im Mediastore vorhandene auswählen können (das reine Auswählen kann man in einer FS_REFERENCE nicht abschalten).

Je nachdem wie oft das genutzt werden soll (bzw. eher, ob das ggf. von mehreren Leuten gleichzeitig genutzt wird) muss man sich ggf. noch Gedanken machen, wie man das dann voneinander trennt. 

Kleiner Edge-Case: Wenn man zwar eine Datei hoch lädt, dann im Formular aber „Abbrechen“ wählt (bzw. den Dialog schließt), is die Datei trotzdem da. Von daher sollten liegengebliebene „Leichen“ dort weggeräumt werden. 

Ich hoffe das Hilft als Denkanstoß 😉

Viele Grüße 

Michael

0 Kudos
mbergmann
Crownpeak employee

Was mir gerade noch als potentielle Alternative einfällt: Nutzung von JavaScript zum Zugriff auf die lokale Datei - bin jetzt aber nicht sicher inwieweit das überhaupt funktioniert.

Aufruf über eine ClientScriptOperation, ggf. in Kombination mit einem Dialog.

Viele Grüße

Michael

0 Kudos