Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Transportverfahren

Übertragung per Restful API (https)

Objekt

Artikel im JSON und Bilder als strukturiertes Objekt im JSON, Artikel-ID als eindeutiges Merkmal (document ID)

Trigger

Zeitlich gesteuerter Poll durch PRINT NGEN (Pull alle 15 Sekunden, sofern vorhergehender Pull durchgeführt), Artikel-ID = eindeutiges Merkmal

Typische Drittsysteme

Livingdocs

...

Folgende Metadaten der Livingdocs Bilder-Daten können in PRINT NGEN dargestellt werden:

  • Pixeldaten

  • Bildausschnitt (optional)

  • Dateiname

  • Bildunterschrift (optional)

  • Quelle (optional)

  • Bildursprung (optional)

  • Ursprüngliche Bild-ID (optional)

Workflow

Artikel

Durch entsprechend automatisierte Workflows können Artikel, die in Livingdocs publiziert werden, automatisiert in der PRINT NGEN Datenbank gespeichert werden. Diese Workflows greifen je Objekt.

...

Das Gleiche gilt auch, wenn die Ausgabe in Livingdocs geändert wird. D. h. wird ein Livingdocs-Artikel mit der Ausgabe A publiziert, anschließend die Ausgabe in Livingdocs zur Ausgabe B geändert und erneut publiziert, bleibt der Artikel in PRINT NGEN zur Ausgabe A wie bisher bestehen. Beim zweiten Publizieren wird in PRINT NGEN ein Artikel zur Ausgabe B erstellt.

Bilder in Artikel

Enthält ein Livingdocs-Artikel Bilder, dann werden diese nach PRINT NGEN importiert und an den Artikel gehängt. Das erste Bild des Livingdocs-Artikels wird als Produktionskopie in den Bildbereich des NGEN-Artikels platziert. Für den Import der Bilder wird standardmäßig der Pfad “originalUrl” aus dem Artikel-JSON verwendet. Wenn das Bild aus “originalUrl” nicht gefunden wird, wird das Bild aus “url” abgeholtArtikel-JSON verwendet. Wenn das Bild aus “originalUrl” nicht gefunden wird, wird das Bild aus “url” abgeholt.

Optional kann ein Bildausschnitt als relatives Rechteck in 1/10000 Einheiten (“height” ist 10000 bei einem Ausschnitt über die volle Höhe des Bildes, “width” ist 10000 bei einem Ausschnitt über die volle Breite des Bildes) mit übergeben werden, welcher in PRINT NGEN als Softcrop am Bild gesetzt wird. Der Bildausschnitt wird nur übernommen, wenn das Bild aus dem Pfad “originalUrl” importiert wurde. Der Bildbereich des Artikels wird nicht automatisch an den Bildausschnitt angepasst. Bei Übertragung eines invaliden Bildausschnitts (z.B. negative Werte oder Werte über 10000) wird kein Bildausschnitt gesetzt.

Das Erstellen und Publizieren eines Livingdocs-Artikels ist in nachfolgenden Videos beispielhaft skizziert (die gezeigten Metadaten beschränken sich im Video überwiegend auf die Pflichtfelder):

...

Feld

Inhalt

Option

"id"

ID des Elements im Artikel

-

"component"

Element des Artikels, z. B.:

  • image → Bild

  • head oder header → Kopf

  • (lead-p → Vorspann)

  • p → Standard-Text

-

"content": { component: "image", “content”: { “image”: { "originalUrl" }}}

URL des Original-Bildes.

Wird standardmäßig zum Abholen des Bildes verwendet.

erforderlich

"content": { component: "image", “content”: { “image”: { "url" }}}

URL des platzierten Bildes.

Wenn das Bild aus “originalUrl” nicht gefunden wird, wird das Bild aus “url” abgeholt.

optional

"content": { component: "image", “content”: { “image”: { "origins": { "name" }}}}

Ursprung/Quelle des Bildes z. B. hugo.

Wird kein Ursprung übergeben wird standardmäßig BildUrsprung=Livingdocs gesetzt.

