Foren

Hook Plugin was mach ich falsch?

thumbnail
Arthur Grohe, geändert vor 10 Jahren.

Hook Plugin was mach ich falsch?

Junior Member Beiträge: 49 Beitrittsdatum: 05.11.12 Neueste Beiträge
Hallo liebe Leidensgenossen,

mein eigentliches Problem, dass ich nicht alle Scopes im Asset Publisher auswählen kann,
führten mich zur Idee, ein Hook-Plugin zu Entwickeln, das den Config-Bereich des Asset Publishers(zu dt. "Gekennzeichneter Inhalt")
so überschreibt, dass alle Scopes ausgewählt werden können.

Ich habe schon ein bisschen gestöbert, und weiß, dass ich nicht der Einzige bin, dem es so ergeht. Eine Lösung für
die Version 6.1.1 habe ich dennoch nicht gefunden.

Meine Frage ist, was mach ich überhaupt falsch?
Meine überschriebene config.jsp im Eclipse sieht so aus:


Warum die ganzen Fehler? Es ist doch klar, dass tausend Bibliotheken etc. fehlen, es ist ja nur eine Datei im Projekt, die eine andere vom richigen Portlet überschreiben soll.

Kann mich bitte jemand aufkären? Danke vielmals!
thumbnail
Olaf Kock, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Liferay Legend Beiträge: 6403 Beitrittsdatum: 23.09.08 Neueste Beiträge
Wenn die Frage ist "warum die ganzen Fehler" - also die Meldungen, mit denen Eclipse meckert, dass Klassen nicht gefunden werden etc.:

Das ist leider der Nachteil der Hook-JSP-Entwicklung. Irgendwo oben in der JSP wird eine Datei init.jsp eingebunden - die ist (in eclipse) nicht da.

Ich habe mal mit Greg, unserem Teamlead für IDE und DevStudio darüber gesprochen - seine damalige Antwort war, dass der JSP-Editor von Eclipse nicht leicht zu erweitern ist, so dass wir diese Fehler auflösen können. Das aktuelle Workaround von IDE und DevStudio ist, dass die JSP-Validierung abgeschaltet wird (nach Bestätigung). Damit funktioniert leider keine Code-Vervollständigung, aber mit dem jetzigen JSP-Editor ist das leider das beste, was wir machen können.

Zur Laufzeit - also wenn der Hook deployed wird - stehen natürlich alle eingebundenen Dateien (und damit die Import-Anweisungen etc) wieder zur Verfügung

Falls die Frage war, wie das ganze richtig funktioniert: Beim kurzen Durchsehen des JSP-Screenshots habe ich kein offensichtliches Problem gesehen. Ich weiss aber (weil ich das gleiche auch schon mal vorhatte) dass die Seite nicht ganz trivial (und recht umfangreich) ist. Ich habe mich dann darauf beschränkt, Firebug ein wenig zu bemühen, weil ich das Problem nicht ständig hatte, sondern einmalig. (nachzuhören hier - shameless plug ;) )
thumbnail
Arthur Grohe, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Junior Member Beiträge: 49 Beitrittsdatum: 05.11.12 Neueste Beiträge
Danke für die Antwort, Olaf.

An den angezeigten Fehlern liegt es also nicht, das ist schonmal gut zu wissen.
Jedoch sehr schwache Leistung, das
Ich wundere mich jetzt nur, warum mein Hook keine Auswirkung hat.
thumbnail
Olaf Kock, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Liferay Legend Beiträge: 6403 Beitrittsdatum: 23.09.08 Neueste Beiträge
Warum hat der Hook keine Auswirkung?

  • Wird der Hook erfolgreich deployed? (s. Tomcat Konsole)
  • Gibt es nach dem Deployment eine Datei config.portal.jsp neben der jetzt aktuellen (ersetzten) config.jsp mit dem Originalinhalt?
  • Gibt der Debugger Aufschluss? Es sollte möglich sein, einen Breakpoint in der JSP zu setzen?
  • Helfen Logausgaben während der Zusammenstellung der Seite? Wahlweise Tomcat Konsole oder in HTML (z.B. Kommentare)?
