mfinsterbusch
New Responder

Multi Perspective Preview: Daten in einem PHP Frontend abrufen

  Hallo Zusammen,

Mit dem Release von FirstSpirit 5.2 2015-06-18, wurde der Zugriff via JSP auf die Parameter der Multi Perspective Preview (kurz MPP) geändert:

<Beginn Ausschnitt aus den Releasenotes 6.5.2 Accessing time adjustment and values specified by editors (JSP)>

In FirstSpirit version 5.1, the current time setting and the values specified by the editor in

MPP using JSP were queried as follows: The selected values were written directly to the

HttpSession interface while also using the fs.preview. namespace. As part of

FirstSpirit version 5.2, de.espirit.firstspirit.client.mpp.PreviewParameter has been

introduced to serve as an encapsulating object. This can be found under the "$fsmpp"

HttpSession attribute (see de.espirit.firstspirit.client.mpp.PreviewParameter.SESSION_ATTRIBUTE)

Example:

<%

de.espirit.firstspirit.client.mpp.PreviewParameter

mpp = PreviewParameter.Factory.from(request);

if (mpp != null)

{

%>MPP Time: <%= mpp.getTimeParameter() %><%

}

%>

</Ende Ausschnitt>

Wir haben folgende Aufgabenstellung und suchen derzeit eine elegante Lösung bzw. Lösungsansätze...

Genau wie die Abfrage im JSP benötigen wir diese Parameter in einer PHP Applikation, da diese zur Laufzeit die Parameter der MPP auswerten soll.

Folgende Ideen haben wir:

a) Parameter direkt mit der JavaScript MPP_API in die URL schreiben, dann mit PHP aus der URL lesen.

Wir würden unsere benötigten Parameter mittels JavaScript an die URL hängen.

(oder hängt dieser nicht eh schon dran?)

In der PHP Applikation halten wir uns die Parameter in der Session und überschrieben diese, wenn wir die Params erneut bekommen...

b) Service in Java bauen, welcher diese Rückgabewerte liefert.

Diesen Service dann in PHP abfragen...

c) JAVA-Adapter in PHP einführen.

d) ... ?

Unser Favorit ist ganz klar a).

Vielen Dank & beste Grüße,

Maik

0 Kudos
5 Replies
mikula
Crownpeak employee

Hallo Maik,

das was du da versuchst, hört sich auf jeden Fall sehr spannend an. Adhoc fällt mir leider keine besonders Elegante Lösung ein. Evtl. hat jemand anderes noch eine gute Idee. Halte uns doch bitte auf dem Laufenden.

Viele Grüße

Martin

0 Kudos
mikula
Crownpeak employee

Hallo Maik,


es ist nun schon einige Zeit vergangen und wahrscheinlich hast Du Dich bereits für eine Lösung entschieden und diese umgesetzt. Es wäre nett von Dir wenn Du einen Teil deiner Lösung und deine Erfahrungen der Community bereitstellen könntest.

Unabhängig davon werde ich diese Diskussion als "beantwortet" markieren, da ich annehme, dass in näherer Zeit kein weiteres Feedback aus der Community kommen wird.

Viele Grüße

Martin

0 Kudos

Hallo Martin,

nein, wir haben keine Lösung umgesetzt, da wir noch immer in der Findung sind.

Gibt es denn Empfehlung der e-Spirit?

Meine persönliche Meinung ist die Tendenz zur Lösungsidee a)

a) Parameter direkt mit der JavaScript MPP_API in die URL schreiben, dann mit PHP aus der URL lesen.

Gibt es Beispiele für die Lösungsidee a) Eurerseits?

Ist diese Idee überhaupt so machbar?

Ein paar weitere Fragen zur Klärung und der Findung...

1) Zum Konzept des timesliders...

Generiert FirstSpirit alle Sections- unabhängig ob diese zeitliche matchen und filtert dann der ContentCreator im Frontend oder umgekehrt?

... denn falls hier bereits das Generat 'gefiltert' ist, haben wir in der Frontend-Applikation gar keine Möglichkeit mehr einzuwirken.

Weiterhin wäre das ja auch ein schwieriger Ansatz in Bezug auf responsive HTML, da man container nicht mehr selbst aufsetzen und das floating entsprechend beeinflussen kann...


2) Findet immer ein Reload bei Parameteränderung der MPP statt?

3) Wie kann man diese Parameter dann an die 'reload-page dranhängen'?


Bitte nimm doch die Markierung "Assumed Answered" raus, denn das ist die Frage nicht.

Danke & Grüße,

Maik

0 Kudos

Habe die Markierung rausgenommen.  Leider ist MPP absolut nicht mein Thema, weshalb ich auch den Input eurerseits super spannend finde.

Evtl. liefert ja noch jemand anderen Input.

Hier eine theoretische Lösung:

"Über einen Servlet-Filter bzw. HttpServletRespsonseWrapper sollte man entweder den Code der Seite direkt manipulieren oder die notwendige Information in die HTTP-Header schreiben können. Siehe http://www.oracle.com/technetwork/java/filters-137243.html (unterer Bereich) oder http://javaravin.blogspot.de/2012/05/modifying-response-using-filters.html. Damit sollte man an die richtige Stelle in der Vorschau kommen (also nachdem die Sessioninformationen geschrieben wurden)."

Wie gut das alles funktioniert und ob es problemlos möglich ist, kann ich dir leider nicht sagen - da fehlen mir einfach Erfahrungswerte.

Viele Grüße

Martin

0 Kudos
MichaelaReydt
Community Manager

Hallo Maik,

ist dieses Posting noch offen? Benötigst du noch weitere Hilfe oder konnte Martin dir bereits weiter helfen? In diesem Fall wäre es super, wenn du seine "richtige Antwort" entsprechend markierst.

Solltest du zwischenzeitlich eine eigene Lösung gefunden haben, würden wir uns darüber freuen, wenn du sie hier bereitstellst.

0 Kudos