# Portal/Portlet JSR168: Design, Themes, Snippets, Examples .



## Gumble (2. Aug 2005)

Hi,
nachdem ich mich in die J2EE Thematik (JBoss) etwas besser eingelesen habe und die Grundlagen der Workflow Engine jBPM, kommt JBOSS Portal dran. Ich weiss, es gibt ein eigenes Forum dafuer bei Jboss, aber mir ist deutsch lieber. Tu mir eh schon schwer meine wirren Gedanken in Worte zu fassen. Es geht mir auch nicht nur um die technischen Dinge, sondern auch ums Design eines Portals. Muss leider zugeben, dass ich in Punkto Webdesign noch wenig praktische Erfahrungen habe. Eigentlich sind mir Kommandozeilentools lieber 8) 
- wo gibts Beispiele fuer gutes Portal-Design?
- wo gibts ein Repositories fuer JSR168-Portlets? 
Ich lern am schnellsten, wenn ich mir den Source von anderen Portlets durchlese. Und ausserdem wollt ich alles selberschreiben und ein paar "Standardportlets" nutzen - vielleicht eins fuer Blogs, ein Kalenderportlet, ein Editorportlet... Was auch schick waere, ist ein Portlet zur CSS-Konfiguration. Sowas wie es Zope's Plone hat. Hab am MyLayout Sample Theme schon etwas rumgebastelt, es ist aber sehr muehsam.
Hier ein Link zu den Beispielen auf der JBoss Seite. 
Spezifischere Frage: JBoss' Portal hat ja seine eigene Datenbank, denn im HSQL Database Manager ist nix zu finden. Im Verzeichnis \default_\data\portal\hypersonic[\i] liegt auch ein Skript zum initieren - doch die DBfind ich nicht  ???:L Ich moechte gerne nur einmal die User und die Roles speichern und die Daten fuer den AS, fuer jBPM und Portal verwenden.

Nochmal zum Layout mir schwebt da so eine klassische Struktur vor:


		Code:In die Zwischenablage kopieren


----------------------------------------------
|                     Header                 |
----------------------------------------------
++++++ Navi/Statusleiste inkl. Login-Form+++++
____
|N |                                | Kalender
|a |                                          
|v | 
|t |        Mainwindow              | Latest
|r |                                | Blogs/
|e |                                | News
|e |
----
-------------------Footer---------------------

Wobei alles bis auf das Mainwindow static sein soll.

Danke schonmal fuer Eure Tipps 

Nachtrag, in der IX 08/05 ist ein Artikel ueber SAPs Web Dynpro. Darum steht, dass SAP mittels Javascript immer nur den noetigen Teil der Webseite neulaed um das laestige Flackern zu verhindern. Passt vielleicht nicht ganz hier rein, aber so ein Feature waere hier auch sehr fein. D.h. nur die Portlets refreshen in denen sich was tun. Hat jemand Ideen uns Sampecode?_


----------



## KSG9|sebastian (2. Aug 2005)

Aaalso, es gibt bei der Jetspeed2-Source-Dist genügend Portlets, u.a. ein sehr umfanreiches Struts-Mailreader-Portlet. Dann musst du mal auf der Jetspeed2 Mailing-List nachlesen, dort gibts auch genügend Links. 

Zu SAP: Dynamisches Nachladen per JavaScript ist IMHO schrott. Wir mussten das SAP EP6 in unser WebSphere Portal 6 einbinden. Dazu kam noch SSO mit WebSeal u.s.w. Und das was hauptsächlich Probleme machte war das SAP EP6 auf Grunde des dynamischen Ladens. Das ist nur einer von wenigen Gründen die dagegen sprechen. 



> D.h. nur die Portlets refreshen in denen sich was tun


Wie soll das gehen ? Du brauchst die Infos vom Server, somit musst du nen Request abschicken. Und dann wird dir die ganze Seite neu geladen.

Ich bin nicht gerade ein Freund von JBoss. Ich benutz WebSphere Portal 6 und Jetspeed2-M3. 

Ansonsten kannst du dir mal Liferay, uPortal, JPortal u.s.w. saugen und dir denen ihre Beispiele angucken.

Zum Thema Webdesign: Google einfach mal nach Webdesign, Richtlinien u.s.w., da findest du genug.



> Wobei alles bis auf das Mainwindow static sein soll.



Das wird nicht gehen, da das ganze Portal dynamisch aufgebaut wird. Da kommt es immer drauf an welchen Server du benutzt.

- IBM WebSphere Portal

Navigationsstruktur wird aus der Datenbank ausgelesen. Es gibt keine Unterschiede zwischen einer Seite und einer   Kategorie. Eine Seite kann n Unterseiten enthalten, dann wird sie soz. zu einer Kategorie. Wie die Navigation dargestellt wird (Top-Level, Sub-Level u.s.w.) kann man individuell festlegen

