Unbekannte Anhänge in Confluence erkennen - Wie Sie ScriptRunner für aufgeräumte Confluence Seiten nutzen können | Actonic GmbH

Unbekannte Anhänge in Confluence erkennen – Wie Sie ScriptRunner für aufgeräumte Confluence Seiten nutzen können

Wenn Sie Confluence seit einer längeren Zeit nutzen, ist Ihnen das folgende Problem sicher schon häufiger begegnet: Sie gehen zu einer wichtigen Confluence Seite, die Sie vor einiger Zeit angelegt haben oder die Ihnen ein/e Kolleg*in geschickt hat und wollen eine bedeutsame auf der Seite hinterlegte Datei öffnen. Allerdings erscheint dort, wo normalerweise die Dateivorschau zu sehen sein sollte, ein Unknown Attachment Icon.
Sie können daher die erwünschte Datei nicht öffnen und nicht damit arbeiten.

Dieses Problem verursacht oftmals unnötige Rückfragen oder eine längere Suche nach der erwünschten Datei, wodurch letztendlich auch Ihr Projekt in Verzug geraten kann.

Generell ist es wichtig, die eigenen Confluence Seiten stets zu pflegen und diese unbekannten Anhänge durch die richtigen Dateien zu ersetzen. Allerdings ist es gerade dann besonders wichtig, wenn Sie kurz vor einer Migration Ihrer Confluence Instanz stehen, da durch die dabei oftmals entstehende Unübersichtlichkeit Daten schlechter wieder gefunden werden können.

Genau dieses Problem mit vielen „Unknown Attachments” Icon trat bei einem unserer Kunden auf. Der Kunde hatte Confluence schon seit 15 Jahren verwendet und stand zudem kurz vor der Migration von Server zu Cloud. Darum bat er unsere Atlassian Consultant Victoria um Hilfe. Victoria wusste sofort, was zu tun war und half dem Kunden, das Problem schnell und effektiv zu lösen.

In diesem Artikel erklären wir Ihnen, wieso dieses Problem auftritt und wie Sie alle dieser „Unknown Attachments” auf Ihrer Instanz mit der Methode von unserer Consultant Victoria im Handumdrehen finden, um sie durch die richtige Datei zu ersetzen.

„Unknown Attachment” in Confluence – so entsteht das Problem

Wenn Sie Dateien auf einer Confluence Seite ablegen, werden dabei nicht etwa die Dateien selbst auf Ihrer Confluence Seite abgespeichert, sondern der Dateipfad, unter dem die Datei auf Ihrem Server abgespeichert ist. Confluence erzeugt hierbei eine Dateivorschau, auf die Sie klicken können, um zum Dateispeicherort zu gelangen und die Datei zu öffnen.

Wenn nun die Datei, die auf der Confluence Seite hinterlegt wurde, vom ursprünglichen Dateipfad verschoben oder gelöscht wird, erkennt Confluence die Datei auf dem Dateipfad nicht mehr und das Icon „Unknown Attachment” erscheint.

Somit können Sie die Datei durch Confluence nicht finden und müssen sich erstmal auf die Suche nach dem geänderten Ablageort begeben. Oftmals kommt es dabei vor, dass Sie die Datei dringend brauchen, wenn Sie auf die Seite gehen, und Sie dadurch mit Ihrer Arbeit in Verzug geraten.

Im Falle unseres Kunden sind im Laufe der 15 Jahre seiner Confluence Nutzung viele Referenzen zu Dateien verloren gegangen oder verschoben worden. Dadurch wurden ihm viele solcher „Unknown Attachment” Icon in Confluence angezeigt. Da der Kunde kurz vor einer Migration von Server zu Cloud stand, war es ihm wichtig, die Confluence Instanz vor der Migration sorgfältig aufzuräumen, um diese gepflegt zu übergeben. Dafür mussten die Icons durch die richtigen Dateien ersetzt werden.

Sie verstehen nun, warum es wichtig ist, diesem Problem vorzubeugen und das „Unknown Attachments” Icon durch den tatsächlichen Dateipfad zur Datei zu ersetzen. Wie Sie das am schnellsten durchführen, erfahren Sie im folgenden Abschnitt.

„Unknown Attachment” in Confluence – so lösen Sie das Problem

Achtung: Der vorgeschlagene Lösungsweg wurde bisher von uns nur auf Server und Data Center getestet.

Zur Lösung des Problems verwendete unsere Consultant Victoria ScriptRunner. Für den folgenden Lösungsweg benötigen Sie auch dieses Add-On für Ihre Confluence Instanz.

Sie finden ScriptRunner hier:

1. Schritt:

Öffnen Sie das „Confluence Administration“ -Menü, das Sie über das Zahnrad am oberen rechten Rand auf Ihrer Confluence Seite finden, und klicken Sie auf „User management”.

2. Schritt:

Wählen Sie im nun angezeigten „SCRIPTRUNNER” Pop-up-Menü das Feld „Console” aus.

3. Schritt:

Fügen Sie auf der Console (siehe die schwarze Fläche im Screenshot) unter Script den untenstehenden Code ein.

