MadeToPrint Enterprise Server Plugin individualisieren
Ein Vorteil des neuen MadeToPrint Enterprise Server Plugin ist seine Individualisierbarkeit. Dies kann durch ein eigenes Enterprise Plugin erreicht werden.
Um das MadeToPrint Enterprise Server Plugin zu individualisieren, enthält es an bestimmten Code-Stellen Kommandos, worüber man sich in die Verarbeitung einhängen kann. Damit kann man auch spezielle Einstellungen oder Verarbeitungsschritte anpassen.
Beispiel-Individualisierung
Bei dieser Beispielanpassung, kann der Kommentar, den MadeToPrint nach der Verarbeitung eines Layouts in Enterprise schreibt, an eigene Anforderungen angepasst werden.
- Erzeugen Sie einen Ordner in config/plugins, z.B: 'AxaioMadeToPrintCustomizationComment' (stellen Sie sicher, dass der web user Schreibrechte auf diesem Ordner hat).
- Loggen Sie sich in Enterprise ein und besuchen Sie die Server Plugins Seite.
Die folgenden Dateien werden automatisch im oben genannten Ordner erzeugt:- config.php (optional)
- LICENSE (optional)
- NOTICE (optional)
- PluginInfo.php (nötig)
- Passen Sie die PluginInfo.php an. Sie könnte dann in etwa so aussehen:
<?php
require_once BASEDIR.'/server/interfaces/plugins/EnterprisePlugin.class.php';
class AxaioMadeToPrintCustomizationFilterFullrow_EnterprisePlugin extends EnterprisePlugin
{
public function getPluginInfo()
{
require_once BASEDIR.'/server/interfaces/plugins/PluginInfoData.class.php';
$info = new PluginInfoData();
$info->DisplayName = 'Axaio MadeToPrint Anpassung, Kommentar ändern';
$info->Version = '10.9 0'; // don't use PRODUCTVERSION
$info->Description = 'Für Demozwecke - Kommentar anpassen';
$info->Copyright = 'axaio software GmbH. All Rights Reserved.';
return $info;
}
final public function getConnectorInterfaces()
{
return array(
'AxaioMadeToPrintDispatcher_EnterpriseConnector',
);
}
}
- Erzeugen Sie eine weitere Datei mit folgendem Dateinamenmuster:
<OrdnerName>_AxaioMadeToPrintDispatcher.class.php
Für dieses Beispiel mit dem Ordnernamen ‘AxaioMadeToPrintCustomizationComment’ muss die Datei also AxaioMadeToPrintCustomizationComment_AxaioMadeToPrintDispatcher.class.php heißen.
Diese Datei muss folgendermaßen aussehen:
<?php declare( strict_types = 1 );
/**
* @since 10.9.x
* @copyright WoodWing Software bv. All Rights Reserved.
* @copyright axaio software GmbH. All Rights Reserved.
*/
require_once BASEDIR.'/server/plugins/AxaioMadeToPrint/interfaces/plugins/connectors/AxaioMadeToPrintDispatcher_EnterpriseConnector.class.php';
class AxaioMadeToPrintCustomizationComment_AxaioMadeToPrintDispatcher extends AxaioMadeToPrintDispatcher_EnterpriseConnector
{
// Funktionen hier hinein
}
Stellen Sie sicher, dass der Dateinamenteil mit dem Script übereinstimmt.
- Jetzt können Sie Ihren eigenen Code hinzufügen. Sie können Ihre Optionen zum Überschreiben in der Datei AxaioMadeToPrint/interfaces/plugins/connectors/AxaioMadeToPrintDispatcher_EnterpriseConnector.class.php sehen, oder im Code des Serverplugins nach den entsprechenden Stellen suchen. Diese Stellen sehen etwa wie folgt aus:
self::runCustomization()->postProcessFilterComment
. - Kopieren Sie die Funktionsdeklaration aus der Datei AxaioMadeToPrintDispatcher_EnterpriseConnector.class.php in Ihre neue Datei AxaioMadeToPrintCustomizationComment_AxaioMadeToPrintDispatcher.class.php
- Sie starten dann mit
public function postProcessFilterComment( string &$comment, string $layoutId, string $layStatusId, string $layEditionId, int $success, array &$mtpConfig, array $commentInfo ): void
{
// angepasster code hier
}
- Die Parameter, die ein vorangestelltes
&
haben, können verändert werden. In diesem Beispiel wollen wir die Variable$comment
in Abhängigkeit des Erfolgs des MadeToPrint-Prozesses ändern.
if( $success == 1) {
$comment = 'OK';
} else {
$comment = 'Job enthielt Fehler: ' . $commentInfo['message'];
}
Das war es auch schon. Nachdem Sie das Benutzer-Plugin im Enterprise Server aktiviert haben, wird die Funktion bei jedem Prozess ausgeführt.
Sie können auch mehrere Anpassungen vornehmen, entweder in einem einzelnen Plugin mit mehreren Funktionen, oder in mehreren Plugins, welche dann auch unabhängig voneinander aktiviert und deaktiviert werden können.
0 Kommentare
Kommentar hinzufügen