Docstoc

Syntax

Document Sample
Syntax Powered By Docstoc
					Column A is Formal Name of quantity

Column B specifies nature of property with possible values
XML XML object specification in DTD defined elsewhere:
     XML strings cannot be processed directly by JMS but only by a subscribing client. They can go in body of JMS message
     unless JMS message body format makes this inconvenient when they go into JMS message header
On line under XML, one places DTD of this XML syntax
ENUM means an enumerated list of possible values

For JMS Header Column B represents GXOS or GMS component from which header property derived

Column C defines rules for presence
1 implies must be present once and once only
? Optional I.e. 0 or 1
 + is one or more
 * is zero or more

Multiple instances can only be defined by use of multiple instances in a single XML string

Column D specifies DTD or "parent tag" of which this is part

Column E is Description
*********** Notes on Garnet Message Service, Naming and Directory Interface, Objects and Events **********************

GXOS Garnet XML based Object Specification includes
GMS Garnet Message Service
GNDI Garnet Naming and Directory Interface for specifying Garnet Entities

Critical Entities in the Garnet System
Entity

Events same as
GMS Message

Collection
Stream
Application same as
Sharedlet

VirtualExperience

Users


Documents
Devices
ClientDevice
ServerDevice

Other Entities in Garnet System
Destination

JMS Messages

NickName



Publisher
Selector
Subscriber
Topic

Hierarchy for Garnet Entities *************************************************************************************************************
This governs all Entities whether Events Applications Users Documents Computers

Object Hierarchy is RootContext --> MegaMeetingContext --> MeetingContext -->VirtualEnvironment --> Collection -->
For GMS one replaces Entity by Stream --> Major Event --> Minor Event
The most important Collection is the VirtualEnvironment which is a (Device,User) pairing

Other entities (Documents, Sharedlets, Users, Computers) can be associated with any layer of hierarchy --
This is analogous in UNIX to a hierarchy of directories and at each level one can define directories (Collections) or files (Entiti
Each level can itself have a hierarchy defined internally e.g. a MeetingContext can internally be built out of multiple MeetingC
RootContext
MegaMeetingContext



MeetingContext

VirtualEnvironment
Collection
Stream



MajorEvent
MinorEvent
Entity




Objects Structure ************************************************************************
Get and Set Properties
If GMSMessageMode = GetSet, then this message either sets or gets properties I.e. this is CORBA like Object Method
Only Object Properties defined in XML can be set or gotten.
The XML attribute GETSET with enumerated values set (default) and get defines action on object. The value returned implies
All properties of objects listed below can have GETSET attribute which is ignored except when GMSMessageMode = GetSet b

Arrays
Most Objects can be defined as single entities or as arrays (by just repeating XML)
It is not clear to me if we need to formalize this by distinguishing say TreeObject and TreeObjects



Object XML DTD's
DestinationObject

TopicObject
TimeObject
HistoryObject

TreeObject

InternalND
ExternalND
ObjectRealization
MessageID

DeviceObject
UserObject
EventObject
AcknowledgeObject
SecurityObject
UpdateExtension
ProgramObject

WebExport
GXOSShell
es on Garnet Message Service, Naming and Directory Interface, Objects and Events **********************

t XML based Object Specification includes
t Message Service
  Naming and Directory Interface for specifying Garnet Entities

es in the Garnet System
            Any useful artifact for the Garnet System and defined by XML in GXOS

               High level Messages (nuggets of information) defined in XML with time stamps
               As one can omit time stamp, all high-level (I.e. Garnet XML specified) Messages are Events

               A Collection of Entities or other Collections.
               A set of coordinated (Time Series of) Events
               An instance of a collaborative application. Can be associated with one or more other Garnet Entities
               Typically Sharedlets are Collections although a simple sharedlet could just be a Document
               Collaboration corresponds to synchronizing information between sharedlets of same name in different branches of GXOS Tree
               Virtual Classroom or Virtual Computing Envionment etc. Collection of coordinated Sharedlets
               A Virtual Experience is rendered as one or more Garnet windows on a collaborating ClientDevices
               Person interacting with a VirtualExperience
               A user has a unique NickName. Which is unique for each ClientDevice
               A user can be using >= 1 ClientDevices which in turn contain >=1 VirtualExperiences
               Information used by Sharedlets: BasicDocument, Template and BuiltDocument are types of Documents
               Workstations PC's CAVE's CellPhones PDA's
               Device assigned to a User
               Device which is not assigned to a user

s in Garnet System
             List of Entities for which one wishes to direct some information
             This can be explicit names or implicitly defined either a selector or by Topic of Publish/Subscribe system
             Low lovel messages at transport and delivery layer. We need not use JMS but we need certain performance
             requirements; XML and "raw" messages; publish/subscribe mechanism.
             A name for a Sharedlet or User that uniquely distinguishes them from another Sharedlet or User.
             Can be hierarchical to allow users to have multiple nicknames and for sharedlets multiple functions.
             Nicknames must be powerful enough users to have multiple machines in the same session and allow system
             to switch sharedlets between clients as say clients crash; users wander off with PDA and leave PC etc.
             A producer of Events
             A methodology for defining or refining Destinations
             A consumer of Events
             Label of Publish/Subscribe Queue

 Garnet Entities *********************************************************************************************************************
all Entities whether Events Applications Users Documents Computers

chy is RootContext --> MegaMeetingContext --> MeetingContext -->VirtualEnvironment --> Collection --> Entities
replaces Entity by Stream --> Major Event --> Minor Event
ortant Collection is the VirtualEnvironment which is a (Device,User) pairing

 (Documents, Sharedlets, Users, Computers) can be associated with any layer of hierarchy --
ous in UNIX to a hierarchy of directories and at each level one can define directories (Collections) or files (Entities)
n itself have a hierarchy defined internally e.g. a MeetingContext can internally be built out of multiple MeetingContexts
               is Root specification of all Garnet Objects
                is a Course or a Conference or a Planning process -- any correlated set of MeetingContexts separated in time
               Obviously there is often a natural hierarchy within MegaMeetingContext with for instance courses forming degrees forming dep
               As discussed above, we allow each level to have such an internal hierarchy defined with resultant naming:
               //Whathaveyou/MegaMeetingContext1/MegaMeetingContext2/Sessionseries/ActualSession/SetofStreams/ActualStream/Major
               or Session is a synchronous occurrence with a beginning and usually an end -- typically a lecture or briefing or discussion
               Use Sharedlet = Admin to contain events outside a particular Session
               Container for objects associated with a Client -- Deviced User pairing
               is a Collection of Streams or other Collections or any defined entity in System. Includes a Sharedlet
               is a time sequenced set of events produced by a particular application (Sharedlet) or generic function (such as admin)
               Use Sharedlet = Admin for administrative messages outside a particular application
               Sharedlet and Application are synonymous
               Of course if you have two instances of a given Sharedlet type (e.g two chat rooms), these generate separate streams of event
               is an event in a Stream which you can restart stream at (For a shared browser, this is a change of URL)
               are subservient to MajorEvents and are replayed after MajorEvent (Typical example is mouse movement or scrolling in Share
               Any useful artifact for the Garnet System and defined by XML in GXOS




cture ************************************************************************

 geMode = GetSet, then this message either sets or gets properties I.e. this is CORBA like Object Method Interface
Properties defined in XML can be set or gotten.
bute GETSET with enumerated values set (default) and get defines action on object. The value returned implies a value being returned to a
of objects listed below can have GETSET attribute which is ignored except when GMSMessageMode = GetSet being processed


can be defined as single entities or as arrays (by just repeating XML)
o me if we need to formalize this by distinguishing say TreeObject and TreeObjects




               Specify from users point of view destination queue for message; implicity uses internally a TopicObject DTD
               But DestinationObject inherits from TreeObject
               A Topic as used by Publish/Subscribe System (if JMS this is Java Topic Class)
               Specify time
               Define history of processing of message

               Specify hierarchy of Collection(session), stream, events or basic hierarchial unit
               See original Object API GXOS: General (or if FSU Garnet) XML Object Specification
               Specify Name and Location of TreeObject within GXOS System
               Specify location of Information in Outside world
               Specify how to get a particular object
               Define uniquely Messages and associated Sharedlets Users Devices

               Extends TreeObject to specify Server or Client side device or computer resource
               Extends TreeObject to specify Users
               Extends TreeObject for events in Stream -- equivalent to GMSExtension DTD
               Specify nature of acknowledgement needed or produced
               Specify Security of any object
Extends TreeObject to event updating other GXOS Objects
Extends TreeObject to specify Sharedlets with XML metadata

XML Specification of WebExport Sharedlet
XML Specification of GXOSShell Sharedlet which enables Object Creation, loading etc.
nt branches of GXOS Tree




ribe system
ming degrees forming departments etc.

eams/ActualStream/MajorEvent/MinorEvent
briefing or discussion



n (such as admin)


separate streams of events

ement or scrolling in Shared Browser)




a value being returned to a set command
ing processed
General XML Object Specification aka Garnet XML Object Specification or TreeObject DTD

Uses ProgramObject TimeObject DeviceObject EventObject UserObject CollectionObject StreamObject either defined or to be defined externally to this page
Uses CustomParameter InternalND ExternalND ObjectRealization DTD's defined herein at end
Uses HistoryObject Extensions CustomExtension NodeProfile NodeContents ExportDetails Resolution LocalObject RealizationStrategy Resolution XML defined inside DTD

ParentObject                  XML          ?                        Parent Object in InternalND DTD of which current object is a child
                           InternalND                               Originally we allowed Multiple ParentObjects to support Multiple TreeContexts
                                                                    which in UNIX language are different Symbolic links. This has been replaced by NodeProfile mechanism
NodeName                                   1                        Name of this node within current hierarchy
                                                                    If NodeRooting is Root, the NodeName must be unique so that all trees are uniquely identified
NodeType                     ENUM          1                        ParentMetaData || ParentFragment || Document || Topic || Sharedlet || Device || User|| Event || Stream || VirtualEnvironment
                                                                    || Collection || MeetingContext || MegaMeetingContext || RootContext ||Other
                                                                    NodeType equals Event is same as NodeType equals GMS
                                                                    NodeNames ParentMetaData and ParentFragment are containers for more information about parent node
CustomType               Custom ENUM       ?                        Optional detailed type with a meaning specific to NodeType e.g. for NodeType equals Event CustomType is MessageType
                                                                    If NodeType is Collection then CustomType is either Mixed or NodeType of Contained Objects
NodeRooting                  ENUM          1                        Leaf || InternalNode || Root
NodeVersionNumber                          ?                        Version of Schema Used
NodeComment                                *                        Any number of free form comments
NodeUpdateTime                XML          ?                        Time at which Node last Updated
                           TimeObject                               Defaults to NodeStartTime

NodeChildren                  XML          ?                        Optional record of Child Objects (implied by GXOS Child Objects having NodeParent pointing to this object
NodeChildren                  XML          +                        Handle to Child
                           InternalND

HistoryObject                  XML         ?                        Specify processing history with multiple ProcessingTimes and ProcessingDevices and ProcessingStatus
                          HistoryObject                             ProcessingContext defines part of Garnet that performed processing
ProcessingStage                XML         +      HistoryObject     This uses ComputerObject DTD and is SourceObject for firststep
ProcessingNumber            Attribute            ProcessingStage    Label (incremented by 1 starting at zero) of ProcessingStage to allow reference by AcknowledgeObject
ProcessingStatus              ENUM         +     ProcessingStage    Status or action on event at this stage. Choose From Success || Failure || Replay || Originate || Acknowledge
ProcessingComment                          ?     ProcessingStage    Any Comment on why processing Needed
ProcessingTime                XML          ?     ProcessingStage    Put into ProcessingTime TimeObject DTD time of processing including Time, CurrentClock, ReferenceAction
                        TimeObject DTD                              If ProcessingStatus is Originate, then use Node/NodeStartTime
ProcessingDevice              XML          ?     ProcessingStage    Device where Processing occurred
                           InternalND                               If ProcessingStatus is Originate, then use SourceDevice
ProcessingContext             XML          ?     ProcessingStage    Context where Processing Occured
                           InternalND                               If ProcessingStatus is Originate, then use GMSStream
OriginalGMSID           GMSMessageID       ?     ProcessingStage    If needed ID of Update Message spawning this processing
                                                                    If Absent then an Internal Update not in response to Request

NodeStartTime                 XML          ?                        Start Time of this node in TimeObject DTD. Note that NodeStartTime and NodeEndTime can both
                           TimeObject                               a) Be inherited from parents and b) depend on inheritence tree (I.e. TreeContext)
                                                                    So one could define NodeStartTime for a particular (Leaf) node and then
                                                                    NodeEndTime would depend on TreeContext with which this is used