- Jetspeed

Navigationsstruktur wird vom Filesystem ausgelesen. Jeder Ordner enthält Meta-Daten, dannach wird dann die Navigation aufgebaut.


Aber eines haben alle Portale gleich: Die Navigation wird komplett dynamisch generiert.


----------



## Gumble (2. Aug 2005)

KSG9|plak hat gesagt.:
			
		

> Aaalso, es gibt bei der Jetspeed2-Source-Dist genügend Portlets, u.a. ein sehr umfanreiches Struts-Mailreader-Portlet. Dann musst du mal auf der Jetspeed2 Mailing-List nachlesen, dort gibts auch genügend Links.


Aah, danke. Da ist genug Lesestoff. Die JBoss Portal Doku ist ziemlich mager. Ein Fehler hab ich auch schon entdeckt und nach den Vorgaben, wo was definiert wird, haelt sich anscheinend auch keiner. Sehr verwirrend bei 100000 xml files. :autsch: 


			
				KSG9|plak hat gesagt.:
			
		

> Zu SAP: Dynamisches Nachladen per JavaScript ist IMHO schrott. Wir mussten das SAP EP6 in unser WebSphere Portal 6 einbinden. Dazu kam noch SSO mit WebSeal u.s.w. Und das was hauptsächlich Probleme machte war das SAP EP6 auf Grunde des dynamischen Ladens. Das ist nur einer von wenigen Gründen die dagegen sprechen.


Keine Ahnung, dacht das waer vielleicht einfach zu realisieren. 


			
				KSG9|plak hat gesagt.:
			
		

> Ich bin nicht gerade ein Freund von JBoss. Ich benutz WebSphere Portal 6 und Jetspeed2-M3.
> 
> Ansonsten kannst du dir mal Liferay, uPortal, JPortal u.s.w. saugen und dir denen ihre Beispiele angucken.


Hatte bis jetzt noch gar nichts mit Appservern zu tun. Mein Projekt ist ja auch nur relativ klein und ein Studentenjob - da darf die Software natuerlich nix kosten. Die Community um JPortal 2.0 ist nicht sonderlich gross - vielleicht sollte ich Jetspeed mit JBoss (4.0.2) mal kombinieren? Scheint mir auf dem ersten Blick reifer zu sein. In welchen Punkten unterscheiden die beiden Portale sich? Wichtig ist halt dass die jBPM Engine laeuft, denn ich hab vor Arbeitsprozesse zu automatisieren, visualisieren usw. Workflowhype halt.   :roll: 


			
				KSG9|plak hat gesagt.:
			
		

> Zum Thema Webdesign: Google einfach mal nach Webdesign, Richtlinien u.s.w., da findest du genug.


Die Informationsflut ist schon heftig - dachte hier hat jemand was schoenes parat. Vor allem bezueglich Portale oder CMS gibt es ja wohl eigene Ansaetze. Aber Design ist erstmal nicht soo wichtig. Der Unterbau muss stimmen 


			
				KSG9|plak hat gesagt.:
			
		

> - IBM WebSphere Portal
> 
> Navigationsstruktur wird aus der Datenbank ausgelesen. Es gibt keine Unterschiede zwischen einer Seite und einer   Kategorie. Eine Seite kann n Unterseiten enthalten, dann wird sie soz. zu einer Kategorie. Wie die Navigation dargestellt wird (Top-Level, Sub-Level u.s.w.) kann man individuell festlegen
> 
> ...



Aaah, DAS erklaert einiges. Hab wie verteufelt nach einem Naviportlet oder jsp gesucht und nichts gefunden. Danke!  :toll:


----------



## KSG9|sebastian (2. Aug 2005)

Wird automatisch vom Portal-Server/Layouts/Decorators generiert. 
Bei Jetspeed kannst du das Layout recht einfach ändern, damit kannst du dann auch die Anordnung u.s.w. ändern.


----------



## KSG9|sebastian (3. Aug 2005)

oh...ganz vergessen: Es gibt ja noch das IBM Help Center

http://www-128.ibm.com/developerworks/websphere/zones/portal/proddoc.html


----------



## Gumble (3. Aug 2005)

etwas OT - ist vielleicht nur eine Kleinigkeit.
Kämpfe gerade mit Maven  :autsch: 
JDK 1.5.0_04
Maven 1.1-beta-1
Ant 1.6.5
Tomcat 5.5.9
Jetspeed 2.0-M4-SNAPSHOT

Genau so wie es im "getting started" drinsteht, funktionierts schonmal net:
Als erstes gibts dieses 'initMavenPlugin" Target garnicht. Dann gibts ein parseFehler im project.xml (L.26) den ich beheben konnte, indem ich das <currentVersion> Tag richtig fülle.
allClean:

