Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Template vocabulary"

(ContextPrototype)
(Example)
Line 49: Line 49:
 
Below is an example of a ConnectorTemplate. See ([https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/H2/org.eclipse.higgins.ontology/examples/nytimes-template-context.n3 nytimes-template-context.n3] for details):
 
Below is an example of a ConnectorTemplate. See ([https://dev.eclipse.org/svnroot/technology/org.eclipse.higgins/trunk/H2/org.eclipse.higgins.ontology/examples/nytimes-template-context.n3 nytimes-template-context.n3] for details):
  
Here is the ConnectorTemplate (Note: the image value is truncated):
+
Here is the ConnectionTemplate (Note: the image value is truncated):
 
   <http://www.eclipse.org/higgins/ontologies/examples/google-ads>
 
   <http://www.eclipse.org/higgins/ontologies/examples/google-ads>
       a      owl:Ontology , template:ConnectorTemplate ;
+
       a      owl:Ontology , template:ConnectionTemplate ;
 
       template:definer :Definer_1 ;
 
       template:definer :Definer_1 ;
 
       template:image "30456034350840236980afbcc0ef"^^xsd:base64Binary ;
 
       template:image "30456034350840236980afbcc0ef"^^xsd:base64Binary ;

Revision as of 12:40, 29 August 2011

{{#eclipseproject:technology.higgins|eclipse_custom_style.css}}
Higgins logo 76Wx100H.jpg

Vocabulary to describe a Template Context. Contains information necessary to dynamically instantiate regular contexts. Part of the Persona Data Model 2.0.

Files

UML Overview

Template 2.0.107b.png

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

A prototype of a context instance that holds app-specific data (e.g. Person entity) if any

  • subclass of ContextPrototype
  • 1..1 appURI - value is a URI containing a portion of a web page to load into the portal. This webpage may contain lots of JavaScript and provide sophisticated viewing, editing, validating or other services to the user--hence the use of the "app" term.
  • 1..1 description--human friendly text that describes this app/view/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)

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.

ConnectorTemplate

A TemplateContext containing two ContextPrototypes instances that describe each connector context in a relationship:

The Definer 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)

The Participant 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..N provided - values are the URIs of attributes in the relationship for which the participant is authoritative
  • 0..N providedOpt - values are the URIs of attributes 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

A prototype of a context instance that holds app-specific data (e.g. Person entity) if any

  • 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

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

TemplateContext

A TemplateContext is an abstract class for a context whose attributes act analogous to a "class" for regular context "instances".

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 app

  • domain: App
  • 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

overlayCode

JavaScript code to invoke to provide web augmentation/overlay.

  • domain: Participant
  • 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

scrapeFillCode

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

Links

Back to the top