NodeEndTime                   XML          ?                        End Time of this Node in TimeObject DTD
                           TimeObject

Extensions                     XML         ?                        Container for GXOS or CustomExtensions
                           Extensions
CustomExtension           its own XML      *
ExtensionType                 ENUM         1    CustomExtension     IMS || ADL || Gateway

ParameterExtension            XML          *       Extensions     Hold Parameters for undefined use
                        CustomParameter                           Extends CustomParameter with parameteruse Attribute
parameteruse                 ENUM              ParameterExtension Reason for these parameters.
UpdateExtension                 XML                    Extensions
                            UpdateObject
GMSExtension                    XML           ?        Extensions      Same as EventObject
                            EventObject
DeviceExtension                 XML           ?        Extensions
                            DeviceObject
UserExtension                   XML           ?        Extensions
                             UserObject
ProgramExtension                XML           ?        Extensions      Includes WebExportShell and GXOSShell
                           ProgramObject
WebExportExtension              XML           ?        Extensions      Records MetaData for Web Export
                           WebExportMD

NodeProfile                   XML             1                        Customize this node using strategy specified by content type and TreeContext and by data added by system
                           NodeProfile                                 Profile includes elements TreeContext and CustomProfile
TreeContext                   XML             1        NodeProfile     This defines nature of tree within which this node is located -- currently TreeContext is defined as a set of keyword tags
                         CustomParameter                               <TreeContext><parametervalue name="yahoo" >Comment on this tag</parametervalue>
                                                                       <parametervalue name="lecture" ></parametervalue></TreeContext>
                                                                       One must set TreeContext for a node with NodeRooting is Root and then default TreeContext of any node is that of its parent
                                                                       TreeContext is used by NodeProfile to help define default customization for this node
                                                                       e.g. System would store here customization of a userobject specific to this node such as login name
