Ergebnis 1 bis 10 von 10

Thema: Eindeutige ID (UUID) verändert sich beim Importieren eines Themes

  1. #1
    Buchautor 'Websites erstellen mit Contao' Avatar von pmmueller
    Registriert seit
    19.06.2009.
    Ort
    Groningen (NL)
    Beiträge
    1.523

    Standard Eindeutige ID (UUID) verändert sich beim Importieren eines Themes

    Folgendes Problem:
    • Ich habe eine lokale Music Academy
    • Das Headerbild images.png hat die UUID ccd70d04-1c8a-11e3-ba97-0026bb643d42
    • Diese ID steht auch korrekt im Modul Header image

    Wenn ich das Theme exportiere und in eine gleiche Contao-Version wieder importiere, verändert sich die UUID der Grafik:
    • Das Headerbild images.png hat jetzt die UUID ac3cf9de-1175-11e4-b480-001c42713545
    • Im Modul Header image steht noch die alte (eigentlich korrekte) UUID ccd70d04undsoweiter

    Frage 1: Warum ändert sich die UUID der Grafik?
    Frage 2: Was kann ich dagegen tun?

    Gleich vorweg: Ich weiß, dass ich die neue ID kopieren und im Template einfügen kann. Darum geht es mir nicht. Warum ändert sich die UUID? Ist es nicht Sinn und Zweck einer UUID, das sie genau das nicht tut?
    Geändert von pmmueller (01.08.2014 um 16:32 Uhr)

  2. #2
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Wo im Modul Header Image siehst du denn die UUID? Ich habe gerade mal in der online demo reingeschaut, da wird doch der Pfad benutzt?!?

    Edit: Upps, sorry. Habe ganz übersehen, die online demo ist ja nicht mehr die music academy.

  3. #3
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Habe mir jetzt eine lokale music_academy installiert, finde allerdings immer noch keine UUID in dem Modul Welche Contao-Version muss ich denn da nehmen? Eine 3.3.x? Ich habe dafür eine lokale, alte 3.2.3 auf die Schnelle recycelt.

    Grundsätzlich denke ich schon, dass für jede neue Datei, die irgendwie ins DBAFS aufgenommen wird, eine neue UUID generiert wird. Solange die UUID nicht in der Datei selbst enthalten ist, ist das wohl auch unvermeidbar. UUIDs werden ja eigentlich so generiert, dass möglichst keine UUID ein zweites Mal erzeugt wird.

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Zitat Zitat von tab Beitrag anzeigen
    Habe mir jetzt eine lokale music_academy installiert, finde allerdings immer noch keine UUID in dem Modul Welche Contao-Version muss ich denn da nehmen? Eine 3.3.x? Ich habe dafür eine lokale, alte 3.2.3 auf die Schnelle recycelt.
    Laut https://github.com/contao/music-academy ist es das Modul mit der ID 2. Ein HTML Modul mit folgendem Inhalt:
    PHP-Code:
    <div id="top_image">
      <
    img src="{{file::ccd70d04-1c8a-11e3-ba97-0026bb643d42}}" width="670" height="273" alt="Music academy">
    </
    div

    Evt. exportiert der Theme Export nicht die Einträge aus tl_files?

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    Ok, ja habe es mir gerade angesehen und ich hoffe richtig verstanden:

    Beim exportieren eines Themes wird bei den singleSRC, multiSRC bzw. orderSRC und ähnlichen Feldern von tl_content, tl_module etc. nicht die UUID exportiert, sondern der Pfad zur Datei. [1]

    Beim importieren eines Themes wird dann dieser Pfad in der Datenbank gesucht und wieder die UUID in die entsprechenden Felder zurückgeschrieben. [2]

    UUIDs die einfach so sonst irgendwo stehen, also in Insert Tags von Text- oder HTML Elementen, oder in Templates bspw., werden hier nicht berücksichtigt.

    [1] system/modules/core/classes/Theme.php #883 - #938
    [2] system/modules/core/classes/Theme.php #551 - #593
    Geändert von Spooky (01.08.2014 um 18:22 Uhr)

  6. #6
    Buchautor 'Websites erstellen mit Contao' Avatar von pmmueller
    Registriert seit
    19.06.2009.
    Ort
    Groningen (NL)
    Beiträge
    1.523

    Standard

    Ich meinte genau die Stelle, die Spooky zitiert hat.

    Scheint ja fast so, als ob das Theme diese Information irgendwie nicht mitbekommt. Ist nicht weiter tragisch, ist mir nur aufgefallen. Und ich hab ja immer gerne eine Erklärung für sowas

    EDIT: Parallel abgeschickt.
    Zu [1] und [2]: Also wäre es eigentlich nicht besser, wenn beim Exportieren des Themes die UUID mitgenommen würde?
    Geändert von pmmueller (01.08.2014 um 18:24 Uhr)

  7. #7
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das mit der UUID ist wie mit einer normalen ID. Wenn die mitgenommen werden würde, dann könnte es sein, das es die schon gibt und dann etwas überschrieben wird, was nicht sein soll ^^
    Von daher ist der Weg beim im- exportieren eigentlich schon ganz gut gemacht wie ich finde.
    Eventuell sollte an der Stelle in der COD besser mit dem image Inserttag gearbeitet werden (ich kann mir außerdem kaum vorstellen, das ein Redakteur mit der UUID arbeitet *g*).

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.114
    Partner-ID
    10107

    Standard

    In diesem speziellen Fall könnte man es ja auch so lösen, dass man das Header Image irgendwo als Content Element definiert hat und per Insert Tag im HTML Modul inkludiert, statt direkt zu referenzieren. Erzeugt natürlich mehr HTML Overhead.

  9. #9
    Buchautor 'Websites erstellen mit Contao' Avatar von pmmueller
    Registriert seit
    19.06.2009.
    Ort
    Groningen (NL)
    Beiträge
    1.523

    Standard

    Zitat Zitat von MacKP Beitrag anzeigen
    Das mit der UUID ist wie mit einer normalen ID. Wenn die mitgenommen werden würde, dann könnte es sein, das es die schon gibt
    Ja, aber das "UU" steht doch für "Universally unique". Sinn und Zweck dieser UUID ist doch, dass es die nicht schon geben kann, oder?

    http://de.wikipedia.org/wiki/Univers...que_Identifier

  10. #10
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.078
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Naja, universally unique ist ein großes Wort Es bedeutet einfach, es ist sehr, sehr - wirklich sehr unwahrscheinlich, dass es diese ID schon gibt. Völlig unmöglich ist es nicht. Also müsste man sich dann überlegen, wie man in diesem nahezu ausgeschlossenen Fall verfährt.
    Mir persönlich würde dann ja die Meldung reichen, dass die Datei soundso, die mit dem Theme importiert wurde, eine neue UUID erhalten hat und ich eventuelle Referenzen darauf aktualisieren soll. Wenn mir das alle 10.000 Jahre einmal passiert, dann kann ich damit leben .
    Noch besser wäre es natürlich, wenn das dann automatisch passieren würde. Wenn man allerdings dann eh so einen Automatismus bauen müsste, dann könnte man gleich allen mit dem Theme importierten Dateien neue UUIDs verpassen (wie es momentan zu sein scheint) und den Automatismus verwenden, um die Referenzen anzupassen.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •