Difference between revisions of "Template:Student"

From AIRWiki
Jump to: navigation, search
 
Line 1: Line 1:
<noinclude>This template simplifies the creation of articles about graduate and undergraduate students. When inserted in a person's page, it creates a decorative table with much helpful information. It also takes care of annotating the given data semantically, so that users can easily find it or query it in other articles. Do not try to read this page's source code for learning table syntax &ndash; there are far easier ways of creating tables in MediaWiki.
+
<noinclude>This template simplifies the creation of articles about generic users, in our case (non PhD!) students. For PhD students check the template at [[Template:PhD]], for professors check the template at [[Template:Prof]].
 +
When inserted in a person's page, it creates a decorative table with much helpful information. It also takes care of annotating the given data semantically, so that users can easily find it or query it in other articles. Do not try to read this page's source code for learning table syntax &ndash; there are far easier ways of creating tables in MediaWiki.
  
 
To use this template, insert the following at the beginning of your user page. All fields are strictly '''optional''' and should be omitted if no data is given.
 
To use this template, insert the following at the beginning of your user page. All fields are strictly '''optional''' and should be omitted if no data is given.
Line 7: Line 8:
 
  | firstname=Mario
 
  | firstname=Mario
 
  | lastname=Rossi
 
  | lastname=Rossi
  | email=mario.rossi@elet.polimi.it
+
  | email=mario.rossi(at)elet(dot)polimi(dot)it
 
  | advisor=NomeCognome (the first name and the last name of your advisor, with no spaces in between)
 
  | advisor=NomeCognome (the first name and the last name of your advisor, with no spaces in between)
 
  |        ***NOTE:*** you can specify a LIST of advisors, separating them with a semicolon (;)
 
  |        ***NOTE:*** you can specify a LIST of advisors, separating them with a semicolon (;)
  | resarea=The name of your research area
+
  | projectpage=The name of your project page
|        ***NOTE:*** you can specify a LIST of research areas, separating them with a semicolon (;)
+
 
  | photo=name of picture (e.g. "Mario.jpg"), use "upload file" on the left
 
  | photo=name of picture (e.g. "Mario.jpg"), use "upload file" on the left
  | status=active or inactive according to the fact that it is still a student or not
+
  | status=user status. When a user is not active anymore she or her advisor should put her status to inactive.
 
}}</pre>
 
}}</pre>
 
The order of the fields is not relevant. The template should be given as the ''first'' thing on a page.
 
The order of the fields is not relevant. The template should be given as the ''first'' thing on a page.
  
</noinclude><includeonly>
+
</noinclude>
 +
 
 +
<includeonly>
 
{| style="padding:10px" align="right" cellpadding="2" cellspacing="0" width="350px"
 
{| style="padding:10px" align="right" cellpadding="2" cellspacing="0" width="350px"
  
 
|-
 
|-
{{Tablelongrow|Color=#ADC299|Style=border-top: 1px solid #808080;|Value=<b>{{{firstname}}} {{{lastname}}}</b>}}
+
{{Tablelongrow|Color=#CCF|Style=border-top: 1px solid #808080;|Value=<b>{{{firstname}}} {{{lastname}}}</b>}}
  
 
|-
 
|-
Line 36: Line 38:
  
 
|-
 
|-
{{#ifeq:{{{advisor|}}}|||{{#arraymap:{{{advisor|}}}|;|x|[[hasAdvisor::User:x| ]]|}}}}
+
{{#ifeq:{{{advisor|}}}|||{{#arraymap:{{{advisor|}}}|; |x|[[hasAdvisor::User:x| ]]|}}}}
 
{{Tablerow|Label=Advisor|Value=<ul>{{#arraymap:{{#show: User:{{PAGENAME}} | ?hasAdvisor }}|, |x|<li>x</li>|}}</ul>}}
 
{{Tablerow|Label=Advisor|Value=<ul>{{#arraymap:{{#show: User:{{PAGENAME}} | ?hasAdvisor }}|, |x|<li>x</li>|}}</ul>}}
  
 
|-
 
|-
{{#ifeq:{{{resarea|}}}|||{{#arraymap:{{{resarea|}}}|;|x|[[hasResArea::x| ]]|}}}}
+
{{#ifeq:{{{projectpage|}}}|||{{Tablerow|Label=Project page|Value=[[{{{projectpage}}}]]}}}}
<!-- NOTE: this solution for research areas is nicer to see, but it doesn't work fine
+
          with areas whose name contains the sequence of chars ", " as it's used as
+
          a separator for ASK results
+
{{Tablerow|Label=Research Areas|Value=<ul>{{#arraymap:{{#ask: [[User:{{PAGENAME}}]] | ?hasResArea= }}|, |x|<li>x</li>|}}</ul>}}
+
-->
+
{{Tablerow|Label=Research Areas|Value={{#show: User:{{PAGENAME}} | ?hasResArea }}}}
+
 
+
 
|-
 
|-
{{#ifeq:{{{projectpage|}}}|||{{Tablerow|Label=Project page(s)|Value=<ul>{{#arraymap:{{{projectpage|}}}|;|x|<li>[[x]]</li>|}}</ul>}}}}
+
{{Tablerow
 +
  |Label=Project page(s)
 +
  |Value= {{#arraymap: {{#ask: [[Category:Project]][[prjStudent::User:{{PAGENAME}}]]}} }}
 +
 
 +
}}
 
|-
 
|-
 
{{#ifeq:{{{status|}}}|||{{Tablerow|Label=Status|Value=[[userStatus::{{{status}}}]]}}}}
 
{{#ifeq:{{{status|}}}|||{{Tablerow|Label=Status|Value=[[userStatus::{{{status}}}]]}}}}
|}[[Category:Student]]</includeonly>
+
|}
 +
[[Category:Student]]
 +
</includeonly>

Latest revision as of 22:30, 5 June 2016

This template simplifies the creation of articles about generic users, in our case (non PhD!) students. For PhD students check the template at Template:PhD, for professors check the template at Template:Prof. When inserted in a person's page, it creates a decorative table with much helpful information. It also takes care of annotating the given data semantically, so that users can easily find it or query it in other articles. Do not try to read this page's source code for learning table syntax – there are far easier ways of creating tables in MediaWiki.

To use this template, insert the following at the beginning of your user page. All fields are strictly optional and should be omitted if no data is given.

Please delete all lines that you do not give useful information for!

{{Student
 | firstname=Mario
 | lastname=Rossi
 | email=mario.rossi(at)elet(dot)polimi(dot)it
 | advisor=NomeCognome (the first name and the last name of your advisor, with no spaces in between)
 |         ***NOTE:*** you can specify a LIST of advisors, separating them with a semicolon (;)
 | projectpage=The name of your project page
 | photo=name of picture (e.g. "Mario.jpg"), use "upload file" on the left
 | status=user status. When a user is not active anymore she or her advisor should put her status to inactive.
}}

The order of the fields is not relevant. The template should be given as the first thing on a page.