Zum Ende der Metadaten springen
Zum Anfang der Metadaten

Sie zeigen eine alte Version dieser Seite an. Zeigen Sie die aktuelle Version an.

Unterschiede anzeigen Seitenhistorie anzeigen

« Vorherige Version anzeigen Version 4 Nächste Version anzeigen »

Goal: Send REST request to an external system whenever a customer Entry is created or modified.

You can download the whole Kickstarter-based sample application from our GitLab repository: um-public/tutorial-syncqueue

Start a new Kickstarter project

umkickstarter -n de.pinuts.tutorial
cd umkickstarter
# Copy your partner license file to env/devel/cmsbs-conf/cmsbs.license

Include dependency

Edit build.gradle and add the following dependency:

dependencies {
    ...
    
    runtime('de.pinuts.cmsbs:SyncQueue:1.3.5')
}

Now, setup and restart:

gradle setup run

Implement and register CommitCallback

Create a new (M)JS file: cmsbs-conf/cse/plugins/de.pinuts.tutorial/shared/CommitCallback.mjs:

/// <reference path="../../../.vscode.js"/>

class MyCommitCallback extends CommitCallback {
    /**
     * @param {Entry} e 
     */
    preCommit(e) {
        if (e.get('entrytype') == 'customer') {
            console.error('preCommit:', e);
        }
    }

    /**
     * @param {Entry} e 
     */
    postCommit(e) {
        if (e.get('entrytype') == 'customer') {
            console.error('postCommit:', e);
        }
    }

    /**
     * @param {Entry} e 
     */
    preRemove(e) {
        if (e.get('entrytype') == 'customer') {
            console.error('preRemove:', e);
        }
    }
}

CommitCallback.registerCallback(() => new MyCommitCallback());

Open http://localhost:8080/cmsbs, login as admin / admin and create, edit and delete a Customer entry.

Take a look at the console / shell where you started the UM:

  • Keine Stichwörter