Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich habe folgendes Script:
pageRef = Contentprojektion.
page = page mit DQ-A im Body
newPage = page mit DQ-B im Body
newQuery = eine Abfrage, welche sich auf die DQ-B bezieht
pageRef.setLock(true);
pageRef.setPage(newPage);
pageRef.save();
pageRef.setLock(false);
pageRef.refresh();
pageRef.setLock(true);
pageRef.getContent2Params().setQuery(newQuery);
pageRef.save();
pageRef.setLock(false);
pageRef.refresh();
In der Zeile, wo ich die neue Query setzen will wird ein Fehler geworfen, dass sich die Abfrage auf die falsche DQ bezieht.
pageRef.getContent2Params().getQuery();
Hierbei wird immer noch die alte Query ausgegeben.
Wenn ich im Client die Seite auswähle, anschliessend zu einer anderen Seite und wieder zurück wechsel, dann wird die richtige Page angezeigt und die Query ist weg.
Ich habe auch schon versucht dazwischen repairReferences laufen zu lassen oer mir die PageRef complett neu zu holen:
pageRef2=context.getConnection().getProjectById(1313228).getUserService().getStore(Type.SITESTORE, false).getStoreElement(pageRef.getId());
Immer das selbe Ergebniss, ist es ein Bug oder gibt es eine Möglichkeit die Content2Params zu refreshen oder neu zu laden oder ....?
MfG
Alex
Im aktuellen Stand (5.1_DEV.5) funktioniert das. Ich habe, wie gesagt, eine Vermutung an welchen Bugfixes es liegen könnte. Wenn die Vermutung richtig ist, dann sollte es auch ab 5.0.110 funktionieren, allerdings sind diese Bugfixes nicht in ihrer Version.
Bitte wenden Sie sich an den Helpdesk, um die Vermutung ggfls. bestätigen zu lassen. Interne ID #124543
Als Workaround könnten sie versuchen vor dem holen der Content2Params, diese explizit zu entfernen
pageRef.setLock(true, false);
try {
cParams = pageRef.getContent2Params();
if (cParams != null && cParams.getQuery() != null) {
// workaround - after setting new page there shouldn't be any query
pageRef.removeChild(cParams);
cParams = pageRef.getContent2Params();
}
// set new quer ..
pageRef.save("...", false);
} finally {
pageRefs.setLock(false, false);
}
Und hier mal wieder meine Standardfrage vorweg Über welche FS-Version reden wir hier? (Bitte immer sofort dazu posten - vergl. auch Demo Posting)
Es gab in dem Umfeld Fehler, die bereits behoben sind.
Hallo Sebastian,
Sorry vergess ich immer wieder: Server-Version: 4.2.468.50982
Im aktuellen Stand (5.1_DEV.5) funktioniert das. Ich habe, wie gesagt, eine Vermutung an welchen Bugfixes es liegen könnte. Wenn die Vermutung richtig ist, dann sollte es auch ab 5.0.110 funktionieren, allerdings sind diese Bugfixes nicht in ihrer Version.
Bitte wenden Sie sich an den Helpdesk, um die Vermutung ggfls. bestätigen zu lassen. Interne ID #124543
Als Workaround könnten sie versuchen vor dem holen der Content2Params, diese explizit zu entfernen
pageRef.setLock(true, false);
try {
cParams = pageRef.getContent2Params();
if (cParams != null && cParams.getQuery() != null) {
// workaround - after setting new page there shouldn't be any query
pageRef.removeChild(cParams);
cParams = pageRef.getContent2Params();
}
// set new quer ..
pageRef.save("...", false);
} finally {
pageRefs.setLock(false, false);
}