aVogt
Returning Creator

obsolete parameter 'fsid'

Hallo,

ich habe eine Absatzvorlage erstellt, die aus einer Datenquelle sämtliche Datensätze holt und dann als csv-Datei zur verfügung stellt.


<CMS_HEADER>
<CMS_FUNCTION name="contentSelect" resultname="fr_st_fp">
  <CMS_PARAM name="schema" value="Foerderprogramm" />
  <QUERY entityType="Programm">
   <ORDERCRITERIA attribute="FPName_%lang%" />
  </QUERY>
</CMS_FUNCTION>
</CMS_HEADER>$CMS_TRIM(level:2)$

$CMS_FOR(myFP,fr_st_fp)$$CMS_SET(myFPBereich,"")$
"$CMS_VALUE(myFP.FPName_DE)$";"$CMS_IF(!myFP.Kurzbezeichnung.empty)$$CMS_VALUE(myFP.Kurzbezeichnung)$$CMS_END_IF$";"";"$CMS_VALUE(myFP.frd_was)$";"$CMS_FOR(myZG,myFP.programmbereichList)$$CMS_IF(#for.index==0)$$CMS_SET(myFPBereich,myZG)$$CMS_END_IF$$CMS_IF(#for.index>0)$;$CMS_END_IF$$CMS_VALUE(myZG.Name)$$CMS_END_FOR$";$CMS_FOR(item,myFP.FPBeschreibung)$$CMS_IF(item.getName().indexOf("Text Voraus") >= 0)$"$CMS_VALUE(item.getData().get("st_absatz").getEditor().get(#global.language).toText(false))$"$CMS_END_IF$$CMS_END_FOR$;"";"";"$CMS_SET(pgRef,myFPBereich.DetailSeite.getData().get("sitestoreref").getEditor().get(#global.language).getPageRef().getUid())$$CMS_REF(pageref:pgRef,contentId:myFP.getIdentifier().getValue("FS_ID"),abs:1)$";"$CMS_SET(pgDRef,myFPBereich.DownloadSeite.getData().get("sitestoreref").getEditor().get(#global.language).getPageRef().getUid())$$CMS_REF(pageref:pgDRef,contentId:myFP.getIdentifier().getValue("FS_ID"),abs:1)$";"";""
$CMS_END_FOR$
$CMS_END_TRIM$

Bei einem einzigen Datensatz bekomme ich folgende Warnung:

INFO  ... (de.espirit.firstspirit.store.access.sitestore.PageRefImpl): generating page reference 'export_fp' (id=304134, html, DE)
WARN  ... (de.espirit.firstspirit.store.access.sitestore.Content2ParamsImpl): obsolete parameter 'fsid'
INFO  ... (de.espirit.firstspirit.server.scheduler.GenerateTaskExecutor): generating 'export_fp' (id=304134), language EN, template set 'html'

Nach einigem Suchen habe ich herausgefunden, dass der Fehler bei
     $CMS_REF(pageref:pgRef,contentId:myFP.getIdentifier().getValue("FS_ID"),abs:1)$
auftritt. Weder "pgRef" noch die "getValue("FS_ID")" ist null.
Die "pgRef" wird abhängig vom Datensatz gesetzt, die fsid ist die ID des aktuellen Datensatzes. (insgesamt 5 verschiedene pgref, jede wird mehrfach verwendet)
Die Warnung tritt nur bei einem Datensatz auf.Der Link wird richtig zusammengebaut.

Was hat die Warnung zu sagen?

0 Kudos
6 Replies
Peter_Jodeleit
Crownpeak employee

Was hat die Warnung zu sagen?

Die Warnung kommt aus einem der beiden $CSM_REF, und zwar ist eine Seitenreferenz verlinkt, bei welcher der Abfrageparameter "fsid" gesetzt ist. Dieser Parameter wird aber in der Abfrage selber nicht verwendet.

Peter
0 Kudos

Das verstehe ich nicht ganz.

Die Seitenreferenz zeigt auf eine Mehrfachseite. Diese hat einen Parameter (unter dem Reiter Daten), der gesetzt ist.
Auf Basis der Seitenvorlage gibt es weitere Mehrfachseiten, nur mit einem anderen Parameter.