CustomProfile                 XML             ?        NodeProfile     Specify the custom application and TreeContext specific parameters used by NodeProfile
                         CustomParameter
NodeContents                  XML             ?                        A Node used solely as a container need not have any contents although a NodeContent of Type = Summary and a NodeIcon are recommended
                          NodeContents                                 Elements in Contents are NodeContent and NodeIcon
                                                                       One uses multiple NodeContent elements to specify diferent versions to be selected by NodeProfile
                                                                       Note NodeProfile can change dynamically so having multiple versions is useful
                                                                       Also one gets multiple NodeContents in cases where Templates and BuiltDocuments
                                                                       WebExport takes Template NodeContent and generate a new BuiltDocument NodeContent
                                                                       They are related by Internal Name and RelatedName
NodeContent                     XML           *      NodeContents      Specify content in ObjectRealization DTD
                          ObjectRealization


NodeIcon                        XML           ?      NodeContents      Specify object thumbnail display icon in ObjectRealization DTD
                          ObjectRealization

CustomParameter DTD Used to Specify Parameters of a custom capability
ParameterValue                                 CustomParameter Value of Parameter whose Name is given in Attribute Name
Name                   XML Attribute           CustomParameter Name of Parameter

InternalND DTD Specify Internal location of a GXOS Object
InternalAddress                                 1       InternalND     Absolute Garnet Address //RootName/Collection1/Collection2/ …. /CollectionN/node
                                                                       As RootNames unique, this is unique
InternalHandle                                ?        InternalND      Only used in Java implementation for actual program handle to Object
HelpDirectory                   XML           *        InternalND      Optional Specification of one or more external locations where we might be able to find
                             ExternalND                                information to understand more about GXOS Specification of This TreeObject and its related quantities

ExternalND DTD Specify External location of Information
ExternalType                  ENUM             1         ExternalND    File || Directory
ExternalURL                                     *        ExternalND    URL
ExternalFile                                    *        ExternalND    File Name on ExternalComputer
ExternalComputer                                        DeviceObject   Computer where Information can be found. Defaults to current ClientDevice
                                                                       or ServerDervice if information parsed on Server
ObjectRealization DTD
InternalName                                ?   ObjectRealization     Internal Name used for instance by WebExport and NodeProfile
RelatedInternalName                         ?   ObjectRealization     Related NodeContent's InternalName

RealizationStrategy           XML               ObjectRealization     Placeholder for elements RealizationType Resolution RenderingOptimization ExportDetails

RealizationType              ENUM           *   RealizationStrategy   Specify reason for this Realization Normal || Rendering || Resolution || Mirror
Resolution                    XML           ?   RealizationStrategy   Optional element in RealizationStrategy with attributes X Y Z COLOR
                           Resolution
RenderingOptimization        ENUM           *   RealizationStrategy   Optional element in RealizationStrategy with attributes Monitor || CAVE || CellPhone || PDA || AudioOnly || NoAudio

RelatedObjects                XML               ObjectRealization     Container for Related Objects
RelationReason               ENUM                RelatedObjects       ExportSource || Event
RelationComment                                  RelatedObjects       Freeform comment
RelatedObject                 XML                RelatedObjects
                        ObjectRealization

ContentType                  ENUM           *   ObjectRealization     WebExport || Summary || Template || BuiltDocument || BasicDocument || Fragment || Sharedlet
                                                                      || PowerPoint || Word || Multimedia || WebML (HTML XML etc.)
                                                                      BasicDocuments may in fact of lots of internal structure but it is not exposed to Garnet System
                                                                      BuiltDocuments have have been constructed from Fragments or BasicDocuments typically specified with a Template
                                                                      in a different GXOS Entity. The construction would be with a WebBuild Sharedlet
                                                                      and is recorded in HistoryObject of this Object
                                                                      BasicDocuments and Fragments are treated similarily by GXOS.
                                                                      BuiltDocuments or BasicDocuments aim at specifying document objects at level of natural user size
                                                                      This would be "page" for distance education and perhaps book for information systems
                                                                      I.e. it goes down to IMS or SCORM size but not to detail of W3C Document Object Model
                                                                      Internally to this size, one may wish to further specify document either for the purpose of customizing collaboration or
                                                                      to be able to specify/change specific document Fragments
GXOSObjectType              ENUM            1   ObjectRealization     local || link || external
LocalGXOSObject              XML            ?   ObjectRealization     Must be Present if GXOSObjectType = local to specify nature of local content
                          LocalObject                                 Has required elements LocalMimeType LocalEncoding and LocalBody
LocalMimeType               ENUM            1   LocalGXOSObject       See Content-Type in Mime Encoding
                                                                      Also can use XSIL (Caltech Scientific Data Format) XML or JMS Body types
LocalEncoding                ENUM           1   LocalGXOSObject       See Content-Transfer-Encoding in Mime Encoding
LocalBody                                   1   LocalGXOSObject       Byte Streams of local realization
LinkGXOSObject             InternalND       ?   ObjectRealization     If GXOSObjectType = link this specifies Garnet Address of another node whose content is inherited by this Node
                                                                      ../anotherchild/leafnode or //Someroot/getthisnode are Garnet addresses
                                                                      This gives you the full NodeContents of referenced node
                                                                      This mechanism replaces original symbolic links as is used as this way can customize overwriting parts
                                                                      of linked content while preserving access to changing content of linked Node
ExternalGXOSObject            XML           ?   ObjectRealization     Specify how to look up this object in JNDI CORBA Webpage etc.
                           ExternalND                                 LinkGXOSObject and ExternalGXOSObject could be BuiltDocument's; LocalGXOSObject canNOT

LocalObject DTD                                                       Byte Stream
MIME

LocalXSIL                     XML                                     Caltech XSIL Standard
                             XSIL
LocalGXOS                     XML                                     GXOS Itself
                             GXOS
Allowed strings in MessageType

gxosupdate             Define or edit or get or basic properties of any GXOS Object
gxosresponse           Response to gxosupdate message
sharedlet              Any application including those that are outside any particular MeetingContext
                       Use Sharedlet Admin for administrative messages
acknowledgement        Acknowledgement

foreign                Event type managed by specified helper application
clock                  Synchronize clocks
network                Performance, routing messages
Generic Message Properties relevant for all MessageTypes: GMS or EventObject DTD
These are GMG extensions for the TreeObject defining Event (Message) in GXOS
I.e. for a GXOS Object with NodeType is Event
Uses MessageID ProcessingStage AcknowledgeObject XML defined inside DTD
Uses InternalND TimeClock DestinationObject defined outside this DTD

First we have special uses of GXOS Standard Properties for Stream Events
Node/CustomType                 ENUM           1                           Enumerated List of Message Types -- See Separate MessageType Sheet
Node/NodeStartTime               XML                                       Time of Event including ReferenceAction that caused Event
                            TimeClock DTD                                  Defines Clock Domain used to Specify Time
Node/NodeName                                  1                           Sequence Number of Event in this Stream (Node/ParentObject) preceded by optional String to categorize Event
                                                                           This guarantees all Events have a unique Node Name

These Properties are under the GMSExtension extension of GXOS

GMSMessageMode                 ENUM            ?                           Default is Implicit or that GMSMessageMode implied by other Message properties;
                                                                           Update implies that Message is Getting or Setting properties of objects and Event has an UpdateExtension
                                                                           Has additional allowed values for particular MessageType's

