Testiwiki:Technical documentation

From Testiwiki
Jump to: navigation, search

This page contains all the technical documentation related to this Mediawiki environment.

Technical background and installation requirements

Versions:

  • MediaWiki: 1.11.0
  • PHP: 5.1.6 (apache2handler)
  • MySQL: 5.0.27

Requirements:

  • XML / Latin-UTF-8 conversion support (php-xml?)
  • PHP memory limit 8M -> 20M
  • GNU diff3
  • GD graphics library (php-gd)

Upcoming/Future extensions

  • Graphical editor
  • Distribution database
  • Analytica <-> Wiki converter

Extensions and add-ons

ContactPage

Creates a contact form. http://www.mediawiki.org/wiki/Extension:ContactPage

AddThis -banner

We have added banner for social bookmarking using Addthis.com service. Modifications needed to Erac.php

<!-- AddThis Button BEGIN -->
<a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&username=juhav">
<img src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" width="125" height="16" alt="Bookmark and Share" style="border:0"/></a>
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#username=juhav"></script>
<!-- AddThis Button END -->

PageCSS

Used to change background color of variable pages.

PageID

This extension digs Page_id from wiki database. Used to create Analytica identifiers.

Lockdown

Used for page protection purposes.

FCKeditor

WYSIWYG editor for wiki.
More information: http://mediawiki.fckeditor.net/index.php/Main_Page

Discussion Threading

Better discussion possibilities
More information: http://www.mediawiki.org/wiki/Extension:DiscussionThreading

ParserFunctions

This extension enables various kinds of functions (ie. math and conditional templates)
More information: http://meta.wikimedia.org/wiki/ParserFunctions

Google Maps

This extension enables GoogleMaps in wikipages
More information: http://www.mediawiki.org/wiki/Extension:Google_Maps

ToolTip

This extension is used to add tooltip-boxes into wikitext
More information: http://www.mediawiki.org/wiki/Extension:Tooltip

SidebarEx

This extension provides a means of adding page links to the 'sidebar' based on group membership & per-user basis
More information: http://www.mediawiki.org/wiki/Extension:SidebarEx

DynamicPageList2

This extension is used for making lists etc. automatically
More information: http://www.mediawiki.org/wiki/Extension:DynamicPageList

Password Reset

This extension is used for password resetting in case user has forgotten her password
More information: http://www.mediawiki.org/wiki/Extension:Password_Reset

Contribution Scores & Contributors

Extensions for counting contribution scores
More information -> http://www.mediawiki.org/wiki/Extension:Contribution_Scores

GroupBasedAccessControl

Extension for access control
More detailed information ->http://www.mediawiki.org/wiki/Extension:Group_Based_Access_Control

AjaxShowEditors

This extension allows you to see who is editing a page that you're editing.

More detailed information can be found from http://www.mediawiki.org/wiki/Extension:Ajax_Show_Editors

Files: located in /extension/AjaxShowEditors

News

News extension allows dynamic page-listing functions.

Files: (/extensions/News/)

  • install.settings
  • News.php
  • NewsRenderer.php

More detailed information about News extension can be found from http://www.mediawiki.org/wiki/Extension:News

Cite

Cite extension is used for making references and footnotes

More detailed information can be found from http://www.mediawiki.org/wiki/Extension:Cite/Cite.php

CreateBox

CreateBox extension is used for page creation. This extension replaces old inputbox extension.

More detailed information can be found from http://www.mediawiki.org/wiki/Extension:CreateBox

Imagemap

Imagemap extension is used for creating imagemaps.

Files: (/extensions/ImageMap/)

  • desc-20.png
  • desc.svg
  • Foo.jpg
  • ImageMap.i18n.php
  • ImageMap.php
  • ImageMap_body.php

More detailed information about ImageMap extension available from http://www.mediawiki.org/wiki/Extension:ImageMap

Additional buttons

All extra buttons require additions to Monobook.js

Table

Table -button is used to create tables. Icon available: Button_array.png

New Discussion

Discussion -button is used to create new discussion. Button implements discussion -template. Icon available: discussion.png

Attack

Attack -button is used to create attacking argumentations. Button implements attack -template. Icon available: attack.png

Defend

Defend -button is used to create defending argumentations. Button implements defend -template. Icon available: defend.png

Comment

Comment -button is used to create comments in argumentations. Button uses comment -template. Icon available: comment.png

Variable

Variable -button creates automatically variable structures. Icon available: variable.png

Link to discussion

Link to discussion -button creates link to discussion to the related discussion page. Button uses disclink -template. Icon available: disclink.png

Modifications

Heande login

