<noinclude>
=Wikis as publishing platforms=

Pad: https://pad.pzimediadesign.nl/p/specialissue-2017-09-18

=Wikis= 
introduction
* [https://en.wikipedia.org/wiki/Wiki Wikipedia page on wiki]
** Ward Cunningham video on wikis
* Pzi [[Wiki|wiki page on Wiki software]]

=Wikis as writing interface with separate reading interfaces=
==Projects== 
* Toneelstof 
** writing interface (wiki): http://toneelstof.be/w/Main_Page
** reading interface (website): http://toneelstof.be/
* Mondoteque
** writing interface (wiki): http://www.mondotheque.be/wiki/index.php/The_radiated_book
** reading interface (book): http://www.mondotheque.be/wiki/index.php/File:Book.pdf
**further documentation: [https://www.youtube.com/watch?v=5PTrkUKUlT8 Public Library / 09 / Lecture Femke Snelting] talk

* Media Design Graduation projects:
** writing interface (wiki): http://pzwiki.wdka.nl/mediadesign/Category:Graduation_work
** reading interface (website): https://www.pzimediadesign.nl/
** Help page for Graduation Work wiki pages: http://pzwiki.wdka.nl/mediadesign/Help:Graduation_work
    

=== investigate ===
* '''What does the reading interface reveal that the writing interface hides? And/or vise-versa.'''
* '''What wiki elements structure the reading interface?'''
* '''What alternative reading interface would you create for the project?'''



=wiki elements=
For a more extensive list see [[Wiki]]

==Users==
To edit a wiki you need most wikis to register as user.

Different user's groups have different privileges: 
* user: can edit and create pages 
* administrators: can delete pages, put other users into a different group
* bot

==Wiki Markup language==
Wiki Markup: structured text, simplified version of HTML, easily converted to HTML.

[https://en.wikipedia.org/wiki/Help:Cheatsheet Wiki Markup Cheatsheet]

==Pages==
==Pages Creation==
Pages can be created by:
* creating an empty page link, clicking it, and start editing. The following <nowiki>[[my empty page]]</nowiki> will translate to [[my empty page]] 
* adding the page name to URL bar, you'll be directly to the empty page, and start editing <nowiki>http://publicationstation.wdka.hro.nl/wiki/index.php/my empty page</nowiki>

* <span style="color:red">Red</span> link = previously non-existing page. 
* <span style="color:blue">Blue</span> link = existing page.

==Talk Pages==
Every Page has its respective Discussion or Talk page. 

Talk pages are the site of discussion and conflicts that go on to the making of an article.

An example: Talk page on Invisible [https://en.wikipedia.org/wiki/Invisible_Pink_Unicorn Pink Unicorn Wikipedia article]


==User Pages==

'''[http://beyond-social.org/prototypes/author-maps/wiki-author-articles.html 
Beyond Social Users & Articles Map]'''. A SVG map of the Users and the articles each has edited in the [http://beyond-social.org/ Beyond Social wiki]. 
It uses: 
* [https://d3j D3] Javascript library
* Python's [https://github.com/mwclient/mwclient mwclient] library
[https://gitlab.com/Castro0o/BS_UsersArticles_Map Source code] 

==Files and Images==
To include non-text media (images,pdfs,audio-video) on the wiki, a File page needs to be created as a place-holder for the file
* <nowiki>[[File:myimage.png]]</nowiki>
* the page must be saved
* click on the red link, of the file you want to upload
* Follow the instruction to upload your file

==Pages' Revision History==
The history of versions or revisions of a page is stored.

They can be accessible via "View History"

Each revision shows its author, time, action, and at times summary.

'''Revisions can be compared, edited and undone.'''

==Artworks exploring Wikipedia's Revision History==
'''[http://p-dpa.net/work/iraq-war-wikihistoriography/ The Iraq War: A History of Wikipedia Changelogs]''', James Bridle, collects the history of changes from the Wikipedia's article on The Iraq War between 2004 and 2009.

'''[http://www.epicpedia.org/ Epicpedia]''' Annemieke van der Hoek transforms Wikipedia's revision history into a theater script.

Cramer, Florian. 2011. “A Brechtian Media Design: Annemieke van Der Hoek’s Epicpedia.” In Critical Point of View: A Wikipedia Reader, 221–26. Amsterdam: Institute of Network Cultures. http://networkcultures.org/blog/publication/critical-point-of-view-a-wikipedia-reader/

== Structuring a wiki ==
What situations require an overall structure, more elaborate than its  "flat" systems of pages?

===Subpages: simple hierarchy===
Subpages are useful for organizing information hierarchically, as parent/child/grandchild 

A subpage of a given main page, is create by adding a slash, followed by the sub-page's name, to the main page name.
 <nowiki>[[main page/subpage/sub-subpage]]</nowiki>

Example: this very page [[Courses/Wikis-Publishing Platforms]] is a sub page from the [[Courses]] page 

<nowiki>{{Special:PrefixIndex/{{FULLPAGENAME}}/}}</nowiki> can be placed on a parent page to display all its children.

=== Namespaces: separate spaces ===
Namespaces are container for specific content. 

* Example: the Namespace Wrecks in this wiki was created for material dedicate to Wrecks project and not a part of the Publication Station [[Wrecks:Main_Page]] and [[FIN:Main_Page]]

* Note: Namespaces need to be created in the configurations of the wiki.

=== Categories: Tags, Hierarchies, Spaces, States === 
'''Categories''' are (the only) ways to tag content.

<nowiki>[[Category:courses]]</nowiki> a page to the courses category

Problems: No limit to the categories that can be added to a page.

=== Sematic Mediawiki ===

[https://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki Semantic MediaWiki] (SMW) to MediaWiki 
<blockquote>
While traditional wikis contain only text which computers can neither understand nor evaluate, SMW adds semantic annotations that allow a wiki to function as a collaborative database.</blockquote>


Properties and types (datatypes) are the basic way of entering semantic data in Semantic MediaWiki. Properties can be viewed as «categories for values in wiki pages». They are used by a simple mark-up, similar to the syntax of links in MediaWiki:

    [[Property name::property value]]

* [[https://www.semantic-mediawiki.org/wiki/Help:Introduction_to_Semantic_MediaWiki Introduction to Semantic MediaWiki]]

</noinclude>
<onlyinclude>

=API=
An API or application programming interface is an interface that allows interaction via other software. It allows things such as apps to be build on top of existing services, where the apps use the API to interact with the service.


==Web APIs==
Mediawiki API is a [http://en.wikipedia.org/wiki/Application_programming_interface#Web_APIs Web API].  

Essentially it means that the API is accessed thought '''HTTP requests''' and responds using '''JSON or XML object'''.

Note: might be helpful to install a JSON add on to your browser, to pretty-prints JSON content.
==Mediawiki API==
[http://www.mediawiki.org/wiki/API:Main_page Mediawiki API] allows many and very intricate request for information (and editing) from Mediawiki installations. 

A few examples will follow, you can request using your web browser. Including a Pretty-prints JSON extension on your browser, as it will help you read the API's responses. 



==Example: Page basic info==

http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&titles=Main_Page&prop=info PZI MD wiki Main Page

http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&titles=Wiki_publishing&prop=info This page

==Example: Page content==
http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&titles=Wiki_publishing&prop=revisions&rvprop=content This page Page


=== action<nowiki>=</nowiki>render ===
 action=render
Action render is a simple way of obtaining just the page content as HTML markup.

http://pzwiki.wdka.nl/mw-mediadesign/index.php?title=Wiki_publishing&action=render

==Decomposing an API request== 
 http://pzwiki.wdka.nl/mw-mediadesign/api.php? format=json & action=query & titles=Wiki_publishing & prop=revisions & rvprop=content

* <code>https://pzwiki.wdka.nl/mw-mediadesign/api.php?</code> - '''endpoint''' - the home page of the MediaWiki web service. It can be found by going to the [[Version:Special]] page of a wiki a searching for the API entry point 
* <code>format=json</code> - the format of the output. Can either be JSON of XML, although XML is being phased out
* <code>action=query</code> - what action to you want to performed. [http://www.mediawiki.org/wiki/API:Query query] is the most used, but there many more available options, such as editing and deleting pages.
'''Then comes the action specific parameters'''
* <code>titles=Wiki_publishing</code> - the page queried 
* <code>prop=revisions</code> - what [http://www.mediawiki.org/wiki/API:Properties properties] you want from of a page: revision. As no particular revision is specified the latest will be returned
* <code>rvprop=content</code> - what specific properties you want from the page revision in question: content. You could also ask for the <code>user</code> who created the last revision, or the <code>comment</code> left by the user. These properties can be combined in a single request. <code>rvprop=content|user|comment</code> 

==Example: Page revisions==

==Example: Images in a page==
http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&titles=Main_Page&prop=images

==Example:  categories a page belongs to==
http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&titles=Wiki_publishing&prop=categories

==Example: Category members - Pages belonging to a category==
 http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&list=categorymembers&cmtitle=Category:Special Issue

Documentation: https://www.mediawiki.org/wiki/API:Categorymembers

==Examples: Contributors to a page==
http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&titles=Main_Page&prop=contributors

==Example: Users of a wiki==
http://pzwiki.wdka.nl/mw-mediadesign/api.php?format=json&action=query&list=allusers&aulimit=100

limit of 100 users

</onlyinclude>

[[Category:XPUB]] 
[[Category:Special Issue]]