Skip to main content

Amazon S3-Integration

Zusammenfassung

Sie können Inhalte direkt von Paligo auf Amazon S3 hochladen. Richten Sie die Paligo-zu-Amazon-S3-Integration ein, damit Paligo sich mit Amazon S3 verbinden kann und Sie dann veröffentlichen können.

paligo-to-awss3-small.jpg

Paligo unterstützt Continuous Integration (CI) für Amazon Web Services S3 (Amazon S3). Das bedeutet, dass Sie Inhalte in Paligo erstellen können, z. B. PDFs oder ein HTML-Helpcenter, und diese in Amazon S3 veröffentlichen können, so dass sie für Ihre Endbenutzer sofort verfügbar sind.

Wenn Sie auf Amazon S3 veröffentlichen, werden Ihre Paligo-Inhalte als ZIP-Datei in einen S3-Bucket hochgeladen. Sie können eine Lambda-Funktion verwenden, um die Datei automatisch in einen anderen Bucket zu entpacken, und dann können Sie den entpackten Inhalt in Ihrem Workflow verwenden oder über Amazon S3 veröffentlichen.

Bevor Sie von Paligo auf Amazon S3 veröffentlichen können, benötigen Sie:

  • Ein Amazon S3-Konto

  • Grundlegende Kenntnisse und Fertigkeiten in Bezug auf Amazon S3, einschließlich der Erstellung eines S3-Buckets und der Festlegung von Berechtigungen.

  • Einen Bucket in Amazon S3. Paligo wird Ihre veröffentlichten Dateien in den Bucket hochladen. Die Ausgabe wird als ZIP-Datei hochgeladen.

So richten Sie Paligo für die Publikation auf Amazon S3 ein:

Dadurch kann Paligo Ihre Ausgabe als ZIP-Datei in Ihrem ausgewählten AWS S3-Bucket veröffentlichen. Sie können Amazon S3 auch so einrichten, dass es die Datei automatisch entpackt.

Für die Einrichtung der Paligo-Amazon S3-Integration benötigen Sie:

  • Amazon Web Services-Konto mit Lese- und Schreibzugriff auf den S3-Dienst

  • S3-Bucket, um die gepackten Inhalte zu erhalten, die Paligo hochlädt, wenn Sie veröffentlichen.

    Paligo kann Inhalte direkt in das Stammverzeichnis des Buckets oder in einen darin befindlichen Ordner hochladen.

