Entwicklung in Open-Source- Projekten am Beispiel MediaWiki



Ähnliche Dokumente
Das Content-Management-System OpenCms im Vergleich mit TYPO3 und Joomla. Seminarvortrag von Wolfgang Neuß

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Gliederung. 1. That s Radiant 2. User Interface 3. Rollen 4. Installation 5. Extensions 6. Fazit

Backups einfach gemacht mit Backup Manager

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Moodle aktuell halten mit Git

Deployment Deployment Seite 1 / 25

InfoPoint vom 9. November 2011

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn

Single User 8.6. Installationshandbuch

Produktbeschreibung utilitas Ticketsystem

Patch Management mit

Informationen zum neuen Studmail häufige Fragen

Objektorientierte Programmierung für Anfänger am Beispiel PHP

Lokale Installation von DotNetNuke 4 ohne IIS

Versionsverwaltung mit SVN

Arbeitsgruppen innerhalb der Website FINSOZ e.v.

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

Step by Step Webserver unter Windows Server von Christian Bartl

Anleitung zur Bearbeitung von Prüferkommentaren in der Nachreichung

EGovLabs.gv.at. die OpenSource-Plattform der Plattform Digitales Österreich. DI Martin Centner Wien,

Kommunikationsübersicht XIMA FORMCYCLE Inhaltsverzeichnis

Anleitung über den Umgang mit Schildern

Subversion. 17. Oktober Subversion. Norbert Perk. Warum Versionsverwaltung? Wie funktioniert. Was ist Subversion? Subversion- Server.

SMART Newsletter Education Solutions April 2015

Sehr geehrte Faktor-IPS Anwender,

Software Engineering in der Praxis

1 Allgemeines Ziel des Dokument Name des Dokuement Version Allgemein Status Empfänger...

TYPO3 CMS 6.2 LTS. Die neue TYPO3- Version mit Langzeit- Support

doubleslash Net-Business GmbH

TSM Information für Administratoren Include-Exclude-Listen

Windows Server 2012 R2 Essentials & Hyper-V

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Installationsanleitung dateiagent Pro

Django - ein Python Web-Framework

SharePoint Demonstration

Systemvoraussetzungen Sitzungsmanager

Demopaket FDFsolutions für Windows, Version 1.73, Voraussetzungen & Installation. (Stand )

Wörterbücher von MS nach Ooo konvertieren

Avira Server Security Produktupdates. Best Practice

IMAP Backup. Das Programm zum Sichern, Synchronisieren, Rücksichern und ansehen von gesicherten Mails. Hersteller: malu-soft

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Das Compare-, Merge- und Versionierungstool für Microsoft Dynamics NAV. NAVObjectEditor RECY CLE

Formular»Fragenkatalog BIM-Server«

FreieSoftwareOG. Creative Commons und freie Lizenzen- Ein kurzer Überblick

Betreuung. Teilnehmer

CMS.R. Bedienungsanleitung. Modul Cron. Copyright CMS.R Revision 1

Matrix42. Use Case - Inventory. Version Februar

Versionskontrolle. Verteilte Versionskontrollsysteme. Richard Madsack. 25. November Versionskontrolle. Richard Madsack.

Icinga Teil 2. Andreas Teuchert. 25. Juli 2014

Installation des Authorware Webplayers für den Internet Explorer unter Windows Vista

Tutorial -

Subversion. Einstieg in die. Versionskontrolle

Albert Dengg. Graz,

Installation des GeoShop Redirector für Apache (Stand ) ================================================================

Matrix42. Use Case - Bearbeiten einer Störung unter Verwendung von Inventardaten, Aktionen und Knowledge Base. Version

Updatehinweise für die Version forma 5.5.5

Woher wissen die das? Knowledge Management in der TYPO3 Community

PROJEKTVERZEICHNIS EINRICHTEN

Quick Guide Mitglieder

Verbindung HELIUM V und WebShop (Magento). Verbindung zwischen HELIUM V und WebShop AioS

FS cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Webalizer HOWTO. Stand:

Die Projek*ools. Files, Git, Tickets & Time

EIDAMO Webshop-Lösung - White Paper

git & git-flow Jens Sandmann Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow / 31

Legen Sie nun dieses Verzeichnis mit dem Namen "joomla" hier an: C:xampphtdocs.

SCSI. Programmfiles, Datenfiles und Transaktionsprotokolle je auf separate Diskarrays.

Softwareverteilung. mit. m23

Cloud-Provider im Vergleich. Markus

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

REGIONALES RECHENZENTRUM ERLANGEN [ RRZE] Datenbanken. RRZE-Campustreffen, Stefan Roas und Ali Güclü Ercin, RRZE

iphone app - Anwesenheit

How to do? Projekte - Zeiterfassung

Übersicht. Eclipse Foundation. Eclipse Plugins & Projects. Eclipse Ganymede Simultaneous Release. Web Tools Platform Projekt. WSDL Editor.

Praktikum Ingenieurinformatik (PI)

Homepage mit einem WCMS: Typo3

Besprechung Übung 1 & Vorstellung Übung 2

Multisite Setup. mit Nutzung von Subversion. Drupal Voice Chat

Datenübernahme easyjob 3.0 zu easyjob 4.0

Schnellanleitung: Verbuchung von Studien- und Prüfungsleistungen

Format- oder Stilvorlagen

Intrexx unter Windows Server 2008

Bkvadmin2000 Peter Kirischitz

Persona-SVS e-sync GUI/Client Installation

Websites mit Dreamweaver MX und SSH ins Internet bringen

Simulationsprojekte einfacher mit Subversion und Trac

