At Wikimania 2015 I ran an T102238: "Introduction to Wikimedia Tech" session (on first Hackathon day) (that task includes a list of web pages to show).
And @AndyRussG gave an (improved) version in Spanish, with slides and pretty nice graphics of the "stack": T105602: Spanish track: Introducción a las tecnologías del movimiento Wikimedia. Un espacio para los novatos y sus compañeros de hackeo. / Introduction to Wikimedia Tech for newcomers and their buddies.
Turn that into a (translatable) wikipage (we basically have en and es already) with bullet points. Add more specific examples to present to talk attendees, so the talk becomes less abstract and more hands-on (e.g. Template use etc).
Dumping a draft here:
An Introduction to and an Overview of Wikimedia Tech: Technical areas, Infrastructure, and Communication.
- This talk only provides pointers and ideas. It's up to you to explore and create.
- Wikimedia is big - many projects/sites, many languages, many areas to contribute to.
- Content and code is free - it can also be used outside of the Wikimedia movement. Your technical contributions may benefit this wide community of communites, not just Wikimedia.
- Overview graphic of areas: https://commons.wikimedia.org/wiki/File:Wm_technical_areas.svg
- MediaWiki Core (mostly PHP; also JavaScript, CSS, LESS and other languages; more than 0.5 million lines of code)
- MediaWiki extensions: https://www.mediawiki.org/wiki/Manual:Extensions (Extending MediaWiki Core functionality. PHP and JS. More than 2000 extensions available; nearly 100 used on Wikimedia sites)
- MediaWiki Skins: https://www.mediawiki.org/wiki/Manual:Skins (CSS/LESS/HTML; changes the appearance of a wiki)
- Templates: https://www.mediawiki.org/wiki/Help:Templates (Lua; logic to process some content, controlled from within the same wiki)
- User scripts and Gadgets (=popular user scripts): https://www.mediawiki.org/wiki/Gadget_kitchen (JavaScript etc. on wiki pages which allows personalizing the individual experience of each user)
- WebAPI: https://www.mediawiki.org/wiki/API:Main_page (Reuse and remix for your own needs.)
- Related: XML and SQL dumps: https://meta.wikimedia.org/wiki/Data_dumps
- Bots: https://www.mediawiki.org/wiki/Manual:Bots (e.g. based on the Pywikibot framework) (many programming languages; more than 1000 bots. External programs which use the API to automatically process/change and analyze content. Example areas: Importing, typos, vandalism.)
- Labs and Tool Labs: https://wikitech.wikimedia.org/wiki/Help:Tool_Labs (Virtual machine hosting environment for community developers working on tools and bots that help users maintain and use wikis. Examples for projects running on Tool Labs: https://tools.wmflabs.org/ )
- (Simplified: Compared to Bots, Tools always run, also when you're not around)
- Testing: https://www.mediawiki.org/wiki/Quality_Assurance (e.g. Ruby and Cucumber; QA and Browser test automation)
- Native Mobile applications: https://www.mediawiki.org/wiki/Wikimedia_Apps (Objective-C, Java)
- External desktop applications: Huggle (C++), AutoWikiBrowser (C#), ...
- Wikimedia Site operations and technical infrastructure: https://github.com/wikimedia/operations-puppet , https://wikitech.wikimedia.org/wiki/Puppet_coding (e.g. Puppet; design, configuration and maintenance of the Wikimedia cluster of services)
- Variety of Programming languages: PHP, JavaScript, Lua, HTML, CSS/LESS, Objective-C, Java, C++, C#, ...
- Infrastructure and tools for development collaboration
- Communication: on-wiki, IRC chat (pretty common among developers), mailing lists: https://www.mediawiki.org/wiki/Communication
- Tracking and discussing tasks, bugs, enhancement requests in Phabricator: https://www.mediawiki.org/wiki/Phabricator
- Source code repositories in Git and Code review in Gerrit: https://www.mediawiki.org/wiki/Gerrit
- High-level overview of MediaWiki development: https://www.mediawiki.org/wiki/Developer_hub
- Introduction to developing MediaWiki: https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker
- Find something to get started! Easy tasks: https://www.mediawiki.org/wiki/Annoying_little_bugs
- Get inspired by what's going on by subscribing to https://meta.wikimedia.org/wiki/Tech/News (A weekly summary of highlights happening in technical areas)
- Apart from code: https://www.mediawiki.org/wiki/How_to_contribute
- Explore, create, share, collaborate, have fun!
- What do you plan to work on? And how can we help you?