User:TBurmeister (WMF)/Sandbox/Doc-journeys

The following user journeys evolved out of our research into user personas, motivations, and the tasks that users are trying to complete when they seek documentation. The information architecture of the developer portal implements these goals and tasks as site sections and links to key landing pages. Read more about this in our corresponding blog post on Diff.

Discover and share tools
Browse the catalog of tools on Toolhub, share your tools, and help maintain tool metadata.

TODO: First subsection doesn't have action header (breaks the pattern). There's not enough content to justify using this precious dev portal real estate only on Toolhub...both links in this section go to the same place.

Toolhub (Browse tools)
Toolhub is a catalog of tools that make it easier to edit and maintain Wikimedia projects. Use Toolhub to discover new tools, connect with tool maintainers, and share lists of your favorite tools.

https://toolhub.wikimedia.org/

Share a tool
Add your tool to the Toolhub catalog so others can benefit from and build on your work. Log in to Toolhub with your Wikimedia account to get started.

https://toolhub.wikimedia.org/add-or-remove-tools?tab=tool-create

Get started building tools
Create your first tool, learn about running a bot, and get best practices.

Build your first tool
Learn how to edit wiki pages using Python and the Pywikibot framework. This tutorial helps you get started quickly using only your browser.

https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Pywikibot/PAWS

Learn about creating and running bots
Bots help maintain wikis by performing repetitive tasks. Get started creating and running bots by learning about best practices.

https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Creating_a_bot

Best practices for open source tools
New to open source? Get tips to help you develop successful tools and bots, including choosing a license, publishing the code, and writing docs.

https://wikitech.wikimedia.org/wiki/Help:Toolforge/Developing_successful_tools

Learn with tutorials
Follow step-by-step guides to learn the basics of interacting with Wikimedia projects.

Build your first tool
Learn how to edit wiki pages using Python and the Pywikibot framework. This tutorial helps you get started quickly using only your browser.

https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Pywikibot/PAWS

Generate ideas for articles
Learn how to use the MediaWiki API to generate ideas for new Wikipedia articles. This tutorial uses Python and the Flask framework.

https://www.mediawiki.org/wiki/Special:MyLanguage/API:Article_ideas_generator

Write a bot that uses Wikidata
Use Python to handle large datasets from Wikidata and transfer data between tools in your workflow.

https://www.wikidata.org/wiki/Special:MyLanguage/Wikidata:Pywikibot_-_Python_3_Tutorial

Display holidays from Wikipedia
Learn how to use the MediaWiki API to fetch holidays for a given date from Wikipedia. This tutorial also covers how to use the API to log in to Wikipedia and add new holidays. This tutorial uses Python and the Flask framework.

https://www.mediawiki.org/wiki/Special:MyLanguage/API:Holidays_viewer

Add JavaScript or CSS to a wiki
Customize MediaWiki with client-side JavaScript and CSS. Share user scripts, and explore gadgets other people have created.

https://www.mediawiki.org/wiki/Special:MyLanguage/Gadget_kitchen

Host a tool on Wikimedia cloud servers
TODO: In retrospect, this seems odd in this section of the Dev Portal

Toolforge is a free hosting environment for running and managing tools. Get started with Toolforge by creating an account and setting up a basic web service.

https://wikitech.wikimedia.org/wiki/Portal:Toolforge/Quickstart

Use APIs and data sources
Explore programming interfaces for building bots and tools.

Pywikibot
Pywikibot is a Python library and collection of scripts that automate work on Wikimedia projects.

https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Pywikibot

https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Pywikibot/Development

https://gerrit.wikimedia.org/g/pywikibot/core

Browse libraries by programming language
API client libraries make it easier to write code that interacts with an API. Visit this list to browse popular libraries for the MediaWiki API by programming language.

https://www.mediawiki.org/wiki/Special:MyLanguage/API:Client_code

Use the API
The MediaWiki API gives you programmatic access to content on any Wikimedia wiki. You can use the API to search and display wiki pages, get media files, edit pages, and manage wikis.

https://www.mediawiki.org/wiki/Special:MyLanguage/API

https://www.mediawiki.org/wiki/Special:ApiSandbox

Download content in bulk
Access free downloads of wiki content and data that you can use in research, offline reading, bot editing, and other projects.

https://meta.wikimedia.org/wiki/Special:MyLanguage/Data_dumps

Query wiki databases
Wiki replicas are anonymized versions of the databases that back Wikimedia's production sites. Use Quarry to run and share SQL queries.

https://quarry.wmcloud.org/

https://meta.wikimedia.org/wiki/Special:MyLanguage/Research:Quarry

Host tools on Wikimedia servers
Access cloud services for performing analytics, administering bots, running web services, and hosting tools that help Wikimedia projects.

Run scripts in your browser
PAWS is a free, cloud-hosted playground for creating scripts and data visualizations related to Wikimedia projects. Log in with your Wikimedia account and create a notebook to get started.

https://hub.paws.wmcloud.org/hub/login

https://wikitech.wikimedia.org/wiki/PAWS

Learn about cloud hosting for tools
Toolforge is a free hosting environment for running and managing tools. Developing a tool in Toolforge makes it easier to access Wikimedia content and data and to share your tool with others.

https://wikitech.wikimedia.org/wiki/Portal:Toolforge

Connect and learn
Note: many of the landing pages this leads to aren't really technical documentation.