Feedback mithilfe von "SuccessCallback" und "Userdata"

In diesem Kapitel erfahren Sie, wie Sie Feedback zum Speichervorgang erhalten. Zusätzlich können Sie dem Anwender eigene Optionen im Ablagedialog bereitstellen. Die Optionen, die ein Anwender ausgewählt hat, können Sie in Ihrem Quellsystem auswerten, wenn der Speichervorgang erfolgreich war. Sie können aber auch Feedback erhalten, ohne dem Anwender eigene Optionen zur Verfügung zu stellen.

Bereitstellen von Optionen für den Anwender im Ablagedialog

Neben den Daten zur Zuordnungsverarbeitung können Sie in dem Ablagedialog Ihren Anwendern eigene Optionen anzeigen. Der Anwender kann eine der Optionen auswählen. Um diese Optionen bereitzustellen, fügen Sie dem JSON-Objekt sourceProperties das Array userdata hinzu. Weitere Informationen finden Sie unter Definieren der Parameter zum Speichern.

Sie können dem Anwender eine Auswahlmöglichkeit vorschlagen. Falls Sie keine Option vorschlagen, muss der Anwender selbst vor dem Speichern des DMS-Objektes eine Option auswählen. Nach dem erfolgreichen Speichern wird die vom Anwender ausgewählte Option an die URL (successCallbackUri) übergeben.

Das JSON-Objekt sourceProperties mit dem Array userdata sieht wie folgt aus:

{
    "properties": [ 
       ...
    ],
        "userdata": [{
       "key": "postProcessingOption",
       "display": "My post processing options",
       "values": [
                    {"value":"1", "display": "Action 1", "default":"false"},
                    {"value":"2", "display": "Default action 2", "default":"true"},
                    {"value":"3", "display": "Action 3", "default":"false"}
                 ]
    }]
}

Feedback nach erfolgreichem Speichern

Möchten Sie Feedback erhalten, sobald das DMS-Objekt erfolgreich gespeichert wurde, geben Sie den Parameter successCallbackUri an. Sie erhalten eine HTTP POST-Anforderung für diese URL mit einem JSON-Objekt in der Anforderung.

Die Anforderung, die die DMSApp sendet, könnte wie folgt aussehen:

Request

POST /myapp/sources/mysource/myfile/success
Origin: https://baseuri
Accept: application/hal+json
Content-Type: application/hal+json

{
    "_links": {
        "dmsobjectwithmapping": { 
            "href": "/dms/r/dee1f3d3-eae8-5d9d-84d8-2d758c5ddc27/o2m/D000001234?sourceId=%2Fmyapp%2Fsources%2Fmysourc" 
        }
    },
        "userdata": [
        {
            "postProcessingOption": ["2"]
        }
    ]
}

Beschreibung des JSON-Objektes, das beim POST übergeben wird:

Eigenschaft

Beschreibung

_links

Enthält die Linkrelation dmsobjectwithmapping. Die Linkrelation ist eine relative URL zu den Details des gespeicherten DMS-Objektes.

userdata

Gibt das Array mit den Ergebnissen, welche Optionen ein Anwender ausgewählt hat, als Name-Wert-Paare (Key-Value) an. Die Eigenschaft userdata existiert nur, wenn Sie dem Anwender Optionen bereitgestellt haben.

Geben Sie als Antwort auf die Anforderung der DMSApp einen entsprechenden HTTP-Statuscode zurück. Anhand Ihres Statuscodes zeigt der Ablagedialog eine entsprechende Erfolgs- oder Fehlermeldung an. Sie können weitere Informationen in Ihrer Antwort als JSON-Objekt übergeben.

Beispiel für Ihre Antwort für eine Anforderung (Request):

Response

HTTP/1.1 400 BadRequest
  
{
    "reason": "My error message",
    "severity": 3
}

Beschreibung der Parameter zu der Antwort auf die Anforderung:

Eigenschaft

Beschreibung

reason

Ein optionaler kurzer Beschreibungstext, weshalb der Fehler aufgetreten ist. Dieser Text wird als Titel der Fehlermeldung verwendet.

hint

Ein optionaler Hinweistext für den Anwender mit Tipps für die Fehlerbehebung.

details

Optionale Detailinformationen zum Fehler.

severity

Optionaler Schweregrad des Fehlers. Folgende Werte sind möglich:

Success = 0,
Information = 1,
Warning = 2,
Error = 3