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"
(→loginPath) |
(→definer) |
||
Line 166: | Line 166: | ||
===definer=== | ===definer=== | ||
Definer context within a pair of Participant/Definer connector contexts. | Definer context within a pair of Participant/Definer connector contexts. | ||
− | * domain: | + | * domain: ConnectionTemplate |
* value: Definer | * value: Definer | ||
Revision as of 13:02, 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
Value is an attribute defined by persona.owl or fp.owl.
- domain Attribute
- value: rdf:Property
definer
Definer context within a pair of Participant/Definer connector contexts.
- domain: ConnectionTemplate
- value: Definer
desires
Definer desires but doesn't require this attribute from the participant. Definer reads the value of this attribute from the participant context.
- domain: Definer
- range: Attribute
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
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. Attribute is stored in the definer context and is readable by the participant party. Value is an attribute defined by persona.owl or fp.owl.
- domain: Definer
- 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