# Portlet



## Bluevelvet64 (6. Jul 2007)

Hallo

ich suche nach einem einfachem beispiel für Portletprogrammierung.

Ich meine damit welche xml Files werden wo benötigt. 
Generelle Funktionsweise


Ein einfaches programm

ein Textfeld ein Button genügt schon.

Ich möchte für Liferay programmieren. Finde die Technologie sehr interessant.

Danke im Voraus

MfG

Heiko


----------



## Ralf Ueberfuhr (7. Jul 2007)

XML-Files? Es gibt neben dem Web-DD (web.xml) einen Portlet-DD (portlet.xml), das war's.

Ich halte zufällig im September ne Schulung zu dem Thema. Interesse? ;-)


----------



## Bluevelvet64 (7. Jul 2007)

Schade,

bin beruflich zurzeit total eingespannt. Ansonsten wäre dies sehr interessant gewesen.

Wäre nett wenn Du mir einen kleinen Hinweis geben könntest, wie ich vor zu gehen habe.

MfG

Heiko


----------



## Ralf Ueberfuhr (8. Jul 2007)

Vorgehen? Welches Tool hast du zur Hand? Ich nutz den IBM Rational Application Developer. Wichtig ist auf jeden Fall JSR-168, da steht alles drin, was du von technischer Seite her brauchst.


----------



## Guest (8. Jul 2007)

versuch doch mal das:

http://java.sun.com/developer/technicalArticles/J2EE/sdk_nbportletplugin/

zu den xml files:

afaik kommt es halt drauf an welchen container du verwendest. zu den im jsr spezifizierten files gibts dann halt dann immer noch die container spezifischen.


----------



## Bluevelvet64 (9. Jul 2007)

Hallo,

ich verwende Eclipse und als Server Tomcat.

Mir würde es einfach schon reichen welche Dateien grundsäztlich wo stehen müssen und was noch wichtiger ist, warum


Als programm genügt schon das alte Hallo World. Besser wäre allerdings ein kleines Programm mit einem TextField und einem Button.

Wo steht die Java-Klasse, welches xml File benötige, wo und warum. Und welche Bibliotheken benötige ich.

Dann hätte ich einen Ansatz.


Danke

MfG

Heiko


----------



## Ralf Ueberfuhr (9. Jul 2007)

Der Tomcat ist ein Webserver, damit kannst du kein Portlet laufen lassen. Oder gibts mittlerweile nen Tomcat-Portletcontainer?


----------



## KSG9|sebastian (10. Jul 2007)

Zuerstmal brauchst du nen Portalserver:
- Pluto
- Jetspeed2
- Liferay
- Bea
- JBoss
- IBM

Das sind mal ein paar von den vorhandenen. 

Dann irgendeine Ide, NB, Eclipse, Rational Application Developer (RAD). Den RAD würd ich dir zum anfangen nicht empfehlen da er extrem viel IBM-spezifisches Zeugs macht und du das nicht merkst wenn du grade erst anfängst. 

Würd dir Eclipse 3.3 Europe Edition empfehlen, bzw. Eclipse 3.x + WTP. Dann legst du einfach ein Dynamic Web Project an und packst da die Portlet-API als externe Lib rein (liegt im Portalserver normal unter shared/lib).
Dann kanns auch schon losgehen, programmiert sich ähnlich wie ein Servlet nur dass du statt doGet, doPost eben die Methoden
doView, doEdit, evtl. doConfig und doHelp hast. Dann noch ne Methode actionPerformed oder renderAction oder wie auch immer die heißt, kommt auf den Portalcontainer an (und v.a. ob er sich aj die JSR-168 hält).

Also ne neue Klasse, die wiederum von GenericPortlet erben lassen bzw. Portlet implementieren und los gehts.
Ne JSP erstellen und eben statt mit den normalen request/response-Objekten arbeitst du jetzt mit portletRequest und portletResponse. Im Portletumfeld hast du eben auch einen PortletRequest/PortletResponse anstatt einem HttpServletRequest/HttpServletResponse.
Jetspeed z.B. hat viele kleine Applikationen dabei welche das Vorgehen sehr gut verdeutlichen. Einfach mal jetspeed2 installieren und evtl. im webcvs/svn dann unter applications die CalendarApp anschauen. Damit kannst mal anfangen.

Ach ja, die portlet.xml gehört natürlich unter WEB-INF. Deployen tust du die Anwendung über export as war und dann in die deploy-dir des PortalServers kopieren.



			
				masseur81 hat gesagt.:
			
		

> Der Tomcat ist ein Webserver, damit kannst du kein Portlet laufen lassen. Oder gibts mittlerweile nen Tomcat-Portletcontainer?



