The script language definition for Open Modeling

Introduction

The script language is intended to create custom content on a page, like reports or related item content in a presentation. The script language uses tag-libraries according to the JSP 1.1 standard. The typical scripting elements are tags including input parameters like in the following example:

<om:showentity modelname="Open model" entityname="Process"key0="Open">
......<%=content%>....
</om:showentity>

This example will show all entities of entity-type "Process" in the model "Open model" having a name that starts with "Open". Between the tags a number of html-tags can be added, while the data is returned in Java variables like 'content' in the example. The tags can be nested.

Objects

The relevant objects for scripting purposes are model, entity and item.

Model

The model is a unity that contains a set of related entities containing data that is meaningful for a particular objective or scope.

Entity

An entity is an object that contains the occurrences for a number of models.

Item

An item is the elementary data container.

Tags with input and output

Currently two tags have been implemented: showentity and showitem.

<om:showentity/>

This tag shows all entities of a model. The input variables key0 through key3 operate as 'like' values, so all entities that start with the indicated string are displayed. The entity type names can be found in the metamodel description.

input variablesdescriptionoutput variablesDescription
modelnameThe selected modelentitytypenameThe name of the entity type
entitynameThe selected entity typemodelThe model id
key0The first key namemmodelThe metamodel id
key1The second key nameentityThe entity type id
key2The third key nameprefixThe entity prefix
key3The fourth key namekeyThe key id
  languageThe default language
  keyvalueThe key names
  tableThe table of the entity type
<om:showitem/>

This tag shows an item of the selected entity. The tag should be contained in an om:showentity/> tag. The itemnames can be found in the metamodel description.

input variablesdescriptionoutput variablesDescription
itemnameThe selected itemitemnrThe sequence number of the item content line
  itemnameThe selected item
  typeThe type of the item
  subtypeThe subtype of the item
  lengthThe maximum length of the item
  columnThe column name of the item
  contentThe content of the item
  In case of relations: 
  rmodelThe related model id
  rentityThe related entity type id
  rprefixThe related entity prefix
  rkeyThe related key id
  languageThe default language
  rkeyvalueThe related key names

<om:if/>

This tag evaluates a test and includes the body content if the condition is met.

input variablesdescriptionoutput variablesDescription
testThe test to be evaluated.
Curently the supported values are:
.        first        is this the first result?
.        !first       is this not the first result?
No 

An example metamodel description of Open Modeling

The metamodel in this description conforms to the metamodel that is shipped with the Open Modeling installation. The metamodel can be extended and changed using the metamodel browser. In that case this description should be changed as well.

Models
Open model

EntitiesEntities
ActivityGlobal process
Activity clusterInformation system
ArchiveJournal
Computer activityNon implemented requirement
Computer fileOffice link
Computer listORF
Computer processProcess
ConceptReferral
DecisionRegister
DepartmentRole type
DisketteSalary group
DocumentStandard
EmployeeStandard clause
External procedureTape file
ExternalityTemporary storage
FileTerminator
FunctionaryText
Global activityUser comment
 Webnews

EntityItemEntityItem
ActivityName Has as a comment
 Instruction textGlobal activityName
 Fixed costs Instruction text
 TriggerExternal procedureFixed costs
 Instruction text_ Name EN
 Name EN Process
 Belongs to activity cluster Connected to activities
 Uses information system Specific entities
 Global activity(ies) Contains concepts
 Global choice Hierarchy
 Specific entities Is a part of
 Additional information for Has as a comment
 Contains conceptsGlobal processName
 Hierarchy Date
 Is a part of Description
 Has as a comment Range
Activity clusterName Fixed costs
 Contains activities Version
 Hierarchy Name EN
 Is a part of Incoming processes
 Has as a comment Outgoing processes
ArchiveName Global Scheme
 Location Concerned functionaries
 Description_ Concerned employees
 Sequence_ Additional information for
 Medium Refers to externality
 Joined1 Author
 Specific entities Hierarchy
 Administrator Is a part of
 Hierarchy Has as a comment
 Is a part ofInformation systemName
 Has as a comment Is used by activity
Computer activityName Hierarchy
 Kind Is a part of
 Control description1 Has as a comment
 Information systemJournalName
 Instruction text Description
 Fixed costs Forms part of
 Trigger Hierarchy
 Specific entities Is a part of
 Contains concepts Has as a comment
 HierarchyNon implemented requirementName
 Is a part of Description2
 Has as a comment Non implemented standard
