Aller au contenu principal

PermanentPlugin & ClientService: Anzeigen eines Dialogs

Commentaires

8 commentaires

  • Zendesk API User
    Author: boersteken - 2/12/2018 16:07

    Hallo Marc,

    die RequestOperation ist in diesem Kontext des WebeditPermanentPlugin nicht supported. Dein Problem kannst du akut lösen, indem du die zwei Zeilen

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

    RequestOperation requestOperation = operationAgent.getOperation(RequestOperation.TYPE);

    in deine Service-Methode auslagerst und den BaseContext (der Umgebung in der du den Service benutzt) übergibst.

    Darüberhinaus solltest du jedoch darüber nachdenken ob es an dieser Stelle sinnvoll ist einen ClientService zu benutzen. Falls du tatsächlich nur eine RequestOperation aufrufen möchtest sollte eine Utility-Klasse ausreichend sein.

    Viele Grüße,

    Philipp

    0
  • Zendesk API User
    Author: marcfr - 2/12/2018 18:54

    Hallo Philipp,

    Danke für den Hinweis. Ich habe es nun wie folgt versucht:

    public class MyPermanentPlugin implements JavaClientPermanentPlugin, WebeditPermanentPlugin { 

     

    public void setUp(BaseContext context) { 

    // CLIENT SERVICE: 

    MyClientService myClientServiceObject = new MyClientService(context); 

    final ClientServiceRegistryAgent clientServiceRegistryAgent = context.requireSpecialist(ClientServiceRegistryAgent.TYPE); 

    clientServiceRegistryAgent.registerClientService(MyClientService.class, myClientServiceObject); 

     

    context.logInfo("MyPermanentPlugin loaded"); 

     

     

    public void tearDown() { 

    // TODO Auto-generated method stub 

    public class MyClientService {

    public MyClientService(BaseContext context){

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

    RequestOperation requestOperation = operationAgent.getOperation(RequestOperation.TYPE); 

    context.logInfo("requestOperation: " + requestOperation);

    }

    }

    Leider ist das RequestOperation-Objekt im ContentCreator nach wie vor null :-(

    Viele Grüße,

    Marc

    0
  • Zendesk API User
    Author: StefanSchulz - 2/13/2018 7:35

    Hallo Marc,

    da es sich auch auf dem zweiten Weg um das gleiche Kontextobjekt handelt, würde mich eine Änderung auch wundern.

    Interessant ist hier eher, auf welchem Weg dein ClientService aufgerufen/genutzt wird. Eventuell hilft der dortige Kontext weiter.

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: marcfr - 2/13/2018 7:54

    Hallo Stefan,

    wir hatten es so gedacht, dass wir einen eigenen Upload-Hook programmieren und in der folgenden Methode auf unseren Client-Service zugreifen:

    public void preProcess(BaseContext context, Media media, de.espirit.firstspirit.access.store.mediastore.File file,

    InputStream stream, long size) throws UploadRejectedException, IOException {

    final ServicesBroker servicesBroker = context.requireSpecialist(ServicesBroker.TYPE);

    MyClientService myClientServiceObject = servicesBroker.getService(MyClientService.class);

    myClientServiceObject.showDialogue();

    ...

    }

    -> und damit dem User dann einen Dialog anzeigen

    Viele Grüße,

    Marc

    0
  • Zendesk API User
    Author: StefanSchulz - 2/13/2018 7:56

    Hi Marc,

    dann solltest du mal schauen, ob der hier reingereichte Kontext (context) die entsprechende Operation bereitstellt. Am Besten dann einfach den Kontext an die Methoden des ClientServices weiterreichen, wenn das so ist.

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: marcfr - 2/13/2018 8:26

    Hi Stefan,

    das habe ich nun soeben versucht. Leider stellt auch dieses context-Objekt die gewünschte RequestOperation im ContentCreator nicht bereit (null).

    Fällt dir spontan noch eine andere Lösungsmöglichkeit ein? Oder ist das technisch mit FirstSpirit im ContentCreator bisher noch gar nicht möglich?

    Viele Grüße,

    Marc

    0
  • Zendesk API User
    Author: StefanSchulz - 2/13/2018 8:34

    Hi Marc,

    bin mal eben in den Hook-Code eingetaucht. Es sieht so aus, als käme an dieser Stelle kein Client-spezifischer Kontext an und kann wohl auch nicht so einfach bereitgestellt werden. Ich fürchte, du musst einen anderen Lösungsweg für deine Anforderung suchen. Eventuell das Hochladen des Bildes selbst übernehmen? Ich nehme an, ihr nutzt aktuell eine Eingabekomponente oder ähnliches?

    Beste Grüße

    Stefan

    0
  • Zendesk API User
    Author: mikula - 3/1/2018 14:30

    Hallo Marc,

    benötigst Du noch weitere Hilfe oder hat Dir die Antwort von Stefan bereits geholfen?

    In diesem Fall wäre es super, wenn Du die "richtige Antwort" entsprechend markierst, damit auch andere Community-Teilnehmer diese auf den ersten Blick finden.
    Solltest Du zwischenzeitlich eine eigene Lösung gefunden haben, wäre es nett, wenn Du diese hier bereitstellst.

    Viele Grüße

    Martin

    0

Vous devez vous connecter pour laisser un commentaire.