D:\Downloads\jetspeed\jetspeed-2.0>maven allClean
 __  __
|  \/  |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
|_|  |_\__,_|\_/\___|_||_|  v. 1.1-beta-1

DEPRECATED: the default goal should be specified in the <build> section of project.xml instead of maven.xml
Starting the reactor...

BUILD FAILED
File...... D:\Downloads\jetspeed\jetspeed-2.0\maven.xml
Element... maven:reactor
Line...... 100
Column.... 31
Unknown error reading project
Total time   : 10 seconds
Finished at  : Mittwoch, 3. August 2005 17:11:50 CEST
Der zugehoerige Code:

```
<maven:reactor
       basedir="${basedir}"
       includes="*/project.xml,applications/*/project.xml,components/*/project.xml,services/*/project.xml,portals-bridges/*/project.xml"
       excludes="applications/project.taglibs/project.xml"
       goals="clean"
       banner="Cleaning"
       ignoreFailures="true"/>
```
Dann hab ich 'services/*/project.xml' und 'excludes="applications/project.taglibs/project.xml"' rausgeschmissen, weil ich das nicht gefunden habe. Allerdings ohne Erfolg.
Also weiter mit allBuild:

D:\Downloads\jetspeed\jetspeed-2.0>maven allBuild
 __  __
|  \/  |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
|_|  |_\__,_|\_/\___|_||_|  v. 1.1-beta-1

DEPRECATED: the default goal should be specified in the <build> section of project.xml instead of maven.xml
build:start:

allBuild:
check.required.properties:

torque:init:

db.scripts.gen:
    [echo] Generating SQL schema creation scripts for HSQLDB
    [torque-sql] Using classpath
    [torque-sql] Generating to file D:\Downloads\jetspeed\jetspeed-2.0\target\src\sql\hsql\report.portal.sql.generation
    [echo] Generating SQL schema creation scripts for MySQL
    [torque-sql] Using classpath
    [torque-sql] Generating to file D:\Downloads\jetspeed\jetspeed-2.0\target\src\sql\mysql\report.portal.sql.generation

    [echo] Generating SQL schema creation scripts for Oracle
    [torque-sql] Using classpath
    [torque-sql] Generating to file D:\Downloads\jetspeed\jetspeed-2.0\target\src\sql\oracle\report.portal.sql.generation
    [echo] Generating SQL schema creation scripts for MS SQL
    [torque-sql] Using classpath
    [torque-sql] Generating to file D:\Downloads\jetspeed\jetspeed-2.0\target\src\sql\mssql\report.portal.sql.generation

    [echo] Generating SQL schema creation scripts for Postgres
    [torque-sql] Using classpath
    [torque-sql] Generating to file D:\Downloads\jetspeed\jetspeed-2.0\target\src\sql\postgres\report.portal.sql.generation

Starting the reactor...

BUILD FAILED
File...... D:\Downloads\jetspeed\jetspeed-2.0\maven.xml
Element... maven:reactor
Line...... 130
Column.... 40
Unknown error reading project
Total time   : 1 minutes 2 seconds
Finished at  : Mittwoch, 3. August 2005 17:20:03 CEST
der Code im maven.xml:

```
<maven:reactor
               basedir="${basedir}"
               includes="${jar.includes}"
               excludes="${jar.excludes}"
               goals="jar:install"
               banner="Build and Install all Jetspeed 2 jars"
               postProcessing="false"
               ignoreFailures="false"/>
```
Scheint der selbe Fehlertyp zu sein. Kann mir jemand helfen?


----------



## Gumble (3. Aug 2005)

aah, regt mich das auf. Wieso funktioniert denn nie eine Anleitung?
http://wiki.apache.org/portals/Jetspeed2/JBossHowToDetailed



			
				doofes How-To hat gesagt.:
			
		

