Class:Discipline: Unterschied zwischen den Versionen
Noémi (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{Classgenerator |global_entityTitle=Discipline |global_description=Erlaubt das Hinterlegen von Diziplinen und deren individuellen Ausprägungen und Fähigkeit…“) |
Noémi (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 16: | Zeile 16: | ||
|form_enable=Yes | |form_enable=Yes | ||
|form_name=Disziplin | |form_name=Disziplin | ||
|form_teaserText=Gib bitte den Namen der Disziplin oder des thaumaturgischen/nekromantischen Pfades ein, für die/den du eine Seite erstellen möchtest. Wenn die Seite schon existiert, wirst du darauf weitergeleitet und kannst sie bearbeiten. | |form_teaserText=Gib bitte den Namen der Disziplin oder des thaumaturgischen/nekromantischen Pfades ein, für die/den du eine Seite erstellen möchtest. | ||
Wenn die Seite schon existiert, wirst du darauf weitergeleitet und kannst sie bearbeiten. | |||
|form_typeCreateLink=forminput | |form_typeCreateLink=forminput | ||
|form_createInfotext=Bitte den Namen der Disziplin angeben | |form_createInfotext=Bitte den Namen der Disziplin angeben | ||
| Zeile 56: | Zeile 57: | ||
|name=description | |name=description | ||
|cardinality=single | |cardinality=single | ||
|description=Eine Kurzbeschreibung der Disziplin. Wird für Übersichtsseiten und Referenztexte verwendet und sollte einen kurzen Eindruck über die Einsatzmöglichkeiten oder der Ausprägung dieser Disziplin geben. | |description=Eine Kurzbeschreibung der Disziplin. Wird für Übersichtsseiten und Referenztexte verwendet und sollte einen kurzen Eindruck | ||
über die Einsatzmöglichkeiten oder der Ausprägung dieser Disziplin geben. | |||
|label=Beschreibung | |label=Beschreibung | ||
|property=Yes | |property=Yes | ||
Version vom 12. März 2016, 21:11 Uhr
| Class | |
|---|---|
| Title | Discipline |
| Änderungsdatum | 12.03.2016 21:11:56 |
| Store available | smw |
| Smw class | Discipline |
| Namespace | MAIN |
| Erlaubt das Hinterlegen von Diziplinen und deren individuellen Ausprägungen und Fähigkeiten. | |
| Pages | |
| Module | Module:Discipline |
| Class | Module:Discipline/class |
| Config | Module:Discipline/config |
| Template | Template:Discipline |
| Form | Form:Disziplin |
| Category | Category:Disziplinen |
| Gardening | Category:Discipline with incorrect data |
| Identity | |
| name | Name |
| description | Beschreibung |
| path_of | Pfad |
| introtext | Introtext |
| discipline_abilities | Fähigkeiten |
| displaytitle | Anzeigename |
| Properties | |
| Text | Has_display_title |
| Text | Has_short_description |
| Text | Is_identified_by_classengine_through |
| Text | Is_member_of_class |
| Text | Is_path_of |
| Text | Is_titled |
Erlaubt das Hinterlegen von Diziplinen und deren individuellen Ausprägungen und Fähigkeiten.
Class identity
| Parameter | Label | Severity | Cardinality | Description |
|---|---|---|---|---|
| name | Name | mandatory | single | Der Name der Disziplin |
| description | Beschreibung | mandatory | single | Eine Kurzbeschreibung der Disziplin. Wird für Übersichtsseiten und Referenztexte verwendet und sollte einen kurzen Eindruck
über die Einsatzmöglichkeiten oder der Ausprägung dieser Disziplin geben. |
| path_of | Pfad | mandatory | single | Ist diese Disziplin eingentlich ein thaumaturgischer oder nekromantischer Pfad? |
| introtext | Introtext | suggested | single | Der Eingangstext auf der Disziplinseite. Zu finden vor der Auflistung und Beschreibung der anhängenden Fähigkeiten. |
| discipline_abilities | Fähigkeiten | suggested | single | Die verschiedenen Fähigkeiten, die es in dieser Disziplin zu erlernen gibt. |
| displaytitle | Anzeigename | mandatory | single | Speichert den Anzeigename der Seite. |
Data Storage
Semantic properties used in this class: |
|---|
|
Page status
This status may be inaccurate, if you just created pages. In that case, run jobs and clear cache of this page.
| Module:Discipline | |
|---|---|
| Module:Discipline/doc | |
| Module:Discipline/class | |
| Module:Discipline/class/doc | |
| Module:Discipline/config | |
| Module:Discipline/config/doc | |
| Template:Discipline | |
| Template:Discipline/doc | |
| Form:Disziplin | |
| Category:Disziplinen | |
| Category:Discipline with incorrect data | |
| Property pages for your smw store | |
| Property:Has_display_title | |
| Property:Has_short_description | |
| Property:Is_identified_by_classengine_through | |
| Property:Is_member_of_class | |
| Property:Is_path_of | |
| Property:Is_titled | |
Page autocreation
All pages present!
Note: Creation of module pages is impossible due to an incompatibility issue.
Page contents
Contents of Module:Discipline [EDIT] |
|---|
local p = {}
local Class = require('Module:Discipline/class')
local getArgs = require('Module:Arguments').getArgs
function p.categorize(frame)
return tostring(Class:categorize())
end
function p.categoryPage(frame)
return tostring(Class:categoryPage())
end
function p.explainDataStore(frame)
return tostring(Class:explainDataStore())
end
function p.gardeningCategoryPage(frame)
return tostring(Class:gardeningCategoryPage())
end
function p.sfGenerateForm(frame)
return tostring(Class:sfGenerateForm())
end
function p.sfGenerateFormEntry(frame)
return tostring(Class:sfGenerateFormEntry())
end
function p.sfGenerateFormLink(frame)
return tostring(Class:sfGenerateFormLink())
end
function p.templateDocumentation(frame)
return tostring(Class:templateDocumentation())
end
function p.main(frame)
local args = getArgs(frame)
local me = Class:new(mw.title.getCurrentTitle().prefixedText)
me:initFromArgs(args)
me:storeData()
me:addInfobox()
me:addPageBody()
return me:render()
end
return p
|
Contents of Module:Discipline/doc [EDIT] |
|---|
{{documentation subpage}}
{{module rating|protected}}{{lua|Module:Arguments|Module:Discipline/class}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->
This module implements template {{tl|Discipline}}.
== Usage ==
{{pre|
{{tli|Discipline|''main''}}
}}
It also provides some additional "gateways" to some of [[Module:Discipline/class]]'s static methods:
{{pre|
{{tli|Discipline|''categorize''}}
{{tli|Discipline|''categoryPage''}}
{{tli|Discipline|''explainDataStore''}}
{{tli|Discipline|''gardeningCategoryPage''}}
{{tli|Discipline|''sfGenerateForm''}}
{{tli|Discipline|''sfGenerateFormEntry''}}
{{tli|Discipline|''sfGenerateFormLink''}}
{{tli|Discipline|''templateDocumentation''}}
}}
{{#invoke:Discipline|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Note: The class engine sets the category "CamNet modules" automatically in function categorize -->
<!-- Categories go here if you wish an additional category to that set in {{module rating}} above automatically. -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline]].
|
Contents of Module:Discipline/class [EDIT] |
|---|
local FoundationClass = require('Module:Foundationclass')
local ClassDebug = require('Module:Debug/class')
-- ****************************************************************
-- * inheritance *
-- ****************************************************************
local ClassDiscipline = FoundationClass:subclass('Discipline')
-- setting class's configuration data
ClassDiscipline.static.myConfiguration = mw.loadData('Module:Discipline/config') -- this means, modules on subpages have a / in their names
-- being in a static method, use self.myConfiguration
-- being in a private method, that knows self or in a public method, use self.class.myConfiguration
-- ****************************************************************
-- * properties *
-- ****************************************************************
-- **************** initialization of table for private properties
local _private = setmetatable({}, {__mode = 'k'}) -- weak table storing all private attributes
-- **************** declaration of public static properties
-- ClassDiscipline.static.myPropertyModule = require('Module:extern')
-- ClassDiscipline.static.staticProperty = ' '
-- remember the static classes provided by Foundationclass:
-- ClassDiscipline.globalConfig
-- ClassDiscipline.myCargoUtil
-- ClassDiscipline.mySmwUtil
-- ClassDiscipline.myTableTools
-- ClassDiscipline.myYesno
-- **************** declaration of (global) private properties
-- for properties you should rather use constructor and _private[self]. this only, if you need a private class property
-- you should, however predeclare private methods here
local _debug -- private method declared later
local _privateMethodAhead -- declaration ahead, so this private method can be used in the constructor and in other private methods
-- ***************************************************************
-- * methods *
-- ***************************************************************
-- **************** declaration of static methods
function ClassDiscipline:initialize(uid, superhandler)
local _CFG = self.class.myConfiguration
FoundationClass.initialize(self, uid, superhandler)
_private[self] = {
dbg = ClassDebug:new(tostring(self.class) .. ': id ' .. uid),
}
_debug(self, 1, ' ClassDiscipline: done initializing object "' .. uid ..'", from ' .. tostring(self))
end
-- use use self.myConfiguration to access your configuration in a static method
function ClassDiscipline.static:aStaticMethod(var)
_debug(self, 1, 'entering ClassDiscipline.static:aStaticMethod() to do something, from ' .. tostring(self))
end
function ClassDiscipline.static:mySfDynamicFieldAttribute(fieldname, attribute, value)
_debug(self, 1, 'entering ClassDiscipline.static:mySfDynamicFieldAttribute(fieldname, attribute, value), from ' .. tostring(self))
_debug(self, 2, ' with parameters "' .. fieldname .. '", "' .. attribute .. '" and a ' .. type(value) .. ' value')
-- function that can process any attribute/value pair just before rendering the semantic forms field
-- usually done, to generate a dynamic 'default' value
-- keep in mind: you can completely disable a form field, if you return true on attribute "disable".
-- however, this causes the parameter to not show at all, neither in the form, nor in processing
local val = value
if fieldname == 'this' and attribute == 'that' then
val = 'whatever ' .. val
end
return val -- this value will be used as new value for field's attribute
end
-- **************** declaration of private methods
-- use self.class.myConfiguration to access your configuration in a public or a private method that is called by a public method
_debug = function (self, level, text)
if _private[self] and _private[self].dbg then
local debugLevel = FoundationClass.globalConfig.debugLevel or self.class.myConfiguration.global.debugLevel
if debugLevel and level <= debugLevel then
_private[self].dbg:log(level, text)
end
else
local debugLevel = FoundationClass.globalConfig.debugLevel or self.myConfiguration.global.debugLevel
if debugLevel and level <= debugLevel then
ClassDebug:log(level, text, tostring(self) .. '.static')
end
end
end
local _privateMethod = function (self)
_debug(self, 1, 'entering private _privateMethod() to do something, from ' .. tostring(self))
end
-- **************** declaration of public methods
-- use self.class.myConfiguration to access your configuration in a public method
function ClassDiscipline:addInfobox()
_debug(self, 1, 'entering ClassDiscipline:addInfobox(), from ' .. tostring(self))
if self:goodToGo() then
local _CFG = self.class.myConfiguration
local coreData = self:getCoreData()
local ib_args = {
bodyclass = 'infobox_name',
aboveclass = 'objtitle titletext',
headerclass = 'headertext',
labelstyle = 'width: 30%;',
datastyle = 'width: 70%;',
title = self:getUid(),
above = _CFG.global.entityTitle,
subheader = nil,
label1 = _CFG.parameter.name.label,
data1 = coreData.name and coreData.name or nil,
header1 = nil,
}
self:addOutput(require('Module:Infobox').infobox(ib_args))
return true
end
return false
end
function ClassDiscipline:addPageBody()
_debug(self, 1, 'entering ClassDiscipline:addPageBody(), from ' .. tostring(self))
_debug(self, 2, ' rendering errors and warnings and adding them to output')
local frame = mw.getCurrentFrame()
self:addOutput(self:renderErrors())
self:addOutput(self:renderWarnings())
if self:goodToGo() then
self:addOutput('No output yet')
return true
end
return false
end
function ClassDiscipline:myArgumentProcessing(coreData)
_debug(self, 1, 'entering ClassDiscipline:myArgumentProcessing(args) to process coreData, from ' .. tostring(self))
-- function that performs some individual transformation args --> coreData
-- remember: you can add warnings to your output with self:addWarning(warning). the page, however, will not be put in any gardening category. for that, use self:addError()
-- hint: for conversion bool values, this is useful: FoundationClass.myYesno
local coreData = coreData
return coreData -- this is your new coreData.
end
function ClassDiscipline:myDataAdjustments(data)
_debug(self, 1, 'entering ClassDiscipline:myDataAdjustments(data) to convert data from data store into data suitable for argument processing, from ' .. tostring(self))
-- function that performs some individual transformation datastore data into argument data
-- keep in mind, when using smw data store, that data is indexed by parameter names, not properties
-- hint: for conversion bool values, this is useful: FoundationClass.myYesno
local data = data
return data -- this is your new data table, being passed on to initFromArgs and subsequently to plausibility testing
end
function ClassDiscipline:myPlausibilityTest(args)
_debug(self, 1, 'entering ClassDiscipline:myPlausibilityTest(args) to test arguments, from ' .. tostring(self))
-- function that performs the individual plausibility tests
-- note: before you access a field args.fieldname you should check for existance
-- use self:addError(text); this also puts the page in its class's gardening category
return false -- return value will be ignored. but if you add any error, the object's initialization will fail with the error
end
function ClassDiscipline:myStashAdjustments(stash, storeType)
_debug(self, 1, 'entering ClassDiscipline:myStashAdjustments(stash) to do some minor adjustments on data before storing, from ' .. tostring(self))
-- function that alters the stash before storing the data. if necessary, you can complate skip storing this stash, if you return false or the empty table {}
-- storeType is the actual method of storage for this call. either 'cargo', or 'smw'
-- hint: for conversion bool values, this is useful: FoundationClass.myYesno
local stash = stash
return stash -- this is your new stash. this will be stored. it has format (fieldname: value)
end
function ClassDiscipline:method()
_debug(self, 1, 'entering ClassDiscipline:method() to do something, from ' .. tostring(self))
return true
end
return ClassDiscipline
|
Contents of Module:Discipline/class/doc [EDIT] |
|---|
{{documentation subpage}}
{{module rating|protected}}{{lua|Module:Debug/class|Module:Foundationclass|Module:Discipline/config}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->
This is a Class Module. It implements a class in Lua using [[Module:Middleclass]] and the template class [[Module:Foundationclass]]. This class provides methods for PURPOSE.
== Usage ==
{{code|lang=lua|code=
local name = args[1] or args.name or mw.title.getCurrentTitle().rootText
local Class = require('Module:Discipline/class')
local me = Class:new(mw.title.getCurrentTitle().prefixedText)
me:initFromArgs(args)
me:storeData()
me:addInfobox()
me:addPageBody()
return me:render()
}}
{{#invoke:Discipline|explainDataStore}}
== Methods ==
=== Constructor ===
==== new(uid, superhandler) ====
Creates a new Object for the class.
;uid
:variable, optional
:used to identify the object
;superhandler
:object of childclass of Foundationclass, optional
:supply the superhandler, if you instanciate this object within another object. the instanciated object will pass errors and warnings to the superhandler and forgo adding the object category
;return
:object, of the class
=== public methods ===
==== addInfobox() ====
If no errors and data is present, adds an infobox to the object's output.
{{small|
;return
:boolean, whether adding was successful or not
}}
==== addPageBody() ====
Adds a page body (all content besides the infobox) to the object's output: Errors and Warnings, sample configuration, statistics, ... Of course, only if there is data.
{{small|
;return
:boolean, whether adding was successful or not
}}
==== myArgumentProcessing(coreData) ====
Performs the individual argument processing in [[#initFromArgs(args)|initFromArgs(args)]] right before inititializing it.
{{small|
;coreData
:table, mandatory
:the core data of the object. the one to process individually before initialization
;return
:table, the new core data array to be used
}}
==== myDataAdjustments(data) ====
Performs a transformation form data (coming from the datastore) into data used for argument processing. This is called by [[#initFromData(data)|initFromData(data)]] (for smw: after property to parameter conversion)
and is directly passed to [[#initFromArgs(args)|initFromArgs(args)]] and subsequently plausibility test.
{{small|
;data
:table, mandatory
:a data table coming directly from the data store
;return
:table, the new data table suiteable for argument processing
}}
==== myPlausibilityTest(args) ====
Performs the individual plausibility tests in [[#initFromArgs(args)|initFromArgs(args)]] before entering the initialization part.
NOTE: The return value will be ignored. If this finds errors, it must add them to the list of errors via [[#addError(errortext)|addError(errortext)]].
{{small|
;args
:table, mandatory
:arguments passed to the template to be checked
;return
:boolean, whether the object is plausible or not.
}}
==== myStashAdjustments(stash, storeType) ====
Performs the adjusts the stash in [[#storeData()|storeData()]] right before storing it.
{{small|
;stash
:table, mandatory
:the array of data to be saved (in the form fieldname: value)
;storeType
:string, mandatory
:type of storage method used with the current call (either 'cargo' or 'swm'). In case you use both stores and your stash adjustment differs with each of this methods
;return
:boolean, the new stash
}}
=== static methods ===
==== ClassDiscipline:mySfDynamicFieldAttribute(fieldname, attribute, value) ====
For some semantic form fields there are attribute values, that are not static, thus can not be provided at forehand in the [[#Configuration Data|configuration file]]. This method does the trick to adapt them at runtime shortly before the field is rendered.
Essentially: the method checks, if it has a special rule for the pair fieldname:attribute and if so, calculates the new value. if not, the old value is returned. Note, that you can completely disable a form field with this when you
return false on attribute "disable".
{{small|
;fieldname
:string, mandatory
:the form field's name, needed to match current paring to an existing special treatment rule
;attribute
:string, mandatory
:the form field's attribute, needed to match current paring to an existing special treatment rule
;value
:variable, mandatory
:the value, that is already provided in the [[#Configuration Data|configuration file]]. this will be adapted by the method, if there is a special rule for the pair fieldname:attribute.
;return
:string, the value to be used forthwith (which can be the old one or a freshly calculated)
}}
=== private methods ===
==== _debug(self, level, text) ====
Adds output to the internal debug log.
{{small|
;self
:object, me
;level
:int; mandatory
:debug level for the message
;text
:string; mandatory
:debug message text
;return
:void
}}
== Properties ==
=== static ===
See also [[#Static Properties|Static Properties]]
;ClassDiscipline.myConfiguration
:this is your configuration. It is devided in several section, each a
:table, holds configuration data found in Module:Discipline/config
::'''WARNING:''' This is a read only table and besides functions ''pairs()'' and ''ipairs()'' nothing else will work on it, especially not the functions of the table library!
<ul>
* form, table, holds data used to create the form. here are some of them:
** formButtons, table, which buttons should be printed at the bottom
** fieldOrder, table, in which order the form fields should appear (note: only fields listed here will be added to the form)
* global, table, holds some global configuration data
* parameter, table, holds all data about all parameter used in the module (be they form only, data store only or normal). The table has the form ''paramname = { table of paramdata }''. The tables for the parameter have data as follows:
** cardinality, string, mandatory, one of singe or list
** cargo_type, string, optional, if the parameter is to be stored in cargo, add the field type here (one of Page, Text, Integer, Float, Date, Datetime, Boolean (which should be provided as 1 or 0), Coordinates, Wikitext, File, String, URL, or Email)
** description, string, mandatory, a description of this parameter
** label, string, mandatory, the label used in the form and the template documentation
** property_name, string, optional, if the parameter is to be stored in smw, add the property name here
** property_type, string, optional, if the parameter is to be stored in smw, add the property type here (defaults to page)
** severity, string, optional, if provided one of mandatory, suggested
** sf, table, optional, used to add more attributes to the semantic forms field. ref [[Module:SFfield/config]] for all possible attributes. Note that the table is of type attribute_name : value. Value can be of type string, integer, boolean, and (in case of 'show on select') a table. Please note, that the attribute name cannot contain a " " (space). Use the underscore instead.
** td_default, string, optional, if you want a default value to be indicated in the template data section on the documentation page, add it here
** td_type, string, optional, if the parameter should be present in the template documentation page, fill this field. all possible values are listed [https://www.mediawiki.org/wiki/Extension:TemplateData#Format here]
** values, table, optional, if you want the possible values to be restricted to a specific set, fill this table
* template, table, holds some data used only in the template
</ul>
;ClassDiscipline.publicStaticProperty
:type, explanation
;_privateStaticProperty
:type, explanation
=== private ===
Note: all private properties are stored in table ''_private[self]''. _private is a static array that is indexed by ''self'', so the table ''_private[self]'' holds all properties for instance ''self''.
;dbg
:object, my instance of [[Module:Debug/class]] for debugging purposes. only present afer first call of [[#_debug(self, level, text)|_debug(self, level, text)]]
== Configuration Data ==
This class holds its control data in [[Module:{{ROOTPAGENAME}}/config]].
== Inheritance ==
'''Note:''' You still reference those either by self:publicMethod() or ClassDiscipline:staticMethod() and ClassDiscipline.staticProperty respectively!
=== Methods ===
{{MediaWiki:Classengine-content-documentation-methods}}
=== Static Properties ===
{{MediaWiki:Classengine-content-documentation-properties}}
{{#invoke:Discipline|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Note: the class engine sets the categories "CamNet modules" and "Lua class modules" automatically in categorize -->
<!-- Categories go here if you wish an additional category to that set in {{module rating}} above automatically. -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline]].
|
Contents of Module:Discipline/config [EDIT] |
|---|
-- This is the configuration for ClassDiscipline. It has been autocreated by Module:Classgenerator.
-- It is strongly suggested, you use the form to make alterations and copy the new configuration an this page!
local superglobal = mw.loadData('Module:Foundationclass/globalconfig')
local global = {
debugLevel = false,
entityTitle = 'Discipline',
description = 'Erlaubt das Hinterlegen von Diziplinen und deren individuellen Ausprägungen und Fähigkeiten.',
category = 'Disziplinen',
gardeningCategory = 'Discipline with incorrect data',
namespace = nil,
cargoTable = nil,
smwUseStorage = true,
smwIsSubobject = false,
restrictedTo = nil,
delimiter = ',',
}
local form = {
enable = true,
name = 'Disziplin',
teaserText = 'Gib bitte den Namen der Disziplin oder des thaumaturgischen/nekromantischen Pfades ein, für die/den du eine Seite erstellen möchtest.\n' ..
'Wenn die Seite schon existiert, wirst du darauf weitergeleitet und kannst sie bearbeiten.',
typeCreateLink = 'forminput',
createInfotext = 'Bitte den Namen der Disziplin angeben ',
createInputPlaceholder = nil,
createInputQueryString = nil,
createLinkPageName = nil,
createLinkQueryString = nil,
createLinkType = nil,
labelCreate = 'Disziplinseite anlegen',
labelEdit = 'Disziplinseite erstellen',
headerText = 'Disziplinen erlauben es Vampiren, übernatürliche Taten zu vollbringen.',
notification = nil,
sectionList = nil,
allowsFreeText = false,
freeTextPreload = nil,
buttons = { 'save', 'preview', 'changes', 'cancel', },
fieldSize = 80,
textareaAttributes = { -- the defaults for your textarea fields
cols = 80,
rows = 4,
autogrow = true,
editor = 'wikieditor',
},
fieldOrder = { 'name', 'description', 'path_of', 'introtext', 'discipline_abilities', },
}
local template = {
name = 'Discipline',
templateDocumentationSeeAlso = nil,
}
local parameter = {
name = {
cardinality = 'single',
description = 'Der Name der Disziplin',
label = 'Name',
property_name = 'Is_titled',
property_type = 'Text',
severity = 'mandatory',
sf = {
default = false,
input_type = 'text',
},
td_type = 'line',
},
displaytitle = {
cardinality = 'single',
description = 'Speichert den Anzeigename der Seite.',
label = 'Anzeigename',
property_name = 'Has_display_title',
property_type = 'Text',
severity = 'mandatory',
},
description = {
cardinality = 'single',
description = 'Eine Kurzbeschreibung der Disziplin. Wird für Übersichtsseiten und Referenztexte verwendet und sollte einen kurzen Eindruck\n' ..
'über die Einsatzmöglichkeiten oder der Ausprägung dieser Disziplin geben.',
label = 'Beschreibung',
property_name = 'Has_short_description',
property_type = 'Text',
severity = 'mandatory',
sf = {
input_type = 'textarea',
},
td_type = 'string',
},
path_of = {
cardinality = 'single',
description = 'Ist diese Disziplin eingentlich ein thaumaturgischer oder nekromantischer Pfad?',
label = 'Pfad',
property_name = 'Is_path_of',
property_type = 'Text',
severity = 'mandatory',
sf = {
default = 'Nein',
input_type = 'radiobutton',
},
td_type = 'line',
values = { 'Nein', 'Thaumaturgie', 'Nekromantie', },
},
introtext = {
cardinality = 'single',
description = 'Der Eingangstext auf der Disziplinseite. Zu finden vor der Auflistung und Beschreibung der anhängenden Fähigkeiten.',
label = 'Introtext',
severity = 'suggested',
sf = {
autogrow = false,
cols = 30,
input_type = 'textarea',
},
td_type = 'string',
},
discipline_abilities = {
cardinality = 'single',
description = 'Die verschiedenen Fähigkeiten, die es in dieser Disziplin zu erlernen gibt.',
label = 'Fähigkeiten',
severity = 'suggested',
sf = {
holds_template = true,
},
td_type = 'string',
},
}
return {
form = form,
global = global,
parameter = parameter,
template = template,
}
|
Contents of Module:Discipline/config/doc [EDIT] |
|---|
{{documentation subpage}}
{{module rating|protected}}{{lua|Module:Foundationclass/globalconfig}}
<!-- Categories go at the bottom of this page and interwikis go in Wikidata. -->
This module provides data for [[Module:Discipline/class]]
== Usage ==
{{code|lang=lua|code=local cfg = mw.loadData('Module:Discipline/config')}}
{{#invoke:Discipline|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox||
<!-- Note: The class engine sets the categories "CamNet modules" and "Lua class modules" automatically in function categorize -->
<!-- Categories go here if you wish an additional category to that set in {{module rating}} above automatically. -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline]].
{{ombox| type=content | text = It is strongly advised, to not edit this page but to use [https://{{SERVERNAME}}{{SCRIPTPATH}}/Special:FormEdit/Classgenerator/Class%3ADiscipline the Classgenerator form] instead! After that, use your new configuration to replace the contents of this page.}} |
Contents of Template:Discipline [EDIT] |
|---|
{{#invoke:Discipline|main|{{BASEPAGENAME}}}}<noinclude>
{{documentation}}
</noinclude> |
Contents of Template:Discipline/doc [EDIT] |
|---|
{{Documentation subpage}}
<!-- Categories go at the bottom of this page. -->
{{#invoke:Discipline|templateDocumentation}}
{{#invoke:Discipline|categorize}}<includeonly>{{#ifeq:{{SUBPAGENAME}}|sandbox | |
<!-- Note: The class engine sets the category "CamNet templates" automatically in function categorize -->
<!-- ADD CATEGORIES AFTER THIS LINE -->
}}</includeonly><h2>Maintenanace notes</h2>
This page was created by [[Module:Classgenerator]] and belongs to [[Class:Discipline]].
|
Contents of Form:Disziplin [EDIT] |
|---|
<noinclude>{{#invoke:Discipline|sfGenerateFormEntry}}{{#invoke:Discipline|categorize}}</noinclude>
<includeonly>{{#invoke:Discipline|sfGenerateForm}}</includeonly>
<!-- Note: The class engine sets category "CamNet forms" automatically in function categorize --> |
Contents of Category:Disziplinen [EDIT] |
|---|
{{#invoke:Discipline|categoryPage}}{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet" automatically in function categorize --> |
Contents of Category:Discipline with incorrect data [EDIT] |
|---|
{{#invoke:Discipline|gardeningCategoryPage}}{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet entities with erroneous input" automatically in function categorize --> |
All property pages
Contents of Property:Has_display_title [EDIT] |
|---|
== Description ==
<div class="description-box">Speichert den Anzeigename der Seite.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Has_short_description [EDIT] |
|---|
== Description ==
<div class="description-box">Eine Kurzbeschreibung der Disziplin. Wird für Übersichtsseiten und Referenztexte verwendet und sollte einen kurzen Eindruck
über die Einsatzmöglichkeiten oder der Ausprägung dieser Disziplin geben.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Is_identified_by_classengine_through [EDIT] |
|---|
== Description ==
<div class="description-box">Automatisch hinzugefügt! Wird verwendet, um individuelle Objekte innerhalb der Klasse zu identifizieren.</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Is_member_of_class [EDIT] |
|---|
== Description ==
<div class="description-box">Automatisch hinzugefügt! Wird verwendet, um Mitglieder dieser Klasse zu finden (funktioniert auch, ohne dass eine Kategorie definiert wird und auch fur subobjects)</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Is_path_of [EDIT] |
|---|
== Description ==
<div class="description-box">Ist diese Disziplin eingentlich ein thaumaturgischer oder nekromantischer Pfad?</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
The allowed values are:
* [[Allows value::Nein]]
* [[Allows value::Thaumaturgie]]
* [[Allows value::Nekromantie]]
{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |
Contents of Property:Is_titled [EDIT] |
|---|
== Description ==
<div class="description-box">Der Name der Disziplin</div>
== Type ==
* This is an attribute of the datatype [[Has type::Text]].
== Allowed values ==
No restriction given
{{#invoke:Discipline|categorize}}
<!-- Note: The class engine sets category "CamNet properties" automatically in function categorize --> |