Difference between revisions of "Check list: Model browser contributions"

From Developer Documents
Jump to navigation Jump to search
Line 3: Line 3:
 
== Step 1: Ontology Plug-in ==
 
== Step 1: Ontology Plug-in ==
 
Define a new ontology plugin (org.mylib.ontology)
 
Define a new ontology plugin (org.mylib.ontology)
 +
 +
Define dependencies from Simantics plugins in MANIFEST.MF/Dependencies/Required Plug-ins
 +
<nowiki>org.simantics.layer0
 +
org.simantics.modeling.ontology
 +
org.simantics.viewpoint.ontology
 +
org.simantics.action.ontology</nowiki>
  
 
Include the following definitions into your ontology file (*.pgraph)
 
Include the following definitions into your ontology file (*.pgraph)
Line 9: Line 15:
 
ACT = <http://www.simantics.org/Action-1.1></nowiki>
 
ACT = <http://www.simantics.org/Action-1.1></nowiki>
  
Define a new library (www.mylib.fi) for your ontology under Simantics root (''http://''):
+
Define a new library (www.mylib.org) for your ontology under Simantics root (''http://''):
 
  <nowiki>MY_LIB = <http://www.mylib.org> : L0.Library
 
  <nowiki>MY_LIB = <http://www.mylib.org> : L0.Library
 
   @L0.new</nowiki>
 
   @L0.new</nowiki>
Line 34: Line 40:
 
   VP.ActionContribution.HasNodeType
 
   VP.ActionContribution.HasNodeType
 
   L0.Entity
 
   L0.Entity
 +
 +
== Step 2: Implementation Plug-in ==
 +
Define a plugin for action implementation(org.mylib)

Revision as of 11:37, 3 July 2017

To avoid typical errors while defining ontology contributions to model browser follow the following check list:

Step 1: Ontology Plug-in

Define a new ontology plugin (org.mylib.ontology)

Define dependencies from Simantics plugins in MANIFEST.MF/Dependencies/Required Plug-ins

org.simantics.layer0
org.simantics.modeling.ontology
org.simantics.viewpoint.ontology
org.simantics.action.ontology

Include the following definitions into your ontology file (*.pgraph)

L0 = <http://www.simantics.org/Layer0-1.1>
VP = <http://www.simantics.org/Viewpoint-1.2>
ACT = <http://www.simantics.org/Action-1.1>

Define a new library (www.mylib.org) for your ontology under Simantics root (http://):

MY_LIB = <http://www.mylib.org> : L0.Library
  @L0.new

Define your ontology under the library and specify its ResourceClass

MY_ONTOLOGY = <http://www.mylib.org/MyOntology-1.0> : L0.Ontology
  @L0.new
  L0.HasResourceClass "org.mylib.Resource" : L0.String

Check the Name property of ontology plugin in MANIFEST.MF/Overview/General Information. It has to match with URI (without version number) of your ontology.

Name: http://www.mylib.org/MyOntology

Export the package (org.mylib) of ResourceClass in MANIFEST.MF/Runtime/Exported Packages.

Define a new context and include it into MOD.ModelingActionContext

MY_AC = MY_ONTOLOGY.MyActionContext : VP.BrowseContext
  VP.BrowseContext.IsIncludedIn MOD.ModelingActionContext

Define a new ActionContribution for each action in this context

<nowiki>MY_AC
VP.BrowseContext.HasActionContribution _ : VP.ActionContribution
 L0.HasLabel "My action..."        
 VP.ActionContribution.HasAction MY_LIB.MyAction : ACT.Action
 VP.ActionContribution.HasNodeType
  L0.Entity

Step 2: Implementation Plug-in

Define a plugin for action implementation(org.mylib)