Destination                    XML             ?                           Specify list of destination objects using DestinationObject DTD
                         DestinationObject                                 Allows multiple destinations and implies DestinationQueue, DestinationTopic, DestinationSubTopic
                                                                           Used in cruder JMS Header specification of Destination

SourceDevice                   XML             ?                           Client or Server Computer that produced message with InternalND pointer to it as a DeviceObject
                            InternalND         ?                           Generates SourceName SourceDomain used in JMS
                                                                           This is not really necessary as implied by GMSStream and Information available from GXOS

Priority                                       ?                           0 (lowest) to 100 Highest)
PriorityScope                   XML            ?                           Collection (of messages) wrt to which Priority refers
                          InternalND DTD                                   If message defines a MeetingContext, default value is GarnetRoot; if message is internal to a stream, default value is StreamName
                                                                           If message inside a MeetingContext but outside a stream, then PriorityScope is defaulted to MeetingContextName
                                                                           PriorityScope can reference any root or node of any tree containing this message -- see TreeObject DTD
                                                                           Idea is that subsystem setting Priority only has "visibility" a certain way up the tree from where it sits
                                                                           In particular, it may only know about the Sharedlet(Stream) or a little broader the MeetingContext from which message comes from
                                                                           The assumption is that "system" can apply a relative priority between different PriorityScope's

EventUserName                                  ?                           The unique user NickName associated with this Event
                                                                           This is not really necessary as implied by GMSStream and Information available from GXOS
EventUserObject                XML             ?                           Specifies in UserObject DTD the user at Source
                            InternalND                                     This is not really necessary as implied by GMSStream and Information available from GXOS

GMSMessageID                  XML              1                           Unique ID of message including sequencing Information. This is discussed by Shrideep. For Garnet
                          MessageID DTD                                    Message is uniquely specified by GXOS Handle in InternalND DTD of Stream and Sequence Number within Stream
GMSSequenceNumber                              1        MessageID          Sequence Number of Event in this Stream (Node/ParentObject)
GMSStream                   InternalND         1        MessageID          Stream to which event belongs in full InternalND Syntax //GarnetRoot/B/C/ ../Streamitself
                                                                           This is ESSENTIAL information as uniquely determines VirtualEnvironment Sharedlet (collaborating application)
                                                                           and SourceDevice and EventUserObject
IDtostring                                     ?        MessageID          String produced for JMSMessageID

AcknowledgeObject             XML              ?                      Request sending of Acknowledge message to source on either receipt or completion of processing
                        AcknowledgeObject                             or Reply to such a Request
AcknowledgeStatus                                   AcknowledgeObject Request || Reply
AcknowledgeRequest                             *    AcknowledgeObject AcknowledgeRequest is no || onreceipt || oncomplete
                                                                      Default for AcknowledgeRequest is no
AcknowledgeReply   ProcessingID   ?   AcknowledgeObject AcknowledgeReply links to HistoryObject by referencing value of ProcessingID
Message Properties relevant for all MessageTypes and placed in Header of JMS
These are derived from the TreeObject defining this Event (Message) in GXOS
Node/NodeType is Event

Column B specifies this using following syntax
Node/.. Corresponds to properties derived from base GXOS TreeObject
GMS/.. Corresponds to properties derived from GMS Extension

JMSMessageType              Node/CustomType               1   Enumerated List of Message Types -- See Separate Sheet
JMSGMSMessageMode           GMS/GMSMessageMode            ?   Default is Implicit or that JMSGMSMessageMode impiled by other Message properties;
                                                              GetSet implies that Message is Getting or Setting properties of objects
                                                              Has additional allowed values for particular JMSMessageType's
JMSMessageBodyType                                        1   Type of JMS Body Stream || Map || Text || Object || Bytes || XML

JMSDestinationQueue         GMS/Destination               ?   Topic (default) or VirtualEnvironments or Devices or Users or SourceDevice or SourceUser is type of destination targeted
                                                              VirtualEnvironment is equivalent to pairing of Device and User
JMSDestinationTopic         GMS/Destination               ?   Specify Destination (which is a JMS queue with some JMS or non JMS selector) if not otherwise known.
                                                              Default Calculation is:
                                                              Filter if calculation below is undefined -- this is used for cases where server side filter needed
                                                              and includes special case where one needs to take a list of destinations and multicast
                                                              FilterXXXX such as FilterList to allow more than one Serverside queue
                                                              Filter and FilterXXXX are placed on Server side queues which are processed by (server-side) agent that
                                                              will generate JMS compatible destination topics from Destination
                                                              JMSContextName/JMSStreamName if JMSDestinationQueue is Topic
                                                              Note that either JMSJMSContextName and/or JMSStreamName can be Admin to specify message aimed at "System"
                                                              SourceDomain/SourceName if JMSDestinationQueue is JMSSourceDevice
                                                              JMSContextName/UserName if JMSDestinationQueue is SourceUser
JMSDestinationSubTopic      GMS/Destination               ?   Optional field to specialize Topic. JMSDestinationTopic is Topic JMS sees
                                                              JMSDestinationSubTopic can be used by JMS Message Selector to refine subscription



JMSSourceTime               Node/NodeStartTime            1   Time on source of event in number of milliseconds since January 1, 1970, 00:00:00, Universal Coordinated Time (GMT)
JMSSourceTimeClock          Node/NodeStartTime            ?   Device whose Clock was used in SourceTime
                                                              Typically this is either Clock of Source (the default and represented by sourceclock) or the System Clock (systemclock) Domain defined for this JMSContext

JMSSourceName               GMS/SourceDevice              1   Name of Client or Server Computer that produced message
JMSSourceDomain             GMS/SourceDevice              ?   global (default) || system || Other domain wrt to which JMSSourceName defined
                                                              This is TreeContext of the SourceDevice viewed as a GXOS Object

JMSPriority                 GMS/Priority                  ?   0 (lowest) to 100 Highest)
JMSPriorityScope            GMS/PriorityScope             ?   Collection (of messages) wrt to which JMSPriority refers
                                                              If message defines a JMSContext, default value is globalroot; if message is internal to a stream, default value is JMSStreamName
                                                              If message inside a JMSContext but outside a stream, then JMSPriorityScope is defaulted to JMSContext
                                                              JMSPriorityScope can reference any context associated with this session -- see TreeObject DTD
                                                              Idea is that subsystem setting Priority only has "visibility" a certain way up the tree from where it sits
                                                              In particular, it may only know about the Sharedlet(Stream) or a little broader the JMSContext from which message comes from
                                                              The assumption is that "system" can apply a relative priority between different JMSPriorityScope's

JMSContext                  Node/Nodeprofile              ?   Name of Primary Collection that this stream is in.
                            /TreeContext                      The default is Admin

JMSUserName                 GMS/EventUsername             ?   The unique user NickName associated with this Stream
                                                              This is not really necessary as implied by Stream and Information available from GXOS
JMSStreamType               Node/ParentObject/            1   Type of message stream that generated it e.g ChatRoomText
                            CustomType
JMSStreamName               Node/ParentObject/            1   Unique Name of Stream that generated message e.g. ChatRoom1
                    NodeName
JMSSharedletName    Node/ParentObject/         ?   Defaults to JMSStreamName but could be name higher up tree if Sharedlet has multiple streams
                    .. ParentObject/NodeName