Wenn Sie einen Bucket eingerichtet haben, können Sie Paligo mit Amazon S3 verbinden:

  1. Melden Sie sich bei Paligo über ein Benutzerkonto mit Administratorberechtigungen an.

  2. Wählen Sie den Avatar in der oberen rechten Ecke aus. User avatar. It shows the user's image and their name. Next to the name is a downward pointing arrow, which when selected, reveals a menu.

  3. Wählen Sie im Menü Einstellungen aus. Cog icon.

  4. Wählen Sie die Registerkarte Integrationen. Jigsaw piece icon.

    Paligo settings. The Integrations tab is highlighted.
  5. Suchen Sie die Amazon S3-Einstellungen und wählen Sie Hinzufügen.

    Anmerkung

    Hinzufügen ist nur beim ersten Einrichten einer Integration verfügbar. Danach wird Hinzufügen durch Ändern ersetzt.

    Paligo zeigt die Einstellungen der Amazon S3-Integration an.

    Paligo to Amazon Web Services S3 integration settings. They include AWS region, AWS key, AWS secret, AWS bucket name, and destination folder.
  6. Wählen Sie die AWS-Region aus. Dies ist der geografische Standort des Rechenzentrums für Ihre Amazon Web Services.

    Weitere Informationen finden Sie unter https://docs.aws.amazon.com/general/latest/gr/rande-manage.html.

  7. Geben Sie den AWS-Schlüssel und das AWS-Secret ein. Dies sind die Sicherheitszugangsschlüssel für Ihr AWS-Konto.

    Informationen zum Auffinden des Zugangsschlüssels und des Secret-Schlüssels finden Sie unter https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html.

  8. Geben Sie den Namen des AWS-Bucket ein, der den veröffentlichten Paligo-Inhalt erhalten soll. Der Inhalt wird als ZIP-Datei in diesen Bucket hochgeladen.

  9. Geben Sie als Zielordner den Verzeichnispfad für den Ordner ein, in den Paligo Inhalte hochladen soll.

    Wenn Sie die Zip-Datei direkt in das Stammverzeichnis hochladen möchten, lassen Sie dieses Feld unausgefüllt.

    Destination_Folder.png
  10. Legen Sie mithilfe von Einen nicht eindeutigen Dateinamen verwenden fest, wie Paligo die Zip-Datei der Ausgabe benennen soll. Damit wird gesteuert, wie die Datei im Repository gespeichert wird.

    • Aktivieren Sie das Kontrollkästchen, um bei jeder Veröffentlichung einen einheitlichen Dateinamen für die Ausgabe-Zip-Datei zu verwenden. Enthält das Repository bereits eine Datei mit demselben Namen, wird die alte Datei mit der neuen überschrieben.

    • Deaktivieren Sie das Kontrollkästchen, um bei der Veröffentlichung jeder Ausgabe-Zip-Datei ein Nummernsuffix hinzuzufügen. Das Repository enthält Dateien für jede Ausgabe.

    Use non-unique file name setting. There is a checkbox and a description that explains checking the box will result in the same file name being used for each upload.
  11. Drücken Sie Speichern.

  12. Wählen Sie die Schaltfläche Ändern für die Integration aus.

  13. Wählen Sie Testeinstellungen aus, um einen Verbindungstest durchzuführen.

    Test_Reset_Settings_Integrations_small.jpg
  14. Lautet Ihre Einstellung:

    • Richtig, zeigt Paligo eine grüne Erfolgsmeldung an.

    • Falsch, zeigt Paligo eine rote Fehlermeldung an.

      Überprüfen Sie jede Verbindungseinstellung sorgfältig, um sicherzustellen, dass Sie keine Fehler gemacht haben, und versuchen Sie es erneut.

      Wenn der Verbindungstest weiterhin fehlschlägt, wenden Sie sich an den Paligo-Support, um Unterstützung zu erhalten.

Wenn die Verbindung hergestellt ist, können Sie Auf Amazon S3 veröffentlichen, wie in den Integrationseinstellungen festgelegt.

Wenn Sie die Paligo-Amazon-S3-Integration eingerichtet haben, können Sie Inhalte von Paligo auf Amazon S3 veröffentlichen. Der Prozess ist der „regulären“ Veröffentlichung sehr ähnlich. Sie erstellen Ihre Publikation und Ihre Topics und richten ein Layout für den gewünschten Ausgabetyp ein, z. B. PDF, HTML5 usw. Anschließend wählen Sie die Veröffentlichungseinstellungen aus. Paligo erstellt dann eine Zip-Datei mit den Ausgabeinhalten. Die Zip-Datei wird in Ihrem Browser heruntergeladen und bei Amazon S3 auch in den von Ihnen gewählten S3-Bucket hochgeladen.

Anmerkung

Sie können eine Lambda-Funktion in Amazon S3 einrichten, um den Inhalt automatisch in einen anderen Bucket zu entpacken.

