MediaWiki API result

This is the HTML representation of the JSON format. HTML is good for debugging, but is unsuitable for application use.

Specify the format parameter to change the output format. To see the non-HTML representation of the JSON format, set format=json.

See the complete documentation, or the API help for more information.

{
    "compare": {
        "fromid": 1,
        "fromrevid": 1,
        "fromns": 0,
        "fromtitle": "Main Page",
        "toid": 2,
        "torevid": 2,
        "tons": 4,
        "totitle": "HaFrWiki:Community portal",
        "*": "<tr><td colspan=\"2\" class=\"diff-lineno\" id=\"mw-diff-left-l1\" >Line 1:</td>\n<td colspan=\"2\" class=\"diff-lineno\">Line 1:</td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>'<del class=\"diffchange diffchange-inline\">''MediaWiki has been successfully installed</del>.<del class=\"diffchange diffchange-inline\">'''</del></div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{{TOCright}}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== Why a Wiki for yourself? ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"># For myself!</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">#* At home or not, I can use any computer with an internet connection to read and/or write pages containing knowledge I have collected. A Wiki gives any user the possibility to access and share information anywhere in the world with anybody.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">#* I am using 2 wiki</ins>'<ins class=\"diffchange diffchange-inline\">s at this moment, </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">#** An Intranet version at home on my MacBookPro as an extension for my mind.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">#** An Internet version at One.com for sharing Information with others. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"># Sharing information with people I like! </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">#* Meaning not everybody can share his ideas here. To share information you need my permission to edit/change pages. if you want to reach me, you can use email.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"># I am convinced wikis, especially [[WikiPedia]], have an added value to humanity</ins>.</div></td></tr>\n<tr><td class='diff-marker'>&#160;</td><td class='diff-context'></td><td class='diff-marker'>&#160;</td><td class='diff-context'></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div><del class=\"diffchange diffchange-inline\">Consult </del>the <del class=\"diffchange diffchange-inline\">[//meta</del>.<del class=\"diffchange diffchange-inline\">wikimedia.org/wiki/Help:Contents User's Guide] for </del>information <del class=\"diffchange diffchange-inline\">on using the </del>wiki <del class=\"diffchange diffchange-inline\">software</del>.</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== Portal and Security ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Everyone can help to build [[Main_Page|My-Harm-Wiki]] into a better site by editing </ins>the <ins class=\"diffchange diffchange-inline\">existing articles</ins>. &#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The </ins>information <ins class=\"diffchange diffchange-inline\">of this </ins>wiki <ins class=\"diffchange diffchange-inline\">is partly public shared, partly shared to a selected group and partly strictly personal. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">These facts make it impossible to grant access to anybody</ins>. <ins class=\"diffchange diffchange-inline\">Also not everybody who has read-access to articles is also allowed to edit these pages or even to create new pages. So I need a Security Model for my wikis!</ins></div></td></tr>\n<tr><td class='diff-marker'>&#160;</td><td class='diff-context'></td><td class='diff-marker'>&#160;</td><td class='diff-context'></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>== <del class=\"diffchange diffchange-inline\">Getting started </del>==</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div>== <ins class=\"diffchange diffchange-inline\">Security Model </ins>==</div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>* [//www.mediawiki.org/wiki/<del class=\"diffchange diffchange-inline\">Manual:Configuration_settings Configuration settings list</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">MediaWiki does not support or have a Security Model. So I decided to create one based on the '''R'''ole '''B'''ased '''A'''ccess '''C'''ontrol '''M'''odel ([[wikipedia:RBAC|RBAC Model]]). </ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>* [//www.mediawiki.org/wiki/<del class=\"diffchange diffchange-inline\">Manual</del>:<del class=\"diffchange diffchange-inline\">FAQ MediaWiki FAQ</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The model works as follows. The first 2 most important implementations for the model is:</ins></div></td></tr>\n<tr><td class='diff-marker'>\u2212</td><td class='diff-deletedline'><div>* <del class=\"diffchange diffchange-inline\">[https</del>:/<del class=\"diffchange diffchange-inline\">/lists</del>.<del class=\"diffchange diffchange-inline\">wikimedia</del>.<del class=\"diffchange diffchange-inline\">org</del>/<del class=\"diffchange diffchange-inline\">mailman</del>/<del class=\"diffchange diffchange-inline\">listinfo</del>/<del class=\"diffchange diffchange-inline\">mediawiki</del>-<del class=\"diffchange diffchange-inline\">announce </del>MediaWiki <del class=\"diffchange diffchange-inline\">release mailing list</del>]</div></td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* Every ''User'' belongs to at least one ''Role''.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* Every ''wiki-Article'' belongs to at least one ''Category''.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Look at the bottom of this page. You see that this page belongs to the Category '''Index'''. This relation has to be made when the pages is created. It is always possible to change this page-category relation.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;br&gt;The relation between User and Role (which is named UserGroup in this wiki) is created and maintained by the wiki-administrator and is hidden for the user. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Now the Roles (or UserGroups) has to have a relation to the Categories. But this relation needs an extra attribute the so-called access-privilege. This access privilege is based on the database access as described by the Create CRUD matrix ('''C'''reate, '''R'''ead, '''U'''pdate and '''D'''elete). This structure has been created using extsing and new functionali</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">ty&#160; in the MediaWiki database. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharmcenter&quot; width=&quot;875&quot; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! colspan=&quot;5&quot; width=&quot;875&quot; | Tables</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;175&quot; | User</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;175&quot; | UserGroup</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;175&quot; | Ug2Cat</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;175&quot; | CategoryLink</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;175&quot; | Page</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|- style=&quot;vertical-align:top;&quot; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; width=&quot;174&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;010&quot; |i </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;125&quot; | user_id</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;040&quot; | &lt;----&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| s || user_name || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| s || user_real_name || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| b || user_password || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| b || user_new_password || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; width=&quot;174&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;010&quot; | i </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;125&quot; | ug_user</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;040&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! s || ug_group || &lt;-----&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| colspan=&quot;3&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| colspan=&quot;3&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| colspan=&quot;3&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> |</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; width=&quot;174&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;010&quot; | i </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;125&quot; | u2g_id</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;040&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! s </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! u2g_ug </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! i || u2g_cat || &lt;----&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| i || u2g_right || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|--</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| s || u2g_description || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; width=&quot;174&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| colspan=&quot;3&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|- </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;010&quot; | i </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;125&quot; | cl_from </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;040&quot; | &lt;----&gt; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! s </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! cl_to </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| e || cl_type || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| colspan=&quot;3&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| colspan=&quot;3&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; width=&quot;174</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| colspan=&quot;3&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;010&quot; | i </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;125&quot; | page_id</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;040&quot; | &amp;nbsp; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| i || page_namespace || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| s || page_title || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| b || page_restrictions || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| i || page_counter || &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;br&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; type=&quot;border:0;&quot; width=&quot;875&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|- style=&quot;vertical-align:top;font-size:0.75em;&quot; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! colspan=&quot;3&quot; style=&quot;text-align:center;&quot; | Description/Explanation/Illustration </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|- style=&quot;vertical-align:top;font-size:0.75em;&quot; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;440&quot; | The field abbreviations for the column type are:</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>* <ins class=\"diffchange diffchange-inline\">b : tinyblob</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* e : enum</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* i : Integer</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* s : varchar(255)</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;010&quot; | &amp;nbsp;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;440&quot; | u2g_right is an enum. The values are stored in the table ''CrudRights' and have the values:</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* 0 : No-CRUD rights</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* 1 : create</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* 2 : read</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* 4 : update</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* 8 : delete</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The tables User, Usergroup, CategoryLinks and Page are in the basic MediaWiki implementation. The tables Ug2Cat and CrudRight are new.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The presented RBAC Schema is very abstract and it may be difficult to be used without giving an example. Therefor all database-tables are shown below and their changes for usage of the RBAC model. In this example the imaginary Usergroup '''''HAL''''' and Category '''''WorkSpace''''' are introduced &lt;ref&gt;Every intended reference to movie ''</ins>[<ins class=\"diffchange diffchange-inline\">[wikipedia:2001:_A_Space_Odyssey_(film)|2001 a Space Odyssey]]'' is coincidence.&lt;/ref&gt;.&#160; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">=== User ===</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The table User is not altered. Every new user can be added, deleted, changed as usual.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">=== UserGroup ===</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The structure of the UserGroup table is not altered. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">Only the content has to be changed (by changing the '''LocalSetting.php''' file).</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">To make optimal usage of the power of the MediaWiki Groups and the RBAC implementation it is necessary to limit the normal usage of the users.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;br&gt;Therefor it is needed to alter/add the settings of the ''wgGroupPermissions'' in ''LocalSettings.php''.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;br&gt;'''Please note''':</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* In a standard MediaWiki implementation the ''wgGroupPermission'' is not&#160; present, so you'll need to add these statements.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* In this example-implementation a user can not create an account. Only the sysop can.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;syntaxhighlight lang=&quot;php&quot;&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">/*</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">** Implicit group for all visitors</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">*/</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['*'&#160; &#160; &#160;  ]['createaccount'] = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['*'&#160; &#160; &#160;  ]['createpage'&#160;  ] = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['*'&#160; &#160; &#160;  ]['createtalk'&#160;  ] = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['*'&#160; &#160; &#160;  ]['read'&#160; &#160; &#160; &#160;  ] = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['*'&#160; &#160; &#160;  ]['edit'&#160; &#160; &#160; &#160;  ] = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['*'&#160; &#160; &#160;  ]['writeapi'&#160; &#160;  ] = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\"> </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">/*</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">** Implicit group for all logged-in accounts</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">*/</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['user'&#160; &#160; ]['move']&#160; &#160; &#160; &#160; &#160; = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['user'&#160; &#160; ]['read']&#160; &#160; &#160; &#160; &#160; = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['user'&#160; &#160; ]['edit']&#160; &#160; &#160; &#160; &#160; = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['user'&#160; &#160; ]['upload']&#160; &#160; &#160; &#160; = false;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">/*</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">** Makes every User a member of the bot group</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">*/</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['bot'&#160; &#160;  ]['bot']&#160; &#160; &#160; &#160; &#160;  = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['bot'&#160; &#160;  ]['edit']&#160; &#160; &#160; &#160; &#160; = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['bot'&#160; &#160;  ]['createpage']&#160; &#160; = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">$wgGroupPermissions['bot'&#160; &#160;  ]['createtalk']&#160; &#160; = true;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;/syntaxhighlight&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">If you make every new-user member of the bot-group, he/she can do basic editing. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The next step is to create a new usergroup with explicit rights to be used in combination with the attached category (See later).</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">In the examples here presented this usergroup is called 'HAL'. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">See for details of Usergroups:</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">*&#160; [http:</ins>//www.mediawiki.org/wiki/<ins class=\"diffchange diffchange-inline\">Localsettings#User_rights User Rights</ins>] <ins class=\"diffchange diffchange-inline\">on Mediawiki descpription for the LocalSettings.php. &lt;br&gt;The '''$wgGroupPermissions''' is an associative array, controlling permissions for creating and editing pages for your different user groups. In this array, custom permission levels can be created, and permission levels for the different user groups can be set.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>* [<ins class=\"diffchange diffchange-inline\">http:</ins>//www.mediawiki.org/wiki/<ins class=\"diffchange diffchange-inline\">Help</ins>:<ins class=\"diffchange diffchange-inline\">User_rights Help User Rights</ins>] <ins class=\"diffchange diffchange-inline\">description on Mediawiki.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">=== UserGroup to Category ===</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; width=&quot;950&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! colspan=&quot;2&quot; style=&quot;text-align:center;&quot; | Table Ug2Cat Description</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-&#160; style=&quot;vertical-align:top;&quot; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;475&quot; | This table is the key for the RBAC implementation. It is used for implementation of the functions:</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>* <ins class=\"diffchange diffchange-inline\">Usergroup has all, partial or none CRUD-rights to all categories</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* UserGroup has all, partial or none CRUD-rights to a specific category</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* All user groups have all, partial or none CRUD-rights to a specific category.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| width=&quot;475&quot; | </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharm&quot; width=&quot;450&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;112&quot; | Name</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;112&quot; | Type</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;226&quot; | Description</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|&#160; u2g_id&#160; || int(10) || Auto increment Row id</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| u2g_ug&#160; || char(16) || Usergroup name</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| u2g_cat || int(10)) || Category name id</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| u2g_right || int(10) || Sum of enumerated rights</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| u2g_description || varchar(64)&#160; || Short description</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">==== Scenario examples ====</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">{| class=&quot;wikitableharmcenter&quot; width=&quot;975&quot;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|- style=&quot;vertical-align:top;&quot; </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;300&quot; style=&quot;text-align:left;&quot; | Scenario</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;050&quot; | u2g_id</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;075&quot; | u2g_ug</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;075&quot; | u2g_cat</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;075&quot; | u2g_right</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">! width=&quot;350&quot; | u2g_description</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| style=&quot;text-align:left;&quot; | UserGroup has access to all Categories</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| Auto || sysop || 0 || 15 </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| style=&quot;text-align:left;&quot; | Sysop has all CRUD-access (15) to all Categories (0) </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| style=&quot;text-align:left;&quot; | UserGroup has access to 1 Category </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| Auto || hal || 26 || 15 </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| style=&quot;text-align:left;&quot; | HAL has all CRUD-access (15) to Category WorkSpace (26) </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|-</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| style=&quot;text-align:left;&quot; | Every UserGroup has access to 1 Category </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| Auto || * || 9 || 2 </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">| style=&quot;text-align:left;&quot; | Everyone (*) has CRUD-read-access (2) to Category Help (9) </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">|}</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">A typical implementation of the ug_cat</ins>:</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;syntaxhighlight lang=&quot;sql&quot;&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">INSERT into `ug2cat` (`u2g_ug`, `u2g_cat`, `u2g_right`, `u2g_description`) VALUES </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">( 'sysop'&#160; ,&#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160;  0, 15, &quot;Sysop has all-access to all categories&quot;),</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">( 'hal'&#160; &#160; ,&#160; (Select `cat_id` FROM `category` WHERE LOWER(`cat_title`) = 'workspace'&#160; &#160; ), 15, &quot;All-Access-Rights to category WorkSpace&quot;),</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">( '*'&#160; &#160; &#160; ,&#160; (Select `cat_id` FROM `category` WHERE LOWER(`cat_title`) = 'help'&#160; &#160; &#160; &#160;  ),&#160; 2, &quot;Everyone has Read (view) Access-Rights to category Help&quot;); </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;</ins>/<ins class=\"diffchange diffchange-inline\">syntaxhighlight&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">=== CategoryLink ===</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The tables is not altered. The content is changed by adding a category to every wiki page.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">=== Page ===</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The table is not altered. The content is maintained by the normal wiki handling.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== Code changes ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The installation of WikiRBAC does not require additional changes to the MediaWiki code except for the file LocalSettings</ins>.<ins class=\"diffchange diffchange-inline\">php</ins>.</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* Adding of the additional files for WikiRBAC by adding &lt;syntaxhighlight lang=&quot;php&quot;&gt;require_one('/extensions</ins>/<ins class=\"diffchange diffchange-inline\">WikiRBAC</ins>/<ins class=\"diffchange diffchange-inline\">WikiRBAC.php');&lt;</ins>/<ins class=\"diffchange diffchange-inline\">syntaxhighlight&gt;.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* Adding of the '''''wgGroupPermissions''''' as described above.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The installation requires the addition of 2 extra tables to the MediaWiki Database. </ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* ug2cat</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* ug2spec</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The SQL-statements to create the 2 tables are provided in the installation (RBAC_CRUD.sql).</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The WikiRBAC uses the MediaWiki Hooks to add the RBAC</ins>-<ins class=\"diffchange diffchange-inline\">Functionality to </ins>MediaWiki<ins class=\"diffchange diffchange-inline\">. The 2-hooks used are:</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* 'MediaWikiPerformAction' which is used for accessing of normal pages using the the UserGroup to Categories RBAC Model</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* 'BeforeInitialize', which is used for accessing the Special Pages using the UserGroup to Special Pages RBAC Model.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">The WikiRBAC consists on the files:</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* Util.php, Utility class for logging, and static implemenations</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* WikiRBAC.php, main entry point for both hooks</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* WikiRBAC.Hooks.php, Currently not used, but basics for testing</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* WikiRBAC.i18n.php, Language specific texts used in the extension. Currently only English and Dutch support.</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* WikiRBAC.i18n.magic.php, Magic functions</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* WikiRBAC.settings.php</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">and there are changes made to:</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">* LocalSetting.php</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== See also ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;span class=&quot;editsection&quot;&gt;[[#content|top]]&lt;/span&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">== Reference ==</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;span class=&quot;editsection&quot;&gt;[[#content|top]]&lt;/span&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">&lt;references/&gt;</ins></div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div>&#160;</div></td></tr>\n<tr><td colspan=\"2\">&#160;</td><td class='diff-marker'>+</td><td class='diff-addedline'><div><ins class=\"diffchange diffchange-inline\">[[Category:Index]</ins>]</div></td></tr>\n"
    }
}