Difference between revisions of "Template:Topic"

From Encyclopedia of Scientonomy
Jump to navigation Jump to search
 
(38 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
<pre>
 
<pre>
 
{{Topic
 
{{Topic
|Subject= //For first order questions, the subject must be a term registered in the encyclopedia. For higher order questions, the subject can be any lower level non-definitional theory question or theory.
+
|Subject= //For first order questions, the subject must be a term registered in the encyclopedia. For higher order questions, the subject can be any lower level non-definitional theory question or theory.
|Topic Type= {Descriptive, Normative}
+
|Topic Type= {Descriptive, Normative}
|Subfield= {Ontology, Dynamics, etc.}
+
|Subfield= {Ontology, Dynamics, etc.}
|Heritable= {Yes, No}
+
|Heritable= {Yes, No}
|Inherited From= //the question that this question is inherited from
+
|Inherited From= //the question that this question is inherited from
|Question Text Formula= //For heritable questions only.
+
|Question Text Formula= //For heritable questions only.
|Question Title Formula= //For heritable questions only.
+
|Question Title Formula= //For heritable questions only.
|Question Title= //Ignored for heritable questions.
+
|Question Title= //Ignored for heritable questions.
|Question= //For non heritable questions only. For heritable questions, this is available to the editors only to use in cases when the text produced by the formula should be overridden.  
+
|Question= //For non heritable questions only. For heritable questions, this is available to the editors only to use in cases when the text produced by the formula should be overridden.  
|Predicate= //Some text or a term registered in the encyclopedia
+
|Predicate= //Some text or a term registered in the encyclopedia
|Object Type= {Boolean, Class, Enumeration, Regular Expression, Text}
+
|Object Type= {Boolean, Class, Enumeration, Regular Expression, Text}
|Object Value True= //optional. Used only if Object Type=Boolean
+
|Object Value True= //optional. Used only if Object Type=Boolean
|Object Value False= //optional. Used only if Object Type=Boolean
+
|Object Value False= //optional. Used only if Object Type=Boolean
|Object Class= //optional. Used only if Object Type=Class
+
|Object Class= //optional. Used only if Object Type=Class
|Object Enum Values= //optional. Used only if Object Type=Enumeration
+
|Object Enum Values= //optional. Used only if Object Type=Enumeration
|Object Regexp= //optional. Used only if Object Type=Regexp
+
|Object Regexp= //optional. Used only if Object Type=Regexp
|Single Answer Text Formula=
+
|Single Answer Text Formula=
|Multiple Answers Text Formula=
+
|Multiple Answers Text Formula=
|Answer Title Formula=
+
|Answer Title Formula=
|Description=
+
|Description=
|Authors List=
+
|Authors List=
|Formulated Year=
+
|Formulated Year=
|Academic Events=
+
|Academic Events=
|Prehistory=
+
|Prehistory=  
|History=
+
|History=
|Current View=
+
|Current View=
|Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent. For now it is allowed as a backdoor so that it can be assigned manually.
+
|Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent. For now it is allowed as a backdoor so that it can be assigned manually.
|Related Topics= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
+
|Related Topics= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
|Page Status=
+
|Page Status=
|Editor Notes=
+
|Editor Notes=
 +
|Sorting Order=
 
}}
 
}}
 
</pre>
 
</pre>
Line 62: Line 63:
 
  -->Page Status={{{Page Status|Stub}}}|<!--
 
  -->Page Status={{{Page Status|Stub}}}|<!--
 
  -->Editor Notes={{{Editor Notes|}}}|<!--
 
  -->Editor Notes={{{Editor Notes|}}}|<!--
 +
-->Sorting Order={{{Sorting Order|10000}}}|<!-- default is 10000
 
  -->Parent Topic={{{Parent Topic|}}}|<!-- this allows for a backdoor to assign parent topics manually  
 
  -->Parent Topic={{{Parent Topic|}}}|<!-- this allows for a backdoor to assign parent topics manually  
 
  -->Authors List={{{Authors List|}}}|<!--
 
  -->Authors List={{{Authors List|}}}|<!--
Line 89: Line 91:
 
  -->|<!--
 
  -->|<!--
 
   --><!-- the question is not given: calculate it from the formula
 
   --><!-- the question is not given: calculate it from the formula
   -->{{#vardefine: varQuestion|{{DecodeTextFormula|formula={{{Question Text Formula|}}}|subject={{{Subject|}}}|predicate={{{Predicate|}}}|object={{{Object Class}}}|}}}}<!--  
+
   -->{{#vardefine: varQuestion|{{DecodeTextFormula|formula={{{Question Text Formula|}}}|subject={{{Subject|}}}|predicate={{{Predicate|}}}|object={{{Object Class}}}|link=yes}}}}<!--  
 
-->}}<!-- if  
 
-->}}<!-- if  
 
--><!--
 
--><!--
Line 106: Line 108:
 
--><!--
 
--><!--
 
--><!--
 
--><!--
--><!-- set parent topic
+
--><!-- set parent topic. Currently the parent topic and the ensuing hierarchy of Subsumed/Subsumes etc. is community agnostic.
 +
--><!-- TODO: moving forward we need to come up with a more intricate way of storing this such that each community can have its own hierarchy.
 +
--><!--
 
-->{{#if: {{{Inherited From|}}}<!--
 
-->{{#if: {{{Inherited From|}}}<!--
 
  -->|<!--  
 
  -->|<!--  
Line 112: Line 116:
 
   -->{{#vardefine: varTitleFormula| {{#show: {{{Inherited From|}}}|?Question Title Formula|link=none}} }}<!--
 
   -->{{#vardefine: varTitleFormula| {{#show: {{{Inherited From|}}}|?Question Title Formula|link=none}} }}<!--
 
   -->{{#vardefine: varPredicate| {{#show: {{{Inherited From|}}}|?Predicate|link=none}} }}<!--
 
   -->{{#vardefine: varPredicate| {{#show: {{{Inherited From|}}}|?Predicate|link=none}} }}<!--
   -->{{#vardefine: varOnject| {{#show: {{{Inherited From|}}}|?Object Class|link=none}} }}<!--
+
   -->{{#vardefine: varObject| {{#show: {{{Inherited From|}}}|?Object Class|link=none}} }}<!--
 
   --><!--
 
   --><!--
 
   --><!-- get the inherited topic's subject
 
   --><!-- get the inherited topic's subject
Line 129: Line 133:
 
   -->{{#arrayprint: arrayIntersectTerms||varTerm<!--
 
   -->{{#arrayprint: arrayIntersectTerms||varTerm<!--
 
   -->|<!--
 
   -->|<!--
     -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varOnject}}|}} }}<!--
+
     -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varObject}}|}} }}<!--
 
     --><!--
 
     --><!--
     -->{{#set: Parent Topic=varTitle}}<!--
+
     -->{{#set: Parent Topic={{#var: varTitle}}|}}<!--
 
     --><!--
 
     --><!--
 
   -->}}<!-- arrayprint
 
   -->}}<!-- arrayprint
 
   --><!--
 
   --><!--
 +
  --><!-- also construct an array with links or red links to be displayed at the bottom
 +
  -->{{#arraydefine: arrayParentPageLinks<!--
 +
  -->|{{#arrayprint: arrayIntersectTerms||varTerm<!--
 +
    -->|<!--
 +
      -->{{#vardefine: varTitle| {{DecodeTitleFormula|formula={{#var: varTitleFormula}}|subject=varTerm|predicate={{#var: varPredicate}}|object={{#var: varObject}}|}} }}<!--
 +
      --><!--
 +
      --><!-- check if the page exists
 +
      -->{{#ifexist:{{#var: varTitle}}<!--
 +
      -->|<!-- exist: add the link to the page
 +
        -->[[{{#var: varTitle}}]]<!--
 +
      -->|<!-- doesn't exist: add the formlink
 +
        -->{{#formlink:form=Topic|link text={{#var: varTitle}}|target={{#var: varTitle}}|query string=Topic[Subject]=varTerm&Topic[Inherited From]={{{Inherited From|}}}|}}<!--
 +
      -->}}<!-- if exists
 +
      --><!--
 +
    -->}}<!-- arrayprint
 +
  -->| , |unique<!--
 +
  -->}}<!-- arraydefine
 +
  --><!--
 +
-->|<!-- not inherited: still construct an empty array for the use below
 +
  -->{{#arraydefine: arrayParentPageLinks}}<!--
 
   --><!--
 
   --><!--
 
-->}}<!-- if inherited from
 
-->}}<!-- if inherited from
 
--><!--
 
--><!--
--><!--
+
 
 
--><!--
 
--><!--
 
--><!-- set the authors
 
--><!-- set the authors
Line 149: Line 173:
 
-->{{#arrayunique:topicsArray}}<!--
 
-->{{#arrayunique:topicsArray}}<!--
 
-->{{#arrayprint:topicsArray||@@@@|{{#set:Has Related Topic=@@@@}}|}}<!--  
 
-->{{#arrayprint:topicsArray||@@@@|{{#set:Has Related Topic=@@@@}}|}}<!--  
--><!--
 
--><!-- set the related theories
 
-->{{#arraydefine:theoriesArray|{{{Related Theories|}}}|,|}}<!--
 
-->{{#arrayunique:theoriesArray}}<!--
 
-->{{#arrayprint:theoriesArray||@@@@|{{#set:Has Related Theory=@@@@}}|}}<!--
 
 
--><!--  
 
--><!--  
 
--><!-- set the academic events  
 
--><!-- set the academic events  
Line 166: Line 185:
 
--><!--  
 
--><!--  
 
--><!-- set Has Accepted Answer and Has No Accepted Answer  
 
--><!-- set Has Accepted Answer and Has No Accepted Answer  
-->{{SetTopicHasAcceptedAnswer|topic={{FULLPAGENAME}}|subfield=Dynamics}}<!--  
+
-->{{SetTopicCurrentAnswer|topic={{FULLPAGENAME}}|subfield={{{Subfield|Dynamics}}}|}}<!--  
 
--><!--  
 
--><!--  
 
--><!-- Calculate completion rates for each major property
 
--><!-- Calculate completion rates for each major property
Line 188: Line 207:
 
-->{{#set: CR_Total={{#var:varCRtotal}} }}<!--  
 
-->{{#set: CR_Total={{#var:varCRtotal}} }}<!--  
 
--><!--
 
--><!--
-->  
+
--><p>{{#var: varQuestion}}</p><!--  
{{#var: varQuestion}}<!--  
+
 
 
-->{{PrintSectionVideos|page={{FULLPAGENAME}}|section=Description}}<!--
 
-->{{PrintSectionVideos|page={{FULLPAGENAME}}|section=Description}}<!--
-->{{#if: {{{Description|}}}|<nowiki/>
 
  
{{{Description|}}}  
+
-->{{#if: {{{Description|}}}|<p>{{{Description|}}}</p>}}<!--
}}
 
  
{{PrintTopicSubtitle|topic={{FULLPAGENAME}}|}}
+
--><p>{{PrintTopicSubtitle|topic={{FULLPAGENAME}}|}}&#32;<!--
{{PrintTopicCurrentlyAcceptedInCommunities|topic={{FULLPAGENAME}}|link=all|pretty=yes}}<!--
+
-->{{PrintTopicCurrentlyAcceptedInCommunities|topic={{FULLPAGENAME}}|link=all|pretty=yes}}<!--
-->{{PrintTopicAcceptedTheoriesList
+
-->{{PrintTopicAcceptedTheoriesFormulations<!--
  |topic={{FULLPAGENAME}}
+
  -->|topic={{FULLPAGENAME}}<!--
  |formulationtext=yes
+
  -->|link=yes<!--  
|formulationfile=no
+
-->}}</p><!--  
|bullets=no
+
|linebreak=no
 
|communitiesfirst=no
 
|groupbycommunity=yes
 
}}<!--  
 
-->{{PrintTopicHasNoAcceptedAnswer|topic={{FULLPAGENAME}}|intro=&#32;At the moment, the question has no accepted answer in&#32;|outro=<nowiki>.</nowiki>|link=all|pretty=yes}}<!--
 
 
-->{{#if:{{{Prehistory|}}}|<nowiki/>
 
-->{{#if:{{{Prehistory|}}}|<nowiki/>
 
==Broader History==
 
==Broader History==
Line 258: Line 270:
 
-->
 
-->
 
==Current View==
 
==Current View==
+
<!--
{{PrintTopicAcceptedTheoriesList
+
-->{{#if: {{{Current View|}}}|<p>{{{Current View|}}}<p>|}}<!--
  |topic={{FULLPAGENAME}}
+
--><!--
  |default=There is currently no accepted answer to this question.
+
--><!-- print the answers
  |formulationtext=yes
+
--><!--
|formulationfile=yes
+
--><p>{{PrintTopicAcceptedTheoriesList<!--
|description=yes
+
  -->|topic={{FULLPAGENAME}}<!--
|bullets=no
+
  -->|default=There is currently no accepted answer to this question.<!--
|linebreak=yes
+
  -->|communitiesfirst=yes<!--
  |communitiesfirst=yes
+
  -->|groupbycommunity=yes<!--
}}<!--  
+
-->}}</p>
-->{{#if: {{{Current View|}}}|<nowiki/><br/>
+
<!--
<nowiki/>
+
--><!--
{{{Current View|}}}|}}
+
--><!-- print the answer details: description etc.
 +
--><!--
 +
-->{{PrintTopicAcceptedTheoriesDetails|topic={{FULLPAGENAME}}|}}<!--
 +
-->
 
{{PrintTopicOpenQuestionsList
 
{{PrintTopicOpenQuestionsList
 
  |topic={{FULLPAGENAME}}
 
  |topic={{FULLPAGENAME}}
Line 280: Line 295:
 
}}
 
}}
 
==Related Topics==
 
==Related Topics==
{{#if:{{{Parent Topic|}}}|This topic is a sub-topic of [[{{{Parent Topic|}}}]].|}}
+
<!-- construct the manual array
 +
-->{{#if: {{{Parent Topic|}}}<!--
 +
-->|<!-- add to the array
 +
  -->{{#arraydefine: arrayManual|[[{{{Parent Topic|}}}]]|}}<!--
 +
-->|<!-- define an empty array
 +
  -->{{#arraydefine: arrayManual}}<!--
 +
-->}}<!--
 +
--><!--
 +
--><!-- create the union of the manual and calculated arrays of parent topics
 +
-->{{#arrayunion: arrayMerged|arrayManual|arrayParentPageLinks}}<!--
 +
--><!--
 +
-->{{#switch: {{#arraysize: arrayMerged}}<!-- 
 +
-->|0=<!-- nothing to do
 +
-->|<!-- print
 +
  -->This question is a subquestion of&#32;<!--
 +
  -->{{#arrayprint: arrayMerged||@@@@|@@@@|print=pretty}}<!--
 +
  -->.<!--
 +
-->}}<!--
 +
-->
 
{{PrintTopicSubtopics
 
{{PrintTopicSubtopics
 
  |topic={{FULLPAGENAME}}  
 
  |topic={{FULLPAGENAME}}  

Latest revision as of 00:36, 28 February 2023

This is the template for all types of Non-Definitional Topics (Descriptive, Normative). This template is to be used for all topics/questions the answers to which are descriptions or prescriptions (it is used by Form:Topic).

It should be called in the following format:

{{Topic
|Subject= //For first order questions, the subject must be a term registered in the encyclopedia. For higher order questions, the subject can be any lower level non-definitional theory question or theory.
|Topic Type= {Descriptive, Normative}
|Subfield= {Ontology, Dynamics, etc.}
|Heritable= {Yes, No}
|Inherited From= //the question that this question is inherited from
|Question Text Formula= //For heritable questions only.
|Question Title Formula= //For heritable questions only.
|Question Title= //Ignored for heritable questions.
|Question= //For non heritable questions only. For heritable questions, this is available to the editors only to use in cases when the text produced by the formula should be overridden. 
|Predicate= //Some text or a term registered in the encyclopedia
|Object Type= {Boolean, Class, Enumeration, Regular Expression, Text}
|Object Value True= //optional. Used only if Object Type=Boolean
|Object Value False= //optional. Used only if Object Type=Boolean
|Object Class= //optional. Used only if Object Type=Class
|Object Enum Values= //optional. Used only if Object Type=Enumeration
|Object Regexp= //optional. Used only if Object Type=Regexp
|Single Answer Text Formula=
|Multiple Answers Text Formula=
|Answer Title Formula=
|Description=
|Authors List=
|Formulated Year=
|Academic Events=
|Prehistory= 
|History=
|Current View=
|Parent Topic= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent. For now it is allowed as a backdoor so that it can be assigned manually.
|Related Topics= //This will be deprecated. It will be calculated automatically in an agent-relative way following the current inheritance hierarchy of that agent.
|Page Status=
|Editor Notes=
|Sorting Order=
}}

Edit the page to see the template text.