Um auf Amazon S3 zu veröffentlichen, müssen die Integrationseinstellungen eingerichtet sein, damit Paligo sich mit Amazon Web Services verbinden kann. Wenn diese vorhanden sind und Sie eine Publikation und ein Layout eingerichtet haben, um die gewünschte Ausgabe zu erstellen, können Sie auf Amazon S3 veröffentlichen:

  1. Wählen Sie das gepunktete Menü (...) für das Topic oder die Publikation im Content Manager aus.

    selectpublish.png
  2. Wählen Sie Veröffentlichen aus. Publish_button_small.png

    publish-document-jan23.png

    Paligo zeigt das Dialogfeld Dokument veröffentlichen an.

  3. Wählen Sie den Ausgabetyp, den Sie veröffentlichen möchten (z. B. PDF, HTML, HTML5, Word, XML, eLearning, SCORM usw.).

  4. Wählen Sie das Layout, das für Ihre Ausgabe verwendet werden soll.

  5. Wählen Sie die zu veröffentlichenden Sprachversionen aus.

    Languages section of Publish document dialog. There are options for each language. English UK and Swedish are selected.

    Anmerkung

    Wenn keine Übersetzungen verfügbar sind, wird nur die Ausgangssprache angezeigt. Bei mehreren genehmigten Übersetzungen in verschiedene Sprachen können Sie auswählen, welche Sie mit aufnehmen möchten. Paligo veröffentlicht jede Sprachversion als separate Ausgabe.

    Bei der PDF-Ausgabe können Sie sie als eine einzige, mehrsprachige Publikation veröffentlichen; aktivieren Sie hierzu das Kontrollkästchen Ausgewählte Sprachen kombinieren.

  6. Wählen Sie Bearbeiten im Abschnitt Profiling-Attribute aus, um Filterung/Profiling anzuwenden (optional).

    Wenn Sie keinen Filter anwenden möchten, lassen Sie das Feld leer.

    Profiling attributes dialog. Outputformat is set to include HTML.

    Wählen Sie OK aus, um das/die gewählte(n) Profiling-Attribut(e) hinzuzufügen.

    Profiling attributes section of Publish document dialog. Shows Outputformat: HTML selected.
  7. Wählen Sie Bearbeiten im Abschnitt Variablen aus, um Variablen anzuwenden (optional).

    Wenn Sie keine Variable anwenden möchten, lassen Sie das Feld leer.

    Variables dialog showing ACME 100 200 300 as variables and ACME 100 is set.

    Wählen Sie OK aus, um die ausgewählten Variablen hinzuzufügen.

    Variables section of publish document dialog. The ACME 100 200 300 variable set is selected with the ACME 100 variant.
  8. Aktivieren Sie im Bereich Ausgabe hochladen das Kontrollkästchen In Amazon S3 hochladen. Standardmäßig lädt Paligo die Ausgabe in den Bucket und den Ordner hoch, die in den Einstellungen der Integration von Paligo zu Amazon S3 angegeben sind.

    Upload output settings. There are settings for Upload to GitHub, Upload via FTP, Upload to Bitbucket. and Upload to AWS S3. Upload to AWS S3 is selected.

    Sie können bei Bedarf in einem anderen Bucket und/oder Ordner veröffentlichen. Wählen Sie das Symbol Bearbeiten neben In Amazon S3 hochladen und wählen Sie dann den Bucket und/oder den Ordner im Dialogfeld Bearbeiten aus.

    AWS S3 settings for a single publication. There are options for AWS branch name and Destination Folder.

    Die von Ihnen ausgewählten Einstellungen werden nur für diesen einzelnen Veröffentlichungsprozess verwendet. Bei zukünftigen Veröffentlichungen werden wieder das Repository und der Ordner verwendet, die in den Integrationseinstellungen definiert sind.

  9. Im Abschnitt Ausgabedateiname können Sie den Dateinamen verwalten.

    Standardmäßig verwendet Paligo die in den Systemeinstellungen festgelegte Dateinamensyntax.

    Output filename section. There is a Template field that contains the values ID, Title, and Format. In the top-right corner is a preview of the filename that Paligo will generate if the current settings are used.

    Um die im Dateinamen enthaltenen Angaben zu ändern, geben Sie Ihr gewünschtes Format in den Publikationseinstellungen ein. Die Standardeinstellung lautet: ID-Title-Format.

    Sie können folgende Angaben in den Namen aufnehmen:

    • ID - Die ID des Dokuments.

    • Titel - Der Titel der Publikation oder des Topics, das Sie veröffentlichen.

    • Format - Der Name des Ausgabeformats, zum Beispiel PDF oder HTML5.

    • Bearbeitungsdatum - Das Datum, an dem die Publikation oder das Topic zuletzt bearbeitet wurde.

    • Label der Verzweigung – Der Text aus dem Label der Verzweigung für die Publikation oder das Topic. Dies gilt nur, wenn Ihre Inhalte verzweigt wurden und die Verzweigung über ein Label verfügt. Details hierzu finden Sie unter Beschriftungen für Zweige hinzufügen oder bearbeiten.

    • Eindeutiger Wert - Eine von Paligo generierte zufällige Zeichenfolge, die dem Dateinamen hinzugefügt wird, um ihn einzigartig zu machen. Dadurch kann verhindert werden, dass die Datei durch spätere Veröffentlichungen desselben Dokuments überschrieben wird.

    Tipp

    Wenn Sie @ in das Feld eingeben, zeigt Paligo eine Liste der verfügbaren Werte an, aus denen Sie wählen können. Um einen Wert zu entfernen, klicken Sie ihn an und verwenden Sie die Löschtaste oder Rücktaste, um alle Zeichen zu entfernen.

    Anmerkung

    Der in der oberen rechten Ecke angezeigte Dateiname ist eine Vorschau auf den Dateinamen, den Paligo bei der Veröffentlichung verwendet.

  10. Legen Sie die optionalen Parameter fest (lassen Sie das Kontrollkästchen deaktiviert, wenn Sie diese Funktionen nicht wünschen):

    • Speichern Sie die Ausgabe in Paligo - Aktivieren Sie das Kontrollkästchen, um die Zip-Datei in der Ressourcenübersicht zu speichern. Deaktivieren Sie das Kontrollkästchen, wenn Paligo nur die veröffentlichte Ausgabedatei in Ihrem Browser herunterladen soll.

      Wenn Sie die Ausgabe in Paligo speichern, können Sie die Zip-Datei aus dem Ressourceninfo-Panel für die Publikation oder das Topic herunterladen und dann die Zip-Datei von der Registerkarte Gespeicherte Ausgaben herunterladen.

    • E-Mail an mich - Aktivieren Sie dieses Kontrollkästchen, wenn Paligo Ihnen eine E-Mail schicken soll, wenn die Publikation bereit ist. Dies ist bei sehr großen Publikationen von Vorteil, deren Verarbeitung und Veröffentlichung länger dauern können.

    • Debug-Build erstellen - Aktivieren Sie dieses Kontrollkästchen, wenn Paligo eine Protokolldatei und einen Link-Bericht einfügen soll. Wenn Ihre Inhalte ein Problem verursachen, kann der Paligo Support Sie bitten, diese Funktion zu aktivieren, damit er die Protokolldateien zur Ermittlung der Ursache nutzen kann.

  11. Wählen Sie Dokument veröffentlichen aus.

    Paligo beginnt mit der Verarbeitung Ihrer Inhalte und wendet Ihre Layout- und Publikationseinstellungen an. Die benötigte Zeit ist von dem Umfang der Inhalte abhängig, die Sie veröffentlichen (je mehr Inhalte, desto länger dauert der Vorgang).

    Publish_Progress_Bar_small.jpg

    Ein Fortschrittsbalken zeigt Ihnen an, wie viel der Verarbeitung Paligo bereits abgeschlossen hat und wie viel noch zu tun ist. Wenn die Verarbeitung abgeschlossen ist, wird eine Benachrichtigung angezeigt.

    Die veröffentlichte Ausgabe erscheint wie folgt:

    • Eine Zip-Datei mit der veröffentlichten Ausgabe erscheint im Ordner Downloads auf Ihrem Computer.

      Wenn Sie die Einstellungen Ihres Browsers geändert haben, um heruntergeladene Dateien an einem anderen Ort zu speichern, befindet sich die Zip-Datei stattdessen dort.

      Wenn Sie eine Publishing-Integration verwenden, wird die Zip-Datei auch an den entsprechenden Dienst gesendet.

    • Ein Link im Panel Aktivitätsfeed zum Herunterladen der veröffentlichten Inhalte.

    Anmerkung

    Um die Inhalte online zur Verfügung zu stellen, entpacken Sie zunächst die Datei. Sie können die Datei dann lokal verwenden oder einen FTP-Client wie Filezilla verwenden, um den entpackten Inhalt auf einen Webserver hochzuladen.

    Tipp

    Sie können Ihre Publikationseinstellungen speichern und wiederverwenden, um einen reibungsloseren Publikationsprozess zu erreichen, siehe Publikationseinstellungen. Alle gespeicherten Einstellungen können auch für [en] Batch Publishing verwendet werden.

    Publish document dialog has a Save Settings option and a Saved Settings tab. The option saves the currently shown settings and these can then be selected in a single action on the tab.

