|
|
(15 intermediate revisions by the same user not shown) |
Line 1: |
Line 1: |
| =NETWORKS OF CARE= | | =NETWORKS OF CARE= |
|
| |
|
| ==Introduction== | | ==Short version== |
|
| |
|
| This project will guide us into the possibilities of Codes of Conduct, user guidelines, and other informal documents to manage online hate. Community rules are not only written files but labour intensive routines that imply human effort and affection. This project shares the experience of users and custodians, it comments on existing documents and celebrates the networks of care generated together.
| | Networks of Care is a project supported by extensive research on online communities and their moderation systems. Through the format of a field guide, this work leads you through the attempts, accomplishments and missteps of users and custodians of regulated social networks. |
|
| |
|
| My work focuses on three actions: networking, archiving and linking.
| | Throughout the project, I collected user experiences by interviewing different community members, seeking the pioneering work of artists, designers, libre and open software enthusiasts, feminists and LGBTQ+ users. I gathered and analysed a broad span of Codes of Conduct and compiled other useful resources. |
|
| |
|
| ==Structure==
| | It's exciting to consider which gestures may contribute to increasing autonomy and cooperation in digital platforms, whether Codes of Conduct can be useful to reduce hate and improve interactions, or even desirable. Let's explore the networks of care generated together! |
|
| |
|
| ===Networking===
| |
|
| |
|
| The intention behind Networking is to reach out to different people involved with community guidelines and understand their motivations. I'm interviewing and documenting the work of moderators, writers of Codes of Conduct, facilitators, community members and networks' administrators.
| | ==Long version== |
|
| |
|
| In some cases, I recorded the meetings, in others, the conversations happened through email, social media, video chat, ... The extremely different formats promote diversity in the collection, and at the same time, demand extra attention to each case. The work in progress involves translating content, transcribing it, adding subtitles, editing video, working with sound, and others.
| | ===Networks=== |
|
| |
|
| Each page inside Networking shows a different approach to moderation in online communities, highlighting the purpose of Codes of Conduct. The pages are associated with information about format, language and context.
| | Managing an online community is difficult. It requires a collective understanding of how people want to be together and how to deal with conflict. These challenges motivated different groups to create and apply informal rules to their networks. They are published online as user guidelines, community rules, collaboration protocols, network etiquette, community covenants, a group pact, a collective agreement, a Code of Conduct. These guidelines aim for comfortable interactions between the members; they set expectations for users, put in evidence the values of a community, making explicit which behaviours are allowed or discouraged, possibly decreasing unwanted hate. They can help to deal with internal and exterior abuses, especially when the documents are upheld by a network of people who acknowledges the differences in privilege, power, experiences, money and time of different users. |
|
| |
|
| ===Archiving=== | | ===of Care=== |
|
| |
|
| In Archiving, I'm gathering Codes of Conduct and annotating them, creating a collection that is possible to browse, dissect and analyse.
| | Discussing Codes of Conduct isn't only considering the potential of text, but recognising the labour intensive routines that imply human effort and involve the community. The caretakers are essential — to write the guidelines, to manage reports, to moderate, to document, to listen, to grant support. A Code of Conduct also needs visibility and a plan for distribution. Furthermore, the desire to share different guidelines from corporate-owned social platforms requires other competencies, such as moving to other platforms, or self-hosting our social groups. Care work is highly skilled, and it needs to be further discussed, recognised and cherished. |
|
| |
|
| In this part, the wiki software became particularly useful. I'm taking advantage of extensions, such as Semantic Mediawiki, to annotate the documents with specific properties. In the process of reading and interpreting the guidelines, I noticed some patterns. It is palpable how writing and managing Codes of Conduct usually means borrowing content from other groups, looking for inspiration on others, and being aware of the concerns of different groups. I, mostly, recognised these sections:
| | === — a field guide === |
|
| |
|
| *Intentions — This section sets the goals for the Code of Conducts, manages expectations for the document, explains who is the community.
| | This field guide will lead you through the attempts, accomplishments and missteps of moderators, writers, users and custodians of social networks. It collects and comments on existing Codes of Conduct, listens to different experiences, and proposes other projects to explore. The field guide goes through the work of artists, designers, libre and open software enthusiasts, feminists and LGBTQ users, aiming to facilitate future work for other circles. It's exciting to consider which gestures may contribute to increasing autonomy and cooperation in digital platforms, whether Codes of Conduct can be useful to reduce hate and improve interactions, or even desirable. Let's explore the networks of care generated together. |
| *Expected behaviour — This section describes the actions welcomed in the community.
| |
| *Unacceptable behaviour — This section expresses the behaviours not tolerated in the community. Ignoring these guidelines may result in action from the community.
| |
| *Behaviour to avoid — This section lists the actions users should refrain to do, attitudes that weaken the community. It focuses on behaviours some people may think are acceptable.
| |
| *Enforcement — This section explains the consequences for the users who break the Code of Conducts. It also clarifies how reports should be done and how the community will act upon the information given. It sets responsibilities when incidents happen.
| |
| *Support — This section holds contacts of the people who are responsible for the Code of Conducts. They may respond to reports, inform the community of changes in the documents, be moderators.
| |
| *Links — This sections has other links for support, further explanation of some topics, it points to related content elsewhere.
| |
|
| |
|
| I'm now annotating and selecting parts of the texts that fit into these sections. I intend to make the structure visible and the content within the structure. The act of sharing templates and knowledge might be useful, but it's in the diversity of values, rules, practices of management, enforcement and support that one can find the reasoning for all this labour of care.
| |
|
| |
|
| ===Linking=== | | ==Structure== |
| My project is not isolated from all the others that informed my path, so I'm also linking external resources, films, podcasts and books that relate with my work and point other ways forward. Networks of Care is a resource to users who wish to apply a Code of Conducts to build and maintain better social spaces for their online communities.
| |
|
| |
|
| | Networks of Care is divided into three parts. |
|
| |
|
| ==Technical Documentation==
| | Archiving — to collect and annotate Codes of Conduct, creating a collection that is possible to browse, dissect and analyse. |
|
| |
|
| In the forefront of the fight against hate, there are users committed to creating better social media experiences for them and for others. These users offer support with their work on moderation, technical knowledge, emotional labour, and many others.
| | Networking — to interview and document the work of moderators, writers of Codes of Conduct, facilitators, community members and networks' administrators. |
|
| |
|
| | Linking — to point other ways forward, useful templates, resources, and experiments. |
|
| |
|
| Technical knowledge is relevant to:
| |
|
| |
|
| *use moderation tools
| | ===Archiving=== |
| *adapt, fork, customise moderation tools
| |
| *create new tools
| |
| *adapt, fork, customise social platforms
| |
| *create new platforms
| |
| *use software and hardware
| |
| *question autonomy
| |
| *experiment with protocols
| |
| *self-host
| |
| *understand tutorials
| |
| *write and send reports
| |
|
| |
|
| | [[File:netcare_overview4.jpg|frameless|650px]] |
|
| |
|
| These actions can be challenging, and they demand time, money and effort from a community. Networks of Care goes through some of these technical hurdles, it exposes processes and documents the experience of creating and maintaining this project.
| | For Archiving, the wiki software became particularly useful. I'm taking advantage of extensions, such as Semantic Mediawiki, to annotate the documents with specific properties. In the process of reading and interpreting the guidelines, I noticed some patterns. It is palpable how writing Codes of Conduct usually means borrowing content from other groups, looking for inspiration elsewhere, and being aware of the concerns of different communities. I, mostly, recognised these sections: |
|
| |
|
| | *Intentions — This section sets the goals for the Code of Conducts, manages expectations for the document. |
| | *Expected behaviour — Describes the actions welcomed in the community. |
| | *Unacceptable behaviour — Expresses the behaviours not tolerated in the community. Ignoring these guidelines may result in action from the community. |
| | *Behaviour to avoid — Lists the actions users should refrain to do, attitudes that weaken the community. It focuses on behaviours some people may think are acceptable. |
| | *Enforcement — Explains the consequences for the users who break the Code of Conducts. It also clarifies how reports should be done and how the community will act upon the information given. It sets responsibilities when incidents happen. |
| | *Support — Holds contacts of the people who are responsible for the Code of Conducts. They may respond to reports, inform the community of changes in the documents, be moderators. |
| | *Links — Other links for support, further explanation of some topics, it points to related content elsewhere. |
|
| |
|
| ===Setting up the Raspberry Pi===
| | I'm annotating and selecting the texts that fit into these sections. Clicking on the links above will show you an overview of all the content annotated. For example, you can see all the Intentions together, wrote by each community. |
|
| |
|
| In my computer:
| |
|
| |
|
| '''SD card'''
| | After collecting and analysing more documents, I started noticing more patterns. This is a list that keeps growing... |
| | *Mission — Here the group takes time to explain their background, values, members. Different from Intentions, because it is not related to the Code of Conduct, but with the community as a whole. |
| | *Scope — Indicates where the Code is used, if only on mailing lists, if includes IRC channels, offline meetings, etc. |
| | *Feedback — Explains the mutability of the living document, opens for contributions, includes versions and alterations. |
|
| |
|
| 1. Format for FAT32 (I used disk utility on mac. Format to MS_DOS). Use more than 8gb, mediawiki can become heavy.
| |
|
| |
|
| | For the reader, it was important to make the structure visible and the content within the structure. To do so, I emphasized the annotations using colours. |
|
| |
|
| 2. Flash ISO to SD card (Raspbian Buster Light, https://www.raspberrypi.org/downloads/raspbian/ ) with a mounter (I've used etcher https://www.balena.io/etcher/ )
| | [[File:Annotation preview.gif|frameless|650px]] |
|
| |
|
|
| |
|
| With raspi connected to power, internet, screen and keyboard:
| | You can filter the pages with annotations in the main page, exploring the tags menu. |
|
| |
|
| '''01 Default login'''
| |
|
| |
|
| Login: pi
| | [[File:Tags_preview.gif|frameless|650px]] |
|
| |
|
| Password: raspberry
| |
|
| |
|
| | The act of sharing templates and knowledge might be useful, but it's in the diversity of values, rules, practices of management, enforcement and support that one can find the reasoning for all this labour of care. |
|
| |
|
| '''02 SSH config'''
| |
|
| |
|
| $ cd /boot
| | [[File:Netcare_overview1.jpg|650px|frameless]] |
|
| |
|
| $ sudo touch ssh
| | ===Networking=== |
|
| |
|
| $ sudo reboot
| | The intention behind Networking is to reach out to different people involved with community guidelines and understand their motivations. I'm interviewing and documenting the work of moderators, writers of Codes of Conduct, facilitators, community members and networks' administrators. |
|
| |
|
| | In some cases, I recorded the meetings, in others, the conversations happened through email, social media, video chat, ... The extremely different formats promote diversity in the collection, and at the same time, demand extra attention to each case. The work in progress involves translating content, transcribing it, adding subtitles, editing video, working with sound, and others. |
|
| |
|
| '''03 Check IP address'''
| | Each page inside Networking shows a different approach to moderation in online communities, highlighting the purpose of Codes of Conduct. The pages are associated with information about format, language and context. |
|
| |
|
| $ hostname -i
| | [[File:Netcare overview2.jpg|650px|frameless]] |
|
| |
|
| Response: 192.0.0.0
| | ===Linking=== |
|
| |
|
| | My project is not isolated from all the others that informed my path, so I'm also linking films, podcasts, texts, images and books that relate with my work and point different ways forward. Frequently, the people I interviewed, or the documents I archived, shared other inspiring work. Following the concept of a network, it only made sense to continuously link these resources. |
|
| |
|
| '''04 My keyboard wasn't working properly.''' | | Also in this category, I'm adding smaller projects and presentations that I worked on while developing the Networks of Care which allowed me to experiment concepts and ideas for the main project. |
|
| |
|
| I had to change language of keyboard to US instead of UK.
| | [[File:Linking networksofcare.png|650px|frameless]] |
|
| |
|
| $ sudo raspi-config
| | ==Images== |
|
| |
|
| Localisation Options
| | The images that appear throughout this project are cyanographic prints. A guide to the printing and creation process is shown here. |
|
| |
|
| Change Keyboard Layout
| |
|
| |
|
| Choose US
| | ==Technical Documentation== |
| | |
| After using the keyboard I changed back to UK to avoid errors.
| |
| | |
| | |
| '''05 Change hostname'''
| |
| | |
| $ ssh pi@192.0.0.0
| |
| | |
| $ sudo raspi-config
| |
| | |
| Choose item no. 2 on the menu: Network Options
| |
| | |
| Rename hostname to: newhostname
| |
| | |
| $ reboot
| |
| | |
| | |
| '''06 Add user'''
| |
| | |
| $ sudo adduser name
| |
| | |
| | |
| '''07 Add new user to sudo'''
| |
| | |
| $ sudo adduser name sudo
| |
| | |
| | |
| '''08 You should be able to login with:'''
| |
| | |
| $ ssh name@newhostname
| |
| | |
| | |
| '''09 I had an error with known hosts.'''
| |
| I removed cached key on my computer:
| |
| | |
| $ ssh-keygen -R 192.000.0.000
| |
| | |
| | |
| '''10 Remove default pi user'''
| |
| | |
| $ sudo deluser pi
| |
| | |
| | |
| '''10 Use key-based authentication:'''
| |
| | |
| | |
| '''10.1 Add .ssh keys to RPI'''
| |
| | |
| https://www.raspberrypi.org/documentation/remote-access/ssh/passwordless.md#copy-your-public-key-to-your-raspberry-pi
| |
| | |
| | |
| '''10.2 Edit file'''
| |
| $ sudo nano /etc/ssh/sshd_config
| |
| | |
| Uncomment PassowrdAuthentication and set it to no;
| |
| | |
| Uncomment PermitRootLogin prohibit-passowrd;
| |
| | |
| | |
| '''10.3 Reload SSH'''
| |
| | |
| $ sudo /etc/init.d/ssh restart
| |
| | |
| | |
| '''10.4 Reboot RPi'''
| |
| | |
| $ sudo reboot
| |
| | |
| | |
| '''10.5 In my computer:'''
| |
| | |
| $ cd ~/.ssh
| |
| | |
| $ sudo nano config
| |
| | |
| | |
| Add to the document:
| |
| | |
| Host newhostname
| |
| User name
| |
| Hostname 192.000.0.0
| |
| Port 22
| |
| Identityfile /Users/ritagraca/.ssh/id_rsa
| |
| Serveraliveinterval 30
| |
| | |
| | |
| '''10.6 To ssh to my pi now:'''
| |
| | |
| $ ssh newhostname
| |
| | |
| | |
| '''11. Set static ip address for LAN'''
| |
| | |
| $ sudo nano /etc/dhcpcd.conf
| |
| | |
| | |
| Edit this part:
| |
| | |
| #Static IP text block
| |
| interface eth0
| |
| static ip_address=192.000.0.00
| |
| static routers=192.000.0.0
| |
| static domain_name_servers=8.8.8.8 8.8.4.4
| |
| | |
| | |
| Note:
| |
| | |
| I shut down my pi, IP changed and couldn't ssh to it. If this happened already, connect pi again to screen, find new IP with $ config command, and put new IP in ~/.ssh, step 10.5.
| |
| | |
| | |
| ===Installing Mediawiki on the pi=== | |
| | |
| | |
| '''1. Install Apache'''
| |
| | |
| $ sudo apt update
| |
| | |
| $ sudo apt install apache2 -y
| |
| | |
| I will remove Apache and install Ngnix in the next steps, see ''Fixing my very slow MediaWiki''.
| |
| | |
| | |
| '''2. Download Mediawiki'''
| |
| | |
| $ mkdir Downloads
| |
| | |
| $ cd Downloads
| |
| | |
| $ wget https://releases.wikimedia.org/mediawiki/1.34/mediawiki-1.34.0.tar.gz (check the version)
| |
| | |
| $ tar -xvzf mediawiki-1.34.0.tar.gz
| |
| | |
| | |
| '''3. Move'''
| |
| | |
| $ sudo mkdir /var/lib/mediawiki
| |
| | |
| $ sudo mv mediawiki-*/* /var/lib/mediawiki
| |
| | |
| | |
| '''4. Linking'''
| |
| | |
| $ cd /var/www/html
| |
| | |
| $ sudo ln -s /var/lib/mediawiki mediawiki
| |
| | |
| | |
| '''5. Updating'''
| |
| | |
| $ sudo apt-get update
| |
| | |
| $ sudo apt-get install apache2 mysql-server php php-mysql libapache2-mod-php php-xml php-mbstring
| |
| | |
| | |
| '''5.1 Error: Package 'mysql-server' has no installation candidate'''
| |
| | |
| Fix with:
| |
| | |
| $ sudo apt install mariadb-server-10.3 php-mysql
| |
| | |
| | |
| '''5.2 Error: MySQL didn't ask for password so:'''
| |
| | |
| $ sudo mysql_secure_installation
| |
| | |
| It will ask for password now.
| |
| | |
| | |
| '''6. Database'''
| |
| | |
| $ sudo mysql -u root -p
| |
| | |
| Enter password.
| |
| Type:
| |
| | |
| mysql> CREATE DATABASE wiki;
| |
| mysql> USE wiki;
| |
| | |
| mysql> CREATE USER 'name'@'localhost' IDENTIFIED BY 'yourpassword';
| |
| mysql> GRANT ALL PRIVILEGES ON wiki.* TO 'name'@'localhost';
| |
| mysql> FLUSH PRIVILEGES;
| |
| mysql> quit
| |
| | |
| | |
| '''7. Open browser'''
| |
| | |
| http://ip_address_of_pi/mediawiki
| |
| | |
| On the website, it will ask for database connection settings:
| |
| | |
| localhost
| |
| database: wiki
| |
| user: name
| |
| password: yourpassword
| |
| | |
| Continue installation.
| |
| | |
| | |
| '''8. After setting up, it will ask to save LocalSettings.php. Download to your computer.'''
| |
| | |
| | |
| '''9. Move file from your computer to pi.'''
| |
| | |
| In your computer:
| |
| | |
| $ scp LocalSettings.php name@hostname:/home/name/Downloads
| |
| | |
| | |
| '''10. Move from pi to the right place.'''
| |
| | |
| In your pi:
| |
| | |
| $ sudo mv ~/Downloads/LocalSettings.php /var/lib/mediawiki/
| |
| | |
| | |
| some more help to setup mediawiki http://willbeone-techtips.co.za/2018/02/12/installing-mediawiki-raspberry-pi3/
| |
| | |
| | |
| === Fixing my very slow MediaWiki ===
| |
| | |
| My wiki is painfully slow. Things I'll try:
| |
| | |
| 1. Switch from Apache to Ngnix.
| |
| | |
| 2. Swap to SanDisk Ultra 64gb a2. ''Update — The sd card made the most difference. Amazing.''
| |
| | |
| | |
| '''0. Backing up my raspbery pi image'''
| |
| | |
| First, I backed up my raspbery pi image. Tutorial for mac:
| |
| https://medium.com/@ccarnino/backup-raspberry-pi-sd-card-on-macos-the-2019-simple-way-to-clone-1517af972ca5
| |
| | |
| | |
| '''1. Switching from Apache to Ngnix'''
| |
| | |
| '''1.1 Uninstalling Apache:'''
| |
| | |
| $ sudo apt-get --purge remove apache2
| |
| | |
| $ sudo apt-get autoremove
| |
| | |
| | |
| '''1.2 Installing Ngnix:'''
| |
| | |
| $ sudo apt update
| |
| | |
| $ sudo apt install nginx
| |
| | |
| $ sudo /etc/init.d/nginx start
| |
| | |
| | |
| Go to ip address and see the Ngnix starting message.
| |
| | |
| '''1.3 Additional — Install PHP:'''
| |
| | |
| https://www.raspberrypi.org/documentation/remote-access/web-server/nginx.md
| |
| | |
| | |
| '''1.4 I uninstalled mediawiki:'''
| |
| | |
| $ rm -rf /var/www/mediawiki
| |
| | |
| | |
| '''1.5 Started from step ''Installing Mediawiki'' '''
| |
| | |
| | |
| === Extension Semantic MediaWiki ===
| |
| | |
| '''1. Download composer'''
| |
| | |
| More here https://getcomposer.org/doc/00-intro.md#installation-nix
| |
| | |
| | |
| '''1.1 Download the installer to the current directory'''
| |
| | |
| $ php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
| |
| | |
| | |
| '''1.2 Verify the installer SHA-384'''
| |
| | |
| $ php -r "if (hash_file('sha384', 'composer-setup.php') === 'e0012edf3e80b6978849f5eff0d4b4e4c79ff1609dd1e613307e16318854d24ae64f26d17af3ef0bf7cfb710ca74755a') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
| |
| | |
| | |
| '''1.3 Run the installer'''
| |
| | |
| $ php composer-setup.php
| |
| | |
| | |
| '''1.4 Remove the installer'''
| |
| | |
| $ php -r "unlink('composer-setup.php');"
| |
| | |
| | |
| '''1.5 Global Access'''
| |
| | |
| Now that I have composer.phar, I will put it in /usr/local/bin to have global access.
| |
| | |
| $ sudo mv composer.phar /usr/local/bin/composer
| |
| | |
| This means that instead of starting with $ php composer.phar, I just write $ composer.
| |
| | |
| Some more help to install composer https://www.semantic-mediawiki.org/wiki/Help:Installation/Using_Composer_with_MediaWiki_1.25%2B
| |
| | |
| | |
| '''2. Create and edit the file composer.local.json in /var/www/html/mediawiki.'''
| |
| | |
| $ cd /var/www/html/mediawiki
| |
| | |
| $ sudo nano composer.local.json
| |
| | |
| | |
| paste this code:
| |
| | |
| {
| |
| "require": {
| |
| "mediawiki/semantic-media-wiki": "~3.1"
| |
| }
| |
| }
| |
| | |
| | |
| '''3. Run the update script'''
| |
| | |
| $ composer update --no-dev
| |
| | |
| | |
| '''3.1 Change permissions:'''
| |
| | |
| Gives error:
| |
| | |
| file_put_contents(./composer.lock): failed to open stream: Permission denied
| |
| | |
| Give permissions:
| |
| | |
| $ chmod -R 777 ./
| |
| | |
| | |
| '''4. Maintenance script'''
| |
| | |
| $ php maintenance/update.php
| |
| | |
| | |
| '''5. Enable Semantic MediaWiki on LocalSetting.php'''
| |
| | |
| Write in the end of the file:
| |
| | |
| enableSemantics( ' http://192.000.0.0/mediawiki/ ' );
| |
| | |
| | |
| '''6. Repeat step 4.'''
| |
| | |
| I had a error with database. I had to run the update script again.
| |
| If when running this script there's error with permissions, just change permissions, step 3.1
| |
| | |
| | |
| '''7. Uploading files to the server'''
| |
| | |
| Check first folder permissions, and change if necessary:
| |
| | |
| $ chmod -R 777 ./
| |
| | |
| | |
| To allow bigger files:
| |
| | |
| '''7.1. Edit this file'''
| |
| $ sudo nano /etc/nginx/nginx.conf
| |
| | |
| | |
| '''7.2 Add this in the bottom of the http part:'''
| |
| | |
| # set client body size to 2M
| |
| # client_max_body_size 2M;
| |
| | |
| | |
| '''7.3 Reload the server'''
| |
| $ service nginx
| |
| reload
| |
| | |
| | |
| === Extension Page Forms ===
| |
| | |
| This enables forms, useful to add semantic annotations to pages.
| |
| | |
| | |
| '''1. Download'''
| |
| | |
| https://github.com/wikimedia/mediawiki-extensions-PageForms/archive/4.8.zip
| |
| | |
| Put it in /var/www/html/mediawiki/extensions.
| |
| | |
| You shoud now have a directory called PageForms in your extensions folder.
| |
| | |
| | |
| '''2. Add the following line to your LocalSettings.php file:'''
| |
| | |
| wfLoadExtension( 'PageForms' );
| |
| | |
| | |
| === Extension WikiEditor ===
| |
| | |
| This enables the edit toolbar like Piet Zwart wiki has.
| |
| | |
| | |
| '''1. Download'''
| |
| | |
| https://www.mediawiki.org/wiki/Extension:WikiEditor
| |
| | |
| Put it in /var/www/html/mediawiki/extensions.
| |
| | |
| You should now have a directory called PageForms in your extensions folder.
| |
| | |
| | |
| '''2. Add the following line to your LocalSettings.php file:'''
| |
| wfLoadExtension( 'WikiEditor' );
| |
| | |
| | |
| === Understanding and using Semantic MediaWiki ===
| |
| | |
| '''1. Understanding Properties'''
| |
| | |
| Basic way of entering semantic data:
| |
| | |
| <nowiki>[[Property + name of property::datatype]</nowiki>
| |
| | |
| <nowiki>[[Has + name of property::datatype]]</nowiki>
| |
| | |
| The creator of this text is <nowiki>[[Has Author:Rita]]</nowiki>
| |
| | |
| | |
| There are special kinds of properties: Has, Media type, Creation date, Language code, etc.
| |
| | |
| See all here: https://www.semantic-mediawiki.org/wiki/Help:Special_properties
| |
| | |
| | |
| Possible datatypes: Number, page, temperature, date, text, page, URL, telephone number, etc.
| |
| | |
| See all of 15 here: https://www.semantic-mediawiki.org/wiki/Help:Property_declaration
| |
| | |
| | |
| Choose a fitting datatype for your property.
| |
| | |
| * For example, the datatype ''Telephone number'' only holds numbers, if you try to write something like ''Hello'', it will give an error.
| |
| * For me, it will be useful the datatype ''Text''. (Used to store strings of arbitrary length, i.e. text.)
| |
| * Default datatype is ''Page''. (Holds names of wiki pages, and displays them as a link).
| |
| | |
| | |
| '''2. Creating semantic information from example'''
| |
| | |
| Some information I want to store for every page in Archiving:
| |
| | |
| Field — xxxx, xxxx, xxxx
| |
| | |
| Scope — online, offline
| |
| | |
| | |
| * Create property Field and Scope. (Create this in Special:SpecialPages > Page Forms > Create a property)
| |
| * Create template Archiving (Create this in Special:SpecialPages > Page Forms > Create a template). A template sets the display of the data on a page.
| |
| * Create form Archiving (Create this in Special:SpecialPages > Page Forms > Create a form) A form allow users to easily add and edit pages.
| |
| | |
| Now go to forms. You can create a page. Every time you go to forms and select "Archiving" form you can create a new page using the form. The forms asks you to fill the properties.
| |
| | |
| (more here: https://www.mediawiki.org/wiki/Extension:Page_Forms/Quick_start_guide )
| |
| | |
| | |
| '''3. Edit with form'''
| |
| | |
| To have the "edit with form" appear when you create a page without going to the forms page in Special Pages:
| |
| | |
| * Create a category (I created one called "Archiving") and select a default form <nowiki>{{#default_form:Archiving}}.</nowiki>
| |
| * Everytime you create a page within the category, you'll have the option of "edit with form".
| |
| | |
| | |
| '''4. Queries'''
| |
| | |
| https://www.semantic-mediawiki.org/wiki/SMWCon_Fall_2017/Introduction_to_Semantic_MediaWiki
| |
| | |
| | |
| === Creating a diagram for navigation/main page ===
| |
| | |
| As the project was developing it was important to show the connections between content, people and projects. For example, if I was archiving a Code of Conducts of a community and could then make questions to a moderator of that same group, I wanted to make visible that story line. In this way, I began experimenting with different ways of visualising information.
| |
| | |
| | |
| '''1. Playing with Mediawiki Extensions'''
| |
| | |
| '''1.1 Extension "Semantic Result Formats"'''
| |
| | |
| *Information here — https://www.semantic-mediawiki.org/wiki/Extension:Semantic_Result_Formats )
| |
| *Installation — https://github.com/SemanticMediaWiki/SemanticResultFormats/blob/master/docs/INSTALL.md
| |
| *Tried to use result format graph. ( https://www.semantic-mediawiki.org/wiki/Help:Graph_format )
| |
| *It doesn't work, because it needs Extention GraphViz and GraphViz doesn't work on recent mediawiki installations.
| |
| *Uninstalling.
| |
| | |
| | |
| '''1.2 Extension "Maps" (using leaflet from Maps Extension)'''
| |
| | |
| *Some info — https://www.semantic-mediawiki.org/wiki/Extension:Maps
| |
| *Tried to use. It works for basic map / coordinate property. It doesn't have a lot of options like Leaflet alone has. For example, couldn't change map layout to an image.
| |
| *Uninstalling.
| |
| | |
| I couldn't find an extension that actually let me do what I wanted and have some creative freedom.
| |
| | |
| | |
| '''2. Alternative: doing the diagram outside the wiki but using Mediawiki API'''
| |
| | |
| Steps:
| |
| | |
| *Create my diagram on leaflet
| |
| *Link Mediawiki Semantic wiki API to leaflet
| |
| *Include diagram to wiki
| |
| *Populate, populate, populate
| |
| | |
| | |
| '''2.1 API'''
| |
| | |
| The web server is using HTTP requests to communicate to a publicly available URL endpoint containing JSON data. You need to use CORS or JSONP, I'll try to use JSONP for now. (note that JSONP is inherently read-only)
| |
| | |
| A request consists of an endpoint and a set of parameters. Example to list all pages in category Archiving:
| |
| | |
| http://192.000.0.0/mediawiki/api.php?action=query&format=json&&cmtitle=Category:Archiving&list=categorymembers
| |
| | |
| Important things:
| |
| *main endpoint — http://192.000.0.0/mediawiki/api.php
| |
| *action=query means fetch data from wiki.
| |
| *format=jsonfm indicates JSON output, which is the recommended output format.
| |
| | |
| | |
| Mediawiki API Sandbox:
| |
| | |
| https://www.mediawiki.org/wiki/Special:ApiSandbox
| |
| | |
| | |
| Semantic Wiki API Sandbox:
| |
| | |
| https://www.semantic-mediawiki.org/wiki/Special:ApiSandbox
| |
|
| |
|
| Overall the sandbox is very useful to create queries with properties.
| | [[User:Rita_Graca/trimester6/technicaldocumentation|Technical Documentation page]] |
NETWORKS OF CARE
Short version
Networks of Care is a project supported by extensive research on online communities and their moderation systems. Through the format of a field guide, this work leads you through the attempts, accomplishments and missteps of users and custodians of regulated social networks.
Throughout the project, I collected user experiences by interviewing different community members, seeking the pioneering work of artists, designers, libre and open software enthusiasts, feminists and LGBTQ+ users. I gathered and analysed a broad span of Codes of Conduct and compiled other useful resources.
It's exciting to consider which gestures may contribute to increasing autonomy and cooperation in digital platforms, whether Codes of Conduct can be useful to reduce hate and improve interactions, or even desirable. Let's explore the networks of care generated together!
Long version
Networks
Managing an online community is difficult. It requires a collective understanding of how people want to be together and how to deal with conflict. These challenges motivated different groups to create and apply informal rules to their networks. They are published online as user guidelines, community rules, collaboration protocols, network etiquette, community covenants, a group pact, a collective agreement, a Code of Conduct. These guidelines aim for comfortable interactions between the members; they set expectations for users, put in evidence the values of a community, making explicit which behaviours are allowed or discouraged, possibly decreasing unwanted hate. They can help to deal with internal and exterior abuses, especially when the documents are upheld by a network of people who acknowledges the differences in privilege, power, experiences, money and time of different users.
of Care
Discussing Codes of Conduct isn't only considering the potential of text, but recognising the labour intensive routines that imply human effort and involve the community. The caretakers are essential — to write the guidelines, to manage reports, to moderate, to document, to listen, to grant support. A Code of Conduct also needs visibility and a plan for distribution. Furthermore, the desire to share different guidelines from corporate-owned social platforms requires other competencies, such as moving to other platforms, or self-hosting our social groups. Care work is highly skilled, and it needs to be further discussed, recognised and cherished.
— a field guide
This field guide will lead you through the attempts, accomplishments and missteps of moderators, writers, users and custodians of social networks. It collects and comments on existing Codes of Conduct, listens to different experiences, and proposes other projects to explore. The field guide goes through the work of artists, designers, libre and open software enthusiasts, feminists and LGBTQ users, aiming to facilitate future work for other circles. It's exciting to consider which gestures may contribute to increasing autonomy and cooperation in digital platforms, whether Codes of Conduct can be useful to reduce hate and improve interactions, or even desirable. Let's explore the networks of care generated together.
Structure
Networks of Care is divided into three parts.
Archiving — to collect and annotate Codes of Conduct, creating a collection that is possible to browse, dissect and analyse.
Networking — to interview and document the work of moderators, writers of Codes of Conduct, facilitators, community members and networks' administrators.
Linking — to point other ways forward, useful templates, resources, and experiments.
Archiving
For Archiving, the wiki software became particularly useful. I'm taking advantage of extensions, such as Semantic Mediawiki, to annotate the documents with specific properties. In the process of reading and interpreting the guidelines, I noticed some patterns. It is palpable how writing Codes of Conduct usually means borrowing content from other groups, looking for inspiration elsewhere, and being aware of the concerns of different communities. I, mostly, recognised these sections:
- Intentions — This section sets the goals for the Code of Conducts, manages expectations for the document.
- Expected behaviour — Describes the actions welcomed in the community.
- Unacceptable behaviour — Expresses the behaviours not tolerated in the community. Ignoring these guidelines may result in action from the community.
- Behaviour to avoid — Lists the actions users should refrain to do, attitudes that weaken the community. It focuses on behaviours some people may think are acceptable.
- Enforcement — Explains the consequences for the users who break the Code of Conducts. It also clarifies how reports should be done and how the community will act upon the information given. It sets responsibilities when incidents happen.
- Support — Holds contacts of the people who are responsible for the Code of Conducts. They may respond to reports, inform the community of changes in the documents, be moderators.
- Links — Other links for support, further explanation of some topics, it points to related content elsewhere.
I'm annotating and selecting the texts that fit into these sections. Clicking on the links above will show you an overview of all the content annotated. For example, you can see all the Intentions together, wrote by each community.
After collecting and analysing more documents, I started noticing more patterns. This is a list that keeps growing...
- Mission — Here the group takes time to explain their background, values, members. Different from Intentions, because it is not related to the Code of Conduct, but with the community as a whole.
- Scope — Indicates where the Code is used, if only on mailing lists, if includes IRC channels, offline meetings, etc.
- Feedback — Explains the mutability of the living document, opens for contributions, includes versions and alterations.
For the reader, it was important to make the structure visible and the content within the structure. To do so, I emphasized the annotations using colours.
You can filter the pages with annotations in the main page, exploring the tags menu.
The act of sharing templates and knowledge might be useful, but it's in the diversity of values, rules, practices of management, enforcement and support that one can find the reasoning for all this labour of care.
Networking
The intention behind Networking is to reach out to different people involved with community guidelines and understand their motivations. I'm interviewing and documenting the work of moderators, writers of Codes of Conduct, facilitators, community members and networks' administrators.
In some cases, I recorded the meetings, in others, the conversations happened through email, social media, video chat, ... The extremely different formats promote diversity in the collection, and at the same time, demand extra attention to each case. The work in progress involves translating content, transcribing it, adding subtitles, editing video, working with sound, and others.
Each page inside Networking shows a different approach to moderation in online communities, highlighting the purpose of Codes of Conduct. The pages are associated with information about format, language and context.
Linking
My project is not isolated from all the others that informed my path, so I'm also linking films, podcasts, texts, images and books that relate with my work and point different ways forward. Frequently, the people I interviewed, or the documents I archived, shared other inspiring work. Following the concept of a network, it only made sense to continuously link these resources.
Also in this category, I'm adding smaller projects and presentations that I worked on while developing the Networks of Care which allowed me to experiment concepts and ideas for the main project.
Images
The images that appear throughout this project are cyanographic prints. A guide to the printing and creation process is shown here.
Technical Documentation
Technical Documentation page