Ab Version 2.0 von Add-In-Manager , können Sie jetzt die automatische Aktualisierung bereitstellen JMP Add-Ins für Ihre Benutzer mit einem einzigen Klick. Der Add-In-Manager ermöglicht Ihnen die Bereitstellung an Test- und Produktionsstandorten. Die Bereitstellung ist für Add-In-Manager-Zwecke der Prozess des Verschiebens (oder Pushens) eines Add-Ins an Ihre Benutzer.
Sie können Standardbereitstellungsorte für TEST und PROD mit den Einstellungen des Add-In-Managers definieren. Sie können die TEST- und PROD-Speicherorte auch für jedes Add-In im Abschnitt „Ordnerspeicherorte“ auf der Registerkarte „Allgemeine Informationen“ unterschiedlich festlegen.Innerhalb Ihres Add-Ins wird eine „customMetadata.jsl“-Skriptdatei mit einem assoziativen Array erstellt, das mehrere Informationen enthält. Ein Schlüssel im assoziativen Array wird "state" genannt und enthält den Speicherort des aktuellen Builds, entweder DEV, TEST oder PROD. Weitere Informationen zum Hinzufügen Ihrer eigenen benutzerdefinierten Metadaten finden Sie in meinem nächsten Blogbeitrag. Add-In-Manager, Teil 3: Erweiterte Anpassung .
Erstellen Sie das Add-In im DEV-Speicherort
Ein Bereitstellungsspeicherort ist ein Ordnerpfad, der auf einen bestimmten Bereitstellungsbereich verweist. Im Add-In-Manager gibt es drei Bereitstellungsbereiche (als Bereitstellungsorte bezeichnet): DEV, TEST und PROD. Der DEV-Speicherort ist der Speicherort, an dem Add-Ins ursprünglich erstellt werden. Dieser Ort ist ein großartiger Ort für Sie als Entwickler, um Ihr Add-In zu testen und auszuprobieren. Informationen zum Erstellen eines Add-Ins an diesem DEV-Standort finden Sie in meinem vorherigen Blog. Add-In-Manager, Teil 1: Definieren und Erstellen eines JMP-Add-Ins .
Add-In am TEST-Speicherort bereitstellen
Wenn Sie einen oder mehrere Ihrer Benutzer benötigen, um einen bestimmten Build Ihres Add-Ins zu testen, aber noch nicht bereit sind, es an alle zu verteilen, können Sie Ihr Add-In am TEST-Bereitstellungsort bereitstellen und die Pfad zum Installieren dieses Add-Ins für den/die Benutzer.
Bevor Sie ein Add-In an einem TEST-Speicherort bereitstellen, stellen Sie sicher, dass Sie einen TEST-Bereitstellungsspeicherort auf der Registerkarte TEST des Abschnitts Ordnerspeicherorte definiert haben.
Klicken Sie auf die Dropdown-Schaltfläche Bereitstellen und wählen Sie „Test bereitstellen“, um das Add-In in den TEST-Bereitstellungsordner zu kopieren. Das TEST-Add-In wird jedes Mal überschrieben, wenn es im TEST-Bereitstellungsordner bereitgestellt wird.
Bereitstellen des Add-Ins am PROD-Speicherort
Sobald alle Ihre Tests abgeschlossen sind, damit eine neue Version eines Add-Ins veröffentlicht werden kann, können Sie Ihr Add-In bereitstellen
Bevor Sie ein Add-In an einem PROD-Speicherort bereitstellen, stellen Sie sicher, dass Sie einen PROD-Bereitstellungsspeicherort auf der Registerkarte „PROD“ im Abschnitt „Ordnerspeicherorte“ definiert haben. Wenn Sie das Update-Prüfskript verwenden, stellen Sie sicher, dass der PROD-Metadatenordner einen Serverpfad verwendet, da Benutzer bei der Suche nach Updates auf diesen Pfad zugreifen können müssen.
Klicken Sie auf die Dropdown-Schaltfläche „Bereitstellen“ und wählen Sie „PROD bereitstellen“ aus, um das Add-In mit dem Status „PROD“ in den PROD-Bereitstellungsordner zu kopieren. Das vorherige PROD-Add-In wird im PROD-Archivordner archiviert und das neue PROD-Add-In nimmt seinen Platz ein.

