Aller au contenu principal

Referenznamen generieren

Commentaires

9 commentaires

  • Zendesk API User
    Author: ErnstLustig - 3/12/2013 13:03

    Kann mir hier niemand einen Tipp geben?

    Wenn es eine solche Funktion nicht (öffentlich) verfügbar gibt, muss ich mir diese eben selbst bauen. Dazu würde ich gerne wissen, welche Zeichen genau in welche Zeichen beim Generieren des Referenznamens umgewandelt werden.

    0
  • Zendesk API User
    Author: broszeit - 3/12/2013 13:09

    Hallo,

    man kann sich ganz einfach die Referenznamen der angelegten Bilder holen.

    Wenn die Medien mithilfe von MediaFolder.createMedia(...) angelegt werden, bekommt man sofort das entsprechende Media-Objekt zurückgeliefert und kann dann den Referenznamen mit getUid() erhalten.

    Viele Grüße

    Rouven

    0
  • Zendesk API User
    Author: ErnstLustig - 3/12/2013 13:14

    Vielen Dank, schon mal ein guter Hinweis.

    Leider ist es nicht genau das, was ich benötige/meinte.

    Das Anlegen der Medien geschieht zu einem unbekannten Zeitpunkt vorher (z.B. durch einen anderen Benutzer). Es muss doch möglich sein, den Referenznamen anhand des Dateinamens zu bestimmen (wobei doppelte Dateinamen ausgeschlossen sind um _1 etc. zu vermeiden)?

    0
  • Zendesk API User
    Author: MichaelaReydt - 3/18/2013 10:37

    Wenn ich das richtig verstehe, soll anhand des bekannten Dateinamen eines Bildes herausgefunden werden, welcher Referenzname gebildet wurde, wobei sichergestellt ist, dass keine doppelten Dateinamen existieren?

    Die Frage zielt also auf die "Codierung" für die Referenznamen ab?

    Für die Erzeugung der Referenznamen existieren folgende Regeln:

    * Großbuchstaben werden in Kleinbuchstaben umgewandelt

    * Sonder- und Leerzeichen werden durch Unterstriche ersetzt (pro Zeichen, Klammer auf Leerzeichen Klammer zu ergibt drei aufeinanderfolgende Unterstriche)

    * Kleinbuchstaben, Unterstrichen und Zahlen werden nicht ersetzt

    0
  • Zendesk API User
    Author: ErnstLustig - 3/18/2013 13:01

    Hallo Frau Pahl,

    genau darum geht es mir. Eine solche Liste ist schon mal hilfreich. Ich hatte aber gehofft, dass ich auf eine API-Funktion zugreifen kann, sodass ich erstens die Umwandlung nicht nachprogrammieren muss, ich zweitens garantieren kann, dass die Umwandlung korrekt ist und vor allem - das ist das wichtigste - ich bei möglichen Änderungen an der Referenznamengenierung (man denke an FS3 zu FS4) ich weiterhin kompatibel bleibe. Ich gehe nämlich davon auf, dass es eine Funktion gibt, mit der FS selbst die Referenznamen generiert und die ich gerne verwenden würde. Aber offensichtlich ist diese nicht über die API zugreifbar. Schade.

    0
  • Zendesk API User
    Author: Peter_Jodeleit - 3/18/2013 14:02

    Das ist "nicht berechenbar". FS stellt sicher, das trotz Namens-Konflikten ein eindeutiger Name berechnet wird. Das wird über ein zwei-Phasen-Protokoll sichergestellt. D.h. es kann keine API-Methode für dieses Problem geben.

    Etwas anschaulicher: Dein Importer bekommt ein Bild mit dem Namen "hurz.jpg". Wenn du es importierst, wird daraus die UID "hurz_1", weil in der Medienverwaltung bereits ein anderes Bild mit diesem Namen liegt, das nicht über deinen Importer gekommen ist.

    Das wird jetzt gelöscht, damit wird die UID "hurz" wieder frei.

    Wenn du jetzt dein Importer das Bild "hurz.jpg" erneut bearbeitet, wäre korrekt, wenn er die Bilddaten von "hurz_1" aktualisiert. Deine Funktion berechnet aber als Bildnamen "hurz" und denkt, das Bild wurde noch nicht importiert.

    0
  • Zendesk API User
    Author: Radigewski - 4/10/2013 12:44

    Es wäre wünschenswert, wenn es eine API Funktion geben würde, die zumindest die Konvertierung eines Strings in einen gültigen Referenznamen ermöglicht. D.h. diese Funktion würde Leerzeichen ersetzen, Kleinbuchstaben verwenden und Sonderzeichen ersetzen.

    Diesen String könnte man dann z.B. verwenden, wenn man einen Referenznamen ändern möchte. Wenn dann dieser Referenzname nochmal von FirstSpirit bearbeitet wird, um eine Eindeutigkeit sicherzustellen, wäre das vollkommen akzeptabel.


    Unverständlich ist jedoch wenn

    • bei manueller Eingabe der Referenzname in Kleinbuchstaben konvertiert und Sonderzeichen ersetzt werden,
    • bei Verwendung von folder.CreatePage(…) Sonderzeichen ersetzt werden, es jedoch keine Konvertierung in Lowercase gibt,
    • bei Verwendung von page.setUid(title) überkeine Konvertierung erfolgt.

    Ist es vielleicht alternativ möglich den SourceCode für die Konvertierung zur Verfügung zu stellen (ohne Sicherstellung der Eindeutigkeit). Andernfalls stellt sich ja die Frage welche Sonderzeichen z.B. bei setUiD überhaupt ersetzt werden sollen.

    0
  • Zendesk API User
    Author: hjaeger - 4/10/2013 13:03

    Hallo Herr Penack.

    Wenn Sie anhand des Dateinamens an die vormals daraus entstandene Referenz gelangen wollen, hilft Ihnen vielleicht die DuplicateReferenceNameException weiter, die Ihnen bei versuchter Neuanlage des Mediums ohne Zwangsunifizierung zumindest die alte UID des bereits vorhandenen Mediums zurückliefert.

    Hierfür müssten Sie allerdings immernoch den Referenznamen erraten.

    HTH

    Grüße

    Hagen Jäger

    0
  • Zendesk API User
    Author: thmarx - 4/15/2013 9:53

    Zusätzlich zu den Punkten, die Michaela aufgeführt hat, ist ein Referenzname auch noch auf 128 Zeichen begrenzt.

    Viele Grüße

    Thorsten Marx

    0

Vous devez vous connecter pour laisser un commentaire.