JMSSequencenumber   GMS/GMSMessageID/          ?   Sequence number of message generated by JMSStreamName -- good practice puts this in even if implied by JMSMessageID
                    Sequencenumber
                    Node/NodeName                  Node/NodeName is defaulted to JMSSequencenumber for Events
JMSMessageID        GMS/GMSMessageID/          1   Unique ID of message including sequencing Information as a string
                    IDtostring

JMSVersion          Node/NodeVersion           1   Version of Message API being used
This defines how this message system should be mapped into JMS
http://java.sun.com/products/jms/javadoc-102a/index.html

JMSDestination            Calculate from DestinationQueue DestinationTopic DestinationSubTopic and defaults
JMSExpiration             Not Used -- set to 0
JMSPriority               Calculate from Priority and PriorityScope
JMSDeliveryMode           PERSISTENT (default)

We need to do some experiments on how to set up Topics
Then we create publishers for Topics we will use
Garnetpublisher extends Topicpublisher;
Garnetpublisher publishertouse;
Then we do publishertouse = Garnetpublisher.locate(message);
where locate uses relevant fields of message to identify publisher to use
publishertouse.publish(message) then sets other JMS fields as required and publishes message

One can perhaps use JMS method createTopic but this seems looked down on.
Need to study iBus etc.

DestinationQueue DestinationTopic DestinationSubTopic
These are defined by DestinationObject DTD
Philosophy is that
a) Destinations are first processed client side by using Ourpublisher Interface which invokes JMS or what ever other system one chooses to use
b) Some destinations must be processed server side either for reasons of efficiency or because client does not have needed information
   Efficiency issues could be to allow custom multicast technology for either fast or reliable delivery
   As an example of Information needed, consider "time" as maybe client does not know System Clock and this can only be set Server side
   On general principles, we should design system so that client can make minimal needed decisions. This should lead to greatest reliability
c) One has two types of destinations: "GarnetTopics" and "Users/Computers"
   GarnetTopics can either be particular Sharedlets or particular discussion groups or particular system systems (e.g. email)
   Sometimes you know that you want to send a message (e.g. a private mail) to a particular client -- Then "Users/Computers" is correct destination
   These destinations can either be decided Client Side or Server Side
d) Note both GarnetTopics and Computers use TreeObject DTD and this is particularlyrelevant for GarnetTopics as this allows one
   to define topics in natural hierarchial fashion.
e) Topics and Topic DTD define topics in JMS syntax. The Client (Garnetpublisher, Garnetsunscriber) and Server side agents map
   GarnetTopics and Users/Computers based destinations into JMS system
f) One could (in principle) do everything with "pure" publish/subscribe" or combine this with "point to point messages"
   especially with Users/Computers based topics.
g) The server or Client based processing can take a GarnetTopic and convert it either into a traditional topic (labelled say by Sharedlet name)
   or to a Users/Computers destination
h) The distinction between DestinationTopic and DestinationSubTopic is not quite clear. We need to study JMS implementations better
   Roughly DestinationTopic is "largest" unit for JMS (I.e. distinct DestinationTopic's would never be combined as a JMS queue) with
   DestinationSubTopic either being used as a "selector" or to define multiple JMS Topics or both.
TimeObject DTD

Time                           1
TimeSyntax          ENUM       ?


CurrentClock         XML       ?
                  InternalND

ReferenceAction                ?


OriginalClock        XML       ?
                  InternalND
Time of an event: typically in number of milliseconds since January 1, 1970, 00:00:00, Universal Coordinated Time (GMT).
Default TimeSyntax is above is GMTMillisecs
Other forms e.g. Mon, 18 Dec 1995 17:28:35 GMT are represented by TimeSyntax as GMTString
PSTSTRING EDTString etc. are other forms
Clock Domain used in Time -- this is explained in separate memo
Typically this is either Clock of Source device or the System Clock Domain defined for current MeetingContext
One just uses the GXOS Internal Name for Device whose clock used
begin || end
Defines action that Time refers to -- begin is default if property not defined
This is used by SMIL collections
Original Clock if time converted to a particular standard
One just uses the GXOS Internal Name for Device whose clock originally recorded time
rdinated Time (GMT).
DestinationObject DTD

Destination                XML       +
DestinationType           ENUM       1      Destination

DestinationGroup           XML       ?      Destination
                        InternalND



DestinationforJMS         XML        ?
DestinationQueue                     ?   DestinationforJMS
DestinationTopic                     ?   DestinationforJMS
DestinationSubTopic                  ?   DestinationforJMS
One or more Destinations
System || Update || Filter || Topic || Device || User || SourceUser || SourceDevice
System or Update is processed server side
Internal Handle for either TreeObject or Collection
If Collection it must be "pure" and correspond to DestinationType
If TreeObject NodeType must agree with Destinationtype
If DestinationType is Filter DestinationGroup should of TreeObject(s) of NodeType Topic
If DestinationType is Update or System, then DestinationGroup is not needed as processed server side and redistributed
Container for Strings needed by JMS Header
String JMSDestinationQueue
String JMSDestinationTopic
String JMSDestinationSubTopic
sed server side and redistributed
This Includes many different GXOS Objects
Collection
VirtualEnvironment
Sharedlet
Stream


Collection GXOS Object
Currently this has no special properties
It includes MeetingContext RootContext MegaMeetingContext

NodeName                 No Constraints -- typically determined by system that generates collection. This implies that
                         Collections in different VirtualEnvironments with same function get same NodeName (in of course different parts of object hierarchy)
NodeType                 Collection

CustomType               either Mixed or NodeType of Contained Objects

VirtualEnvironment GXOS Object
Currently this has no special properties
One must link a Device and User Object to this Collection
                         Unique for each VirtualEnvironment -- Typically UserName_DeviceName
NodeName

NodeType                 VirtualEnvironment

CustomType               Type of VirtualEnvironment e.g. PC Palm AudioOnly


Sharedlet GXOS Object

Currently this has no special properties
One defines a single original version of each Sharelet in Capabilities part of GXOS
These are linked as Sharelet instances on each VirtualEnvironment using this application

NodeName                 Unique for each Sharedlet in VirtualEnvironment -- same on each Collaborating Device

NodeType                 Sharedlet

CustomType               Type of Sharedlet e.g. BasicChatRoom


Stream GXOS Object
Currently this has no special properties
This Only Contains a SINGLE stream of time stamped events

NodeName                Unique for each Stream in Sharedlet-- same on each Collaborating Device

NodeType                Stream

CustomType              Type of Eventst e.g. ChatRoomText
Updating Creating and Enquiry for GXOS Objects

GXOS Objects fall into two classes --
1) Those that are possibly modified by more than one subsystem (client or server)
2) Those that can ONLY be created and perhaps edited by a single subsystem
3) There is an intermediate case where subsystems can freely created "child" objects but would not edit the directory holding ch



                   Overall Structure of GXOS                                                   Structure of GXOS F

                                                                                                       Links                    M
                                                               Event
    Capabilities
                                 Global Root                  Archive
                                                                                               Users       Devices

        Users        Devices       Documents         Admin         Multime dia                                             Shar

                                                                                                   Sharedlet1
                                                                                                                            Sha
                 MegaMeeting         Have a hierarchy of these

                                                                                             VEa         VEb         VEc
         Meeting              Meeting             Meeting
                                                                                               VE is Virtual
                                                                                               Environment                VEa