Bei der Bereitstellung in PROD wird das assoziative Array-Skript „publishedAddins.jsl“ im PROD-Metadatenordner mit dem Erstellungsdatum des bereitgestellten Add-Ins aktualisiert. Diese Informationen können mit dem updateCheck-Skript abgefragt werden, das in den Bereitstellungseinstellungen aktiviert werden kann.
Unten sehen Sie ein Beispiel für die Skriptdatei „publishedAddins.jsl“ mit zwei veröffentlichten Add-Ins. Sie sollten diese Datei nie ansehen oder bearbeiten müssen, aber es könnte gut sein zu wissen, wie sie hinter den Kulissen funktioniert.
Associative Array(
List(
List( "com.jmp.juchil.myjmpaddin1",
Associative Array(
List(
List( "filename", "My First JMP Add-In.jmpaddin" ),
List( "folder", "\\server\share\Add-In Depot\Production\" ),
List( "pubDate", 3594027166 )
)
)
),
List( "com.jmp.juchil.myjmpaddin2",
Associative Array(
List(
List( "filename", "My Second JMP Add-In.jmpaddin" ),
List( "folder", "\\server\share\Add-In Depot\Production\" ),
List( "pubDate", 3594026242 )
)
)
)
)
)
Prüfskript aktualisieren
Damit Add-Ins automatisch aktualisiert werden, muss die Einstellung „Update-Prüfskript einbeziehen“ aktiviert sein. Wenn diese Einstellung aktiviert ist, wird ein Skript mit dem Namen „updateCheck.jsl“ in den Ordner der obersten Ebene Ihres Add-Ins eingefügt. Sie können das Standardskript ändern, indem Sie die Datei „updateCheck.jsl“ im Verzeichnis „Template Scripts“ im Home-Verzeichnis des Add-In-Managers bearbeiten. Stellen Sie sicher, dass Sie eine Kopie dieser Datei erstellen, bevor Sie sie bearbeiten.
Die vorhandene Datei „updateCheck.jsl“ überprüft das im vorherigen Abschnitt beschriebene assoziative Array der PROD-Metadaten. Es verwendet den „buildDate“-Schlüssel der benutzerdefinierten Metadatendatei, um zu prüfen, ob die installierte Version älter ist als eine verfügbare veröffentlichte Version. Da das Aktualisierungsskript auf der benutzerdefinierten Metadatendatei basiert, ist es wichtig, die Option „Metadatendatei erstellen“ aktiviert zu lassen, wenn Sie die Bereitstellungsfunktionen verwenden.
Sie können dieses Skript mit der folgenden Include-Anweisung verwenden. Sie müssen die ID ändern, damit sie mit der ID Ihres Add-Ins übereinstimmt. Sie können diese Aktualisierungsprüfung am Anfang des Skripts Ihres Befehls oder in einem ButtonBox-Skript verwenden, um nach einer neuen Version zu suchen. Ab JMP 13 funktioniert die Verwendung dieses Skripts jedoch nicht innerhalb eines addinLoad.jsl-Skripts.
Include( "$ADDIN_HOME(com.jmp.myaddin)\updateCheck.jsl" );
com.jmp.juchil.addinmanager:checkForUpdate();
Sie können das Skript "updateCheck.jsl" in Ihrem Quellordner bearbeiten, nachdem es kopiert wurde, oder Sie können die Originalkopie bearbeiten, die aus dem Ordner "Template Scripts" im Home-Ordner des Add-In-Managers verwendet wird.
Das Konzept, ein assoziatives Array zu verwenden, um nach Updates zu suchen, wurde angepasst @brady_brady Methode zur Verwendung einer Tabelle mit Veröffentlichungsdaten. Diese Methode ist beschrieben in @Jeff_Perkinson 's Beitrag So schreiben Sie sich selbst aktualisierende JMP-Add-Ins .
Dieser Blogbeitrag ist der zweite Teil einer dreiteiligen Serie, in der es um die Vorgehensweise geht Definieren und Erstellen eines Add-Ins , ein Add-In für Benutzer bereitstellen und erweiterte Anpassungen vornehmen im Add-In-Manager verfügbar.Ich hoffe, Sie finden meine Add-In-Manager Ergänzung sinnvoll!