Jein, Jetspeed 1&2 und Pluto lassen sich in fast jeden Servletcontainer integrieren, u.a. auch Tomcat.


----------



## Ralf Ueberfuhr (10. Jul 2007)

KSG9|sebastian hat gesagt.:
			
		

> Den RAD würd ich dir zum anfangen nicht empfehlen da er extrem viel IBM-spezifisches Zeugs macht und du das nicht merkst wenn du grade erst anfängst.



Jain! Der RAD macht sicher viel IBM-spezifische Dinge, die aber auf anderen Servern nicht stören - 2-3 XMI-Files. Mit der IBM-Portlet-API hat man wenig Probleme, da speziell ab RAD7 die JSR-168 auch vom RAD bevorzugt wird.

Danke aber für die Auskunft.


----------



## KSG9|sebastian (10. Jul 2007)

Bei Verwendung von RAD7 stimme ich dir zu. Der RAD6 erzeugt ne ganze Menge unportablen Müll (auch, da es zu Zeiten des RAD6 noch keien finale JSR-168 gab)


----------



## Bluevelvet64 (10. Jul 2007)

Also, Tomcat setze ich schon seit 4 Jahren ein. Ebenso Eclipse. ich programmiere seit 10 Jahren in Java. Als Portal habe ich mir Liferay vor ca. 6 Monaten ausgesucht. So weit bin ich schon. Mit RAD arbeite ich auch hier bei VW. ich bin Webentwicler hier im Konzern. Nur Portlets sind mir neu und ich möchte mich privat damit beschäftigen da Liferay mir sehr gut gefällt.

Mir geht es nur um den Aufbau eines sehr simplen Programmes um die Struktur zu erkennen.

Ich weiss jetzt schon das ich eine web.xml benötige ( ähnlich wie bei Webapplikationen ) und eine portlet.xml.

Dann habe ich erfahren das ich meine Klassen in ein WAR packen muss und das Liferay dieses installieren muss, ist das richtig. Würde bedeuten das ich anch jeder kleinen Änderung immer wieder ein Update in Lifray starten muss. Klingt ziemlich aufwendig.

Daher benötige ich einfach nur ein kleines beispiel, von den xml-dateien über die Java Files bis hin zum anmelden im Portal. Am besten mit einem Textfeld und einem Button und dem Eventhandling

MfG

Heiko


----------



## KSG9|sebastian (11. Jul 2007)

Wie wär's mit folgenden Beispielen?
http://www.liferay.com/web/guest/downloads/samples



			
				Bluevelvet64 hat gesagt.:
			
		

> Also, Tomcat setze ich schon seit 4 Jahren ein. Ebenso Eclipse. ich programmiere seit 10 Jahren in Java. Als Portal habe ich mir Liferay vor ca. 6 Monaten ausgesucht. So weit bin ich schon. Mit RAD arbeite ich auch hier bei VW. ich bin Webentwicler hier im Konzern. Nur Portlets sind mir neu und ich möchte mich privat damit beschäftigen da Liferay mir sehr gut gefällt.



Hab mit Liferay noch nichts gemacht, ich mag eher Jetspeed2.



			
				Bluevelvet64 hat gesagt.:
			
		

> Dann habe ich erfahren das ich meine Klassen in ein WAR packen muss und das Liferay dieses installieren muss, ist das richtig. Würde bedeuten das ich anch jeder kleinen Änderung immer wieder ein Update in Lifray starten muss. Klingt ziemlich aufwendig.



Richtig, wie bei jeder JEE-Anwendung musst du bei einer Änderung eine neue Version deployen. Du kannst natürlich auch nur die Class-Dateien ersetzen... *gg*

Google und die Liferay-Seite gibt soviel an Docus und Beispielen her, einfach mal dannach schauen


----------



## Bluevelvet64 (11. Jul 2007)

Hallo

wenn ich bei Google Beispiele gefunden hätte, hätte ich hier nicht gepostet. Irgendwie ist das Thema Portlet noch nicht so öffentlich. Man findet kaum Bücher, kaum Anleitungen.

Danke für Deine Antwort.

MfG


----------



## Ralf Ueberfuhr (11. Jul 2007)

Man findet aber unter JSR-168 ein PDF, was sich sehr gut liest. Da fehlt nur das Tooling.


----------



## KSG9|sebastian (11. Jul 2007)

Na ja, also alleine damit find ich schon Unmengen.
Dann bieten die jeweiligen PortalServer(-Hersteller) meistens auch Dokus und sehr viele Samples. 
Und wenn alle Stricke reißen kannst du immernoch die Sourcen von nem PortalServer anschauen, da hast du dann wirklich mehr als genug Portlets.


----------