Forced to return to Main Page if logged in from No access-page. Changes needed:
SpecialUserlogin.php (row 59) Replaced this:
$this->mReturnTo = $request->getVal( 'returnto' );
With this:
if($request->getVal( 'returnto' )=="No_Access") { $this->mReturnTo = 'Main_Page'; } else $this->mReturnTo = $request->getVal( 'returnto' );

Discussion extension

Finnish alphabeth seems to take more space than other characters so we need to alter the source code a bit:
Discussion.php (rows 593 and 748)</br> replace this:
if (strlen($t) > $params['characters_max'])</br> with this:
if (strlen($t) > $params['characters_max']+300)</br>


Printable version CSS

We need to hide a lot of stuff from printable version (skins/common/commonPrint.css):

#eracBanner { display:none; }
div#p-cactions { display:none; }
#palkki { display:none; } /* see EracBar */
#eracLeft { display:none; }
#tagform { display:none; }
#footer { display:none; }
#discussion{ display:none; } /* see discussion modification */
#eracContent {
	background:none;
	margin: 0;
	padding: 0;
}
div.patrollink { display:none; }
#bodyContent { background-color: #fff !important; }
#catlinks { display:none; }
#siteSub { display:none; }
#BreadCrumbsTrail { display:none;}

h1, h2, h3, h4, h5, h6 {
	font-weight: bold;
	color: black; /* added */
        border-bottom: none;
}

body {
    background: none; /* this is changed */
    font-size: 11pt !important;
    color: Black;
    margin: 0;
    padding: 0;
}

EracBar
Violet EracBar needs id (so it can be easily hidden from printable version:
Erac.php (row 117 or 134) replace <td colspan="2" valign="middle" style="padding-top: 3px; height: 25px; background-color: #661463"> with <td colspan="2" valign="middle" id="palkki">
Define td#palkki to erac/main.css: td#palkki { padding-top: 3px; height: 25px; background-color: #661463 }

Discussion modification
We need to define div id to discussion extension (so it can be easily hidden from printable version:
MediaWiki:Bottom-notice-ns-0 content should start with <div id="discussion"> and end with </div>

Supported filetypes

File Type
ana Analytica
ppt Microsoft PowerPoint
pps Powerpoint Show
xls Microsoft Excel
pdf Adobe
doc Microsoft Word
tif Tagged Image File -picture
png Portable Network Graphics -picture
gif Graphics Interchange Format -picture
jpg & jpeg Joint Photographic Experts Group -picture
ogg Audio -file
zip Compressed file format

Changes made to LocalSettings.php

  • Note! Analytica support requires also modification to /upload/UploadBase.php

Linking

Font changed

Main font is changed to Arial Unicode Ms due to problems with Internet Explorer and arrows used in argumentation. Printable version's font is changed to Times
Changes in Main.css (Monobook skin)

body {
	font: x-small sans-serif;
	font-family: "Arial Unicode Ms", Arial, sans-serif; 
	background: #f9f9f9 url(headbg.jpg) 0 0 no-repeat;
	color: black;
	margin: 0;
	padding: 0;
}


Changes in commonPrint.css

body {
    background: White;
    /*font-size: 21pt important;*/
    color: Black;
    font-family: times;
    margin: 0;
    padding: 0;
}

Templates

Discussion

This template is implemented when user creates discussions using Add discussion -button. Template contains basic structure of a discussion/argumentation model.

Parameters

  1. {{{Statements}}} is the topic of discussion.
  2. {{{Resolution}}} is the outcome of discussion. It may be a full resolution (only one statement is valid after the discussion), or partial resolution (several competing statements are still valid).
  3. {{{Argumentation}}} contains argumentation supporting/attacking/commenting the statements.
  4. If {{{Closed}}} parameter contains something, the page will be categorised into Category:Closed discussions, otherwise Category:Open discussions.


Attack

This template is implemented when user creates attacking argumentation using Attack -button. Template contains attack argumentation structure and parameters for user to add.

Parameters

  1. {{{1}}} is number of statement
  2. {{{2}}} is content of statement
  3. {{{3}}} is name of argumentor


Defend

This template is implemented when user creates defending argumentation using Defend -button. Template contains defend argumentation structure and parameters which are set by user.

Parameters

  1. {{{1}}} is number of statement
  2. {{{2}}} is content of statement
  3. {{{3}}} is name of argumentor


Comment

This template is implemented when user creates comment using Comment -button. Template contains comment argumentation structure and parameters which are set by user.

Parameters

  1. {{{1}}} is number of statement
  2. {{{2}}} is content of statement
  3. {{{3}}} is name of argumentor


Disclink

This template is implemented when user creates a link to a discussion using Link to discussion -button. Template generates a link to the discussion page.

Parameters

  1. {{{1}}} is topic of discussion


Prettytable

This style-template is used in tables to make them look a little better. Template is copied from Wikipedia.