We have a set of basic repositories for Entities likes Users, Devices, Documents
Capabilities (like Sharedlets) which are basic building blocks.                                         Structure of GX
Then we have the created Entities (in same object model)
Events (including Multimedia separated due to its size) and "Admin"
                                                                                              Users      Devices      Docume
The Entities in yellow (building blocks) are linked to Sessions with particular
profiles to customize them.
                                                                                           Links               Profiles

We see in the three pictures, all the entities down to the red Sharedlet1,2,3
are "global". There is a single instance for all subsystems.
Then we get the "Virtual Environment" layer -- this is a container for the                                Admin
stuff associated with a given Device/User Combination                                                                     Strea
Everything below this is only created or edited by the subsystem
controlling this virtual environment. Note that User, Device and Document
Objects are linked UNCHANGED to each relevant VE. Here the Profile                                                Events1a: 1,2
contains the customization for these basic entities for this VE.
                                                                                                    VE is Virtual
Editing Sharedlet and above requires locking
Creating new VE's requires locking and rejection of duplicate requests                              Environment
to ensure duplicate children are not defined                                                  Combination of User/Device
Editing or creating Objects from the VE below does not requires any locks.                      Labeled by a b c … z
                                                                                           VE is Virtual
                                                                                           Environment
                                                                                     Combination of User/Device
                                                                                       Labeled by a b c … z
Note that Event Streams are unique to producer of events and there are no possible
confusions among events from different producers.
would not edit the directory holding children



      Structure of GXOS For a Collaborative Session

             Links                    Meeting


     Users       Devices                                                 Admin
                                                    Links
                                 Sharedlets                    Capabilities

          Sharedlet1                                          Sharedlet3
                                   Sharedlet2


   VEa         VEb         VEc                        VEa          VEb          VEc

     VE is Virtual
     Environment                VEa         VEb        VEc



              Structure of GXOS For a Sharedlet
    Users      Devices       Documents                Sharedlet1
  Links              Profiles

                                                VEa          VEb          VEc

                Admin
                                Stream1a           Stream1b          Stream1c

                        Events1a: 1,2…                             Events1c: 1,2…
          VE is Virtual                         Events1b: 1,2…
          Environment
    Combination of User/Device
      Labeled by a b c … z
      VE is Virtual          Events1b: 1,2…
      Environment
Combination of User/Device
  Labeled by a b c … z
GXOS Events Updating or Creating or Asking about GXOS Objects
These are typically processed by Server Side System but this is not required
Note everything is an object including an Event
These are Events describing objects -- the object is defined in UpdateExtension/EditObject
The base GXOS properies define Update Event as does GMSExtension

Node/CustomType                   ENUM

JMSDestinationQueue

GMSExtension/Destination          ENUM
 /DestinationType

GMSExtension                      ENUM
 /GMSMessageMode

HistoryObject


These Properties are under the UpdateExtension extension of GXOS whether Request or Reply
UpdateMode                      ENUM




EditComment
EditObject                        XML
                                  GXOS

These Properties are under the UpdateExtension extension of GXOS if Request
Locking                         ENUM


Timelimit

These Properties are under the UpdateExtension extension of GXOS if Reply
RequestingGMSID                  XML
                              MessageID
 about GXOS Objects
System but this is not required
                                                                      Structure of Update Event
 ject is defined in UpdateExtension/EditObject
                                                                        NodeParent NodeName etc. in Update Event Tree
  t as does GMSExtension
                                                                                       Event as an Object
              gxosupdate or gxosresponse

              Update. Other Destination properties                       GMSExtension Event as an event
              would be ignored -- when sent to server
              Update
              Use name of Client VirtualEnvironment
                                                                        UpdateExtension       Event as an Update
              when replying to an update message
              Update
                                                                                                EditObject
                                                                                               Object to be Updated
              Records on Object history of Updates


nsion extension of GXOS whether Request or Reply
            Edit || Create || Enquiry || Copy || ReturnProperties || ReturnObject || Timelimit || Error
            Edit implies Editing existing Object; Properties to Edit have attribute getset = set
            Create implies Create this GXOS Object
            Enquiry says Return values of selected properties with getset = get;
            Copy implies return full current copy of this GXOS Object
            ReturnProperties Values are returned for properties with attribute getset = returned
            ReturnObject Values are returned for complete object
            Timelimit implies request not granted as Timelimit exceeded (perhaps due to object being locked by other update requests)
            Error implies some other error
            Can be used to explain Error
            Object either to be edited or with returned properties -- attribute getset as appropriate


nsion extension of GXOS if Request
            Wait || Reject || None
            Set Lock mode. Default is None
            Wait waits for lock to free; Reject in Event creating lock causes duplicate requests to be rejected
            Time in milliseconds for lock to hold

nsion extension of GXOS if Reply
            Original GMSMessageID of requesting Event
Event
date Event Tree
t


nt



    Update

t
be Updated




ocked by other update requests)
ProgramObject WebExport and GXOSShell Specification
ProgramObject is a TreeObject which is a container for executable Programs

                        GXOS Capabilities
      All of these are GXOS          Global Root        ObjectWizard
      Objects

                                                    Default
                                                    Object 1
                                                               …….
                                 Capabilities


       Any Sharedle t           GXOSShell               WebExport




      Default   …….     GXOSShell     …….           Default    …….
      Setup 1            S cript 1                  Setup 1




All Sharedlets are represented as GXOS Objects with child Objects specifying particular default data choices etc.
There are three particular ProgramObjects described here
Object Wizard: Allows one to create or edit GXOS Objects illustrated below as a being invoked by GXOSShell
GXOSShell: XML Syntax for Shell like operation on GXOS System
WebExport: Export PowerPoint to the Web -- Builds SMIL and other Composite Web pages -- this is defined on a separate s

The ProgramObject Extension has the following generic structure
ContentType in                XML
NodeContent            ObjectRealization


StandardInput in                          XML
ProgramExtension                       InternalND
StandardOutput in                         XML
ProgramExtension                       InternalND
StandardError in                          XML
ProgramExtension                       InternalND

Typical GXOSShell could be
<run command="load" root="//GlobalRoot/Capabilities/ObjectWizard/FSUDefaults" externalinput="http://www.csit.fsu
<run command="execute" internalinput="//GlobalRoot/Capabilities/ObjectWizard/FSUDefaults/Default1" internalfile ="

GXOSShell                                XML
                                      GXOSShell
GXOSObject                            TreeObject    *          GXOSShell
shelloutput                                         ?

localname                                           ?          GXOSobject


run                                       XML       *          GXOSShell
                 GXOSrun
asynchronous                      GXOSrun
command            ENUM       1   GXOSrun



internalfile     InternalND       GXOSrun
externalfile     ExternalND       GXOSrun
localfile                         GXOSrun
internalinput    InternalND       GXOSrun
externalinput    ExternalND       GXOSrun
localinput                        GXOSrun
internaloutput   InternalND       GXOSrun
externaloutput   ExternalND       GXOSrun
xecutable Programs




d Objects specifying particular default data choices etc.

s illustrated below as a being invoked by GXOSShell

L and other Composite Web pages -- this is defined on a separate sheet


             Must be Sharedlet. This defines NodeContent to be executable Software



             Input File

             Output File

             Error File



/ObjectWizard/FSUDefaults" externalinput="http://www.csit.fsu/edu/gxosshell/wizarddata.xml" comment=Load Wizard data files</
/Capabilities/ObjectWizard/FSUDefaults/Default1" internalfile ="//GlobalRoot/Capabilities/ObjectWizard" >Execute Wizard</run>



             Inline GXOS Object to copy or run


             Used to distinguish different GXOSObjects


             Value is a Comment
