User:DBrant (WMF)/Goodies

Apps team pages

 * Mobile team portal: https://www.mediawiki.org/wiki/Wikimedia_mobile_engineering
 * Apps team page: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team
 * Release process: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Release_process
 * Why apps: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Why_apps
 * Release history (update with every release): https://www.mediawiki.org/wiki/Mobile/Release_history#Apps
 * Roles, responsibilities: https://www.mediawiki.org/wiki/Reading/Web/Team/Roles_and_responsibilities
 * Development cycle: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Development_cycle
 * Feedback for old app: https://www.mediawiki.org/wiki/Wikimedia_Apps/Wikipedia/Feedback
 * All subpages under mobile apps: https://www.mediawiki.org/wiki/Special:PrefixIndex/Wikimedia_Apps/
 * App readme: https://www.mediawiki.org/wiki/Wikimedia_Apps/Team/Wikipedia_Android_app_hacking

Goals

 * 2015-2016 road map for android and ios.
 * 2015-Q1: https://www.mediawiki.org/wiki/Wikimedia_Engineering/2015-16_Q1_Goals#Reading

Phabricator boards

 * Mobile app goals: https://phabricator.wikimedia.org/tag/mobile-app-goals/
 * Android app: https://phabricator.wikimedia.org/tag/wikipedia-app-android-app/
 * General/unknown app: https://phabricator.wikimedia.org/tag/wikipedia-app-general-or-unknown/
 * iOS app development and backlog.
 * Content service: https://phabricator.wikimedia.org/tag/mobile_content_service/
 * Roadmap board: https://phabricator.wikimedia.org/project/sprint/board/1109/
 * Reading admin board: https://phabricator.wikimedia.org/tag/reading-admin/
 * Project creators: https://phabricator.wikimedia.org/project/profile/835/
 * https://www.mediawiki.org/wiki/Phabricator/Creating_and_renaming_projects#New_projects
 * Older mobile apps board: https://phabricator.wikimedia.org/tag/mobile-apps/

Android

 * Screen sharing: Android Screen Monitor (ASM) -- https://code.google.com/p/android-screen-monitor/
 * Memory profiling: Eclipse MAT -- https://eclipse.org/mat/downloads.php
 * Decompile: APKtool, dex2jar
 * Material Design icons: https://www.google.com/design/icons/
 * Asset studio: http://romannurik.github.io/AndroidAssetStudio/
 * Activity lifecycle: https://github.com/xxv/android-lifecycle
 * Porter/Duff modes: http://ssp.impulsetrain.com/porterduff.html
 * ImageView scaleTypes: http://bon-app-etit.blogspot.com/2014/01/imageview-scaletypes.html
 * Annotations: http://developer.android.com/reference/android/support/annotation/package-summary.html
 * Device metrics: http://www.google.com/design/tool/devices/
 * Install Google apps in Genymotion.

MySQL

 * Linux/Windows/Mac: MySQL Workbench -- https://dev.mysql.com/downloads/workbench/
 * Note, when installing on Windows, and you find that Workbench fails to connect to Wikimedia's stat1003 over the Bastion tunnel, try using this fork of paramiko: https://github.com/zamiam69/paramiko/tree/add_sha2_support
 * Also, to make text fields appear properly, go to Edit -> Preferences, SQL Editor -> SQL Execution, and check the box "Treat BINARY/VARBINARY as nonbinary character string."
 * Mac only: Sequel Pro -- https://sequelpro.com

Gerrit

 * all open patches in Android app: https://gerrit.wikimedia.org/r/#/q/status:open+project:apps/android/wikipedia+branch:master,n,z
 * all open patches in java-mwapi: https://gerrit.wikimedia.org/r/#/q/status:open+project:apps/android/java-mwapi+branch:master,n,z
 * all patches by me: https://gerrit.wikimedia.org/r/#/q/owner:Dbrant,n,z
 * Gerrit reviewer bot: https://www.mediawiki.org/wiki/Git/Reviewers

API

 * Documentation: https://en.wikipedia.org/w/api.php
 * Api Sandbox: https://en.wikipedia.org/wiki/Special:ApiSandbox
 * Parsoid DOM spec: https://www.mediawiki.org/wiki/Parsoid/MediaWiki_DOM_spec
 * CirrusSearch: http://www.mediawiki.org/wiki/Help:CirrusSearch

Services

 * RESTBase for apps: https://www.mediawiki.org/wiki/RESTBase_services_for_apps
 * Content service in gerrit: https://gerrit.wikimedia.org/r/#/admin/projects/mediawiki/services/mobileapps