Anmerkung

Dieser Inhalt richtet sich an Entwickler, die Amazon S3 verstehen und wissen, wie man Lambda-Funktionen erstellt, Buckets erstellt und Berechtigungen, IAM-Rollen usw. einrichtet.

Wenn Sie von Paligo auf Amazon S3 veröffentlichen, erstellt Paligo eine Zip-Datei, die Ihren Inhalt enthält. Die Zip-Datei wird in einen Bucket in S3 hochgeladen. Sie haben dann die Wahl, die Datei manuell zu entpacken, oder Sie können die Datei mit einer Lambda-Funktion automatisch entpacken und den entpackten Inhalt in einen anderen Bucket legen. Der entpackte Inhalt kann dann in Ihrem Workflow verwendet werden oder Sie können AWS für das Hosting verwenden, wobei der Inhalt öffentlich über eine URL verfügbar ist.

Um Ihre Inhalte automatisch zu entpacken, richten Sie Folgendes ein:

  • Sie haben nun einen S3-Bucket für den Empfang der Paligo-Dateien (wir nennen dies den „gepackten“ Bucket) und einen S3-Bucket für die entpackten Dateien (den „entpackten“ Bucket).

  • Eine Lambda-Funktion. Wenn Paligo eine Datei in den „gepackten“ Bucket hochlädt, soll die Lambda-Funktion automatisch ausgelöst werden. Die Funktion entpackt die Datei aus Paligo und legt die resultierenden Dateien in den „entpackten“ Bucket.

    • Ein Auslöser, der „Alle Objekte erzeugen Ereignisse“ auslöst, wenn Paligo Inhalte in den „Upload“-Bucket hochlädt.

    • Eine Umgebungsvariable, die den Namen des entpackten Buckets enthält.

    • Der Code zum Entpacken der Datei im Upload-Bucket und Platzieren der extrahierten Dateien im „entpackten“ Bucket. In diesem Artikel finden Sie ein Beispiel für den Code.

