Forums

Home » Liferay Portal » Deutsch

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Natalie H
Problem mit Liferay Hook
March 11, 2013 1:51 AM
Answer

Natalie H

Rank: Junior Member

Posts: 27

Join Date: March 11, 2013

Recent Posts

Hallo Zusammen,
ich habe versucht einen Liferay Hook zu erstellen ich habe folgendes gemacht
1. Eine liferay-hook.xml angelegt mit folgendem Inhalt
<hook>
<custom-jsp-dir>/custom_jsps</custom-jsp-dir>
</hook>

2. Ich habe in meinem WebContent Verzeichnis folgende Ordnerstruktur angelegt
custom_jsps/html/portlet/login/login.jsp

Im WebContent Verzeichnis gibt es einen Pfad html/portlet/login wo das "Original" portlet von Liferay liegt.

Ich habe meine login.jsp angepasst und habe erwartet wenn ich neu auf dem Server deploye das ich meine JSP sehe, aber das ist leider nicht der Fall. Was habe ich vergessen ?
Wieso hat meine Hook keine Auswirkungen ?.

Gruß,
Natalie
Olaf Kock
RE: Problem mit Liferay Hook
March 11, 2013 1:54 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 3428

Join Date: September 23, 2008

Recent Posts

Wenn der Hook mit dem Standard Liferay SDK erstellt wird, werden die Dateien in /docroot/custom_jsps erwartet, nicht in /WebContent/custom_jsps (ebenso /docroot/WEB-INF/liferay-hook.xml).

War's das?
Natalie H
RE: Problem mit Liferay Hook
March 11, 2013 1:56 AM
Answer

Natalie H

Rank: Junior Member

Posts: 27

Join Date: March 11, 2013

Recent Posts

Ich habe den Hook gar nicht erstellt sondern habe die Sachen per Hand angelegt.
Olaf Kock
RE: Problem mit Liferay Hook
March 11, 2013 3:19 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 3428

Join Date: September 23, 2008

Recent Posts

sorry, ich hab' mich mit dem Versuch deutsch/englisch auseinanderzuhalten nicht klar ausgedrückt:

Ein mit dem SDK oder (Liferay IDE) "erstelltes" Plugin enthält ein Verzeichnis /docroot (wie ich oben beschrieben habe). Die mit dem Plugins SDK "erstellte" deploybare WAR-Datei (ant deploy) enthält dann quasi nur noch den Inhalt von "docroot". (missverständliche Benutzung von "erstellen")

Ein mit Eclipse erstelltes Web-Projekt verwendet normalerweise /WebContent anstelle von /docroot.

In beiden Fällen sollte die Datei /WEB-INF/liferay-hook.xml im entstandenen WAR File enthalten sein - diese verweist dann auf /custom-jsps, ebenfalls im WAR file. Jede JSP Datei, die von Liferay erkannt wird, überschreibt dann die originale JSP Datei in Liferay (in tomcat/webapps/ROOT) - die so überschriebene Datei wird umbenannt und steht (noch eine Test-Möglichkeit) im gleichen Verzeichnis unter *.portal.jsp (statt *.jsp) zur Verfügung
Natalie H
RE: Problem mit Liferay Hook
March 11, 2013 3:23 AM
Answer

Natalie H

Rank: Junior Member

Posts: 27

Join Date: March 11, 2013

Recent Posts

Also ich habe ein Webprojekt indem das Original Portlet und mein eigenes liegt
die Pfade sind wie folgt
WebContent/custom_jsps/html/portlet/login/login.jsp
WebContent/html/portlet/login/login.jsp

meine liferay-hook.xml ist in der war Datei auch vorhanden und hat den oben gezeigten Inhalt

Aber ich sehe meine Änderung immer noch nicht.
Olaf Kock
RE: Problem mit Liferay Hook
March 11, 2013 3:31 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 3428

Join Date: September 23, 2008

Recent Posts

Ich verstehe nicht ganz... Ein Hook überlädt die Dateien von Liferay, nicht die von externen Portlets, die ggf. im gleichen Plugin gelagert werden.

Möglicherweise (ich kann diese Unterscheidung nicht aus dem Stehgreif) gibt es auch ein Problem mit dem Deployment: Die verschiedenen Deployment-Routinen haben unterschiedliche Fähigkeiten. Ich weiss nicht genau, ob der Web-Deployer auch Hooks deployed (würde das aber erwarten).

Einige Möglichkeiten zum Debugging:
  • Welche deployment-Meldungen gibt's im Logfile?
  • Wird tomcat/webapps/ROOT/html/portlet/login/login.portal.jsp erzeugt (mit der originalen Datei)?
  • Sind alle Datei- und Verzeichnisnamen korrekt geschrieben? Kein Tippfehler (z.B. "_" statt "-"). Extra-Extra-Sicher?
  • Wie sieht das generierte Plugin (*.war) aus - Inspektion ist einfach, da es sich um eine ZIP Datei handelt. Dort darf der WebContent-Ordner nicht vorhanden sein
Natalie H
RE: Problem mit Liferay Hook
March 11, 2013 3:46 AM
Answer

Natalie H

Rank: Junior Member

Posts: 27

Join Date: March 11, 2013

Recent Posts

Also unter

WebContent/html/portlet/login/login.jsp liegt die Original Datei die von Liferay mitgeliefert wurde und im selben Projekt unter
WebContent/custom_jsps/html/portlet/login/login.jsp liegt meine JSP die ich gerne verwenden möchte

In der war Datei sind folgende Verzeichnisse vorhanden
/custom_jsps/html/portlet/login
/html/portlet/login

Wobei custom_jsps und html auf einer ebene liegen die liferay-hook.xml liegt im Verzeichnis WEB-INF welches ebenfalls auf der Ebene wie die beiden Ordner liegt.
Folgene Meldung kommt im Log wenn die Seite aufgerufen wird
[WZPT_Liferay_EAR] [/html/portlet/login/login.jsp]: Initialisierung erfolgreich.

Gruß,
Natalie
Olaf Kock
RE: Problem mit Liferay Hook
March 11, 2013 3:54 AM
Answer

Olaf Kock

LIFERAY STAFF

Rank: Liferay Legend

Posts: 3428

Join Date: September 23, 2008

Recent Posts

Natalie Hoyk:

[WZPT_Liferay_EAR] [/html/portlet/login/login.jsp]: Initialisierung erfolgreich.


Auf welchem Server wird das deployed? Ich habe oben Tomcat vorausgesetzt (wegen der Überprüfung im laufenden System: Die Datei login.portal.jsp ist unter Tomcat leicht lokalisierbar, bei anderen Appservern bin ich nicht sicher, wo diese liegt (oder ob sie überhaupt im Filesystem landet)
Natalie H
RE: Problem mit Liferay Hook
March 11, 2013 3:56 AM
Answer

Natalie H

Rank: Junior Member

Posts: 27

Join Date: March 11, 2013

Recent Posts

Es ist ein Websphere 8.0
Natalie H
RE: Problem mit Liferay Hook
March 11, 2013 5:49 AM
Answer

Natalie H

Rank: Junior Member

Posts: 27

Join Date: March 11, 2013

Recent Posts

Keine Idee woran es liegen könnte ? emoticon

Was muss denn auf jeden Fall in der web.xml stehen damit mein Hook funktioniert..
Habe ich vielleicht noch irgendwo anders etwas vergessen ?

Gruß, Natalie