Hallo alle,
das Bauen von Portlets mit Velocity geht grundsätlich auf zwei Wegen:
1. Man kann einen Velocity-File direkt als Portlet registrieren, außerdem  
dazu auch eine Action-Klasse angeben. Ich weiß nur in der Theorie, wie das 
geht, vielleicht können die Velocity-Experten das besser beurteilen. So ein 
Portlet zu bauen erfordert lediglich einen Eintrag in einem 
Konfigurationsfile, wo vor allem das template und die klasse angegeben werden.
Hat man alle Templates und Action-Klassen, sollte man relativ leicht in 
Jetspeed eine Applikation daraus herstellen können.
2. Die Möglichkeit, die ich verwendet habe: Man schreibe eine Klasse nach 
folgendem Muster:

package com.bluesunrise.portal.portlets;

import org.apache.jetspeed.portal.portlets.AbstractPortlet;
import org.apache.turbine.util.RunData;
mport org.apache.ecs.ConcreteElement;
import org.apache.ecs.StringElement;

public class HelloWorldPortlet extends AbstractPortlet
{
    public ConcreteElement getContent (RunData runData)
    {
        return (new StringElement ("Hello World!"));
   }
}

Die Rückgabe der getConent-Methode wird im Portlet angezeigt. Hier kann man 
ein Velocity-Template rendern und vorher die benötigten Daten in den Context 
schieben. In diesem Java-Code kann man alles machen, was man will. Die Klasse 
muß auch in einem Konfigurationsfile registriert werden.

Die erste Methode ist wahrscheinlich die elegantere und entspricht mehr dem 
turbine-mäßigen vorgehen, das zweite ist mehr die quick-and-dirty Variante.

Ob man Flux in Jetspeed verwenden kann, weiß ich nicht. Wir haben per Torque 
direkt auf die Turbine-Datenbank zugegriffen. Jetspeed enthält Seiten für 
Dinge wie Benutzerregistrierung, die einem das meiste abnehmen.

Hoffe, das hilft weiter
Stefan



Am Donnerstag, 27. Juni 2002 14:21 schrieben Sie:
> Hallo alle miteinander,
>
> Herr Kuhn ist ja schon sehr weit; ich noch nicht so sehr :), deshalbt
> müssen wir jetzt mal mit der Beispielapplikation beginnen. Ich denke,
> ein guter Konsens wäre es, das Auktionshaus zu machen. Hierbei können
> wir uns ja auf den javashop, wie von Herrn Kuhn vorgeschlagen, stützen -
> eine Bestellung ist jetzt eben eine Auktion, Produkt und User bleiben.
>
> Hier die Einzelanforderungen (bitte bei weiteren Ideen ergänzen):
>
> - Portlet mit Kategorienübersicht, Unterkategorien, und Produkt mit
> Ablaufdatum usw.
> - Entweder in diesem Portlet, oder als Extraportlet die
> Ersteigerungsmaske
> - Ein Portlet mit eigenen bereits ersteigerten Produkten
> - Ein Bewertungsportlet
> - Ein Cron, der alle paar Minuten nach beendeten Auktionen sucht, und
> eine Email an Bieter und Verkäufer sendet (einfach mit Turbine zu
> machen).
>
> Die Funktionen können ruhig rudimentär sein (ist dann denke ich auch
> nicht zu viel Arbeit).
> Zur Aufteilung, mein Vorschlag:
> Dapeng und ich könnten die Geschäftslogik machen, Jürgen macht die
> Velocity Templates für die Einzelportlets, und Herr Kuhn setzt das alles
> mit Jetspeed zusammen (müsste dann auch Actions und Screens machen;
> können wir uns auch aufteilen).
>
> Ein paar Detailfragen noch:
> Ich würde sagen, dass wir zur Userverwaltung das Turbine-eigene Flux
> benutzen - geht das unter Jetspeed ohne Probleme? Beim User speichern
> wir ja noch mehr, in einer Extratabelle, oder? Wollen wir Permissions
> und Groups einbinden und benutzen, oder uns einfach auf Roles (Käufer,
> Verkäufer, Admin) beschränken?
>
> Zum weiteren Vorgehen:
> Soll ich bei Sourceforge ein Projekt für uns anlegen, oder übermitteln
> wir Änderungen ganz rudimentär per Email an diese Adresse? Und können
> Sie, Herr Kuhn, uns ein Rohgerüst/-portlet geben, das wir mit den
> unterschiedlichen Features füllen können?
>
> Vielleicht kann jeder heute noch was dazu sagen (v.a. zu Aufteilung und
> Features), dann kann ich bis morgen/Wochenende mal ein rudimentäres
> Datenbankschema abgeben.
>
> Bis dann, Fabian T.

-- 
Stefan Kuhn M. A.
MPI of Chemical Ecology, Winzerlaer Str. 10, Beutenberg Campus, 07745 
Jena, Germany
Tel: +49(0)3641 571261 - Fax: +49(0)3641 571202

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to