Nun kommt die Warnung nicht immer bei dem gleichen Datensatz.  Ich habe versucht den "warnungsverursachenden" Datensatz herauszufinden indem ich in der FOR-Schleife ein CMS_IF(#for.index==..) eingebaut habe. Bei dem so ermittelten Datensatz funktioniert der Link (er wird also richtig generiert).

Immer wenn der JavaClient neu gestartet wurde verursachte ein anderer Datensatz die Warnung. Es scheint zwar immer eine der Seitenreferenzen zu sein, aber ich frage mich, warum dann nicht bei jedem Datensatz der die Seitenreferenz verwendet die Warnung auftritt.

Oder wird die Warnung nur einmal ausgegeben (obwohl diese mehrmals auftritt).

Zumindest sollte die Warnung bei jeder Seitenreferenz auftreten, da alle auf einer Vorlage aufbauen.

0 Kudos

Das Problem liegt nicht in der Vorlage, sondern in der Abfrage bzw. den Abfrage-Parametern einer Seitenreferenz.

Ich habe versucht den "warnungsverursachenden" Datensatz herauszufinden indem ich in der FOR-Schleife ein CMS_IF(#for.index==..) eingebaut habe. Bei dem so ermittelten Datensatz funktioniert der Link (er wird also richtig generiert).

Immer wenn der JavaClient neu gestartet wurde verursachte ein anderer Datensatz die Warnung.

Den Ansatz verstehe ich nicht? Es sollte reichen, vor dem Rendering die Datensatzid zu loggen, dann ist die letzte geloggte ID vor der Warnung die relevante.

Der Client hat keinen Einfluss auf Generierungsfehler.

Peter
0 Kudos

Wie gebe ich die ID im LOG aus?

Aus einer Absatzvorlage heraus, habe ich nichts gefunden, wie ich Infos loggen kann

Edit(1)

einfacher als gedacht

$CMS_VALUE(#global.logInfo("ggg"))$

hätte vorher experimentieren sollen

Edit(2)

Hab nun das Loggen eingebaut:

1. Anzeigen "Fehler der Vorschau" an der Strukturseite:

20.06.2011 13:54:59.567 INFO  ($CMS_VALUE(#global.logInfo(myFP.getIdentifier().getValue("FS_ID")))$ at 26, 50): 2479
20.06.2011 13:54:59.587 WARN  (de.espirit.firstspirit.store.access.sitestore.Content2ParamsImpl): obsolete parameter 'fsid'
20.06.2011 13:54:59.588 INFO  ($CMS_VALUE(#global.logInfo(myFP.getIdentifier().getValue("FS_ID")))$ at 26, 50): 2480

2. In dem neu geöffnetem Fenster ("Fehler der Vorschau") Aktualisier (F5):

20.06.2011 13:57:23.746 INFO  ($CMS_VALUE(#global.logInfo(myFP.getIdentifier().getValue("FS_ID")))$ at 26, 50): 7745

20.06.2011 13:57:23.767 WARN  (de.espirit.firstspirit.store.access.sitestore.Content2ParamsImpl): obsolete parameter 'fsid'

20.06.2011 13:57:23.768 INFO  ($CMS_VALUE(#global.logInfo(myFP.getIdentifier().getValue("FS_ID")))$ at 26, 50): 15104

nach jedem mal "F5" (oder auch einem neuen Aufruf von "Fehler der Vorschau") steht die Fehlermeldung nach einer anderen ID:

20.06.2011 13:59:59.213 INFO  ($CMS_VALUE(#global.logInfo(myFP.getIdentifier().getValue("FS_ID")))$ at 26, 50): 2461

20.06.2011 13:59:59.247 WARN  (de.espirit.firstspirit.store.access.sitestore.Content2ParamsImpl): obsolete parameter 'fsid'

20.06.2011 13:59:59.249 INFO  ($CMS_VALUE(#global.logInfo(myFP.getIdentifier().getValue("FS_ID")))$ at 26, 50): 13249

usw.

Edit(3):

Die unter (Edit(2)) beschriebene Warnung trit bei der Veröffentlichung nicht auf. Dafür an andere Stelle. Da sthet die Warnung bei der Generierung immer nach der gleichen ID. der Datensatz ist aus meiner Sicht. i. O. Der Datensatz wird in einer $CMS_FOR()$ ausgegenen (die Daten dazu kommen aus einem "contentSelect" - ohne Parameter fsid) in der $CMS_FOR()$ wird "nur" der Link über $CMS_REF()$ ausgegeben. Dieser verursacht auch die Warnung (wenn die entspr. zeile gelöscht ist, tritt die Meldung nicht auf).

Das Problem liegt nicht in der Vorlage, sondern in der Abfrage bzw. den Abfrage-Parametern einer Seitenreferenz.


Wenn ich in der Vorlage nichts übersehen habe, verwende ich "fsid" in dieser Vorlage nicht.

0 Kudos


Das Problem liegt nicht in der Vorlage, sondern in der Abfrage bzw. den Abfrage-Parametern einer Seitenreferenz.


Wenn ich in der Vorlage nichts übersehen habe, verwende ich "fsid" in dieser Vorlage nicht.

Haben Sie auch die referenzierte Abfrage kontrolliert? Was auch sein kann: Eine alte Version der Abfrage hatte den Paramater "fsid" erwartet, und dafür ist noch ein Wert in der Seitenreferenz gesetzt.

Peter
0 Kudos

Ich habe nichts finden können.

Da die Medlung auf dem Testsystem auftratt (beim entsprechenden Projekt auf dem Produktivsystem nicht) habe ich das Projekt noch mal neu importiert. Bis dato sollte Test- und Produktivsystem von den Vorlagen identisch gewesen sein. Einzigster Unterschied waren die Inhalte, medien und DB-Inhalte.

Nun tritt die Meldung nicht mehr auf.

Nun j, maches heilt sich von selbst.

0 Kudos