If present run asynchronously -- equivalent to UNIX &
load || execute || shellexecute
load means load GXOS Objects into Executing GXOS Environment
execute means execute file with internally defined syntax
shellexecute means execute GXOSShell file
Internal (GXOS) Object to execute
External File to execute
If present execute GXOSObject with localname given by localfile
Internal (GXOS) Object to input
External file to input
If present input from GXOSObject with localname given by localinput
Internal (GXOS) Object to output to
External file to output to
Load Wizard data files</run>
 xecute Wizard</run>
WebExport Sharedlet


                                        GXOS WebExport I
        Capabilities


       Object       Web              GXOS         ……
       Wizard      Export             Shell
                                                  Built Documents


                                         3        Simple Docs                  Complex Docs
                   3            2             4
                   4
                                                                           Record of Lecture1



                                               Generic                         1    2   ……      Templates
                 S pecific                    Template                                           and Built
                Template            Indices                                                     Documents
                                    Using Specific           I1       I2
                                    Templates
                                                                      …… a      b ..
                                    And Lecture1
     Fragments a       b   ..       WebExportM D         a        b   .. Fragments i.e.
                                    M etadata                                 Foils, M ultimedia, Buttons …




Note in this discussion, we have GXOS Objects and locations as well as
the "real" Web Objects and locations
Both GXOS and the Web are hierarchial but in general hierarchies are different
GXOS Objects refer to Web Versions using ExternalND




WebExport has 4 Phases
1: Take Raw Material and Process it by extrating media and metadata
   Media is Images for PowerPoint 97 in JPEG or GIF format and multiple resolutions
   Media is Audio/Video for transcript of lecture
   Metadata is generic to presentation or particular for each page/foil.
   It includes title author date length of clip etc.

2. Generate templates for each web page of export by appropriate processing of generic templates
   This can also generate composite presentations choosing different pages from different base presentations

The next two phases are present for simple documents built directly from templates and fragments
The fragments are foils, text fragments, multi-media clips, buttons etc.
Templates compose documents directly from HTML and embedded XML invoking fragments and symbolic substitutions for lin
3: Insert Fragments into Template (for each page)

4: Symbolic Substitutions into Current Page (Gotten in Phase 3 by insertingFragments into Templates)
   This is for links "Next" "Previous" etc.

Finally one writes page to real Web Site and records Web Location in ExternalND
The GXOS Object with Template is modified in its HistoryObject element and addition (editing) of BuiltDocument NodeCont

WebExportShell             XML                        GXOSShell
                       WebExportShell
Phase                     ENUM                      WebExportShell


Phase1Export                                ?       WebExportShell

Phase1Source                XML             1       Phase1Export
                      ObjectRealization
ExportPlace                 XML             1       Phase1Export
                      ObjectRealization

NamingStrategy              ENUM            1       Phase1Export

ExportType                  ENUM            1       Phase1Export

SourceType                  ENUM            1       Phase1Export

ExportParameters            XML             ?     Phase1Export
ExportParameter             XML             *   ExportParameters
                      CustomParameter
ProcessingRecord            XML             1       Phase1Export
                         InternalND




PlaylistExport               XML            ?       PlaylistExport

PlaylistSummary          InternalND                 PlaylistExport

PlaylistPage             InternalND         +       PlaylistExport

ProcessingRecord            XML             1       PlaylistExport
                         InternalND

Phase2Export                                ?       WebExportShell

Phase2Source                XML             1       Phase2Export
                         InternalND
ExportPlace                 XML             1       Phase2Export
                      ObjectRealization

Template                     XML                    Phase2Export
                         InterND
TemplateType              ENUM           1     Phase2Export

ExportParameters          XML            ?     Phase2Export
ExportParameter           XML            *   ExportParameters
                    CustomParameter
ProcessingRecord          XML                  Phase2Export
                       InternalND

Phase3Export                             ?    WebExportShell

Phase3Source              XML            1     Phase3Export
                       InternalND
ExportParameters          XML            ?     Phase3Export
ExportParameter           XML            *   ExportParameters
                    CustomParameter
ProcessingRecord          XML                  Phase3Export
                       InternalND

Phase4Export                             ?    WebExportShell

Phase4Source              XML            1     Phase4Export
                       InternalND
ExportParameters          XML            ?     Phase4Export
ExportParameter           XML            *   ExportParameters
                    CustomParameter
ProcessingRecord          XML                  Phase4Export
                       InternalND


WebExportMD MetaData extracted from Native (Word, PowerPoint etc.) or Specified by User. Used to build BuiltDocument
This is designed to Support export of Groups of Pages as one gets in PowerPoint

GroupLocation           InternalND       ?     WebExportMD
GroupType                 ENUM           ?     WebExportMD
GroupLabel                               ?     WebExportMD
GroupTitle                               ?     WebExportMD
GroupAuthor            MaybeObject       ?     WebExportMD
GroupDate              MaybeObject       ?     WebExportMD
GroupMeeting           MaybeObject             WebExportMD
GroupSummary           MaybeObject             WebExportMD
GroupClipLength                                WebExportMD
GroupAddons
GroupAddon          ObjectRealization          GroupAddons
GroupExtras               XML            ?     WebExportMD
GroupExtra                XML            *     GroupExtras
                    CustomParameter

PageLocation            InternalND       ?     WebExportMD
PageType                  ENUM           ?     WebExportMD
PageLabel                                      WebExportMD
PageTitle                                      WebExportMD
PageAuthor               MaybeObject                WebExportMD
PageDate                 MaybeObject                WebExportMD
PageMeeting              MaybeObject                WebExportMD
PageNumber                                          WebExportMD
PageClipLength                               ?      WebExportMD
PageAddons
PageAddon             ObjectRealization             PageAddons
PageExtras                  XML              ?      WebExportMD
PageExtra                   XML              *       PageExtras
                      CustomParameter

MaybeObject Schema extends TreeObject
Raw                                   ?              MaybeObject



Nature of Templates
These are of same style supported by wwwfoil.pl but use a pure XML Syntax
There are templates for individual pages. These are used for indices to groups and for "just isolated" pages
Making Indices requires some loop syntax to generate lists of pages etc.
There are templates which are replicated for all pages in a group
Phase 2 of WebExport converts all templates to "Single Page" form

Single Pages
InsertMD                                     *        Template
InsertFile                InternalND         *        Template
Type                        ENUM             ?        InsertFile
Name                                         ?        InsertFile
GXOSLink                  InternalND                  Template
Type                        ENUM             ?        GXOSLink
Name                                         ?        GXOSLink
PageLabel                                    ?        GXOSLink
GroupLabel                                   ?        GXOSLink
PageNumber                                   ?        GXOSLink

