Alte Forum-Links weiter verwenden

  • Affected Version
    WoltLab Suite 5.5
    Affected App
    WoltLab Suite Forum

    Moin Moin zusammen!

    Dank Unterstützung von vielen Seiten ist es mir letztes Jahr im November gelungen ein "altes" Forum zu "retten" und auf WoltLab zu übertragen. Schon cool Betreiber eines eigenen Forums zu sein... :)

    Nachdem nun ein paar Monate ins Land gegangen sind und ich mich von der Upgrade, Konvertierung und Importierungsorgie erholt habe, würde ich gerne mit eurer Hilfe versuchen ein Problem zu lösen was mir noch unter den Nägeln brennt.

    In dem alten Forum waren sehr viele Bilder in den Beiträgen, die aktuell leider nicht mehr angezeigt werden. Anstelle des Bildes kommt nur Text (siehe Anhang) der, so wie ich vermute, mit der Positionierung und dem Pfad zu dem jeweiligen Bild zu tun hat. Die ganzen Bilder von dem alten Forum habe ich mit sichern können. Jetzt stellt sich folgende Frage:

    Ist es irgendwie möglich die Bilder in einem entsprechendem Beitrag wieder aufrufbar zu machen?

    Könnte es eine Weg sein, den alten Pfad (per Programm, Script, etc.) durch einen neuen wo die Bilder liegen würden zu ersetzen?

    Über mögliche Ideen, Meinungen bzgl. der Machbarkeit oder auch gar Lösungsansätze bzw. Lösungswege würde ich und auch alle User "meines" Forums sich sicher sehr freuen. :)

    Viele Grüße,

    Firemedic

  • Moin zusammen,

    also ich habe mir folgendes überlegt wie ich als absoluter Laie das Problem angehen würde:

    1. Ich würde erst mal den Text

    Code
    <hr>
    Code
    <center>

    (wie immer der auch heißt) oberhalb und unterhalb des alten Links löschen, damit nur noch der alte Link im Post steht.

    2. Den alten Pfad durch den die neue Pfadstruktur ersetzen.

    Dafür bräuchte ich folgende Informationen:

    In welchem Ordner der Datenbank werden bei WoltLab die Posts abgelegt?

    Wenn ich das wüsste, könnte ich die Daten exportieren und dann in einem Texteditor mit Hilfe der "Suche und Ersetzen Funktion" den Text löschen und den Pfad ändern. Dann alles zurück in die Datenbank importieren.

    Dann taucht im besten Falle ein Link im Post auf den man anklickt und man dann das Bild angezeigt bekommt.

    Das müsste doch eigentlich irgendwie so funktionieren, oder?

    Über Antworten, Rückmeldungen oder andere Vorschläge wäre ich sehr dankbar.

    Viele Grüße,

    Firemedic

  • Ich kann mir nicht vorstellen, dass das WSC mit einem Link zum Bild, der /bildvorschau.php?..... enthält, etwas anfangen kann. Aus welcher ursprünglichen Software kommen denn die Inhalte? Wie wurden dort derartige in Beiträge eingebundene Bilder gespeichert? Wurden aus der Quellsoftware Dateianhänge importiert? Sind die Bilder im Dateisystem der WoltLab-Software überhaupt vorhanden?


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Moin norse,

    mit /bildvorschau.php?... sicher nicht, aber wenn ich /bildvorschau.php?... durch https://xt350.de/index.php?attachment/... ersetze, müsste das ja im Prinzip funktionieren.

    Die Bilder sind bis jetzt noch nicht in der WoltLab Software "vorhanden", aber ich habe alle Bilder mit den entsprechenden Namen in einem separatem Ordner (der damals in dem phpBB 2 Format "posting_bilder" hieß).

    Schon bei dem Upgrade von phpBB 2 auf php 3 sind die Bilder nicht mit übernommen worden, warum auch immer. Somit konnte der Importer von WoltLab auch nur den alten Pfad importieren.

    VG, Firemedic

  • In welchem Ordner der Datenbank werden bei WoltLab die Posts abgelegt?

    Irgendwelche Datenbankoperationen halte ich bei dieser Fragestellung für kritisch. Der Name posts ist Programm ;) Das ist keine schwere Übung.

    Wenn ich das wüsste, könnte ich die Daten exportieren und dann in einem Texteditor mit Hilfe der "Suche und Ersetzen Funktion" den Text löschen und den Pfad ändern. Dann alles zurück in die Datenbank importieren.

    Das kann auch phpmyadmin per query, was ich vorziehen würde.

    Man ersetzt aber auch jedes andere Vorkommen der Zeichenkette. Mit Platzhaltern kann das sehr umfangreich sein.

    der /bildvorschau.php?..... enthält

    Vor allem wissen wir nicht, was das script bildvorschau.php überhaupt tut. Skaliert es nur?

    ...ein "altes" Forum zu "retten" und auf WoltLab zu übertragen.

    Nachdem nun ein paar Monate ins Land gegangen sind und ich mich von der Upgrade, Konvertierung und Importierungsorgie erholt habe, würde ich gerne mit eurer Hilfe versuchen ein Problem zu lösen

    Das hört sich so an als ob die Software schon im Livebetrieb ist? Bitte nur an einer Testinstallation rumspielen. Und evtl. direkt professionelle Hilfe holen.

  • In welchem Ordner der Datenbank werden bei WoltLab die Posts abgelegt?

    wbb1_post -> message

    Nach üüüber 1.000 Beiträgen geht das Hundiiiiiiiiii 🐶🐶🐶 in den wohl verdienten Ruhestand. Bye bye 👋 Nur noch zum 👀, Trollen und Fragen hier.

    Jetzt mit 4K-Avatar 😎 Und was ist mir dir 🤔

  • Wenn mein Gedankengang richtig ist, lassen sich diese Bilder nur dann direkt im Beitrag anzeigen, wenn sie als Dateianhang eingebunden werden. Schau Dir vielleicht einfach mal an, wieviele und welche Informationen für jeden einzelnen Dateianhang in der DB gespeichert sind. Ich bezweifle, dass Du diesen Zustand durch Manipulation an der DB herstellen kannst. Wenn schon in der Quellinstallation die Dateianhänge nicht mehr vorhanden bzw. zumindest nicht vernünftig den jeweiligen Inhalten zugeordnet waren, wird sich das nach dem Import in der Zielinstallation m. E. nicht reparieren lassen.


    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier und hier.

  • Ich bezweifle, dass Du diesen Zustand durch Manipulation an der DB herstellen kannst.

    Ich bin jetzt zu faul zu kucken: Dateianhänge importieren müsste ja gehen. Wenn der Dateiname danach wie in der alten DB lautet, liessen sich die reinen messages durchaus manipulieren, ohne irgendetwas zu riskieren. Ausser, wie oben erwähnt, Ersetzungen an der falschen Stelle.

  • Quote

    Die Dateianhänge gab es schon in der Quellinstallation nicht mehr.

    Ich verstehe nicht genau was gemeint ist, ich kann nur sagen das ich wenn ich aus dem Beispiel von oben 66_fb50c476dd_Kolben.jpg auf meinem Rechner in den Explorer eingebe und den "posting_bilder"-Ordner durchsuchen lasse, mir das entsprechende Bild angezeigt wird.

  • Ich habe mal in der Upgeradeten phpBB 3 Version nachgeschaut und da lautet der Code noch:

    <hr>

    <center>

    <img src="DOMAIN/bildvorschau.php?maxx=640&bild=posting_bilder/66_fb50c476dd_Kolben.jpg">

    </center>

    <hr>

    Der Importer von WoltLab hat wohl aus dem < ein &lt; gemacht und aus > ein &gt;

    Vieleicht hilf das ja weiter... :/

    Edited once, last by Firemedic (April 3, 2023 at 10:49 PM).

  • Ich denke, das ist mit Datenbankmitteln kein Problem, wenn die Dateinamen denn stimmen. Zumindest, wenn dir die angezeigte Größe der Bilder egal ist. Du solltest das aber in einer Kopie testen. Oder eben ein Backup machen und ggf. rücksichern können. Je nach dem wie groß das Forum ist.

    SQL
    UPDATE wbb1_post SET message = REPLACE(message,'<img src="DOMAIN/bildvorschau.php?maxx=640&bild=posting_bilder','<img src="DOMAIN/ordnername_neu');

    Komische Zeichen, sollte es da eigentlich nicht von Woltlab geben, aber wenn der Importer das gemacht hat, kannst du sie natürlich auch mit in das Statement mit rein nehmen. Ggf. dann noch ein zweites Staement für hinten.

    Wenn du das Bild auch verkleinert anzeigen willst, würde ich es per CSS machen und noch eine Klasse mitgeben, falls nur diese Bilder eine besondere Größe haben sollen und andere auf diese Weise eingebundene Bilder, nicht. Ansonsten kannst du auch einfach die Größe für alle mit dem img tag eingebundenen Bilder auf eine maximale Größe in der Anzeige beschränken.

    Neue Bilder fügst du so ja nicht mehr ein oder?

    Liebe Grüße
    Susi

  • Moin Susi,

    vielen Dank für deine konkrete Hilfe mit dem nötigen Code! :) :thumbup:

    Ich hätte dazu aber (erstmal :saint: ) noch 4 Fragen:

    1. Aktuell wird z.B. ja &lt;img src="/bildvorschau.php?maxx=640&bild=posting_bilder/BILDNAME.jpg"&gt; angezeigt. Dann müsste der Befehl wahrscheinlich

    SQL
    UPDATE wbb1_post SET message = REPLACE(message,'<img src="/bildvorschau.php?maxx=640&bild=posting_bilder','<img src="DOMAIN/ordnername_neu');

    lauten, oder?

    2. Muss zwischen dem "neuen" Link und dem am Anfang stehendem &lt; und dem am Ende stehenden &gt; (ist das ein Statement?) ein Leerzeichen eingefügt werden damit der "neue" Link sozusagen frei steht, oder beeinflusst das den "neuen" Link nicht?

    3. Schön wäre natürlich wenn nur noch der "reine" Link in der Zeile stehen würde. Wenn ich die Statements(?) mit in den Befehl nehme verschwinden dann nur die Statements vor und hinter dem "alten" Link, oder auch sonst überall im Forum?

    4.

    Code
    '<img src="DOMAIN/ordnername_neu');

    ist quasi der Pfad zu dem Bilderordner "Ordnername_neu" in meiner WoltLab Dateistruktur, richtig?

    Neue Bilder werden über die WoltLab Software eingefügt, hier handelt es sich nur um die alten Bilder aus dem alten Forum.

    Leider kenne ich viele Fachausdrücke (noch) nicht, deswegen versuche ich sie so gut es geht durch "Laienwörter" zu ersetzen. :S

    Viele Grüße,

    Firemedic

  • Ich würde das Schritt für Schritt machen und nach jedem Durchlauf schauen ob der Code entsprechend ersetzt worden ist, zum Beispiel:

    Ersetzen der Formatierungen durch Leerzeichen.

    Dann den ersten Teil des Bildes in einen Link umwandeln.

    Dann den letzten Teil des Bildes in einen Link umwandeln.

    Beispiel ungeprüft:

    SQL
    UPDATE wbb1_post SET message = REPLACE(message, '&lt;hr&gt;', '<p><br></p>');
    
    UPDATE wbb1_post SET message = REPLACE(message, '&lt;center&gt;', '<p><br></p>');
    
    UPDATE wbb1_post SET message = REPLACE(message, '&lt;/center&gt;', '<p><br></p>');
    
    UPDATE wbb1_post SET message = REPLACE(message, '&lt;img src="/bildvorschau.php?maxx=640&bild=posting_bilder', '<a href="http://www.domain.de/bildordner');
    
    UPDATE wbb1_post SET message = REPLACE(message, '.jpg"&gt;', '.jpg">');

    Es wird immer jeweils vorhandener Code gesucht und dann ersetzt. Wie in Word und Co:

    Code
    REPLACE(message, 'SUCHE', 'ERSETZE');


    Wenn der Code soweit passt, die Anzeigen im ACP aktualisieren:

    Nach üüüber 1.000 Beiträgen geht das Hundiiiiiiiiii 🐶🐶🐶 in den wohl verdienten Ruhestand. Bye bye 👋 Nur noch zum 👀, Trollen und Fragen hier.

    Jetzt mit 4K-Avatar 😎 Und was ist mir dir 🤔

    Edited once, last by Hundiiiiiiiiii (April 5, 2023 at 4:48 PM).

  • Nein, nacheinander würde ich es gerade nicht machen, weil da die Gefahr viel größer ist, etwas mitzunehmen, was man gar nicht ändern will. Der Vorteil ist hier ja, dass es diesen Teil

    &lt;img src="/bildvorschau.php?maxx=640&bild=posting_bilder/BILDNAME.jpg"&gt;

    Ausschließlich bei den alten Anhängen gibt. So hoffe ich es zumindest, aber da musst du dir mal ansehen, was in Message drin steht. Du kannst ja auch erst einmal nur selektieren, welche Posts eben diese Daten enthalten.

    Der Befehl ist wie Suche und Ersetze in einem Editor. Der erste Teil ist das was gesucht und ersetzt werden soll und der zweite, das was dann an diese Stelle geschrieben wird.

    SQL
    UPDATE wbb1_post SET message = REPLACE(message,'was soll weg?','was soll stattdessen hin?');

    Wenn auch die Zentrierung weg soll und der Umbruch, dann musst du den vorne mit rein nehmen. Wenn nicht, lass es stehen. Aber wenn du es einmal ausgeführt hast, geht es nicht zurück. Dann musst du mindestens die eine Tabelle zurücksichern, besser die gesamte Datenbank.

    Probiere es aus. Fehler sind nicht schlimm. Dadurch lernt man schließlich ;) .

    Liebe Grüße
    Susi

  • Wenn die <> Zeichen umgewandelt wurden, musst du das was gesucht wird, so schreiben, wie es in der Datenbank auch drin steht, sonst kann das natürlich nicht gefunden werden.

    Und noch ein Hinweis. Die Domain muss nicht in den Link und sollte da auch nicht rein. Wenn du die mal ändern solltest, willst du ja nicht wieder alle Posts ändern.

    Und hast du das Testsystem in einem Unterordner deines Forums? Das ist nicht zu empfehlen. Besser ist eine Subdomain. Dann sind auch alle Pfade dieselben.

    Liebe Grüße
    Susi

  • Also ich hab auf meinem gemieteten Server-Speicher-Platz einen Ordner "WL" wo die "Original" WoltLab Installations Dateien drin sind. Zu diesem Ordner gibt es eine eigene Datenbank.

    Für das Testforum habe ich einen weiteren Ordner "WL-Testforum" angelegt und da die kopierten Daten aus dem "WL" Ordner eingefügt. Zu diesem Ordner gibt es auch eine seperate Datenbank.

    Wie das mit Subdomains so funktioniert weiß ich leider überhaupt nicht. :(

    Könntest du grob beschreiben wie das zu bewerkstelligen ist, damit ich im Prinzip schon mal das Vorgehen weiß? Das wäre wirklich sehr hilfreich.

    VG,

    Firemedic

  • Das musst du dort klären, wo du deinen Webspace hast. Da gibt es meist ein Interface für, wo man sie anlegen kann.

    Die Frage ist halt, wie du die Ordnerstruktur nun gebaut hast. Ineinander verschachteln wäre schlecht.

    Also so sollte es nicht sein:

    Live Forum

    - acp

    - wcf

    ...

    - Testforum

    -- acp

    -- wcf

    Liebe Grüße
    Susi

  • Bekommt man für die Subdomain quasi einen eigenen Speicherplatz und macht es dann Sinn diese "Alte_Bilder.Domain" zu nennen?

    Ich glaube du meinst "Testforum.Domain" oder?

    Wie soll den die Struktur aussehen?

    Jetzt ist es ja qasi so wie du oben beschrieben hast.

    Edited once, last by Firemedic (April 6, 2023 at 12:08 AM).

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!