twerp
I'm new here

deprecated elements

Hallo,

ich habe Warnings die in etwa so aussehen

(de.espirit.firstspirit.generate.SiteProduction): deprecated usage of de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData#getEntity

inside of: Template 'Empty page' (id=33081)

inside of: $CMS_VALUE(#global.page.body("content"))$ - at 1, 1

inside of: Template 'Product' (id=33073)

inside of: $CMS_TRIM(level:2)$ - at 92, 1

inside of: $CMS_RENDER(te....

die mit der FS installation mitgelieferte API hört aber leider hier auf:

de.espirit.firstspirit.access.store.contentstore

Gibt's irgendwo eine "weiterführende" API oder 'ne Doku wie deprecats zu ersetzen sind?

Danke und gruß

Volker

6 Replies
Peter_Jodeleit
Crownpeak employee

Wo ist denn der Rest des Template-Traces? Und was für ein Code steht in deinem Template auf den die letzte Trace-Zeile verweist?

Peter
0 Kudos

trace

WARN  11.03.2013 10:02:23.688{g-sec=33618,g-node=33616,g-entity=product(53633)} (de.espirit.firstspirit.generate.SiteProduction): deprecated usage of de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData#getEntity

    inside of: Template 'Empty page' (id=33081)

    inside of: $CMS_VALUE(#global.page.body("content"))$ - at 1, 1

    inside of: Template 'Product' (id=33073)

    inside of: $CMS_TRIM(level:2)$ - at 92, 1

    inside of: $CMS_RENDER(template:"ft_header")$ - at 160, 1

    inside of: Format Template 'ft_header' (id=33408)

    inside of: $CMS_RENDER(template:"ft_language_switch")$ - at 4, 3

    inside of: Format Template 'ft_language_switch' (id=33393)

    inside of: $CMS_IF( "medical".equals(division) )$ - at 3, 2

    inside of: $CMS_VALUE(ps_countryPages.dataset.entity.content[0])$ - at 3, 38

    inside of: Template 'Country Pages' (id=33116)

    inside of: $CMS_IF(  ! st_page_country_1.isEmpty )$ - at 18, 3

    inside of: $CMS_FOR( country1, st_page_country_1 )$ - at 20, 4

    inside of: $CMS_VALUE(country1.entity.name)$ - at 21, 52

WARN  11.03.2013 10:02:23.688{g-sec=33618,g-node=33616,g-entity=product(53633)} (de.espirit.firstspirit.generate.SiteProduction): deprecated usage of de.espirit.firstspirit.access.store.contentstore.gom.list.EntityFormData#getEntity

end trace

und die besagte Zeile 21:

20: $CMS_FOR(country1,st_page_country_1)$

21:    <li><a href="$CMS_VALUE(country1.entity.url)$">$CMS_VALUE(country1.entity.name)$</a></li>

22: $CMS_END_FOR$

wenn ich auch an der lösung dieses speziellen warnings interessiert bin,

bin ich doch mehr an einer allgemeinen Antwort interessiert: umgang mit deprecate's

danke und gruß

volker

0 Kudos

Die Antwort auf die allgemeine Frage "wie umgehen mit 'deprection warnings'" ist einfach: Ersetzen durch die jeweils angegebene empfohlene API.

Im konkreten Fall wurde die Methode einer Implementierungsklasse (EntityFormData) benutzt, die niemals API war. Der korrekte Weg ist hier die Formularfelder zu benutzen.

Peter
0 Kudos

"...wurde die Methode einer Implementierungsklasse (EntityFormData) benutzt, die niemals API war..."

ja, so was in der Art habe ich vermutet,

aber

"...die jeweils angegebene empfohlene API."

das ist ja der Knackpunkt, wo kann ich die Empfehlung finden, hoffentlich nicht in der "Entwickler Doku für Frortgeschrittene"?

Normalerweise, wenn ich auf ein "deprecated" stoße, schaue ich ins API-Doc und dort steht dann  "use instead: ..." oder auch ein "see..."

und wie gesagt, das ging hier nicht

0 Kudos

Für die konkrete Stelle hatte ich ja den Hinweis oben schon gegeben: "Der korrekte Weg ist hier die Formularfelder zu benutzen". Also statt "country1.entity.Name" so etwas wie "country1.st_name" (wenn das Formularfeld  "st_name" heißt).

Ansonsten muss man halt schauen, wie man mit API-Mitteln an das gewünschte kommt. Keine API, keine Doku Smiley Wink

Peter
0 Kudos
Wellmer
I'm new here

Hallo Volker,

auch wenns schon länger her ist...

Versuchs mal mit $CMS_VALUE(country1.dataset.entity.url)$ anstelle von $CMS_VALUE(country1.entity.url)$.

Gruß

Christian