optional

"content": { component: "image", “content”: { “image”: { "origins": { "identifier" }}}}

Bild-ID

Wird in die NGEN Bildeigenschaft DBildArchivID übernommen.


optional

"content": { component: "image", “content”: { “image”: { "crop": { "x" }}}}

X-Koordinate des Ausschnitts von links oben in 1/10000 Einheiten-

optional

"content": { component: "image", “content”: { “image”: { "crop": { "y" }}}}

Y-Koordinate des Ausschnitts von links oben in 1/10000 Einheiten-

optional

"content": { component: "image", “content”: { “image”: { "crop": { "width" }}}}

Breite des Ausschnitts in Pixel 1/10000 Einheiten relativ zur Pixelgröße des Originalbildes aus der originalUrlGesamtbreite des Bildes

optional

"content": { component: "image", “content”: { “image”: { "crop": { "height" }}}}

Höhe des Ausschnitts in Pixel 1/10000 Einheiten relativ zur Pixelgröße des Originalbildes aus der originalUrlGesamthöhe des Bildes

optional

"content": { component: "image", “content”: { "caption" }}

Bildunterschrift

optional

"content": { component: "image", “content”: { "source" }}

Bildquelle

"labelSource" "source" werden in das Bildquelle-Tag der BU übernommen (in dieser Reihenfolge mit Leerzeichen getrennt)

optional

"content": { component: "image", “content”: { "labelSource" }}

Quellverweis

"labelSource" "source" werden in das Bildquelle-Tag der BU übernommen (in dieser Reihenfolge mit Leerzeichen getrennt)

optional

"content": { component: "head" oder: "header", content: { "catchline" }}

Dachzeile des Artikels

optional

"content": { component: "head" oder: "header", content: { "title" }}

Titel des Artikels

erforderlich

"content": { component: "head" oder: "header", content: { "lead" }}

Unterzeile des Artikels

optional

"content": { component: "head" oder: "header", content: { "author" }}

Autor:in des Artikels

optional

"content": { component: "head" oder: "header", content: { "authorShortnames" }}

Autor:innenkürzel

optional

"content": { component: "head" oder: "header", content: { "city" }}

Ortsmarke im Text des Artikels

optional

"content": { component: "lead-p", content: { "text" }}

Vorspann des Artikels

optional

"content": { component: "lead-p", content: { "opener" }}

Ortsmarkte im Vorspann des Artikels

optional

"position"

z. B. fixed

-

"content": { component: "p", content: { "text" }}

Absatz eines Artikels

optional

"content": { component: “subtitle”, “content“: { “title“ }}

Zwischentitel im Artikel

optional

"content": { component: “list”, “containers”: { “list” }}

Liste im Artikel

optional

"content": { component: “list” , “containers”: { “list”: [{ “component”: “list-item”, “content”: { “text” }}]}}

Listenelement

optional

"content": { component: “quote” , “content”: { “text” }}

Zitat im Artikel

optional

"content": { component: “quote” , “content”: { “source” }}

Autor:in/Quelle des Zitats

optional

"content": { component: "question" , "content": { "text" }}

Frage

optional

"content": { component: "answer" , "content": { "text" }}

Antwort

optional

"content": {"component": "infobox","content": {

"title": "",

"text": "",

"image": {}

"caption": "",

"source": ""

}}

Infobox im Artikel (in PRINT NGEN als eigenständiger Artikel) mit oder ohne Bild.

Im Text sind Auszeichnungen (strong, em, p) möglich. Weitere Components (list, quote, question, answer) dürfen im Text nicht übergeben werden.

Für Infoboxbilder können die gleichen Felder übergeben werden wie bei den Artikelbildern.

optional

...

