Check list: Model browser contributions
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)