Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Template vocabulary"
(→UML Overview) |
|||
Line 21: | Line 21: | ||
====App==== | ====App==== | ||
− | A prototype of a context instance that holds app-specific data (e.g. Person entity) if any | + | Abstract class. A prototype of a context instance that holds app-specific data (e.g. Person entity) if any. Subclasses reference active content (aka code). |
* subclass of ContextPrototype | * subclass of ContextPrototype | ||
− | |||
* 1..1 description--human friendly text that describes this app/view/context | * 1..1 description--human friendly text that describes this app/view/context | ||
+ | * 0..N requires | ||
* 0..1 viewRoot (inherited) - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit the attributes of this context. | * 0..1 viewRoot (inherited) - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit the attributes of this context. | ||
* 0..1 settingsViewRoot (inherited) - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present) | * 0..1 settingsViewRoot (inherited) - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present) | ||
Line 30: | Line 30: | ||
The instantiated context of an AppTemplate TemplateContext is a place where the JavaScript of the app can persist new attributes if needed. Apps use an API that may update the values of attributes in other contexts. | The instantiated context of an AppTemplate TemplateContext is a place where the JavaScript of the app can persist new attributes if needed. Apps use an API that may update the values of attributes in other contexts. | ||
− | === | + | === ConnectionTemplate === |
A TemplateContext containing two ContextPrototypes instances that describe each connector context in a relationship: | A TemplateContext containing two ContextPrototypes instances that describe each connector context in a relationship: | ||
− | The '''Definer''' instance has the following attributes: | + | The '''Definer''' ContextPrototype instance has the following attributes: |
* 0..N provided - values are the URIs of attributes in the relationship for which the Definer is authoritative | * 0..N provided - values are the URIs of attributes in the relationship for which the Definer is authoritative | ||
* 0..1 viewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit the attributes of this context. | * 0..1 viewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit the attributes of this context. | ||
* 0..1 settingsViewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present) | * 0..1 settingsViewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present) | ||
+ | * 0..N provides - attributes provided to participant | ||
+ | * 0..N requires - required attributes from participant | ||
+ | * 0..N desired - desired (optional) attributes from participant | ||
− | The '''Participant''' instance has the following attributes: | + | The '''Participant''' ContextPrototype instance has the following attributes: |
* 0..1 templateRole - value is a default Role to assign to the new p:Person instance in the newly instantiated context | * 0..1 templateRole - value is a default Role to assign to the new p:Person instance in the newly instantiated context | ||
− | + | in the relationship for which the participant is authoritative and may optionally decide to provide | |
− | + | ||
* 0..1 viewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit the attributes of this context. | * 0..1 viewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit the attributes of this context. | ||
* 0..1 settingsViewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present) | * 0..1 settingsViewRoot - value is a structure created using the [[View-builder vocabulary]] that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present) | ||
Line 91: | Line 93: | ||
===App=== | ===App=== | ||
− | A prototype of a context instance that holds app-specific data (e.g. Person entity) if any | + | Abstract class. A prototype of a context instance that holds app-specific data (e.g. Person entity) if any. Subclasses reference active content (aka code). |
* subClassOf ContextPrototype | * subClassOf ContextPrototype | ||
* 1..1 appURI | * 1..1 appURI | ||
Line 120: | Line 122: | ||
A prototype of a context that is one side of a connector context pair. The Definer side is a context managed by the same party that created the TemplateContext--the party that defines the overall parameters of the connector relationship. In a person-to-business connector. Definer would typically be the business as it is the business that defines the relationship including the set of attributes that will go back and forth. | A prototype of a context that is one side of a connector context pair. The Definer side is a context managed by the same party that created the TemplateContext--the party that defines the overall parameters of the connector relationship. In a person-to-business connector. Definer would typically be the business as it is the business that defines the relationship including the set of attributes that will go back and forth. | ||
* subClassOf: Connector | * subClassOf: Connector | ||
+ | |||
+ | ===HBXApp=== | ||
+ | An App that consists of an ''app-data:Overlay'' that is loaded by the HBX and executed in the foreground--i.e. as an overlay to the current page. | ||
+ | * subClassOf App | ||
+ | * 1..1 overlay | ||
===Participant=== | ===Participant=== | ||
Line 125: | Line 132: | ||
* subClassOf: Connector | * subClassOf: Connector | ||
* 0..1 overlayCode | * 0..1 overlayCode | ||
+ | |||
+ | ===PortalApp=== | ||
+ | A kind of App that loads HTML/JS from ''appURI'' and displays it within the portal. The appURI may be within the PDS operator's domain or external to it. | ||
+ | * subClassOf App | ||
+ | * 1..1 appURI | ||
===TemplateContext=== | ===TemplateContext=== | ||
Line 152: | Line 164: | ||
===definer=== | ===definer=== | ||
− | Definer context within a pair of Participant/Definer connector contexts | + | Definer context within a pair of Participant/Definer connector contexts. |
* domain: Connector | * domain: Connector | ||
* value: Definer | * value: Definer | ||
===description=== | ===description=== | ||
− | Human readable description of this | + | Human readable description of this TemplateContext |
− | * domain: | + | * domain: TemplateContext |
* value: xsd:string | * value: xsd:string | ||
Line 186: | Line 198: | ||
* range: Attribute | * range: Attribute | ||
− | === | + | ===overlay=== |
− | JavaScript code | + | JavaScript code that provides web augmentation/overlay to the user's current webpage in the browser. |
− | * domain: Participant | + | * domain: Participant or HBXApp |
* value: app-data:Overlay | * value: app-data:Overlay | ||
Line 211: | Line 223: | ||
* value: Attribute | * value: Attribute | ||
− | === | + | ===scrapeFill=== |
− | JavaScript connector code | + | JavaScript connector code. |
* domain: WebsiteFacade | * domain: WebsiteFacade | ||
* value: app-data:JavaScript | * value: app-data:JavaScript | ||
===settingsViewRoot=== | ===settingsViewRoot=== | ||
− | Root of a tree of ViewNodes that describe the UI for the settings control panel for this context | + | Root of a tree of ViewNodes that describe the UI for the settings control panel for this context. |
* domain: ContextPrototype | * domain: ContextPrototype | ||
* value: view-builder:ViewNode | * value: view-builder:ViewNode | ||
Line 227: | Line 239: | ||
===viewRoot=== | ===viewRoot=== | ||
− | Root of a tree of ViewNodes that describe the UI for this context | + | Root of a tree of ViewNodes that describe the UI for this context. |
* domain: ContextPrototype | * domain: ContextPrototype | ||
* value: view-builder:ViewNode | * value: view-builder:ViewNode |
Revision as of 12:54, 29 August 2011
{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}Vocabulary to describe a Template Context. Contains information necessary to dynamically instantiate regular contexts. Part of the Persona Data Model 2.0.
Files
- Most recently published
- SVN source: template.owl
UML Overview
Overview
Template contexts are used to instantiate both regular contexts and connector context pairs mentioned here: Persona Data Model 2.0. The AppTemplate subclass of TemplateContext (itself a subclass of ctxt:Context) is used to describe the former, and the ConnectorTemplate subclass of TemplateContext, the latter.
AppTemplate
An AppTemplate is a template for an app. An app is a PDS add-on. Apps run within a PDS-provided runtime environment. Apps have read (and potentially write) access to a specific set of attributes within the PDS. An AppTemplate is a TemplateContext subclass with a ContextPrototype instance that describes a context to be used to support an app.
- subClassOf TemplateContext
- 1..1 app App
App
Abstract class. A prototype of a context instance that holds app-specific data (e.g. Person entity) if any. Subclasses reference active content (aka code).
- subclass of ContextPrototype
- 1..1 description--human friendly text that describes this app/view/context
- 0..N requires
- 0..1 viewRoot (inherited) - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit the attributes of this context.
- 0..1 settingsViewRoot (inherited) - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present)
The instantiated context of an AppTemplate TemplateContext is a place where the JavaScript of the app can persist new attributes if needed. Apps use an API that may update the values of attributes in other contexts.
ConnectionTemplate
A TemplateContext containing two ContextPrototypes instances that describe each connector context in a relationship:
The Definer ContextPrototype instance has the following attributes:
- 0..N provided - values are the URIs of attributes in the relationship for which the Definer is authoritative
- 0..1 viewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit the attributes of this context.
- 0..1 settingsViewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present)
- 0..N provides - attributes provided to participant
- 0..N requires - required attributes from participant
- 0..N desired - desired (optional) attributes from participant
The Participant ContextPrototype instance has the following attributes:
- 0..1 templateRole - value is a default Role to assign to the new p:Person instance in the newly instantiated context
in the relationship for which the participant is authoritative and may optionally decide to provide
- 0..1 viewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit the attributes of this context.
- 0..1 settingsViewRoot - value is a structure created using the View-builder vocabulary that describes how to dynamically construct a UI to view and/or edit administrative settings related to the JavaScript app (if present)
Example
Below is an example of a ConnectorTemplate. See (nytimes-template-context.n3 for details):
Here is the ConnectionTemplate (Note: the image value is truncated):
<http://www.eclipse.org/higgins/ontologies/examples/google-ads> a owl:Ontology , template:ConnectionTemplate ; template:definer :Definer_1 ; template:image "30456034350840236980afbcc0ef"^^xsd:base64Binary ; template:imageType "GIF"^^xsd:string ; template:participant :Participant_1 ; owl:imports <http://www.w3.org/2004/02/skos/core> , <http://www.eclipse.org/higgins/ontology/2011/2/view-builder> , <http://www.eclipse.org/higgins/ontologies/2010/6/fp> , <http://www.eclipse.org/higgins/ontologies/2010/6/template> .
Here is the Participant (Note: the 'ViewRoot' and sub-objects have been omitted here for simplicity.):
:Participant_1 rdf:type template:Participant ; template:viewRoot :ViewRoot .
Here is the definer WebsiteFacade (Note: the actual code of the JavaScript has been omitted):
:Definer_1 rdf:type template:WebsiteFacade ; template:homePage "http://google.com"^^xsd:anyURI ; template:profilePath "/ads/preferences"^^xsd:anyURI ; template:desires <http://www.eclipse.org/higgins/ontologies/2010/6/online-behavior#interest> ; template:provides <nytimes.com/schema/userAccountNumber> ; template:requires <http://www.eclipse.org/higgins/ontologies/2010/6/fp#ageRange> , <http://www.eclipse.org/higgins/ontologies/2010/6/fp#gender> , <http://www.eclipse.org/higgins/ontologies/2010/6/fp#postalCode> ; template:scrapeFillCode :JavaScript_1 . :JavaScript_1 rdf:type app-data:JavaScript ; app-data:description "Google ad prefs scraper/filler"^^xsd:string ; app-data:version "1.0.0"^^xsd:string .
Classes
App
Abstract class. A prototype of a context instance that holds app-specific data (e.g. Person entity) if any. Subclasses reference active content (aka code).
- subClassOf ContextPrototype
- 1..1 appURI
- 1..1 description
AppTemplate
An AppTemplate is a template for an app. An app is a PDS add-on. Apps run within a PDS-provided runtime environment. Apps have read (and potentially write) access to a specific set of attributes within the PDS. An AppTemplate is a TemplateContext subclass with a ContextPrototype instance that describes a context to be used to support an app.
- 1..1 app
Attribute
An attribute. Optionally from a specified authority/issuer.
- 1..1 attribute
- 0..N authority
Connector
A prototype of a Definer-or-Participant context instance. Abstract.
ConnectorTemplate
A TemplateContext containing two ContextPrototypes instances that describe each connector context in a relationship
- 1..1 definer
- 1..1 participant
ContextPrototype
Abstract class. A prototype of an Context instance including, potentially, active code to be executed. The attributes of the prototype are copied into a Context instance.
- 0..1 viewRoot
Definer
A prototype of a context that is one side of a connector context pair. The Definer side is a context managed by the same party that created the TemplateContext--the party that defines the overall parameters of the connector relationship. In a person-to-business connector. Definer would typically be the business as it is the business that defines the relationship including the set of attributes that will go back and forth.
- subClassOf: Connector
HBXApp
An App that consists of an app-data:Overlay that is loaded by the HBX and executed in the foreground--i.e. as an overlay to the current page.
- subClassOf App
- 1..1 overlay
Participant
A prototype of a context that is one side of a connector context pair. The Participant side is a context managed by the other party--not the party that created the TemplateContext that defines the overall parameters of the connector relationship. In a person-to-business connector. Participant would be the person (the PDS owner/user)
- subClassOf: Connector
- 0..1 overlayCode
PortalApp
A kind of App that loads HTML/JS from appURI and displays it within the portal. The appURI may be within the PDS operator's domain or external to it.
- subClassOf App
- 1..1 appURI
TemplateContext
A TemplateContext is an abstract class for a context whose attributes act analogous to a "class" for regular context "instances".
- subclassOf ctxt:Context (see Context vocabulary)
WebsiteFacade
A sideA context that instead of being managed by an external party, is created and managed by local code (e.g. JavaScript running locally) acting as a proxy for the "real" issuer.
- subClassOf: SideA
- 0..1 scrapeFillCode
Attributes
app
AppContext ContextPrototype
- domain: AppTemplate
- value: App
appURI
App UI page
- domain: App
- value: xsd:anyURI
attribute
- domain Attribute
- value: rdf:Property
definer
Definer context within a pair of Participant/Definer connector contexts.
- domain: Connector
- value: Definer
description
Human readable description of this TemplateContext
- domain: TemplateContext
- value: xsd:string
homePage
Home page of this site. E.g. http://google.com.
- domain: WebsiteFacade
- value: xsd:anyURI
image
Background image to use in proxy:Cards or proxy:Apps that point to contexts instantiated from this template context.
- domain: TemplateContext
- value: xsd:base64Binary
imageType
Type of background image to use in proxy:Cards or proxy:Apps that point to contexts instantiated from this template context.
- domain: TemplateContext
- value: one of ("GIF", "JPG", "PNG")
loginPath
login form submit URI relative to the value of 'homePage'
- domain: WebsiteFacade
- value: xsd:anyURI
desires
Definer desires but doesn't require this attribute from the participant.
- domain: Definer
- range: Attribute
overlay
JavaScript code that provides web augmentation/overlay to the user's current webpage in the browser.
- domain: Participant or HBXApp
- value: app-data:Overlay
participant
Participant context within a pair of Participant/Definer connector contexts
- domain: Connector
- value: Participant
profilePath
Profile form submit URI relative to 'homePage'.
- domain: WebsiteFacade
- value: xsd:anyURI
provides
Attribute provided by the definer. Value is an attribute defined by persona.owl or fp.owl
- domain: Connector
- value: Attribute
requires
Definer (or App) requires this attribute from the participant.
- domain: Connector
- value: Attribute
scrapeFill
JavaScript connector code.
- domain: WebsiteFacade
- value: app-data:JavaScript
settingsViewRoot
Root of a tree of ViewNodes that describe the UI for the settings control panel for this context.
- domain: ContextPrototype
- value: view-builder:ViewNode
role
Default role played by new Person entity instances in contexts instantiated from this Participant prototype
- domain: Participant
- value: persona:Role
viewRoot
Root of a tree of ViewNodes that describe the UI for this context.
- domain: ContextPrototype
- value: view-builder:ViewNode