Jenkins/Zuul issues
Remember to always !log in #wikimedia-qa when performing manual commands via Jenkins control panel.
 * Jenkins admin: https://integration.wikimedia.org/ci/
 * Add a comment of "recheck" to force Jenkins to reevaluate a patch.
 * https://www.mediawiki.org/wiki/Continuous_integration/Zuul#Known_issues
 * https://www.mediawiki.org/wiki/Continuous_integration/Zuul#Gearman_deadlock

Event logging

 * Event logging schema list: https://meta.wikimedia.org/wiki/Special:PrefixIndex/Schema:MobileWikiApp
 * Event logging help: https://wikitech.wikimedia.org/wiki/EventLogging, https://wikitech.wikimedia.org/wiki/EventLogging/Testing/BetaLabs
 * Hive help: https://wikitech.wikimedia.org/wiki/Analytics/Cluster/Hive

Caesium (releases)
To copy stuff over: $ scp [file] caesium.eqiad.wmnet:~/[file] $ scp app.apk caesium.eqiad.wmnet:/srv/org/wikimedia/releases/mobile/android/wikipedia/alphas/app.apk
 * https://releases.wikimedia.org/mobile/android/wikipedia/

Android builds
$ ssh android-build.eqiad.wmflabs $ sudo -s $ sudo -u android-build /bin/bash $ cd /srv/builds
 * New: http://android-builds.wmflabs.org/
 * Gerrit: https://gerrit.wikimedia.org/r/#/admin/projects/labs/tools/wikipedia-android-builds

$ ssh dbrant@tools-login.wmflabs.org $ OR: ssh dbrant@tools-dev.wmflabs.org $ become wikipedia-android-builds $ webservice [start|stop]
 * Old: http://tools.wmflabs.org/wikipedia-android-builds/, http://tools.wmflabs.org/?tool=wikipedia-android-builds

Partners

 * List of partners and apk builds.

TranslateWiki

 * https://www.mediawiki.org/wiki/Translation_of_app_string_resources

Maven repo
$ ssh dbrant@tools-login.wmflabs.org $ cd /data/project/android-maven-repo/public_html
 * https://tools.wmflabs.org/android-maven-repo

.ssh config
Host bastlabs HostName bastion-eqiad.wmflabs.org User dbrant Host *.eqiad.wmflabs !bastion-eqiad.wmflabs.org User dbrant IdentityFile ~/.ssh/id_rsa ProxyCommand ssh -a -W %h:%p bastlabs Host bastprod HostName bast1001.wikimedia.org User dbrant Host *.eqiad.wmnet *.wikimedia.org !bast1001.wikimedia.org User dbrant IdentityFile ~/.ssh/id_rsa ProxyCommand ssh -a -W %h:%p bastprod
 * 1) Use bastion-eqiad.wmflabs.org as proxy to labs
 * 1) Production bastion host

Onboarding/Fundamentals

 * Gerrit: https://www.mediawiki.org/wiki/Gerrit
 * Vagrant: https://www.mediawiki.org/wiki/MediaWiki-Vagrant
 * Bash git prompt: https://github.com/magicmonty/bash-git-prompt
 * Git completion: https://github.com/bobthecow/git-flow-completion
 * Dotfiles: https://github.com/mathiasbynens/dotfiles
 * Mobile Web dev sessions: https://www.mediawiki.org/wiki/Reading/Web/Team/Dev_sessions

Administrative

 * NOC: https://noc.wikimedia.org/
 * Labs mobile instances: https://wikitech.wikimedia.org/wiki/Nova_Resource:Mobile
 * Help: https://wikitech.wikimedia.org/wiki/Help:Tool_Labs
 * Deployments: https://wikitech.wikimedia.org/wiki/Deployments
 * Test Wiki
 * Block: https://test.wikipedia.org/wiki/Special:Block
 * Unblock: https://test.wikipedia.org/wiki/Special:Unblock
 * Zero: https://zero.wikimedia.org/wiki/Special:ZeroPortal
 * Testing: https://zero.wikimedia.org/wiki/Zero:TEST
 * Mobile report card (limn): http://mobile-reportcard.wmflabs.org/#
 * Search metrics: http://searchdata.wmflabs.org/metrics/
 * Wikipedia manual of style: http://en.wikipedia.org/wiki/Wikipedia:Manual_of_Style
 * Wikimedia blog: https://meta.wikimedia.org/wiki/Wikimedia_Blog
 * JetBrains licenses: https://office.wikimedia.org/wiki/JetBrains