TYPO3 Installation und Konfiguration

Sage 200 BI Häufige Fehler & Lösungen. Version

Einführung in PHP. (mit Aufgaben)

Bedienung des Web-Portales der Sportbergbetriebe

Anlegen eines SendAs/RecieveAs Benutzer unter Exchange 2003, 2007 und 2010

Galaxy V7 in Deutsch ist ab sofort frei gegeben. Die Versionen Französisch, Italienisch und Englisch folgen spätestens Ende Oktober 2012.

Guide DynDNS und Portforwarding

GITS Steckbriefe Tutorial

Einleitung: Frontend Backend

Transkript:

Entwicklung in Open-Source- Projekten am Beispiel MediaWiki 12.12.2008 von Johan Uhle

Entwicklung in Open-Source- Projekten am Beispiel MediaWiki Geschichte und Relevanz Organisation Technischer Überblick Codestruktur Mein Patch Skalierung und Caching

MediaWiki 3

Geschichte 4 Für die Wikipedia entwickelt Einsatz in Wikipedia seit Januar 2002 Richtiger Release 1.1. Dezember 2003 Neuster Release: 1.13.2 2.Oktober.2008 Im Sinne der Wikipedia offen und zur Mitarbeit einladend Lizensierung: GNU GPL 2

Relevanz 5 Alle Wikimedia-Projekte benutzen es: Wikipedia Wikibooks Wiktionary Wikinews zusätzlich noch interner Einsatz in Unternehmen populärste Software für Wiki-Einsatz

Organisation 1/3 6 www.mediawiki.org Drei Bereiche: Endbenutzer / Systemadministrator / Entwickler Entwicklertools: Bugzilla Subversion (Webansicht mit ViewVC) Doxygen Mailinglist Wikitech-l + lokale Gruppen

Organisation 2/3 7 IRC Channel #mediawiki auf irc.freenode.de >150 Teilnehmer Bot, der neue SVN-Commits und Aktionen in Bugzilla werden im Channel ausgegeben 174 SVN-Commiter (gezählt!)

Organisation 2/3 8 IRC Channel #mediawiki auf irc.freenode.de >150 Teilnehmern Bot, der neue SVN-Commits und Aktionen in Bugzilla werden im Channel ausgegeben 174 SVN-Commiter (gezählt!) Auf Wikimediaprojekten läuft eine der letzten SVN-Versionen Konstanter Code-Review der neusten Commits durch Communitymitglieder

Organisation 3/3 9 Lee Daniel Crocker / Erste Versionen auf Basis von UseMod Wiki Brion Vibber / CTO of the Wikimedia Foundation Tim Starling I'm employed by the Wikimedia Foundation as a developer and system administrator. I became a Wikipedia editor on October 11, 2002, and began volunteer development work about a year later Aaron Schulz I do work in both adding functionality to core components as well as writing badly needed major extensions. I'll sometimes do cleanup/documentation if I am bored ;).

Technischer Überblick 1/2 10 Technische Vorraussetzungen Webserver Apache oder IIS PHP4 < 1.6 => PHP5 MySQL 4.0 oder PostgreSQL 8.1 Wichtigste Funktionen: Es ist ein Wiki Mediendateien (Bilder, Tondateien) Internationalisierung / Lokalisierung Skalierung

Technischer Überblick 2/2 11

Code 1/3 12

Code 2/3 13

Code 3/3 14 Objektorientiert Programmiert Dateistruktur: /include /language PHP-Bibliotheken Sprachen /maintenance Administrationsaufgaben sowie SQL-Dateien für das Datenbanklayout /skins /t und /tests Oberflächen Tests für die meisten Funktionialitäten

Mein Patch 1/4 15 5491 Colour-coding of items in page histories (165xx ist neu) History eines Artikels. Jede Revision hat eigene Zeile. Verbesserung: Je nach Status des User, der die Revision getätigt hat, wird die Hintergrundfarbe geändert.

Mein Patch 2/4 16

Mein Patch 3/4 17

Mein Patch 4/4 18

Skalierung 1/4 19 Skalierung sehr wichtig

Skalierung 2/4 20 Load Balancing vor Squid Squid bedient 75 % des WP-Traffics (vor Allem Anfragen ohne eingeloggte User) MediaWiki enthält NotifyFunktionen, um bei Änderungen dem Squid- Server Bescheid zu geben. Source: /include/article.php dopurge() 1045 onarticleedit() 3137

Skalierung 3/4 21 Load Balancing vor Apache PHP Bytecode Caching mit vielen Frameworks. Empfohlen APC Caching auf Apache Local Message Cache Memcache Datenbankanfrage Source: /incude/messagecache.php Line: 228

Skalierung 4/4 22 Local Message Cache sind statische HTML-Seiten, die an IP-User gegeben werden Memcache läuft auf jedem ApacheServer Speichert Datenbankdaten lokal im Speicher. Löscht Daten nach Least Recent Used

Quellen: 23 MediaWiki SVN 440xx http://www.mediawiki.org http://meta.wikimedia.org http://en.wikipedia.org/wiki/mediawiki_release_history http://lists.wikimedia.org/pipermail/wikitech-l/ https://bugzilla.wikimedia.org https://www.ohloh.net/p/mediawiki #mediawiki auf irc.freenode.de Stand: 10.12.08

Ende 24 Geschichte und Relevanz Organisation Technischer Überblick Codestruktur Mein Patch Skalierung und Caching Fragen?

Empfehlungen 25 How to ask questions the smart way http://www.catb.org/~esr/faqs/smart-questions.html How to report bugs effectively http://www.chiark.greenend.org.uk/~sgtatham/bugs.html