Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[higgins-dev] Addition to PDM: "control" or "template" contexts

Mike,

I've completed a set of changes necessary to support app-cards being able to dynamically generate contexts. But I designed a solution that supports more than just that need. The general notion of a context having a pointer to a multi-purpose "control" context (e.g. to contain template data for new context instances, to provide a common access control policy for "instance" contexts, to provide schema mapping rules (used by all "instance" contexts) and other purposes) is put forward. Here is a summary of the changes:

Higgins Data Model Changes
* Added a h:control attribute to h:Context class here. See [1, 2]. 

Persona Data Model Changes
* The PDM assumes that the above-mentioned HDM h:control link points to an instance of a TemplateContext (new class).
* You can see the h:control displayed here [3] 
* Entirely new vocabulary: template.owl [6]. This is the heart of the change. TemplateContexts hold several kinds of "control" information about a "regular" context. (i) They can be used (a) in RDF N3 format as the value of an AppCard's "app-card:template" attribute (see [7]). As such they contain everything needed to dynamically generate a context (e.g. an AppData Context) (ii) They can hold AttributeMaps --in other words what we were calling a MappingContext is really just a degenerate/subset of a TemplateContext (iii) They can can be the target of the h:control attribute and as such define access control policies (albeit super-simple ones!) and more control-related info described below.
* To get a sense of what's in a TemplateContext see [8].
* For a concrete example of a TemplateContext see [11].

Related changes:
* A new vocabulary (template.owl) is imported into persona.owl as mentioned here [4]
* I worked with the Eclipse webmaster and now we have "Most recently published" versions of our vocabularies (as shown here [5]). The SVN versions are still the only truly up-to-date versions, but at least we are able to publish our vocabularies to the website again
* It was convenient to make a small alteration to app-data.owl [9]: The AppDataContext has an app-data:appData attribute that points to an instance of AppData (whereas before all of the AppData attributes were directly attached to the context). I updated the app-data example here [10] to reflect this change

--Paul


Back to the top