Computer fileName Hierarchy
 Medium Is a part of
 Description_ Has as a comment
 Name ENOffice linkName
 Is joined with File name
 Forms part of Show on site NL SelMul
 Specific entities Show on site EN SelMul
 Hierarchy Additional documentation
 Is a part of Hierarchy
 Has as a comment Is a part of
Computer listName Has as a comment
 DescriptionORFName
 Forms part of Description
 Hierarchy Is composed of
 Is a part of Forms part of
 Has as a comment Hierarchy
Computer processName Is a part of
 Description Has as a comment
 HierarchyProcessName
 Is a part of Documents
 Has as a comment Contains other components
ConceptName Description_
 Definition State
 Consists of concept Fixed costs
 Is part of concept Description EN
 Concept occurs on1 Name EN
 Hierarchy Information system
 Is a part of Involved in activities
 Has as a comment Incoming processes
DecisionName Outgoing processes
 Control description1 Detailed Scheme
 Instruction text Concerned functionaries
 Instruction text_ Concerned employees
 Fixed costs Additional information for
 Name EN Refers to externality
 Activity Author
 Global choice Hierarchy
 Global activity(ies) Is a part of
 Specific entities Has as a comment
 Additional information forReferralName
 Contains concepts Description_
 Hierarchy Name EN
 Is a part of Specific entities
 Has as a comment Additional information for
DepartmentName Hierarchy
 Description_ Is a part of
 Description EN Has as a comment
 Name ENRegisterName
 Has functional relationships wit Description_
 Has staff object(s) Joined1
 Is staff object of Forms part of
 Involved in activities Hierarchy
 Functionaries Is a part of
 Employees Has as a comment
 Additional information forRole typeName
 Hierarchy Abbreviation
 Is a part of Description_
 Has as a comment Sequence
DisketteName Hierarchy
 Description Is a part of
 Forms part of Has as a comment
 Hierarchy Occurs in Employee
 Is a part of Occurs in Functionary
 Has as a commentSalary groupName
DocumentName Wages
 Description_ Contains functionaries
 Description EN Hierarchy
 Name EN Is a part of
 Has copies Has as a comment
 Is copy ofStandardName
 Specific entities Title
 Is composed of Description2
 Forms part of Date of version
 Additional information for Norm Type
 Administrator Contains standard clauses
 Hierarchy Hierarchy
 Is a part of Is a part of
 Has as a comment Has as a comment
EmployeeNameStandard clauseName
 Features Paragraph number
 Key identifier Text
 Acts as functionary Interpretation
 Is employee of Not implemented because
 Is involved in Forms part of
 Writes procedure Hierarchy
 Hierarchy Is a part of
 Is a part of Has as a comment
Has as a commentTape fileName
Name Description
 Kind Forms part of
 Control description1 Hierarchy
 Instruction text Is a part of
 Fixed costs Has as a comment
 Known as external entityTemporary storageName
 Specific entities Description_
 Hierarchy Sequence_
 Is a part of Medium
 Has as a comment Description EN
ExternalityName Joined1
 Location Specific entities
 Description_ Administrator
 Reference number Hierarchy
 Type Form SelMul Is a part of
 Type Manual SelMul Has as a comment
 Type Archive SelMulTerminatorName
 Type Standard SelMul Description
 Type Registration SelMul Kind_
 Type Procedure SelMul Hierarchy
 Type Method SelMul Is a part of
 Type Technique SelMul Has as a comment
 Date of versionTextName
 Coincides with external procedur Date
 Occurs in external procedure Text
 Administrator Version
 Hierarchy Contains concepts
 Is a part of Hierarchy
 Has as a comment Is a part of
FileName Has as a comment
 DescriptionUser commentName
 Joined1 Content
 Forms part of User id
 Hierarchy Is related to
 Is a part of Hierarchy
 Has as a comment Is a part of
FunctionaryNameWebnewsName
 Description_ E-mail address
 Employee acting as functionary Title webnews
 Belongs to salary group Show in news overview
 Publisher of webnews Date
 Is functionary of Description_
 Is involved in Responsible publisher
 Administrates documents Hierarchy
 Hierarchy Is a part of
 Is a part of Has as a comment