Given by Geoffrey C. Fox at NCSA Portal/Metadata Meeting on October 22-23 99. Foils prepared October 24 99
Outside Index
Summary of Material
This describe how one first defines a portal with betterportalML |
Then makes it collaborative with SPDL (Shared Portal Definition Lanaguage) |
Outside Index Summary of Material
Presentation at Alliance Metadata Meeting Oct 23 99 |
http://www.npac.syr.edu/users/gcf/offbeatxmloct99 |
Geoffrey Fox |
Syracuse University |
NPAC |
111 College Place Syracuse NY 13244 4100 |
3154432163 |
Portal will be defined by multiple XML Web Pages with "control" information
|
Portal Entry |
SubPortal1 |
SubPortal2 |
SubPortal4 |
SubPortal3 |
SubPortal21 |
SubPortal22 |
Page101 |
Page211 |
Page212 |
Page221 |
Page301 |
Page401 |
If our personal portal is (multiple) Web pages, then we need |
(better)portalML to define
|
SPDL which is XML to define collaborative structure |
Assume "version 5" browsers so can assume W3C Document Object Model |
SPW Web Page |
SubPage1 |
SubPage2 |
SubPage4 |
SubPage3 |
SubPage21 |
SubPage22 |
...................... |
<sharedportaldef> |
. |
. . |
</sharedportaldef> |
SPDL document |
Web browser |
Regular content |
Web page |
Document Fragments as Shared objects |
In W3C DOM, each Web Page (HTML Page)is defined as a |
set of Nodes -- You choose which nodes (and their children) |
that you wish to share and then events are exchanged |
maintaining state consistency with logic defined by XML page |
"(better)portalML" -- define the user's customized portal layout and what they can choose from
|
Portal building tools will exist for developers (architect template for portal i.e. differentiate my.NPAC from my.Netscape) and users ( specialize portal template ) |
Such general tools will be competition for specialized systems like WebCT for education |
Computing abstracted as a set of hierarchical Toolbars Toolbars are defined in XML (portalML) and rendered in HTML for user interface. XML interpreted on middle tier as some suitable service. |
Toolbars are formed from components which are portal (shared) objects stored in some repository |
Computing Toolbars include user profile, application area (user choice), code choice (application specific), results, visualization (where "command" could be AVS), collaboration, programming model, (HPF, Dataflow specialized tools), resource specification, resource status, |
Each "Shared Portal on the Web" or SPW is a set of XML and HTML documents |
An XML document defines the collaboration Structure as a refinement of basic portal structure (portalML) -- who is allowed in "Shared Portal"; what objects can be there; where they are stored
|
There is an HTML document defines the shared portal itself; it instantiates particular objects and is presentation layer
|
We will re-use some existing client side Java as SP agent and control objects invoked from style sheets |
The TangoInteractive Server can also be largely re-used |
Content |
Web Server |
Shared by SPW Agent invoked by |
Events |
Trapped by Browser and shared by SPW |
XML SPW Specification |
Shared Event |
Service |
<?xml version="1.0"?> |
<sharedportaldef> |
<head> |
<title>Result Presentation</title> |
<protocol type="plain"> |
<server>kopernik.npac.syr.edu</server> |
<port</port> |
</protocol> |
</head> |
The Header contains the title of the Shared Portal. |
It also declares how the shared portal communicates with the collaboration framework. (I.e. server in Tango language) |
The plain client/server protocol is chosen here with the collaboration server running on the machine: kopernik.npac.syr.edu on the port: 5555. |
Other protocols such as IIOP can be used as well. |
Initialize shared portal definition |
<sharedobject name="viewer"/><location> http://www.npac.syr.edu/experiments/apps/viewer.jar
|
</shared_object> |
<sharedobject name="chat">......</sharedobject> |
This fragment describes shared portal objects that are used in the shared portal.
|
Maybe should use <portalobject mode="SPWshared" > |
<roles> |
<object_roles name="viewer">
|
</object_roles> |
</roles> |
The fragment of the SPDL document on this page defines the roles for the users of the shared object: in particular we illustrate with the roles creator and observer. |
<sessions>
|
</sessions> |
This fragment defines how the collaboration sessions are created in the shared portal. |
The members of all three groups automatically enter the collaboration session when they access the result analysis page. |
This means that when a user opens the page with the shared portal defined by this document, she immediately starts the collaboration with other users without executing any special actions. |
<synchronization>
|
</synchronization> |
This fragment of the SPDL document specifies that whenever one of the users change the state of their shared object, this change will be immediately propagated to the shared objects of the other users. |
Such a "instant" mode is declared for all shared objects present in the shared portal. |