> -----Original Message-----
> From: Rapha�l Luta [mailto:[EMAIL PROTECTED]]
> Sent: Thursday, June 08, 2000 5:41 PM
> 
> Customization is currently implemented for the following elements:
> 
> portlet to display
> meta-data (including title, description, etc..) for each portlet
> screen organisation
> portlet decoration
> portlet parameters
> 
> What is missing currently is *user* cutomization, ie a 
> web-accessible GUI for each 
> user to taylor its page at will.

yep... I understood that Kevin is working on this?

> > I will use XSP for writing portlets and XSLT stylesheets for page
> > "controlling". The user can "skin" the portal by choosing among
> > available stylesheets. XSLT would generate the "bones" for 
> the "skin"
> > and CSS would be used to add the "flesh" to the "skin": add 
> the colors
> > and other formatting information.
> > User can also customize the style of the "skin" by overriding the
> > default CSS style information.
> 
> Yes, that's the goal. But don't forget that you using XSLT 
> for controlling
> makes user cutomization difficult.
> 
> Example: user wants to add a new portlet to his page, the 
> page is controlled by a
> RowColumnController.
> When the user as selected and configured his portlet, the 
> controller will
> propose its layout options, which in the case of RowColumn is 
> very easy: 
> which position do you want to give this portlet ?
> Same as before but the page is controlled by a XSLController 
> using stylesheet A.
> Which layout option do you display to the user ? What happens 
> when you switch to stylesheet B ?
> 
> Using generic controllers/controls is very flexible from the 
> designer/administrator point of view but makes presenting a GUI to 
> the user more difficult than single purpose controllers with 
> well-known 
> capacities.

yep, very relevant points. I see it in the way that you implement the
RowColumnController with a stylesheet... This clarifies the user
confusion and allows the designers to have more control over the design.

But I'm not familiar with contollers and their capabilities that much so
I might change by mind after I have started to look in them more
closely. I just making a lot of assumptions here about the
implementation of these controllers.

> I was also ondering whether we should use a copy or reference 
> model for user 
> cutomization. While I agree that the reference model seems 
> very nice, I also
> anticipate a lot of implementation issues...

yep, implementation could be tricky.

> Currently my idea was :
> let's define profiles in the registry which are valid PSML fragments
> 
> <profile name="Corporate">
>   <controller/>
>   <entry>
>   <portlets>
>     <controller/>
>     <control/>
>     <entry/>
>   </portlets>
> </profile>
> 
> now let's allow portlets to be linked to profiles, a linked 
> portlets element would
> be initialized with the profile content.
> 
> <portlets profile="corporate">
>   <controller/>
>   <entry>
>   <portlets>
>     <controller/>
>     <control/>
>     <entry/>
>   </portlets> 
> </portlets>
> 
> let's use the user attribute on portlets (currently defined 
> by unused) to
> name the user that has the right to modify the portlets 
> content (ie add/remove
> a portlet, change the control/controller). If no user 
> attribute is specified on a 
> portlets element, its parent user attribute is inherited.
> 
> we may get a sample PSML file like this :
> 
> luta.psml
> <portlets user="luta">
>   <portlets user="default" profile="Corporate">
>   <controller/>
>   <entry>
>   <portlets>
>     <controller/>
>     <control/>
>     <entry/>
>   </portlets> 
>   <portlets user="default" profile="MegaCorporate"/>  
>   <portlets profile="Custom"/>        
>   <portlets user="burton" profile="CustomShared"/>    
> </portlets>
> 
> This file would be used to display the portlet for user luta, 
> since it's 
> named luta.psml.
> We would have the following capability matrix
> 
> no profile /  no user: fixed content, not editable by anybody
> profile    /  no user: each time the profile is changed, the 
> content of these
>                        section is updated as they're not editable
> no profile / user    : user is free to edit this element and 
> put whatever it
>                        likes inside.
> profile    / user    : content is intialized by profile and 
> editable by
>                        user. It's not kept up to sync with 
> the profile changes.

ok, looks good. One thing though: I would like to separate the "state"
(minimized, etc) of the portlet from the <portlets>, so we could have
more unmodifiable/centrally-administrable blocks... but this brings us
actually back to the reference issue...

> I let to your imagination what may be the point of specifying 
> user "burton" in my example...

making a copy of burton's portlets... well, interesting idea... however,
I would still love to implement this also as a reference, so when burton
changes his portlets, yours would also be changed. Tricky to implement
in the case of filesystem storage, though... Also, the option of making
a copy should still be there.

Neeme


--
--------------------------------------------------------------
Please read the FAQ! <http://java.apache.org/faq/>
To subscribe:        [EMAIL PROTECTED]
To unsubscribe:      [EMAIL PROTECTED]
Archives and Other:  <http://java.apache.org/main/mail.html>
Problems?:           [EMAIL PROTECTED]

Reply via email to