Wichtig: Fügen Sie in das Feld “ “ in Zeile 18 den Key Ihres Spaces ein. Beispiel: [“DOCS”,”DEV”,”ABC”].

def spaceList = [""];

Es ist hierbei auch möglich mehrere Spaces einzufügen, wie Sie im Beispiel sehen.

import com.atlassian.confluence.spaces.SpaceManager
import com.atlassian.confluence.content.render.xhtml.DefaultConversionContext
import com.atlassian.confluence.pages.PageManager
import com.atlassian.confluence.xhtml.api.XhtmlContent;
import com.atlassian.sal.api.component.ComponentLocator
import com.atlassian.confluence.pages.Attachment
import org.apache.commons.lang3.StringUtils

 

def spaceManager = ComponentLocator.getComponent(SpaceManager);
def pageManager = ComponentLocator.getComponent(PageManager);
def xhtmlContent = ComponentLocator.getComponent(XhtmlContent);

 
def result = ["List of pages with at least one unknown attachment..."];
// Type in your space keys below, separte with commas, e.g. "DOCS", "DEV"
def spaceList = [""];

 

 

for (def spaceKey : spaceList) {
    def space = spaceManager.getSpace(spaceKey)
    def pages = pageManager.getPages(space, true);
    result.add("Working with space '${space.key} : ${space.name}', found '${pages.size}' pages");

 

    for (def page : pages) {

 

        // def page = pageManager.getPage(50661666)
        def content = xhtmlContent.convertStorageToView(page.getBodyAsString(), new DefaultConversionContext(page.toPageContext()))
        if (StringUtils.containsIgnoreCase(content, "/unknown-attachment")) {
            result.add(" -- (${page.id}) '${page.title}'");
        }

 

    }
}

 

String string = "";
for (String r : result)
    string += r + "<br>"
log.error string;
return string;

Nach dem Einfügen des Codes erhalten Sie in ScriptRunner die folgende Ansicht, in der Sie auch die Zeile 18 wie oben beschrieben bearbeiten können:

4. Schritt:

Lassen Sie dieses Skript in ScriptRunner durchlaufen. Dies kann einige Minuten bis einige Stunden dauern (je nach der Größe der Leerzeichen). Nachdem es durchgelaufen ist, überprüfen Sie die Confluence-Protokolle auf Ihrem Server. Die Ausgabe, die dabei erzeugt wird, sieht dann wie folgt aus:

Working with space 'DOCS : Documents', found '153' pages

-- (123456789) 'Infrastructure - Network'

-- (99999999999) 'Evaluation 2021'

Die erste Zeile verweist auf den Namen des Bereichs, den Sie zuvor in Zeile 18 definiert haben, sowie auf die Summe aller in diesem Bereich gefundenen Anhänge (im Beispiel unseres Kunden in Summe 153).

In den nächsten Zeilen wird mit „–“ jede unbekannte Anlage ( „Unknown Attachment”) durch die PageID und den Namen der Anlage referenziert.

5. Schritt:

Im nächsten Schritt gilt es, die einzelnen Confluence Seiten mit „Unknown Attachments”, die im vierten Schritt ermittelt werden, aufzurufen. Dazu öffnen Sie zunächst einen neuen Tab im Browser und geben dort die nachfolgende URL ein. Dabei ersetzten sie „your confluence url” durch die Confluence URL Ihres Unternehmens und „xxxxxxx” durch eine der PageIDs, die Sie im vorherigen Schritt ermittelt haben.

https://<your-confluence-url>.de/pages/viewpage.action?pageId=xxxxxxx

6. Schritt:

Greifen Sie auf die so ermittelten Seiten zu und ersetzen Sie die „Unknown Attachment” Icons durch die richtigen hierfür benötigten Dateien aus Ihrem Server.

Fazit

Folgen Sie diesen sechs Schritten und auch Sie werden alle „Unknown Attachment” Icons auf Ihrer Confluence Instanz beseitigen können.

Im beschriebenen Fallbeispiel war unser Kunde äußerst zufrieden mit der Arbeit und der schnellen Lösung des Problems durch unsere Atlassian Consultant Victoria.

Wenn auch Sie einen kompetenten Partner an Ihrer Seite brauchen, der Ihnen stets schnell und effektiv bei allen möglichen Problemen, die durch die Arbeit mit den verschiedenen Atlassian Tools auftreten können, brauchen, sind Sie bei Actonic genau richtig.

Bauen Sie auf den mehrjährigen Erfahrungsschatz unserer Atlassian Consultants und räumen Sie durch unsere Atlassian Beratung all Ihre Probleme mit Atlassian Themen aus dem Weg. Als Atlassian Solution Partner und Marketplace Vendor sind wir der ideale Ansprechpartner für Sie!

Mehr über unseren Atlassian Beratungsservice erfahren

Kontaktieren Sie uns jetzt über die untenstehende Kontaktbox zu Ihrem persönlichen Atlassian Beratungsangebot:

Sie möchten
mehr erfahren?

Kontaktieren Sie unsere Experten zur Beantwortung Ihrer individuellen Fragen.

Unverbindlich
anfragen