ingo schuster wrote:
>
> Jetspeed's WAP support is currently realized in a very hacky fashion.
> Please find below a proposal for an improved WAP support in jetspeed. We
> have these changes already implemented and tested, and as soon as you say
> "Hey cool, we want this!", I'll check it into CVS. ;-))
> Seriously, I think this is definitely an improvement as brings us closer to
> a multi-device capable Jetspeed. Please send your comments/opinions. I
> won't be online over the weekend but I'm back on Monday.
>
> Enjoy your weekend, :)
I enjoyed it migrating some machines to Linux Mandrake 7.2 (they had
been partially updated starting more than one year ago from 6.0). After
a lot of silly problems with updated packages refusing to start
services, new security rules, and so on, I'm back online! :-)
+16K on trying WAP stuff. THe only way to ensure that we are doing all
right is testing it a little bit.
>
> ingo.
>
> -------------------------------------------------------------
> Proposal: Improved WAP Support
>
> 1. What is the added value?
>
> Jetspeed 1.2b provides no real WAP support, but only a hard coded sample
> of how WAP aggregation could work. The list of portlets to be displayed
> is hard-coded in the Home screen. A special WAPPortletController does the
> whole processing. No personalization is possible.
>
> Improved WAP support provides a facility of defining one WAP page per
> user in addition to a HTML page. In the first step the WML home page displays
> a set of portlet titles (for the portlet from the user specific wml psml
> file).
> In the next step the user can select one of the titles and will be linked to
> the maximized view of the portlet selected (This is similar to maximize
> in the html browser).
>
> This solution is the first step in implementing more sophisticated multi-page,
> multi-device concept. Further proposals will follow later.
>
> 2. What has changed?
>
> a) We implemented additional multi-device capable aggregation
> elements (controls/controllers) or extended the existing
> ones to be
> multi-device capable:
> * RowColumnController �existing extended
> For WML � renders portlets from the portlet vector
> one
> after another.
> What is returned from each portlet
> depends on
> controls used.
> * TitleControl �new
> For HTML � returns only title bar with title, edit
> and
> maximize buttons, no content; can be used,
> e.g., for minimized view.
> For WML � returns portlet title as link.
> * SinglePortletController-new
> For HTML � assumes that no more than one portlet
> is in the
> portlet vector; returns this portlet;
> can be used, e.g., for maximize.
> For WML � the same behavior as for HTML.
> * FullScreenControl-new
> For HTML- returns a title bar with title, edit and
> restore buttons + portlet content.
> For WML � returns a title of a portlet and a portlet
> content.
>
> b) We implemented a WML specific WMLCardController, which adopts
> a layout functionally for WML pages. This is necessary,
> because
> is not possible to use the Turbine Page structure together
> with ECS
> for WML in the current version of Jetspeed. This will
> become obsolete
> as soon as Jetspeed will move over to use templates
> (WebMacro, JSPs or
> Velocity) and remove the ECS stuff.
>
> c) We provided a proper implementation of the supportsType method for
> PortletSet, controls and portlets, we used. (Until now
> this method
> return true for html and false for everything else for all
> classes).
>
> d) We provided a defaultWML.psml
>
> e) We provided a MultiDeviceUserProviler. This profiler will be later
> replaced, when the Profiler proposal will be implemented.
> The new directory structure for psml files is:
> \psml\default.psml
> \psml\defaultWML.psml
> \psml\user1\homeHTML.psml
> \psml\user1\homeWML.psml
> In order to use the MultiDeviceUserProfiler set the profiler entry
>in the
> JetspeedResources.properties as follows:
>
>profiler.default.classname=org.apache.jetspeed.profiler.MultiDeviceUserProfiler
>
> e) We changed the Home screen so, that getPSMLContent method is called
> not only for a HTML but also for a WML request (earlier
> getContent
> method with hard-coded WML sample was called). This method
> reads a
> corresponding psml file, constructs a PortletSet and
> renders its
> content.
>
> f) We also suggest using our SinglePortletController and FullScreenControl
> for the maximize modus in the Home screen. This will
> permit using the
> same mechanism for different devices. On the other hand the
> TitlePortletControl used now for html shows maximize
> button in the
> maximize mode, with the FullScreenControl this bug will be
> fixed.
> Some minor changes were necessary to make the
> TitlePortletControl mark
> an URI for the FullScreenControl to return to.
>
> 3. What is important?
>
> a) Multi-device capable aggregation elements and portlets must implement
> a supportsType method correctly. The html only elements
> can adopt a
> default implementation; so nothing have to be done.
> b) We recommend using RowColumnController and TitleControl for WML home
> pages. Controllers and controls must be defined explicitly
> in the psml
> file, otherwise the application uses a default from the
> properties file.
>
> 4. What are the impacts on the other Jetspeed components?
>
> Other Jetspeed components are not impacted.
> Old aggregation elements work in the same way as earlier.
> Old profiler can be used (no multi-device support possible).
> If the profiler is set to the UserProfiler the psml directory structure
> remains as it is.
> If the new Profiler is used html default can remain as it is. User specific
> psmls must be
> copied to user specific directories.
> Home screen and maximize for HTML work in the same way as earlier, one bug
> is fixed (s. 2.7).
>
> 5. What classes/files have been changed/added?
>
> org.apache.jetspeed.portal.controllers.RowColumnController � changed
> org.apache.jetspeed.portal.controllers.SinglePortletController � added
> org.apache.jetspeed.portal.controllers.CardPortletController � added
> org.apache.jetspeed.portal.controls.TitlePortletControl � changed
> org.apache.jetspeed.portal.controls.TitleControl � added
> org.apache.jetspeed.portal.controls.FullScreenControl � added
> org.apache.jetspeed.portal.PortletSet � bug fixed
> org.apache.jetspeed.modules.screens.Home �changed, bug fixed
> org.apache.jetspeed.profiler.MultiDeviceUserProfiler a-added
> \content\psml\defaultWML.psml �added,
> \config\JetspeedResources.properties -changed.
>
> --
> --------------------------------------------------------------
> Please read the FAQ! <http://java.apache.org/faq/>
> To subscribe: [EMAIL PROTECTED]
> To unsubscribe: [EMAIL PROTECTED]
> Archives and Other: <http://marc.theaimsgroup.com/?l=jetspeed>
> Problems?: [EMAIL PROTECTED]
--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Archives and Other: <http://marc.theaimsgroup.com/?l=jetspeed>
Problems?: [EMAIL PROTECTED]