Code Block
{
    "systemdata": {
        "projectId": 16,
        "channelId": 16,
        "documentId": 44,
        "contentType": "print",
        "documentType": "article",
        "design": {
            "name": "berliner-zeitungtageszeitung",
            "version": "0.0.100"
        }
    },
    "metadata": {
        "title": "Title",
        "publications": [{
          "object": "BZta",
          "name": "Berliner Zeitungtageszeitung",
          "value": "Berliner Zeitungta-ma",
          "category": "Berlinpol",
          "printContentType": "Standard",
          "pageIndex": "1",
          "authorPosition": "AutorBereich"
        },
        { "object": "BKta",
          "name": "Berliner KurierTageszeitung",
          "value": "Berliner Kurierta-dah",
          "category": "Berlinpol",
          "printContentType": "Aufmacher",
          "pageIndex": "3",
          "collective": "Sonderthema XYZ",
          "authorPosition": "AutorAnfang"
         }
        ],
        "publish-date": "2020-03-17T10:35:00.000Z",
        "expire-date": "2020-04-30T09:35:00.000Z"
    },
    "livingdoc": {
        "content": 

            {
                "id": "doc-1e3k0qt0h0",
                "component": "head",
                "content": {
                    "catchline": "Catchline",
                    "title": "Title",
                    "lead": "Lead",
                    "author": "LukasMax PeyerMustermann",
                    "authorShortnames": "LPMM"
                },
                "position": "fixed"
            },
            {
                "id": "doc-1e3k0qt0i0",
                "component": "lead-p",
                "content": {
                    "opener": "Lead Paragraph",
                    "text": "Text"
                }
            },
            {
                "id": "doc-1e3k0qt0i1",
                "component": "p",
                "content": {
                    "text": "Text"
                }
            },
            {
                "id": "doc-1e3k0ts9b0",
                "component": "image",
                "content": {
                    "image": {
                        "originalUrl": "http://livingdocs-images-dev.s3.amazonaws.com/2020/1/28/6c0b3ce3-0289-44da-9610-91f1d9773419.jpeg",
                        "url": "https://livingdocs-dev.imgix.net/2020/1/28/6c0b3ce3-0289-44da-9610-91f1d9773419.jpeg?rect=0%2C20%2C1200%2C675&auto=format",
                        "width": 1200,
                        "height": 714,
                        "mimeType": "image/jpeg",
                        "imageService": "imgix",
                        "crop": {
                            "x": 02000,
                            "y": 202000,
                            "width": 120010000,
                            "height": 675,
                            "name": "16:9"5000
                        }
                        "origins": [
                            {
                                "name": "archiv A",
                                "identifier": "abc-123"
                            }]
                    },
                    "caption": "Image Caption",
                    "labelSource": "Source",
                    "source": "Agency"
                }
            },
            {
                "id": "doc-1e3k0sng70",
                "component": "quote",
                "content": {
                    "text": "Quote",
                    "source": "Quote Author"
                }
            },
            {
                "component": "question",
                "id": "doc-1e3k0sng70",
                "content": {
                    "text": "Frage Inhalt."
                }
            },
            {
                "component": "answer",
                "id": "doc-1e3k0sng70",
                "content": {
                    "text": "Antwort Inhalt."
                }
            },
            {
                "id": "doc-1e3k0sveu0",
                "component": "subtitle",
                "content": {
                    "title": "Subtitle"
                }
            },
            {
                "id": "doc-1e3k0s91s0",
                "component": "list",
                "content": {
                    "title": "List Title"
                },
                "containers": {
                    "list": [
                        {
                            "id": "doc-1e3k0sacb0",
                            "component": "list-item",
                            "content": {
                                "text": "Item 1"
                            }
                        },
                        {
                            "id": "doc-1e3k0sgrn0",
                            "component": "list-item",
                            "content": {
                                "text": "Item 2"
                            }
                        }
                    ]
                }
            }
        ],
        "design": {
            "name": "berliner-zeitung",
            "version": "0.0.100"
        },
        "layout": "print"
    }
}

...

Include Page
Disclaimer der PEIQ PRINT NGEN - Produktdokumentation
Disclaimer der PEIQ PRINT NGEN - Produktdokumentation

Nur für PEIQ Mitarbeiter:innen:

/wiki/spaces/CORE/pages/811925833