Informationen zum Einrichten einer Umgebungsvariablen und zum Auslösen einer Funktion finden Sie in der offiziellen Amazon S3-Dokumentation.

Haftungsbeschränkungen

Das folgende Beispiel ist ein Vorschlag, wie Sie das Entpacken umsetzen können. Es liegt in Ihrer Verantwortung, die Funktionen des Codes zu verstehen und ihn entsprechend Ihrer Umgebung und Ihren Anforderungen zu erweitern oder zu ändern. Sie sollten auch sicherstellen, dass die Berechtigungen und andere Faktoren der Ausführungsumgebung korrekt konfiguriert sind. Paligo übernimmt keine Garantie für die Marktgängigkeit oder die Gebrauchstauglichkeit des Beispiels. 

Hier ein Beispiel für eine Lambda-Funktion:

import json
import urllib.parse
import boto3
import zipfile
import mimetypes
import os
import re
from io import BytesIO


def unpack(event, context):    
    # debug the event    
    # print("Received event: " + json.dumps(event, indent=2))    
    
    # Get the bucket name from the event
    bucket=event['Records'][0]['s3']['bucket']['name'] 
   
    # Get the key name from the event
    key=urllib.parse.unquote_plus(event['Records'][0]['s3']['object']['key'], encoding='utf-8')    

    try:
        # initialize s3 client, this is dependent upon your aws config being done
        s3=boto3.client('s3', use_ssl=False)

        # load the object
        bucketobj=s3.get_object(Bucket=bucket,Key=key)['Body'].read()        

        # the zip function needs a file object
        Fileobj=zipfile.ZipFile(BytesIO(bucketobj), 'r')

        filecount=0

        for name in Fileobj.namelist(): 
            path=re.match('^(.*?\/)out\/(.*?)$', name)
            if (path is None):                
                continue

            outkey=path[1] + path[2]
            handle=BytesIO(Fileobj.open(name, 'r').read())
            mimetype=mimetypes.guess_type(name)

            s3.upload_fileobj(
                handle,
                Bucket=os.environ['BUCKETNAME_OUTPUT'],
                Key=outkey,
                ExtraArgs={'ContentType': str(mimetype[0])}
            )

            filecount = filecount + 1

        return print('Uploaded {} files to {}'.format(filecount, os.environ['BUCKETNAME_OUTPUT']))

    except Exception as e:
        print(e)
        print('Error getting object {} from bucket {}.'.format(key, bucket))
        raise e

Anmerkung

Beachten Sie, dass diese Lambda-Funktion in der von Paligo bereitgestellten Zip-Datei nach Inhalten im Ordner „Out“ sucht. Nur Dateien im Ordner „Out“ werden dem öffentlich zugänglichen entpackten Bucket hinzugefügt.