> Unzip the jetspeed.war (can be found in Tomcat's webapps dir or in the portal/target dir of the Jetspeed 2 source (after a build of course) into a directory called jboss/server/default/deploy/jetspeed.war - inside this directory you will then find a directory WEB-INF/deploy.



jetspeed.war ist bei der fertigen Version nicht dabei (jetspeed-current-Tomcat-5.5.9.zip). Bauen kann ich sie natuerlich nicht wegen denoben genannten Problem. Toll. Kann mir jemand bitte die Datei ins Internet stellen?

Danke!


----------



## KSG9|sebastian (4. Aug 2005)

hm...jetspeed is immer so ne sache....ich hatte meistens auch probleme..schau mal auf der mailing-list nach

http://www.mail-archive.com/jetspeed-user@portals.apache.org/


----------



## Gumble (4. Aug 2005)

Die Mailing Liste hab ich schon durchforstet - keiner hat mein Problem
Nun hab ich Maven 1.0.2 ausprobiert - jetzt heisst der Fehler (bei M3 und M4) etwas anders:

D:\Downloads\jetspeed\jetspeed-2.0>maven allClean
 __  __
|  \/  |__ _Apache__ ___
| |\/| / _` \ V / -_) ' \  ~ intelligent projects ~
|_|  |_\__,_|\_/\___|_||_|  v. 1.0.2

Starting the reactor...

BUILD FAILED
File...... D:\Downloads\jetspeed\jetspeed-2.0\maven.xml
Element... maven:reactor
Line...... 103
Column.... 31
Error reading XML or initializing
Total time: 17 seconds
Finished at: Thu Aug 04 10:44:01 CEST 2005
Ich bin total frustriert Welches Portal soll ich denn nun nutzen? Ich will endlich mal etwas Produktives machen und ein erstes Portlet schreiben und nicht die ganze Zeit für so einen Scheiss verdummen


----------



## KSG9|sebastian (4. Aug 2005)

Kannst du ja Binary Distribution saugen !


----------



## Gaunt (5. Aug 2005)

HiHo
irgendwie kommt mir das alles sehr bekannt vor;-) Helfen kann ich nicht wirklich aber ich wollte wenigstens mal mein Beileid bekunden. 
Portale sind nen feine Sache und unheimlich mächtig. Vorne steht dir alles offen was mit einer Webanwendung denkbar ist und hinten alles was eine Programmiersprache wie Java bieten kann. Dazwischen liegt der ganze Portal/Portlet Krembel. 
Das ganze hat natürlich seinen Preis: Es ist ein klein wenig kompliziert;-) Mal eben schnell eine Webseite über ein Portal machen, dazu ein paar Portlets schreiben und gut ist. Nö. Erst mal ne Entwicklungsumgebung aufbauen. Dann raffen was alles zu so nem doofen Portlet gehört und es dann auch noch mit Maven packen. Da geht schon einiges an Zeit bei drauf bis du dich das erste mal um die eigentlich Logik deines Programms kümmern kannst. 
Ich empfehle für den einstieg auf jeden Fall in JSP und natürlich Java fit zu sein. Und dann kann man sich mal hier drann wagen. 

Ich hab so vor nem halben Jahr mal angefangen in de Thematk reinzuschnuppern und dann aber was anderes zu tun gehabt. Jetzt sitze auch ich wieder an den Dingern drann. Ich glaube ich bin in einer Woche mindestens um ein Jahr gealtert!

Aber lasst euch nicht entmutigen. Graue Haare sind bei manchen Leuten recht kleidsam;-)

bis denn
Gaunt

PS: Ich hab da auch noch ne Frage. Aber ich warte erst mal bis ich weiß wonach ich eigentlich fragen will. Das ist mir im moment noch nicht so ganz klar ???:L


----------



## Gumble (5. Aug 2005)

Gaunt hat gesagt.:
			
		

> HiHo
> irgendwie kommt mir das alles sehr bekannt vor;-) Helfen kann ich nicht wirklich aber ich wollte wenigstens mal mein Beileid bekunden.
> Portale sind nen feine Sache und unheimlich mächtig. Vorne steht dir alles offen was mit einer Webanwendung denkbar ist und hinten alles was eine Programmiersprache wie Java bieten kann. Dazwischen liegt der ganze Portal/Portlet Krembel.
> Das ganze hat natürlich seinen Preis: Es ist ein klein wenig kompliziert;-) Mal eben schnell eine Webseite über ein Portal machen, dazu ein paar Portlets schreiben und gut ist. Nö. Erst mal ne Entwicklungsumgebung aufbauen. Dann raffen was alles zu so nem doofen Portlet gehört und es dann auch noch mit Maven packen. Da geht schon einiges an Zeit bei drauf bis du dich das erste mal um die eigentlich Logik deines Programms kümmern kannst.
> ...


Ich dachte schon, es geht nur mir so. :? Bin erstmal wieder auf JBoss Portal umgesattelt und lese nun ein paar JSF Tutorials. Ich denke dass sich der hohe Aufwand lohnt. Danach kann ich wenigstens mit den tolle Schlagwörter um mich werfen: Portlet, Ant, Maven, JSF :autsch: 


			
				Gaunt hat gesagt.:
			
		

> PS: Ich hab da auch noch ne Frage. Aber ich warte erst mal bis ich weiß wonach ich eigentlich fragen will. Das ist mir im moment noch nicht so ganz klar ???:L


Hehe, das kenn ich. Schon allein das ausführliche Formulieren einer Frage hat mir schon oft weitergeholfen, weil man dann noch mal strukturiert das Problem von Anfang an angeht. Manchmal kommt man sogar selbst auf die Lösung. Hab schon einige Themen angefangen und am Ende dann doch nicht losgeschickt.


----------