Multiple Pages
GXOSLoop                                      *        Template
                                                                                                                    Holds general Lecture1
                                                              GXOS WebExport II                                G
                                                                                                                    M etaData for Audio Video
                                                                                                                    Holds k’th foil A/V plus
                                                                                                               k
                                                                                                                    M etaData

                                                                                   Global Root                                  Multime dia

                                      GXOS Web Resources                                                        RA1: RealAudio for Lecture1
                                                                               Base Documents
     Complex Docs
                                                                                                                     1      2     3
                                                                                                                                      ……
                                          Buttons                              Powe rPoint Files              G
 cord of Lecture1
                                                                                                             Cut up Audio(Video) Files with
                                                                         Course1           Course2           Associated WebExportMD
                                                                                                             M etaData for Each Page
    1       2       ……   Templates    1       2    ..                                                        (GXOS Objects
                          and Built
                                                   Templates                                                 Just contain URL’s for Audio)
                         Documents                                                                           These could also be stored
                                                                        PPT1 …… PPTn                         Or linked to M eeting1/Presentations
…       a       b   ..
                                                   1      2    ..                                                    Prepared in
    Fragments i.e.                                                                                                 WebExport Step 1
                                                                        PowerPoint for Lecture1
    Foils, M ultimedia, Buttons …
                                                                                                                         GXOS WebExpo rt III
                                                  1 or more Web Document Roots
                                                                                                        M egaM eeting
                                                                                                          Course1

 ons as well as                            Buttons
                                                                          Templates
                                                                                            M eeting1                M eeting2
erarchies are different                                                                    (Lecture1)               (Lecture2)
                                            PowerPoint
                                                                    M ultiM edia

                                                        WebExport
                                                                                          Sharedlets                            SharedletN
                                             Real Web Site(s)                                                   …
                                                                                                              ……
                                          G General WebExportM D                          WebExport
                                            M etadata like date, author
                                                                                                                            WebExportShell
                                                                                                                     Pk     Info for Phase k
mat and multiple resolutions           Links                                       P1       P2              P4
                                                        RA1             PPT1                       P3
                                                                                                         Exported Images with perhaps several
                                                                                                         Resolutions. In GXOS these are just
                                          WebExport
                                                                                           ……            URL’s to real image files. Foil specific
                                          Phase 1   G               1    2     3      4                  WebExportM D M etadata like foil title …
propriate processing of generic templates
ng different pages from different base presentations

uilt directly from templates and fragments

embedded XML invoking fragments and symbolic substitutions for links
ase 3 by insertingFragments into Templates)


 Location in ExternalND
yObject element and addition (editing) of BuiltDocument NodeContent

            Basic Commands for WebExport

            1 || 2 || 3 || 4
            Phase to Execute

            Container for Phase 1 which invokes "raw" or "native" Web Export and Extracts WebExportMD

            Source of Phase 1 Material

            Export Phase1Source to specified location. This can be used for Word or PowerPoint native export
            Internally to this Object both GXOS and Web Location for Export Material
            This is a Web Directory in case of PowerPoint or Word Export
            Standard
            Specify how files are to be named, where Metadata for pages or general information stored etc.
            PDF || SVG || HTML || Real
            Type of Export File to be produced
            PowerPoint || Word || Real
            Type of Source File
            Placeholder for Parameters used to define Export -- This is SourceType and ExportType dependent
            Define Parameters of Export -- These are used to drive native process

            GXOS Object holding Record of this Provessing




            Container for Specification of list of Pages in a Constructed Group
            MetaData for GXOS
            Used to Specify Abstract of Constructed Group. Either contains MetaData in WebExportExtension
            or MetaData is Specified by user
            Used to Specify Next Page in Group. Either contains MetaData in WebExportExtension
            or MetaData is Specified by user
            GXOS Object holding Record of this Provessing


            Container for Phase 2 which generates Templates for a Group

            Source of Phase 2 Material -- Typically ProcessingRecord from Phase 1 or Playlist Specification
            CustomType of Phase2Source is either Phase1Export or Playlist
            Export Phase2Source to specified location.
            Internally to this Object both GXOS and Web Location for Export Material
            This is a Web Directory in case of PowerPoint or Word Export
            Template
            Group || Page
            Type of Template. Group is things like a PowerPoint Presentation.
            Placeholder for Parameters used to define Export
            Define Parameters of Export

            GXOS Object holding Record of this Provessing


            Container for Phase 3 which inserts Fragments into Templates

            Source of Phase 3 Material --
            Either ProcessingRecord from Phase 3 or Vanilla Template without Group Complications
            Placeholder for Parameters used to define Export
            Define Parameters of Export

            GXOS Object holding Record of this Provessing


            Container for Phase 3 which inserts Fragments into Templates

            Source of Phase 3 Material --
            Either ProcessingRecord from Phase 3 or Vanilla Template without Group Complications
            Placeholder for Parameters used to define Export
            Define Parameters of Export

            GXOS Object holding Record of this Provessing



PowerPoint etc.) or Specified by User. Used to build BuiltDocument Web Pages
s one gets in PowerPoint

            Associated GXOS Object for Group
             PowerPoint || Word || Multimedia || WebML (HTML XML etc.)
            Label used Internally to distinguish different Group Pages
            Group Title
            Author
            Date
            Meeting
            Abstract
            Length if MultiMedia in Seconds

            Related Information including multimedia, notes etc.
            Placeholder for Additional MetaData
            Define MetaData


            Associated GXOS Object for Page
             PowerPoint || Word || Multimedia || WebML (HTML XML etc.)
            Label used Internally to distinguish different pages
            Page Title
              Author -- If Present Overrides GroupAuthor
              Date -- If Present Overrides GroupDate
              Meeting -- If Present Overrides GroupMeeting
              Page Number
              Length if MultiMedia in Seconds

              Related Information(pages) including multimedia, notes etc.
              Placeholder for Additional MetaData
              Define MetaData



              If present Element value is Character String
              Otherwise it is GXOS Object
              This allows one either to use authors in "GXOS Database" or just input freely


a pure XML Syntax
 for indices to groups and for "just isolated" pages
s of pages etc.




              Any attribute defined in WebExportMD
              This can be a general GXOS Address or just say "fred" to denote child with this NodeName
              This attribute selects a particular ContentType in NodeContents
              This attribute selects a particular InternalName in NodeContents
              Converted to proper Web Address as specified in NodeContent ObjectRealization
              This attribute selects a particular ContentType in NodeContents
              This attribute selects a particular InternalName in NodeContents
              This attribute selects a particular PageLabel in WebExportMD
              This attribute selects a particular GroupLabel in WebExportMD
              Next Previous or a Number


              Define Loop over Pages in a Group
Expo rt III




dletN



rtShell
hase k


aps several
e are just
 oil specific
ke foil title …
Definition of Properties of UserObject

This defines either individual users or groups of them (I.e. one UserObject can define multiple users)
UserObject should reflect IEEE PAPI and further define groups of users (UserGroup) which are themselves UserObjects
UserGroup's can be used to restrict access to a particular MeetingContext and to define e-mail lists etc.

See:                      http://aspen.csit.fsu.edu/users/ozgur/docs/gxos/userobject_schema.html

Definition of Properties of SecurityObject

See                       http://aspen.csit.fsu.edu/users/ozgur/docs/gxos/security_schema.html

Definition of Properties of DeviceObject

DeviceExtension in TreeObject Schema
This should come from GridForum. Temporarily we just define

DeviceType                  ENUM           1   DeviceExtension PDA || Windows || Mac || UNIX
                                                               Obviously could be much richer
Machinename                                ?   DeviceExtension Name.Domain is Computer Full Name
Domain                                     ?   DeviceExtension
IP                                         ?   DeviceExtension IP Address


TopicObject and DestinationObject should await better understanding of how JMS to be used

				
DOCUMENT INFO