Questions & Answers

jan_fruehwacht
I'm new here

Unerwartetes Verhalten bei einem API Aufruf ?

Hallo,

aktuell รผberprรผfe ich unsere Module und kompiliere sie gegen die FirstSpirit 5.1.106 API.

Dabei ist mir ein ?inkonsistenter? Zustand aufgefallen:

Wir haben ein FormatTemplate mit dem Referenznamen "br":

<FORMATTEMPLATE editor="3251" id="1047839" name="br" revision="2150486">

    <LANG displayname="br" language="MAS"/>

    <style quote="1" tag="br" view="marked">

        <render>

            <channel conversion="Unicode to HTML4" name="html" templateSetId="1046073"/>

        </render>

        <attr name="font" value="SansSerif"/>

        <attr name="name" value="br"/>

        <attr name="align" value="LEFT"/>

    </style>

</FORMATTEMPLATE>

Beim Versuch das FormatTemplate รผber folgenden API Aufruf in eine Variable zu speichern wurde immer "null" zurรผck geliefert:

TemplateStoreRoot.getFormatTemplates().getFormatTemplate("br");

Das Template wurde mit einem Projektimport aus der FirstSpirit-Version 4.2.454 mitimportiert.

Nachdem ich das Template bearbeitet, umbenannt (in "br_abc", abgespeichert und danach wieder bearbeitet, umbenannt (wieder zurรผck in "br") und abgespeichert habe, hat der API Aufruf wieder funktioniert.

Das Template sah danach in seiner XML-Reprรคsentation auch so aus:

<FORMATTEMPLATE editor="1" id="1047839" name="br" revision="2353357">

    <LANG displayname="br" language="MAS"/>

    <style quote="1" tag="br" view="marked">

        <render>

            <channel conversion="Unicode to HTML4" name="html" templateSetId="1046073"/>

        </render>

        <attr name="color" value=""/>

        <attr name="font" value="SansSerif"/>

        <attr name="font-size" value=""/>

        <attr name="font-style" value=""/>

        <attr name="name" value="br"/>

        <attr name="align" value="LEFT"/>

        <attr name="background-color" value=""/>

        <attr name="border-color" value=""/>

        <attr name="tooltip" value=""/>

    </style>

    <LANG language="EN_GB"/>

    <LANG language="DE_DE"/>

    <LANG language="DE_CH"/>

    <LANG language="FR_FR"/>

    <LANG language="FR_BE"/>

    <LANG language="FR_CH"/>

    <LANG language="ES_ES"/>

    <LANG language="NL_NL"/>

    <LANG language="NL_BE"/>

    <LANG language="IT_IT"/>

    <LANG language="IT_CH"/>

    <LANG language="PT_PT"/>

    <LANG language="RU_RU"/>

    <LANG language="EN_ZA"/>

    <LANG language="EN_AU"/>

    <LANG language="DE_AT"/>

</FORMATTEMPLATE>

Ich mรถchte dies hier zu Dokumentationszwecken und auch Frage bereitstellen.

Eventuell stoรŸen andere Entwickler auch darรผber und verschwenden unnรถtig Zeit.

Viele GrรผรŸe

Jan

0 Kudos
3 Replies
j_mueller
Elite Observer

Wir hatten auch bereits einige Male das Phรคnomen, dass wir Elemente nicht mehr anhand ihrer Referenznamen finden konnten. Dabei beschrรคnkte sich das Problem allerdings nicht auf den Templatestore, sondern betraf auch Strukturseiten, Medien und globale Inhalte.

Nach Rรผcksprache mit dem Helpdesk habe ich erfahren, dass es eine Art Matching-Tabelle gibt, in der die Referenznamen gefรผhrt werden. Diese schien also nicht in Ordnung zu sein, bzw. Inhalte zu fehlen.

Sobald man ein Element einmal in Bearbeitung nahm (egal aus welchem Store), lieรŸ es sich wieder รผber die Suche auffinden.

Ich habe damals ein Skripte implementiert, die alle Elemente 'durchloopten' und praktisch einmal 'anfassten'. Dann hat alles wieder funktioniert.

Ich glaube also einmal Bearbeitungsmodus und wieder raus, hรคtte das Problem ebenso behoben. Bei uns trat das Problem auch zum ersten Mal in FS5 auf. Vorher nie.

Diese Info ebenfalls zu Dokumentationszwecken Smiley Happy

Schรถne GrรผรŸe

Julius

Hi Julius,

danke fรผr die Erklรคrung.

Gut, wenn an bestimmter Stelle Daten fehlen, ist es wahrscheinlich tatsรคchlich schwer den API-Aufruf zu fixen.

Vielen Dank schon mal.

0 Kudos

Hi Jan-Martin,

gerne.

Der API-Call ist ja an sich korrekt. Der Fehler ist eher, dass FirstSpirit das Element nicht mehr kennt. So war es zumindest bei uns.

Anbei auch nochmal das Skript, was alle Templates einmal in Bearbeitung nimmt und somit wieder auffindbar macht.

Falls die Referenznamen bei euch des รถfteren verloren gehen und ihr herausfindet warum, lasst es mir bitte wissen. ๐Ÿ™‚

Schรถne GrรผรŸe

Julius

0 Kudos

Type a product name