Sorry this has been a while... comment early, comment often :)
---

Jetspeed Proposal: 0003
LAST MODIFIED: $Date: 2000/07/26 01:45:32 $
AUTHOR:  [EMAIL PROTECTED]
STATUS: 
TITLE: PSML.next
DEPENDS: 0001

********************************************************************************
* WARNING:  THIS DOCUMENT WAS INITIALLY A PROPOSAL.  PLEASE CHECK THE
DATE AS  *
* THIS MAY HAVE BECOME
OLD.                                                    * 
********************************************************************************

<background>
I initially discussed a PSML revision in an e-mail named 'Is PSML
wrong?'.  The 
goals of this e-mail was to provide:

- automatic portal configuration not dependent on mime-type
    - you could use the same PSML across WAP and HTML.  
- keep as much info within XML as possible.

Thinking over the situation I no longer think this was possible.  I was
hoping
that a different approach to the whole problem might solve the following
items,
but it doesn't appear that way.

</background>

It has is starting to become aparrent that our PSML implementation isn't 
perfect.  The following items have become a problem or are new proposed 
features.

These are not all my ideas.  They were distilled from public discussion
on the
[EMAIL PROTECTED] mailing list with significant contribution
from:

   Rapha�l Luta <[EMAIL PROTECTED]>
   Neeme Praks  <[EMAIL PROTECTED]>
   
********************************************************************************
1. PortletControls and PortletControllers aren't registered in a central
location
********************************************************************************

Change <entry> into <portlet>.  Also add <portlet-control> and 
<portlet-controller>.  Misc code changes within the core.

See ./docs/proposals/0001.txt within CVS for a full proposal.

Peer classes will be in org.apache.jetspeed.xml.peer.registrymarkup and
will be:

PortletEntry
PortletControlEntry
PortletControllerEntry

********************************************************************************
2. We can't handle user profiles.
********************************************************************************

Currently we have a 'default' profile.  This mechanism needs to be
enhanced so 
that we can provide alternative 

We need to setup a similar mechanism to item 4.  In order to handle
profiles we
can register them within the PortletRegistry (so they can be accessed
easily) 

<profiles>

    <default mime-type="text/html"          name="default-html"/>
    <default mime-type="text/vnd.wap.wml"   name="default-wml"/>
    
    <profile-entry href="/content/profiles/sports.psml" name="sports">
        <description>
        ESPN and various sports channels.
        </description>
    </profile-entry>
    
</profiles>

When complete.  'default-html.psml' should become the default Profile
for the
text/html mime type.

This should have a Java mapping of:

PortletRegistry:

+ public Profiles getProfiles();

- new classes:

Profiles:
+ public Profile[] getProfileEntries();

Profile:

+ public String getHREF();
+ public String getDescription();
+ public String getName();

The Java mapping might not be necessary if we use XSLT to provide a FULL
UI for
the customizer.  It might just be that we can avoid Java for a quicker
impl.

********************************************************************************
3. We don't have explicit PortletSets within PSML.  We are just using
<portlets>
********************************************************************************

All references to <portlets> should change to <portlet-set> in both user
and
registry PSML.  The root document node needs to change from <portlets>
to 
<psml> in user PSML.  This maps correctly to the Java object PortletSet.

The <portlets> element in registry psml will be removed.

********************************************************************************
4. The PSML is media and mime-type specific
********************************************************************************
    
Use the Profiler mechanism to provide a mechanism to choose PSML based
on 
MimeTypes and filename mapping.  (a default profile will be used if they
don't 
exist) 

If user connects to Jetspeed with a client of text/html then we can
serve 
up:

/content/users/burton/psml/text/html/default.psml

if they connect with WAP we could hand them:

/content/users/burton/psml/text/vnd.wap.wml/default.psml

********************************************************************************
5. There is no way to uniquely identify a PortletSet
********************************************************************************

In default.psml we will provide some basic names.  In autogenerated PSML
we
will use GUIDs.  Since the names won't conflict with the GUIDs (as long
as this
remains clear and documented) we should be fine and won't have any
conflicts.

This will also allow the Customizer to correctly identify which
PortletSet a 
user wants to add/remove/etc a Portlet from.

********************************************************************************

I will revise this document in CVS under /docs/proposals/0003.txt, as
relevant 
comments occur.  A implementation of the above in XML schema should
appear in 
CVS in /src/xml/psml/schema/*-next.xsd.

-- 
Kevin A Burton (e-mail: [EMAIL PROTECTED], UIN: 73488596, ZKey:
burtonator)
http://relativity.yi.org
Message to SUN:  "Please Open Source Java!"
To fight and conquer in all your battles is not supreme excellence;
supreme 
excellence consists in breaking the enemy's resistance without fighting.
    - Sun Tzu, 300 B.C.


--
--------------------------------------------------------------
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