Print Kiosk
WORK SESSION 3 🐸
@Andre: how to render templates
@Clara: review metadata on JSON + write test questions for survey
WORK SESSION 2 🐸
21 September 2018 Andre, Clara, Manetta
Python interface to wiki API
- mwclient
- dowload all content pages's content (NS 0) - to make word analysis
- search: pages with term in title/content
- pages created/last edited in given month
mw client
Tutorial https://github.com/mwclient/mwclient/wiki/Tutorial:Querying-Wikipedia-with-mwclient
Prototype workflows
page index
> i guess we need an index of pages on before hand? < yes! this creates a python data object > dict {} > listing all the pages (andré is working on this)
questions
Type 1 - Are you a morning or an evening person? (API metadata)
Q1 > each question makes the list smaller ... Q2 > and smaller ... Q3 > and smaller ... > list of pages > article index
Type 2 - What topic are you interested in? (API search)
Type 3 - ? (Liberian chat, IRC, manual selection)
article index (to come)
api content gathering (next step)
layouts (far future)
Links & tools that can be useful
- IRC bot - https://pzwiki.wdka.nl/mediadesign/Building_an_IRC_bot_in_python
- Curses, a terminal interface - https://docs.python.org/3/howto/curses.html
- mwclient mediawiki API wrapper - https://github.com/mwclient/mwclient
Hardware printer screen interface?
- inspiration from the fancy printers here?
- or inspiration from the riso print (has a more interesting interface)
- use curses?
WORK SESSION 1 🤯
18 September 2018 Manetta, Andre, Clara
👽 🤖 💩 (in no particular order)
- poop is kyute
Books / websites / ...
Working with Mediawiki by Yaron Koren http://www.workingwithmediawiki.com/book/
For next session
- questionnaire translated to API calls (even using python when necessary)
- prototype
- all pages content download and identifying most common words
http://www.workingwithmediawiki.com/wwm-2ed-cover.png
TO DOs - quick n dirty
- Andre: API overview.
- Manetta: style
- users can change elements of the wiki (once they are in the administrator group?)
- documentation to change styles > README.md file in the git repo > https://github.com/wdka-publicationSt/BeyondSocial-wiki
- Clara: a glossary of the categories: what do they mean, this could be a yearly task for a student editorial board (!)
Interwiki: https://www.mediawiki.org/wiki/Manual:Interwiki
Questions
- server: hosted by ICT @ wdka > 194.61.64.188
- ssh access: ssh key
- backups? > We genereren momenteel 1x per week een snapshot, verder worden er (nog) geen backups aangemaakt.
- check email address > wdka.beyondsocial@hr.nl (sent an email to it, let's see if someone replies)
- looking at the article forms, maybe good to do together?
API
- Mediawiki API documentation https://www.mediawiki.org/wiki/API:Main_page
- BS API Sandbox Special:ApiSandbox - a place for test
- BS API endpoint http://beyond-social.org/wiki/api.php
=Page Properties
https://www.mediawiki.org/wiki/API:Properties
https://www.mediawiki.org/w/api.php?action=help&modules=query
Property queries get various data about a list of pages specified with either the titles=, pageids=, or revids=
To use the propery query, specify prop=property1|property2... in the url.
'page's metadata
- links of the page http://beyond-social.org/wiki/api.php?format=json&action=query&titles=Self_organisation_in_urban_commons_networks&prop=links
- linkshere pages that link to the give page http://beyond-social.org/wiki/api.php?format=json&action=query&titles=Self_organisation_in_urban_commons_networks&prop=linkshere
- categories of a page prop=categories http://beyond-social.org/wiki/api.php?format=json&action=query&titles=Self_organisation_in_urban_commons_networks&prop=categories
- example http://beyond-social.org/wiki/api.php?format=json&action=query&titles=Self_organisation_in_urban_commons_networks&prop=info
- touched is an interesting property, stating the last time a page was changed
- page's images: http://beyond-social.org/wiki/api.php?format=json&action=query&titles=Self_organisation_in_urban_commons_networks&prop=images
Pages revisions
- API revisions documentation https://www.mediawiki.org/wiki/API:Revisions
- Asking for revision properties timestamp,user, revision id.
- example 100 revisions from the latest to the older http://beyond-social.org/wiki/api.php?format=json&action=query&titles=BS%20SHADOW%20LIBRARY&prop=revisions&rvprop=timestamp%7Cuser%7Cids&rvdir=older&rvlimit=100
Comparing revisions / diffs (Note: the html format of the revision seems a bit messy. Python lib mwclient has nice revisions query implementation)
Using action=compare between 2 revisions ids. Exampe: http://beyond-social.org/wiki/api.php?format=json&action=compare&fromrev=12550&torev=12561
wiki search 👻
https://www.mediawiki.org/wiki/API:Search
Search the term "sharing" in title http://beyond-social.org/wiki/api.php?format=json&action=query&list=search&srwhat=title&srsearch=sharing
Search the term "sharing" in text http://beyond-social.org/wiki/api.php?format=json&action=query&list=search&srwhat=text &srsearch=sharingi
Search the term "sharing" in title & text of files (namespace 6) http://beyond-social.org/wiki/api.php?format=json&action=query&list=search&srwhat=title%7Ctext&srnamespace=6&srsearch=sharing
A few more API requests examples:
- request first editor of a page (change PAGENAME): http://beyond-social.org/wiki/api.php?action=query&prop=revisions%7Ccontributors&rvlimit=1&rvprop=timestamp%7Cuser&rvdir=newer&titles=PAGENAME&format=json
- other pages in this category (change CATEGORY): http://beyond-social.org/wiki/api.php?action=parse&page=CATEGORY&contentmodel=wikitext&format=json
- request recent changes: http://beyond-social.org/wiki/api.php?action=query&list=recentchanges&rcprop=title%7Ccomment%7Cflags%7Cuser%7Ctimestamp&rclimit=25&rctoponly&format=json
- request categories of a page (change PAGENAME): http://beyond-social.org/wiki/api.php?action=query&titles=PAGENAME&prop=categories&cllimit=10&format=json
Non-Ether Pad
'server side things
- give andre account -- DONE
- back up > check > 1x/week there is a snapshot made
- server = ubuntu
- ubuntu updates?
- wiki update to latest version (now 1.29 > 1.31)
- future: explore cargo
From Q's to print (q2print workflow)
... Start of 'session' ...
The person is walking to the printer ... Questionair for the text based interface ... which is a list of questions ...
- using 'useless' information made useful
- morning/evening person (page edited in the morning/evening)
- star sign (page edited in a certain month)
- questions based on interest, we can ask for a desctiption of a topic for example. What then happens .... options:
- but respond with topics that are different (non echo-chamber)
- respond with one echo-chamber + one non echo-chamber
- librarian chats
... will generate a list of articles.
Each question in the questionair triggers a specific API request, and returns the wiki information back wiki information = link to an article (in the form of a revid or a section of an article)
Then ....
API content gathering script
- requests for each article:
- content
- first edit
- last edit
- contributors
- sub-API-request: last 10 articles edited by this person
- categories
- sub-API-request: all articles in the same category (eg. for one of the categories of this page)
- revision diffs
- links to other articles (inside the BS wiki, or outside if we use that)
Then ... this goes to the print layout(s)
- html-to-print
- latex
- dot-matrix layout
> How can we include the q&a mechanism into the flow? And bring it back into the print layout(s).
What can we feed back into the wiki?
- how often a page is printed
Tools to prepare the questionair
- nltk most common words counter script (+- 1hour)
DEVELOPMENT MEETING
7 September 2018 Manetta, Kimmy, Andre, Clara
SUMMARY
General Impressions
Students don’t understand the page, find it hard to contribute, constraining in terms of format.
Content needs a lot of wetnursing, it doesn't organically appear, you need to "chase" after people to get them to contribute.
It is not fully integrated into class/course material.
It needs a critical mass to sustain it on its own.
Needs freshness, wildness, unpredictability, but still an underlying structure that makes it easy to navigate.
Events page is important.
Concept ELIA
PROMISCUOUS PRINT SERVICE? CHATTY PRINT SERVICE?
Continuing the idea of what BS looks like in physical form, how does it become human, material, present in a space, able to engage with its community.
Can the platform be made to speak? How can a digital platform give and be given a human voice?
Three printers, serving three layers of information in the form of a personalized magazine.
The content of the magazine is served to each visitor in three ways.
Printer Types
DOT MATRIX Cover
LASER Guts
RECEIPT Metadata (Chatroom Transcript)
Modes of Content Service
1. VIA METADATA (Limited Answer Survey)
Automated survey chat with questions related to metadata. Making useful to humans information that is usually readable only for machines. Answers are Y/N, multiple choice.
2. VIA CATEGORIES (Free Answer Survey)
Automated survey that allows visitors to help define categories in the wiki. The content they are served corresponds to keywords the have typed in.
3. VIA HUMAN INTERACTION (Chatroom)
Talk to a Librarian — Shadow Chat
Volunteers of the BS Shadow Library chat with visitors, quizzing them briefly on what they are working on, interested in, not interested in, lacking or having too much of in their research. Based on this interaction, the librarian will serve content from the BS Shadow Library. Blurring the line between machinic and human voice, technoanimism as reality!
To Be Determined
1. TIME LIMIT FOR LIBRARIAN CHAT?
Shall the shadow chat be timed? 3 min limit? Productivity goals, as in call centers? A 3-min time limit that the librarians can choose to respect or not respect. Perhaps for the visitor the librarian "breaking the rules" for them and extending chat more than 3 min could be humanizing.
2. SHADOW SHADOW CHAT? (Maybe too much?)
Shall we include the feature of more than one librarian, having a secret shadow chat about the visitor to help serve them information? Then this shadow shadow chat (which appears and reappears in different sizes and locations at all BS physical event spaces, gathering material from students and teachers of the WdKA Social Practice Department's network)
3. SIMPLIFY?
Three printers too much? Probably necessary at some point to pull ideas back. Would be fine with pre-printing the covers on the dot matrix. But I dunno. For now, this is a wish list. Let's see how far we can go.
Task List
1. Use content that is there, write or commission (probably write) an introductory essay
2. To make the schematic, need metadata
3. Printer to Wiki conversation : make a schematic/ write the interview
4. Designing Print Pages - LaTeX… playing with printers, formats, fonts, image treatments
5. Trace of the print history + chat
Schedule
LOCATION
Publication Station
TIME
10–16h
DATES
Sept 18 TUES
Sept 21 FRI
Sept 25 TUES
Oct 5 FRI
Oct 12 FRI
Oct 19 FRI
Nov 2 FRI
Nov 9 FRI
Nov 14 WED ------- PROTOTYPE TEST or FEEDBACK DAY?
Nov 16 FRI ------- PROTOTYPE TEST or FEEDBACK DAY?
Nov 23 FRI ------- DEADLINE: ELIA DAY
NOTES
FRIDAY / TUESDAY Andre Free
Spend 60 hours now
Spend 30 hours for HNI February / Graduation Show
Schedule is 6 hours work on Friday, some Tuesdays depending on availability
10 am - 4 pm