vmu
Occasional Observer

Inline Editor Plugin wird nicht angezeigt.

Hallo,

ich versuche momentan eine Inline Editor Plugin für das ContentCreator mit Maven zu schreiben.

Leider wird mein Module nicht in der Editor Leiste angezeigt. Ich weiß nicht woran es liegt.

Die Pom, Module und Fsm.xml liegt im Anhang.

Hier der Code des Plugins:

import de.espirit.firstspirit.access.BaseContext;
import de.espirit.firstspirit.access.store.IDProvider;
import de.espirit.firstspirit.agency.OperationAgent;
import de.espirit.firstspirit.ui.operations.RequestOperation;
import de.espirit.firstspirit.webedit.plugin.WebeditInlineEditItemsPlugin;
import de.espirit.firstspirit.webedit.plugin.inlineedit.ExecutableInlineEditItem;
import de.espirit.firstspirit.webedit.plugin.inlineedit.InlineEditContext;
import de.espirit.firstspirit.webedit.plugin.inlineedit.InlineEditItem;

import java.util.Arrays;
import java.util.Collection;

public class ReleasePlugin implements WebeditInlineEditItemsPlugin {

  private BaseContext _baseContext;

  @Override
  public void setUp(BaseContext baseContext) {

  this._baseContext = baseContext;
  }

  @Override
  public void tearDown() {

  }

  @Override
  public Collection<? extends InlineEditItem> getItems() {

  return Arrays.asList(

  new ExecutableReleasePlugin()

  );
  }

  private static class ExecutableReleasePlugin implements ExecutableInlineEditItem {

  @Override
  public String getLabel(InlineEditContext inlineEditContext) {

  return "Example Executable InlineEdit Item";
  }

  @Override
  public String getIconPath(InlineEditContext inlineEditContext) {

  return null;
  }

  @Override
  public void execute(InlineEditContext inlineEditContext) {

  final OperationAgent operationAgent = inlineEditContext.requireSpecialist(OperationAgent.TYPE);
  final RequestOperation requestOperation = operationAgent.getOperation(RequestOperation.TYPE);
  requestOperation.setKind(RequestOperation.Kind.INFO);
  requestOperation.perform("This message box is generated by the Example Executable InlineEdit Item.");
  }

  @Override
  public boolean isVisible(InlineEditContext inlineEditContext) {

  // final IDProvider element = inlineEditContext.getElement();
  // return !(element instanceof Content2Section || element instanceof SectionReference) && element instanceof Section;
  return true;
  }

  @Override
  public boolean isEnabled(InlineEditContext inlineEditContext) {

  final IDProvider element = inlineEditContext.getElement();
  return element != null && (!element.isPermissionSupported() || element.getPermission().canChange());
  }

  }

}

VG Valeh.

1 Reply
StefanSchulz
I'm new here

Hallo Valeh,

in deiner module.xml sehe ich keine Definition von Web-Ressourcen. Damit ein Plugin im ContentCreator nutzbar ist, muss eine WebApp-Definition im Modul vorhanden sein, deren Ressourcen dann im AppServer ausgerollt werden.

Die Definition dürfte vermutlich so aussehen:

<web-app>

  <name>ReleasePlugin</name>

  <description>ReleasePlugin Web-App</description>

  <web-xml>web/web.xml</web-xml>

  <web-resources>

    <resource>lib/${project.artifactId}-${project.version}-jar-with-dependencies.jar</resource>

  </web-resources>

</web-app>

Ohne die Definition sind im AppServer deine Klassen nicht bekannt.

Beste Grüße

Stefan

0 Kudos