@startuml
package MetaModel {
  class Context {
    name:Text
    since:Date
    updated:Date
    copyright:Text
    master:URL
  }
Note top of Context
A Context groups some topics like a Namespace/Package
End note
  class Property {
    name:Text
    label:Text
    type:Page
    index:Number
    sortPos:Number
    primaryKey:Boolean
    mandatory:Boolean
    namespace:Text
    size:Number
    uploadable:Boolean
    defaultValue:Code
    inputType:Text
    allowedValues:Text
    documentation:Text
    values_from:Code
    externalFormatterURI:Text
    showInGrid:Boolean
    isLink:Boolean
    nullable:Boolean
  }
Note top of Property
a Property is a Feature/Attribute of a Topic
End note
  class SMW_Type {
    type:Text
    documentation:Text
    id:Text
    helppage:URL
    typepage:Page
    javaType:Text
  }
Note top of SMW_Type
an SMW_Type is a data type which determines the possible values for that type e.g. a Boolean can hold true/false values while a Number can hold 3.1459 or 20. A Page can hold the name of a Wiki page see https://semantic-mediawiki.org/wiki/Help:List_of_datatypes
End note
  class Topic {
    name:Text
    pluralName:Text
    icon:Page
    iconUrl:Code
    documentation:Text
    wikiDocumentation:Text
    defaultstoremode:Text
    listLimit:Number
    cargo:Boolean
    headerTabs:Boolean
  }
Note top of Topic
A Topic is a Concept/Class/Thing/Entity
End note
  class Action {
    name:Text
    servicetype:Text
    service:URL
    inputtype:Text
    input:Code
    actionpage:Page
    output:Text
    engine:Text
    author:Page
    since:Date
    comment:Text
  }
Note top of Action
An action/function/operation to be performed
End note
  class TopicLink {
    name:Text
    source:Page
    sourceRole:Text
    sourceMultiple:Boolean
    sourceDocumentation:Text
    target:Page
    targetRole:Text
    targetMultiple:Boolean
    targetDocumentation:Text
    masterDetail:Boolean
  }
Note top of TopicLink
A TopicLink links two Concepts
End note
}
Topic "topic 1" -- "properties *" Property
Context "context 1" -- "topics *" Topic
Property "usedByProperties *" -- "smw_type 1" SMW_Type

' BITPlan Corporate identity skin params
' Copyright (c) 2015-2023 BITPlan GmbH
' see http://wiki.bitplan.com/PlantUmlSkinParams#BITPlanCI
' skinparams generated by com.bitplan.restmodelmanager
skinparam note {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam component {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam package {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam usecase {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam activity {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam classAttribute {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam interface {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam class {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
skinparam object {
  BackGroundColor #FFFFFF
  FontSize 12
  ArrowColor #FF8000
  BorderColor #FF8000
  FontColor black
  FontName Technical
}
hide Circle
' end of skinparams '

@enduml
