Print Kiosk
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
> 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)
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)
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)
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
Transcribed Conversations
M: Students who want to change the CSS? They are allowed to do so in individual pages, but not on home page Prioritize, now it's more important to fix structure and other concerns If students will be involved as editors, they can be added to the administrator right group Where is the admin page with instructions and manual?
C: User Permissions... What is semantic wiki curator?
A: Tim Berners Lee (semantic wiki) how machines can query the web in a smart way, if I ask a question that is very specific, this information must be translated to queries for a machine to understand, It would be a big change from how we normally query information via google search, it didn’t really work because it’s a chaotic place and it needs an agreement on vocabularies and lots of manual labor, the universe is too large for this, but within a small universe such as a wiki it works wikipedia was having roblemsw its their categorization because for instance if you have an example such as Trump, categories start to overlap because there is no limit to what you can say any given thing is so it created a profusion of categorizations… territory is flat, no hierarchy, so semantic media wiki came as a way to address that problem but in the meantime wikipedia started working with Wikidata it’s a very structured, very dry categorization of objects and entries, in several languages, with property and value (continent would be property and Asia would be the value and Philippines would be the object of the search).. it’s problematic, a bit of a mindfuck, often the more official and correct ways of doing it are very constraining you really need a group of editors that understands and designs the information structure.
At the moment we use the category mechanism which is using different boxes
Category: Easy to add new, difficult to remove old tags from all instances, but you can remove a category
C: Editorial Board: Semantic Committee Could edit categories? Is there a place where they are defined? [*] A glossary of categories? Could be included in the article relation, when you click on it there is a definition This could be the task of the new editorial board or semantic committee, an admission that the task of categorization is fundamentally fluid. We should have our own definitions, as well as link to other texts or definitions that we find useful
[*] Yes, all the categories that we work with are listed on this page: http://beyond-social.org/wiki/index.php/Topic:Topics. To add a topic: make a page in the format Topic:yourtopichere and copy/paste the smw query from another topic page, for example from Topic:Activism. It will add your new topic to the umbrella category "Topics", which is queried on the Topic:Topics page. (A bit of an iterative act..:) we use it to make the overview pages with the thumbnails.)
> i copied this over to the Administrators_tips page.
A few notes on categories && semantic tags:
- Categories <> Semantic tagging. Semantic Tags ... are more nuanced, in the way that a tag contains a semantic direction of the 'grouping' so to say. For example: by categories you place "trump" in the category "president", in the semantic tagging system, you tag "trump" with the tag "position" : "president". The intention of the category is not "blanco", or the act of categorising is not but it comes with a direction, namely "position".
- add a link to the topic in the Form:Article layout
- add the description of each topic to the topic page
C: List of basic wiki commands?
M: You mean syntax
C: Does it exist? Can it be embedded from another page?
M: Yes, it's the Manual section (right now it's on the horizontal menu at the top of the page (> http://beyond-social.org/wiki/index.php/Manual)
A: The act of hyperlinking/embedding to other pages or wikis (interwikis) with the same software (mediawiki), basically making them part of your ecosystem. We can add shortcuts/ short extensions TRANSCLUSION: Concept by Ted Nelson
M+C talk about the menu (Mediawiki:Sidebar) on the top, creating more accessible/legible names, making it clear that there is an editing corner so to speak. switching the special pages to the editing menu, calling it something like do some maintenance. also the contributions menu option is like an activity log, name should clear.
C: What is the beyond social publishing page? mostly online publications?
A+M: 3 publications. 1 wiki to print folder, loose sheets on the table and people could collect material into the folder. 2nd round of this. Maybe some fliers (used those in print kiosk for grad show) Who knows this well is Kimmy.
C *thought Bubble*: We need to document the print history of Beyond Social a little better? Also we need to bind the last print kiosk collection and photograph. Need to ask for student help once all the urgent shit is sorted.
C+M *convo*: Need to rewrite user manuals or editor manuals (or page editing interface -- the article form) so that people know how to use each form in the best way. issue of uploading photos twice or multiple times can be addressed here.
A: Working with Mediawiki , a good book that goes from very basic editing to very complex subjects such as semantic media wiki, etc... http://www.workingwithmediawiki.com/book/
M: mostly student works on BS this year, before it was teachers and externals mostly but not all of the old articles are available on the site since they haven't been formatted to the new structure. but theyre searchable.
378 content articles listed "main namespace" excluding the pages that are under user namespace or under files or under media wiki admin pages sometimes there are copies with different title name
http://beyond-social.org/wiki/index.php/Special:AllPages
Transclusion: https://meta.wikimedia.org/wiki/Help:Transclusion
Template:Namespace:Pagename example: Help pages:
fight spam
Follow https://www.mediawiki.org/wiki/Manual:DeleteBatch.php and Special:BlockBatch
Wiki Settings
Extensions
SelectCategory
SelectCategory is responsible for the bottom category selection in menus
Extension does not work with skin Vector in MW 1.26. Needs to be changed to wfLoadSkin( 'MonoBook' );
And requires CategoryTree. See settings in #CategoryTree section.
Requires Categories to be organized as parents and children, with the parent category defined in extensions/SelectCategory/SelectCategory.php
#$wgSelectCategoryNamespaces - list of namespaces in which this extension should be active if( !isset( $wgSelectCategoryNamespaces ) ) $wgSelectCategoryNamespaces = array( NS_MEDIA => true, NS_MAIN => true, NS_TALK => false, NS_USER => false, NS_USER_TALK => false, NS_PROJECT => true, NS_PROJECT_TALK => false, NS_IMAGE => true, NS_IMAGE_TALK => false, NS_MEDIAWIKI => false, NS_MEDIAWIKI_TALK => false, NS_TEMPLATE => false, NS_TEMPLATE_TALK => false, NS_HELP => true, NS_HELP_TALK => false, NS_CATEGORY => true, NS_CATEGORY_TALK => false ); # $wgSelectCategoryRoot - root category to use for which namespace, otherwise self detection (expensive) if( !isset( $wgSelectCategoryRoot ) ) $wgSelectCategoryRoot = array( NS_MEDIA => "BS", NS_MAIN => "BS", NS_TALK => false, NS_USER => false, NS_USER_TALK => false, NS_PROJECT => "BS", NS_PROJECT_TALK => false, NS_IMAGE => "BS", NS_IMAGE_TALK => false, NS_MEDIAWIKI => false, NS_MEDIAWIKI_TALK => false, NS_TEMPLATE => false, NS_TEMPLATE_TALK => false, NS_HELP => "BS", NS_HELP_TALK => false, NS_CATEGORY => "BS", NS_CATEGORY_TALK => false );
CategoryTree
require_once( "$IP/extensions/CategoryTree/CategoryTree.php" ); $wgUseAjax = true; $wgCategoryTreeDynamicTag = true; $wgCategoryTreeSidebarRoot = "BS"; #$wgCategoryTreeDefaultOptions['mode'] = 'all'; /* $wgCategoryTreeMaxChildren = 400; */ $wgCategoryPagingLimit = 400; $wgCategoryTreeForceHeaders = true; $wgCategoryTreeSpecialPageOptions=true; $wgCategoryTreeDynamicTag=true; $wgCategoryTreeDefaultMode=true;
'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
Transcibed Notes
Tabulated Regular: Notes from Meeting 25 May 2018 with Iris and Manetta Left Aligned Bold: Notes from Current Meeting
Students don’t understand it, find it hard to contribute
Is it a publishing platform or an archive?
Started as a magazine=type thing based on Wikipedia platform
Manta came in between issue 2 and 3 , discussions around strutting of content and categories and topics
The fact that teana needed to choose a category, and names of the categories themselves ————what is the location of the category? Via semantic—— vocabulary issue Wikipedia faced this problem because people start creating categories that are synonyms It’s not a technological question, it’s an archive problem
, questions on changing structure every issue, but wiki makes difficult because changes would mean archival structure is gone
Can the wiki as a reading space be welcoming and by nature it isn’t, the solution was redesigning the wiki so it’s more appealing as a reading space. The other option that we developed in the first few issues was to have a separate reading interface where the content was pulled in
THURSDAY 13 7 PM talk in Amsterdam Renee turner talk Warp and Weft of Memory, includes stuff of semantic wiki
used to be text driven, now its rethought used wiki not just as backend but use it in fullest glory, functions
Went to use the wiki as a wiki again, to use the functions, not pulling it from another website
layers of using wiki, social dimension
Underutilized at the moment
talk page function, place to get comments
Without having a critical mass that could sustain it on its own bS should be Playground! Sandbox Social practice didn’t own it, Kimmy was brought it in the project to keep it alive
social layers to be included in interface, make our own layout for the interface, skin Very important, students annoyed cos they needed to have structure to make the front pages visible, everything is in a form, there is no creativity
Get rid of those forms, still think of image attached to an article
ONE OPEN FIELD, insert html Take over in color schemes Separation between layout and structure of content None of them have to be fixed
listening to the wiki and seeing what to do with functions of the wiki instead of forcing into a strict template which reveals its problems.. wikis are more fluid, templates we we’re making were more magazine-like
editathons were helpful to remove workload from manetta
EDITORIALS - used to be framed within issues
PRINT VERSION in time for ELIA conference
Avenir Heavy - Font
ELIA - November 2018 Finished by October 2018 Concept of publication should be done by July
How do you keep on this playfulness, bring a human dimension to the machine element
Design that is changeable Collecting the material assembling the material (more in the sense of downloading)
Cherry picking
Printer talking to you Create a series of questions that lead us to certain selection LaTeX it’s a printing layout language for creating typographically correct documents Can change a lot but you have to play with rules
Christophe Haag —— based in cologne, freeze.sh
Making a printer to speak to you Different forms of uploading, Mac frank and Giulia, a physical scanner that makes it easy to upload to the wiki
ELIA conference gives a short pitch for Beyond Social
Slideshow Application by Iris,
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
THREE WAYS OF SERVING INFORMATION
Metadata Categories Talk to a Librarian — Shadow Library
THREE WAY PRINTING
Dot Matrix for Cover/Back Cover Inkjet for Guts Receipt Printer for Conversation
SECRET CHATROOM - SHADOW CHAT
SCHEDULE FRIDAY / TUESDAY Andre Free Spend 60 hours now Spend 30 hours for HNI February / Graduation Show
Schedule is 6 hours work on Friday 10 am - 4 pm
CLARA TO MAKE PLANNING AND RESERVATIONS TASK LIST