dluettel
Elite Observer

Dialog beim Speichern von Medien

Hallo Zusammen,

wir holen uns über einen Report Medien aus einem anderem System. Diese Medien ziehen wir per Drag&Drop auf einen FS-Button. Die dazugehörige Java-Klasse speichert das Medium anschließend in FirstSpirit. Der Speicherort wird von uns derzeit fest vorgegeben.

Wir möchten dem Redakteur jetzt gerne ermöglichen, dass er den Speicherort selber auswählen kann. Gibt es dafür einen FirstSpirit Standard Mechanismus?

Wenn ein Bild vom Desktop in die Komponente FS_REFERNCE gezogen wird, dann öffnet sich der Dialog zum Speicherort auswählen. Genau diesen Dialog hätten wir auch gerne.

Gruß

Daniel Lüttel

0 Kudos
4 Replies
pavone
I'm new here

Hallo Daniel,

mit SelectStoreElementOperation (FirstSpirit Developer-API)  solltet ihr einen passenden Dialog bauen können.

Viele Grüße

Tim

0 Kudos

Hallo Tim,

im Content Creator erhalten wir bei der Rückgabe immer null.

Gibt es die Methode für den ContentCreator nicht?

Gruß

Daniel Lüttel

0 Kudos

Hallo Zusammen,

noch als weiteren Hinweis, um es einfacher zu testen:

FS-Button:

<FS_BUTTON

    name="st_picture_button"

    hFill="yes"

    icon="info"

    noBreak="no"

    onClick="script:bytehall_demo"

    onDrop="script:bytehall_demo"

    style="firstspirit"

    useLanguages="no">

    <DROPTYPES>

      <TYPE value="external"/>

      <MIME type="*/*" classname="java.lang.String"/>

      <MIME type="text/plain" classname="java.io.InputStream"/>

      <MIME type="text/comma-separated-values" classname="java.io.InputStream"/>

    </DROPTYPES>

    <LANGINFOS>

      <LANGINFO lang="*" label="TEXT" description="TEXT"/>

    </LANGINFOS>

    <PARAMS>

      <PARAM name="bytehallId">#field.st_bytehall_id</PARAM>

      <PARAM name="picture">#field.st_picture</PARAM>

    </PARAMS>

  </FS_BUTTON>

Script:

//!Beanshell

import de.espirit.firstspirit.agency.*;

import de.espirit.firstspirit.webedit.server.ClientScriptOperation;

import de.espirit.firstspirit.access.store.mediastore.Media;

import de.espirit.firstspirit.access.store.mediastore.MediaFolder;

import de.espirit.firstspirit.access.store.Store;

import de.espirit.firstspirit.ui.gadgets.aspects.operations.SelectStoreElementOperation;

OperationAgent operationAgent = context.requireSpecialist(OperationAgent.TYPE);

SelectStoreElementOperation pOperation = operationAgent.getOperation(SelectStoreElementOperation.TYPE);

pOperation.setMultiSelect(false);

pOperation.addProject(null).addStoreType(Store.Type.MEDIASTORE);

pOperation.addTypeToSelect(MediaFolder.class);

pOperation.perform();

im Content Creator erhält man die Meldung:

Thu Aug 09 10:45:28 GMT+200 2018 de.espirit.firstspirit.webedit.client.script.ScriptServiceAsyncProxy

SEVERE: [executeScript] failed (in 13 ms)!

de.espirit.firstspirit.webedit.client.util.ServiceFailedException: Es ist ein unerwarteter Fehler aufgetreten.

at de.espirit.firstspirit.webedit.server.script.ScriptServiceImpl.executeScript(ScriptServiceImpl.java:74)

at sun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethodAccessorImpl.java)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$RPCInvoke.call(PollSupportingWebeditService.java:340)

at de.espirit.firstspirit.webedit.server.control.PollSupportingWebeditService$ServiceCallPollFeedWrapper.call(PollSupportingWebeditService.java:462)

at de.espirit.firstspirit.webedit.server.concurrent.ExecutionManager$NamedCallable.call(ExecutionManager.java:318)

at java.util.concurrent.FutureTask.run(FutureTask.java:266)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)

at java.lang.Thread.run(Thread.java:745)

at de.espirit.common.util.SuspendableThread.run(SuspendableThread.java:56)

0 Kudos

Hallo zusammen,

es gibt bereits diesen Feature-Request hier von Mark selbst: SelectStoreElementOperation auch im ContentCreator

Grüße,

Hannes

0 Kudos