thumbnail
Arthur Grohe, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Junior Member Beiträge: 49 Beitrittsdatum: 05.11.12 Neueste Beiträge
  • Ja (blabla...is available for use)
  • Ja
  • NEIN - anscheinend wird der Breakpoint nie ausgeführt. Ich mache ein Rechtslick auf das Hook-Projekt->Debug As->Debug on Server... und dann ruf ich die config seite des asset publishers auf.... emoticon Das könnte doch ein Indiz dafür sein, dass der Mist garnicht aufgerufen wird?!?!
  • Ich glaube nicht - Wenn ich die Seite aufrufe, kriege ich eine "com.liferay.portal.NoSuchUserException: No User exists with the primary key 0", aber sonst, wenn ich die config aufrufe, passiert nichts in der konsole. Und die Browser Konsole sagt auch nichts Weltbewegendes: Nur bei Seitenaufruf "Port error: Could not establish connection. Receiving end does not exist."
thumbnail
Arthur Grohe, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Junior Member Beiträge: 49 Beitrittsdatum: 05.11.12 Neueste Beiträge
Kann mir jemand bitte sagen, warum meine Breakpoints nicht funktionieren?
Ich habe mal das Hook Projekt als Anhang mitgeschickt.
thumbnail
Olaf Kock, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Liferay Legend Beiträge: 6403 Beitrittsdatum: 23.09.08 Neueste Beiträge
Warum der Breakpoint nicht funktioniert, kann ich nicht sagen, aber bei mir funktioniert sowohl der Breakpoint (Nachdem ich den Server in Liferay Developer Studio im Debugger gestartet habe) als auch der Hook (s. screenshot, "Liferay", "Marketing" und "Zoe Demo" sind drei völlig unabhängige Sites)
thumbnail
Arthur Grohe, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Junior Member Beiträge: 49 Beitrittsdatum: 05.11.12 Neueste Beiträge
das ist ja lustig. Also mit anderen Worten:
Bei dir funktioniert mein Hook, bei mir nicht?
Du hast auch mit Liferay 6.1.1 CE ga2 getestet oder?
Ist dieses Liferay Developer Studio das Plugin für Eclipse? Das benutze ich auch, kenne es allerdings unter dem Namen Liferay IDE.
thumbnail
Olaf Kock, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Liferay Legend Beiträge: 6403 Beitrittsdatum: 23.09.08 Neueste Beiträge
Mein erster Test war auf 6.1 EE, jetzt hab' ich auch nochmal auf 6.1.1 (CE, GA2) getestet, funktioniert auch alles.

Developer Studio ist die EE-Version von Liferay IDE. Die Funktionalitäten sollten - zumindest in Bezug auf Hook-Entwicklung - gleich sein. Es gibt ein paar mehr Funktionen für Deployment auf Enterprise Application Servern, aber die kommen hier nicht zum Tragen.
thumbnail
Arthur Grohe, geändert vor 10 Jahren.

RE: Hook Plugin was mach ich falsch?

Junior Member Beiträge: 49 Beitrittsdatum: 05.11.12 Neueste Beiträge
Oha, ich habe gerade nochmal getestet und gesehen, dass "normale" Sites jetzt doch angezeigt werden, Organization-Sites jedoch nicht

hier nochmal zur Veranschaulichung ein paar Screenshots:
1.

2.

3.


mit Organization-Sites meine ich Seiten, die aus einer Organization heraus erstellt werden:




Weißt du wie ich jetzt die Abfrage in der configuration.jsp erweitern muss, damit diese Seiten auch angezeigt werden??
Aktuelle Abfrage:
for (Group group : GroupLocalServiceUtil.getCompanyGroups(company.getCompanyId(), -1, -1)) {
			   if (group.isCommunity() && group.getType() == 1)
					groups.add(group);
				                                    
			}


Vielen Dank für die Hilfe soweit!