MedienWiki - MediaWiki

MedienWiki
MediaWiki-2020-logo.svg
Bildschirmfoto
Englischer Wikipedia-Screenshot.png
Die Hauptseite der englischen Wikipedia mit MediaWiki 1.36
Originalautor(en) Magnus Manske , Lee Daniel Crocker
Entwickler Wikimedia-Stiftung
Erstveröffentlichung 25. Januar 2002 ; Vor 19 Jahren ( 2002-01-25 )
Stabile Version
1.36.2  Bearbeiten Sie dies auf Wikidata / 30. September 2021 ; Vor 18 Tagen ( 30. September 2021 )
Repository
Geschrieben in PHP
Betriebssystem Windows , macOS , Linux , FreeBSD , OpenBSD , Solaris
Größe ~48  MB (komprimiert)
Verfügbar in 459 Sprachen
Typ Wiki-Software
Lizenz GPLv2+
Webseite www .mediawiki .org Bearbeite dies bei Wikidata

MediaWiki ist eine kostenlose Open-Source- Wiki-Software . Es wurde 2002 für Wikipedia entwickelt und erhielt 2003 den Namen "MediaWiki". Es wird weiterhin auf Wikipedia und fast allen anderen Wikimedia- Websites verwendet , einschließlich Wiktionary , Wikimedia Commons und Wikidata ; diese Seiten definieren weiterhin einen großen Teil der Anforderungen an MediaWiki. MediaWiki wurde ursprünglich von Magnus Manske entwickelt und von Lee Daniel Crocker verbessert . Seine Entwicklung wird seitdem von der Wikimedia Foundation koordiniert .

MediaWiki ist in der Programmiersprache PHP geschrieben und speichert alle Textinhalte in einer Datenbank . Die Software ist für die effiziente Abwicklung großer Projekte optimiert, die Terabyte an Inhalten und Hunderttausende Aufrufe pro Sekunde umfassen können. Da Wikipedia eine der größten Websites der Welt ist, war es für Entwickler ein wichtiges Anliegen , Skalierbarkeit durch mehrere Schichten von Caching und Datenbankreplikation zu erreichen . Ein weiterer wichtiger Aspekt von MediaWiki ist seine Internationalisierung; seine Schnittstelle ist in mehr als 300 Sprachen verfügbar. Die Software verfügt über mehr als 1.000 Konfigurationseinstellungen und mehr als 1.800 Erweiterungen , mit denen verschiedene Funktionen hinzugefügt oder geändert werden können.

Neben seiner Verwendung auf Wikimedia-Sites wurde MediaWiki als Wissensmanagement- und Content-Management-System auf vielen Tausenden von öffentlichen und privaten Websites verwendet, einschließlich der Websites Fandom , wikiHow und großen internen Installationen wie Intellipedia und Diplopedia .

Lizenz

MediaWiki ist kostenlos und Open Source und wird unter den Bedingungen der GNU General Public License Version 2 oder einer späteren Version vertrieben. Die Dokumentation unter www.mediawiki.org wird unter der Creative Commons BY-SA 3.0- Lizenz veröffentlicht und ist teilweise gemeinfrei . Insbesondere sind die Handbücher und anderer Inhalt auf MediaWiki.org Creative Commons- lizenziert, während die Hilfeseiten, die frei in neue Wiki-Installationen kopiert und/oder mit MediaWiki-Software verteilt werden sollen, gemeinfrei sind. Dies wurde getan, um rechtliche Probleme zu beseitigen, die sich aus dem Import von Hilfeseiten in Wikis mit Lizenzen ergeben, die mit der Creative Commons-Lizenz nicht kompatibel sind. Die Entwicklung von MediaWiki hat im Allgemeinen die Verwendung von Open-Source-Medienformaten begünstigt .

Entwicklung

MediaWiki hat eine aktive Freiwilligen-Community für Entwicklung und Wartung. Benutzer, die durch das Einreichen von Patches sinnvolle Beiträge zum Projekt geleistet haben , erhalten auf Anfrage grundsätzlich Zugriff auf Commit-Revisionen im Git / Gerrit- Repository des Projekts . Es gibt auch bezahlte Programmierer, die hauptsächlich Projekte für die Wikimedia Foundation entwickeln . MediaWiki-Entwickler nehmen am Google Summer of Code teil, indem sie die Zuweisung von Mentoren an Studenten erleichtern, die an MediaWiki-Kern- und Erweiterungsprojekten arbeiten möchten. Im Jahr vor November 2012 gab es etwa 200 Entwickler, die Änderungen am MediaWiki-Kern oder an Erweiterungen vorgenommen hatten. Größere MediaWiki-Releases werden ungefähr alle sechs Monate generiert, indem Snapshots des Entwicklungszweigs erstellt werden, der kontinuierlich in einem lauffähigen Zustand gehalten wird; Minor Releases oder Point Releases werden nach Bedarf herausgegeben, um Fehler (insbesondere Sicherheitsprobleme) zu beheben .

MediaWiki wird nach einem Continuous-Integration- Entwicklungsmodell entwickelt, dessen Softwareänderungen regelmäßig live auf Wikimedia-Sites übertragen werden.

MediaWiki hat auch einen öffentlichen Bug- Tracker, phabricator.wikimedia.org , der Phabricator ausführt . Die Site wird auch für Funktions- und Verbesserungsanfragen verwendet .

Geschichte

Magnus Manske im Jahr 2012

Als Wikipedia im Januar 2001 gestartet wurde, lief es auf einem bestehenden Wiki-Softwaresystem , UseModWiki . UseModWiki ist in der Programmiersprache Perl geschrieben und speichert alle Wiki-Seiten in Textdateien ( .txt ). Diese Software erwies sich bald als einschränkend, sowohl in der Funktionalität als auch in der Leistung. Mitte 2001 begann Magnus Manske – Entwickler und Student an der Universität zu Köln sowie Wikipedia-Redakteur – mit der Arbeit an einer neuen Software, die UseModWiki ablösen sollte, die speziell für Wikipedia entwickelt wurde. Diese Software wurde in der Skriptsprache PHP geschrieben und alle ihre Informationen in einer MySQL- Engine-Datenbank gespeichert. Bis zum 24. August 2001 wurde die neue Software weitgehend entwickelt, kurz darauf wurde ein Test-Wiki dafür eingerichtet.

Die erste vollständige Implementierung dieser Software war die neue Meta-Wikipedia am 9. November 2001. Es bestand der Wunsch, sie sofort in die englischsprachige Wikipedia zu implementieren, jedoch war Manske besorgt über mögliche Fehler, die der entstehenden Website während dieser Zeit schaden könnten der Abschlussprüfungen, die er unmittelbar vor Weihnachten ablegen musste; Dies führte dazu, dass sich der Start in der englischsprachigen Wikipedia auf den 25. Januar 2002 verzögerte. Die Software wurde dann nach und nach auf allen damaligen Wikipedia-Seiten eingesetzt. Diese Software wurde als "das PHP-Skript" und als "Phase II" bezeichnet, mit dem Namen "Phase I", rückwirkend für die Verwendung von UseModWiki.

Durch die zunehmende Nutzung traten bald wieder Lastprobleme auf, und kurz darauf begann ein erneutes Überschreiben der Software; diesmal von Lee Daniel Crocker , die als "Phase III" bekannt wurde. Diese neue Software wurde ebenfalls in PHP mit einem MySQL-Back-End geschrieben und behielt die grundlegende Schnittstelle der Phase-II-Software bei, jedoch mit der zusätzlichen Funktionalität einer breiteren Skalierbarkeit . Die Software "Phase III" ging im Juli 2002 auf Wikipedia live.

Die Wikimedia Foundation wurde am 20. Juni 2003 bekannt gegeben. Im Juli schlug Wikipedia-Mitwirkender Daniel Mayer den Namen "MediaWiki" für die Software vor, als Anspielung auf "Wikimedia". Der Name MediaWiki wurde ab August 2003 schrittweise eingeführt. Der Name hat aufgrund seiner (absichtlichen) Ähnlichkeit mit dem Namen "Wikimedia" (der selbst "Wikipedia" ähnelt) häufig für Verwirrung gesorgt.

MediaWiki-Logo bis 1. April 2021

Das alte Produktlogo wurde von Erik Möller nach einem Blumenfoto von Florence Nibart-Devouard erstellt und ursprünglich für den Logo-Wettbewerb für ein neues Wikipedia-Logo eingereicht, der vom 20. Juli bis 27. August 2003 stattfand. Das Logo kam herein dritten Platz und wurde ausgewählt, um MediaWiki und nicht Wikipedia zu repräsentieren, wobei das Logo des zweiten Platzes für die Wikimedia Foundation verwendet wurde. Die doppelten eckigen Klammern ( [[ ]] ) symbolisieren die Syntax, die MediaWiki verwendet, um Hyperlinks zu anderen Wiki-Seiten zu erstellen; während die Sonnenblume die Vielfalt der Inhalte auf Wikipedia, das ständige Wachstum und auch die Wildheit repräsentiert.

Später, Brion Vibber , der Chief Technical Officer der Wikimedia Foundation , übernahm die Rolle des Release Managers und ist der aktivste Entwickler .

Wichtige Meilensteine ​​in der Entwicklung von MediaWiki waren: das Kategorisierungssystem (2004); Parserfunktionen , (2006); Gekennzeichnete Revisionen , (2008); der „ ResourceLoader “, ein Liefersystem für CSS und JavaScript (2011); und der VisualEditor , eine "What you see is what you get" ( WYSIWYG ) Bearbeitungsplattform (2013).

Der Wettbewerb zur Gestaltung eines neuen Logos wurde am 22. Juni 2020 ins Leben gerufen, da das alte Logo ein Bitmap-Bild war und "hohe Details" aufwies, was zu Problemen beim Rendern bei hohen bzw. niedrigen Auflösungen führte. Nach zwei Abstimmungsrunden wurde am 24. Oktober 2020 das neue und aktuelle MediaWiki-Logo designt von Serhio Magpie ausgewählt und am 1. April 2021 offiziell verabschiedet.

Versionsgeschichte

Die erste Version von MediaWiki, 1.1, wurde im Dezember 2003 veröffentlicht.

Websites mit MediaWiki

FANDOM verwendet auch MediaWiki.

Die bekannteste Verwendung von MediaWiki war Wikipedia und in geringerem Maße auch die anderen Projekte der Wikimedia Foundation. Fandom , ein Wiki-Hosting-Dienst, der früher als Wikia bekannt war, läuft auf MediaWiki. Andere öffentliche Wikis, die auf MediaWiki laufen, sind wikiHow und SNPedia . WikiLeaks begann als MediaWiki-basierte Site, ist aber kein Wiki mehr.

Auf MediaWiki laufen eine Reihe alternativer Wiki-Enzyklopädien zu Wikipedia, darunter Citizendium , Metapedia , Scholarpedia und Conservapedia . MediaWiki wird auch intern von einer Vielzahl von Unternehmen verwendet, darunter Novell und Intel .

Bemerkenswerte Verwendungen von MediaWiki innerhalb von Regierungen sind Intellipedia , das vom US-Geheimdienst verwendet wird , Diplopedia , das vom US-Außenministerium verwendet wird , und milWiki, ein Teil von milSuite, das vom US-Verteidigungsministerium verwendet wird . Organisationen der Vereinten Nationen wie das Entwicklungsprogramm der Vereinten Nationen und INSTRAW haben sich dafür entschieden, ihre Wikis mit MediaWiki zu implementieren, weil "diese Software Wikipedia betreibt und daher garantiert gründlich getestet wird, bis weit in die Zukunft weiterentwickelt wird und zukünftige Techniker daran arbeiten" Wikis werden mit größerer Wahrscheinlichkeit mit MediaWiki in Berührung kommen als jede andere Wiki-Software."

Die Free Software Foundation verwendet MediaWiki, um die LibrePlanet- Site zu implementieren .

Hauptmerkmale

MediaWiki bietet einen umfangreichen Kernfunktionssatz und einen Mechanismus zum Anhängen von Erweiterungen , um zusätzliche Funktionen bereitzustellen.

Internationalisierung und Lokalisierung

Niklas Laxström erklärt die Funktionen, die es translatewiki.net ermöglichten, MediaWiki mit mehr als 300 Sprachumgebungen bereitzustellen.

Aufgrund der starken Betonung der Mehrsprachigkeit in den Wikimedia-Projekten wurde der Internationalisierung und Lokalisierung von Entwicklern große Aufmerksamkeit geschenkt. Die Benutzeroberfläche wurde auf translatewiki.net vollständig oder teilweise in mehr als 300 Sprachen übersetzt und kann von Site-Administratoren weiter angepasst werden (die gesamte Oberfläche kann über das Wiki bearbeitet werden).

Mehrere Erweiterungen, insbesondere die im MediaWiki Language Extension Bundle gesammelten , sollen die Mehrsprachigkeit und Internationalisierung von MediaWiki weiter verbessern.

Installation und Konfiguration

Die Installation von MediaWiki erfordert, dass der Benutzer über Administratorrechte auf einem Server verfügt, auf dem sowohl PHP als auch eine kompatible SQL- Datenbank ausgeführt werden . Einige Benutzer finden, dass die Einrichtung eines virtuellen Hosts hilfreich ist, wenn der Großteil der eigenen Site unter einem Framework (wie Zope oder Ruby on Rails ) läuft, das mit MediaWiki weitgehend inkompatibel ist. Cloud-Hosting kann die Bereitstellung eines neuen Servers überflüssig machen.

Über einen Webbrowser wird auf ein Installations-PHP-Skript zugegriffen , um die Wiki-Einstellungen zu initialisieren. Es fordert den Benutzer auf, einen minimalen Satz erforderlicher Parameter einzugeben, und lässt weitere Änderungen wie das Aktivieren von Uploads, das Hinzufügen eines Site-Logos und das Installieren von Erweiterungen durch Ändern der Konfigurationseinstellungen in einer Datei namens LocalSettings.php. Einige Aspekte von MediaWiki können über spezielle Seiten oder durch das Bearbeiten bestimmter Seiten konfiguriert werden; Missbrauchsfilter können beispielsweise über eine spezielle Seite konfiguriert werden und bestimmte Gadgets können hinzugefügt werden, indem JavaScript- Seiten im MediaWiki-Namespace erstellt werden. Die MediaWiki-Community veröffentlicht eine umfassende Installationsanleitung.

Markup

Einer der frühesten Unterschiede zwischen MediaWiki (und seinem Vorgänger UseModWiki ) und anderen Wiki-Engines war die Verwendung von " freien Links " anstelle von CamelCase . Als MediaWiki erstellt wurde, war es typisch für Wikis, Texte wie "WorldWideWeb" zu verlangen, um einen Link zu einer Seite über das World Wide Web zu erstellen ; Links in MediaWiki hingegen werden durch umgebende Wörter mit doppelten eckigen Klammern erzeugt, und alle Leerzeichen dazwischen bleiben intakt, zB [[World Wide Web]]. Diese Änderung war logisch, um eine Enzyklopädie zu erstellen, bei der die Genauigkeit der Titel wichtig ist.

MediaWiki verwendet ein erweiterbares, leichtes Wiki-Markup , das einfacher zu verwenden und zu erlernen ist als HTML . Es gibt Tools zum Konvertieren von Inhalten wie Tabellen zwischen MediaWiki-Markup und HTML. Es wurden Anstrengungen unternommen, um eine MediaWiki-Markup-Spezifikation zu erstellen, aber es scheint Einigkeit erzielt worden zu sein, dass Wikicode kontextsensitive Grammatikregeln erfordert . Der folgende Direktvergleich veranschaulicht die Unterschiede zwischen Wiki-Markup und HTML:

MediaWiki-Syntax
(der "hinter den Kulissen"-Code, der
verwendet wird, um Text formatieren zu lassen)
HTML-Äquivalent
(eine andere Art von "hinter den Kulissen"-Code, der
verwendet wird, um Text formatieren zu lassen)
Gerenderte Ausgabe
(wird von einem Site-Viewer auf dem Bildschirm angezeigt)
==== A dialogue ====

"Take some more [[tea]]," the March Hare said to Alice, very earnestly.

"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."

"You mean you can't take ''less''," said the Hatter: "it's '''very''' easy to take ''more'' than nothing."
<h4>A dialogue</h4>

<p>"Take some more <a href="/wiki/Tea" title="Tea">tea</a>," the March Hare said to Alice, very earnestly.</p>

<p>"I've had nothing yet," Alice replied in an offended tone: "so I can't take more."</p>

<p>"You mean you can't take <i>less</i>," said the Hatter: "it's <b>very</b> easy to take <i>more</i> than nothing."</p>
Ein Dialog

„Nimm noch etwas Tee “, sagte der Märzhase sehr ernst zu Alice.

„Ich habe noch nichts gegessen“, antwortete Alice in beleidigtem Ton: „also kann ich nicht mehr vertragen.“

"Du meinst, du kannst nicht weniger nehmen ", sagte der Hutmacher, "es ist sehr einfach, mehr zu nehmen als nichts."

(Zitat oben aus Alice's Adventures in Wonderland von Lewis Carroll )

Bearbeitungsoberfläche

Bearbeitungsoberfläche von MediaWiki 1.36( wmf ), die die Bearbeitungssymbolleiste und einige Beispiele für die Wiki-Syntax zeigt

Die standardmäßigen Seitenbearbeitungswerkzeuge von MediaWiki wurden als etwas schwierig zu erlernen beschrieben. Eine Umfrage unter Studenten, die ein MediaWiki-basiertes Wiki verwenden sollten, ergab, dass 24 % bei einer offenen Frage zu den Hauptproblemen des Wikis technische Probleme bei der Formatierung nannten, z. Ich kann nicht herausfinden, wie ein Link mit Wörtern angezeigt wird; er fügt eine Zahl ein."

Um das Bearbeiten langer Seiten zu erleichtern, erlaubt MediaWiki das Bearbeiten eines Unterabschnitts einer Seite (wie durch seine Kopfzeile identifiziert). Ein registrierter Benutzer kann auch angeben, ob eine Änderung geringfügig ist oder nicht. Das Korrigieren von Rechtschreibung, Grammatik oder Zeichensetzung sind Beispiele für geringfügige Änderungen, während das Hinzufügen von Absätzen von neuem Text ein Beispiel für nicht geringfügige Änderungen ist.

Während ein Benutzer die Bearbeitung durchführt, speichert manchmal ein zweiter Benutzer eine Bearbeitung im selben Teil der Seite. Wenn dann der erste Benutzer versucht, die Seite zu speichern, tritt ein Bearbeitungskonflikt auf. Der zweite Benutzer erhält dann die Möglichkeit, seinen Inhalt in die Seite einzufügen, wie sie jetzt nach dem Speichern der Seite des ersten Benutzers existiert.

Die Benutzeroberfläche von MediaWiki wurde in viele verschiedene Sprachen übersetzt. Es kann auch eine Sprache für den Wiki-Inhalt selbst eingestellt werden, die im HTTP-Header "Content-Language" und im HTML-Attribut "lang" gesendet wird .

Programmierschnittstelle

MediaWiki verfügt über eine erweiterbare Web-API ( Application Programming Interface ), die einen direkten Zugriff auf hoher Ebene auf die in den MediaWiki-Datenbanken enthaltenen Daten ermöglicht. Clientprogramme können die API verwenden, um sich anzumelden, Daten abzurufen und Änderungen zu veröffentlichen. Die API unterstützt schlanke webbasierte JavaScript-Clients und Endbenutzeranwendungen (z. B. Tools zur Vandalenbekämpfung). Auf die API kann über das Backend einer anderen Website zugegriffen werden . Eine umfangreiche Python- Bot- Bibliothek, Pywikibot, und ein beliebtes halbautomatisches Tool namens AutoWikiBrowser sind ebenfalls mit der API verbunden. Der Zugriff auf die API erfolgt über URLs wie http://en.wikipedia.org/w/api.php?action=query&list=recentchanges. In diesem Fall würde die Abfrage Wikipedia nach Informationen zu den letzten 10 Änderungen an der Site fragen. Einer der wahrgenommenen Vorteile der API ist ihre Sprachunabhängigkeit; Es lauscht auf HTTP- Verbindungen von Clients und kann eine Antwort in einer Vielzahl von Formaten senden, z. B. XML , serialisiertes PHP oder JSON . Client-Code wurde entwickelt, um der API Abstraktionsschichten bereitzustellen .

Reichhaltiger Inhalt

Bilder können in Galerien angeordnet werden, eine Funktion, die ausgiebig für Wikimedias Medienarchiv Wikimedia Commons verwendet wird .

MediaWiki unterstützt umfangreiche Inhalte, die durch spezielle Syntax generiert werden. Zum Beispiel bietet die Software optionale Unterstützung für das Rendern mathematischer Formeln mit LaTeX und einen speziellen Parser, der in OCaml geschrieben ist . Ähnliche Funktionen für andere Inhalte, die von grafischen Zeitleisten über mathematische Darstellungen und Musikpartituren bis hin zu ägyptischen Hieroglyphen reichen , sind über Erweiterungen verfügbar.

Die Software ist im Umgang mit einer Vielzahl von hochgeladenen Mediendateien leistungsfähiger geworden. Seine umfangreichste Funktionalität liegt im Bereich der Bilder, wo Bildergalerien und Thumbnails relativ einfach erstellt werden können. Es gibt auch Unterstützung für Exif- Metadaten . Die Nutzung von MediaWiki für den Betrieb der Wikimedia Commons , eines der größten Medienarchive mit freiem Inhalt , hat den Bedarf an weiteren Funktionen in diesem Bereich erhöht.

Für die WYSIWYG-Bearbeitung steht VisualEditor in MediaWiki zur Verfügung, was den Bearbeitungsprozess für Redakteure vereinfacht und seit MediaWiki 1.35 gebündelt ist. Es gibt andere Erweiterungen, um die WYSIWYG-Bearbeitung in unterschiedlichem Maße zu handhaben.

Bearbeitungen verfolgen

Zu den Funktionen von MediaWiki, die das Nachverfolgen von Bearbeitungen unterstützen, gehört eine Funktion für letzte Änderungen, die eine Liste der letzten Bearbeitungen des Wikis bereitstellt. Diese Liste enthält grundlegende Informationen über diese Änderungen, wie den bearbeitenden Benutzer, die Bearbeitungszusammenfassung, die bearbeitete Seite sowie alle Tags (z. B. "möglicher Malware-Link"), die von anpassbaren Missbrauchsfiltern und anderen Erweiterungen hinzugefügt wurden, um nicht hilfreiche Änderungen zu bekämpfen. In aktiveren Wikis werden so viele Änderungen vorgenommen, dass es schwierig ist, die letzten Änderungen manuell zu verfolgen. In solchen Wikis wird manchmal Anti-Vandalismus-Software, einschließlich benutzerunterstützter Tools, verwendet, um Elemente der letzten Änderung zu verarbeiten. Die Serverlast kann reduziert werden, indem ein kontinuierlicher Feed mit den letzten Änderungen an einen IRC-Kanal gesendet wird , den diese Tools überwachen können, sodass sie keine Anfragen für einen aktualisierten Feed mit den letzten Änderungen an die API senden müssen.

Ein weiteres wichtiges Instrument ist das Watchlisting. Jeder angemeldete Benutzer hat eine Merkliste, zu der der Benutzer beliebige Seiten hinzufügen kann. Wenn eine dieser Seiten bearbeitet wird, wird bei der nächsten Aktualisierung eine Zusammenfassung dieser Änderung in der Beobachtungsliste angezeigt. Wie auf der Seite mit den letzten Änderungen enthalten die letzten Änderungen, die auf der Beobachtungsliste angezeigt werden, anklickbare Links zur einfachen Überprüfung des Artikelverlaufs und spezifischer Änderungen.

Es besteht auch die Möglichkeit, alle von einem bestimmten Benutzer vorgenommenen Änderungen zu überprüfen. Auf diese Weise ist es möglich, wenn eine Bearbeitung als problematisch identifiziert wird, die anderen Bearbeitungen des Benutzers auf Probleme zu überprüfen.

MediaWiki ermöglicht es, auf bestimmte Versionen von Artikeln zu verlinken. Dies war für die wissenschaftliche Gemeinschaft insofern nützlich, als sachkundige Peer-Reviewer Artikel analysieren, verbessern und Links zu der vertrauenswürdigen Version dieses Artikels bereitstellen konnten.

Navigation

Wikilinks

Die Navigation durch das Wiki erfolgt größtenteils über interne Wikilinks. Die Wikilinks von MediaWiki implementieren eine Seitenexistenzerkennung, bei der ein Link blau gefärbt wird, wenn die Zielseite im lokalen Wiki vorhanden ist, und rot, wenn dies nicht der Fall ist. Wenn ein Benutzer auf einen roten Link klickt, wird er aufgefordert, einen Artikel mit diesem Titel zu erstellen. Die Erkennung der Seitenexistenz macht es für Benutzer praktisch, "wikiified"-Artikel zu erstellen, dh Artikel, die Links zu anderen relevanten Themen enthalten, ohne dass diese anderen Artikel noch existieren.

Interwiki-Links

Interwiki-Links funktionieren ähnlich wie Namespaces. Eine Reihe von Interwiki-Präfixen kann so konfiguriert werden, dass beispielsweise ein Seitentitel oder wikiquote:Jimbo Walesder Benutzer zum Jimbo Wales-Artikel auf Wikiquote geleitet wird . Im Gegensatz zu internen Wikilinks fehlt Interwiki-Links die Funktion zur Seitenexistenzerkennung, und dementsprechend gibt es keine Möglichkeit zu erkennen, ob ein blauer Interwiki-Link defekt ist oder nicht.

Interlanguage-Links

Ein Beispiel für interlinguale Links

Interlanguage-Links sind die kleinen Navigationslinks, die in den meisten MediaWiki-Skins in der Seitenleiste angezeigt werden und einen Artikel mit verwandten Artikeln in anderen Sprachen innerhalb derselben Wiki-Familie verbinden. Dies kann sprachspezifische Communities bereitstellen, die durch einen größeren Kontext verbunden sind, mit allen Wikis auf demselben Server oder jedem auf einem eigenen Server.

Zuvor verwendete Wikipedia interlinguale Links, um einen Artikel mit anderen Artikeln zum gleichen Thema in anderen Wikipedia-Ausgaben zu verknüpfen. Dies wurde durch die Einführung von Wikidata abgelöst.

Inhaltsorganisation

Seitenregisterkarten und zugehörige Seiten

MediaWiki-Seiten-Tabs, die den "Vektor"-Skin verwenden. Die rote Einfärbung des Reiters "Diskussion" weist darauf hin, dass der Artikel noch keine Diskussionsseite hat. Wie bei jedem anderen roten Wikilink fordert ein Klick darauf den Benutzer auf, die Seite zu erstellen.

Seitenregisterkarten werden oben auf den Seiten angezeigt. Auf diesen Registerkarten können Benutzer Aktionen ausführen oder Seiten anzeigen, die sich auf die aktuelle Seite beziehen. Zu den verfügbaren Standardaktionen gehören das Anzeigen, Bearbeiten und Besprechen der aktuellen Seite. Welche Registerkarten angezeigt werden, hängt davon ab, ob der Benutzer beim Wiki angemeldet ist und ob der Benutzer im Wiki über Sysop-Berechtigungen verfügt. So ist beispielsweise die Möglichkeit, eine Seite zu verschieben oder zur Merkliste hinzuzufügen, normalerweise auf eingeloggte Benutzer beschränkt. Der Site-Administrator kann Registerkarten hinzufügen oder entfernen, indem er JavaScript verwendet oder Erweiterungen installiert.

Jede Seite hat eine zugehörige Verlaufsseite, von der aus der Benutzer auf jede jemals existierende Version der Seite zugreifen und Diffs zwischen zwei Versionen seiner Wahl erzeugen kann . Die Beiträge der Nutzer werden nicht nur hier angezeigt, sondern auch über eine Option „Nutzerbeiträge“ in einer Seitenleiste. Carl Challborn & Teresa Reimann stellen fest: „Obwohl diese Funktion eine leichte Abweichung vom kollaborativen, ‚ego-losen‘ Geist der Wiki-Puristen sein kann, kann sie für Pädagogen sehr nützlich sein, die den Beitrag und die Beteiligung einzelner Schülerbenutzer bewerten müssen. "

Namensräume

MediaWiki bietet über Hyperlinks hinaus viele Funktionen zur Strukturierung von Inhalten. Eine der frühesten Funktionen dieser Art sind Namespaces . Eines der frühesten Probleme von Wikipedia war die Trennung des enzyklopädischen Inhalts von Seiten, die sich auf die Wartung und kommunale Diskussion bezogen, sowie persönliche Seiten über die Herausgeber von Enzyklopädien. Namespaces sind Präfixe vor einem Seitentitel (wie " User:" oder " Talk:"), die als Deskriptoren für den Zweck der Seite dienen und es ermöglichen, dass mehrere Seiten mit unterschiedlichen Funktionen unter demselben Titel existieren. Zum Beispiel könnte eine Seite mit dem Titel " [[The Terminator]]" im Standardnamensraum den Film von 1984 mit Arnold Schwarzenegger beschreiben , während eine Seite mit dem Titel " [[User:The Terminator]]" ein Profil sein könnte, das einen Benutzer beschreibt, der diesen Namen als Pseudonym wählt. Häufiger hat jeder Namespace einen zugeordneten " Talk:" Namespace, der verwendet werden kann, um seinen Inhalt zu diskutieren, wie beispielsweise " User talk:" oder " Template talk:". Der Zweck von Diskussionsseiten besteht darin, den Inhalt von der Diskussion um den Inhalt zu trennen.

Namespaces können als Ordner angezeigt werden , die verschiedene grundlegende Arten von Informationen oder Funktionen trennen. Benutzerdefinierte Namespaces können von den Site-Administratoren hinzugefügt werden. Es gibt standardmäßig 16 Namespaces für Inhalte, wobei 2 "Pseudo-Namespaces" für dynamisch generierte " Special:" Seiten und Links zu Mediendateien verwendet werden. Jeder Namensraum in MediaWiki ist nummeriert: Inhaltsseiten-Namensräume haben gerade Zahlen und die zugehörigen Diskussionsseiten-Namensräume haben ungerade Zahlen.

Kategorie-Tags

Benutzer können neue Kategorien erstellen und diesen Kategorien Seiten und Dateien hinzufügen, indem sie ein oder mehrere Kategorie-Tags an den Inhaltstext anhängen. Durch das Hinzufügen dieser Tags werden unten auf der Seite Links erstellt, die den Leser zur Liste aller Seiten in dieser Kategorie führen, wodurch das Durchsuchen verwandter Artikel erleichtert wird. Die Verwendung von Kategorisierung zum Organisieren von Inhalten wurde als eine Kombination aus Folgendem beschrieben:

Unterseiten

Neben Namensräumen können Inhalte auch über Unterseiten geordnet werden . Diese einfache Funktion bietet automatische Breadcrumbs des Musters [[Page title/Subpage title]]von der Seite nach dem Schrägstrich (in diesem Fall "Unterseitentitel") zur Seite vor dem Schrägstrich (in diesem Fall "Seitentitel").

Anpassung

Benutzer können benutzerdefiniertes JavaScript konfigurieren , das bei jedem Seitenaufruf ausgeführt wird. Dies hat zu JavaScript-Tools geführt, die Benutzer "installieren" können, das hier gezeigte "Navigations-Popups"-Tool zeigt eine kleine Vorschau eines Artikels an, wenn man mit der Maus über einen Linktitel fährt.

Wenn die Funktion aktiviert ist, können Benutzer ihre Stylesheets anpassen und clientseitiges JavaScript so konfigurieren , dass es bei jedem Seitenaufruf ausgeführt wird. Auf Wikipedia hat dies zu einer Vielzahl zusätzlicher Tools und Helfer geführt, die über das Wiki entwickelt und unter den Nutzern geteilt werden. Zum Beispiel Navigation Popups ist ein benutzerdefiniertes JavaScript - Tool , das zeigt Vorschauen von Artikeln , wenn der Benutzer schwebt über Links und auch Abkürzungen für häufig auftretende Wartungsaufgaben zur Verfügung stellt.

Ein Screenshot eines Wikis, das MediaWiki mit einem angepassten Skin verwendet

Die gesamte MediaWiki-Benutzeroberfläche kann über das Wiki selbst von Benutzern mit den erforderlichen Berechtigungen (normalerweise "Administratoren" genannt) bearbeitet werden. Dies geschieht über einen speziellen Namensraum mit dem Präfix "MediaWiki:", wobei jeder Seitentitel eine bestimmte Benutzeroberflächennachricht identifiziert. Mit einer Erweiterung ist es einem Benutzer auch möglich, persönliche Skripte zu erstellen und auszuwählen, ob bestimmte Site-weite Skripte auf ihn angewendet werden sollen, indem er die entsprechenden Optionen auf der Seite mit den Benutzereinstellungen umschaltet.

Vorlagen

Der Namespace "MediaWiki:" wurde ursprünglich auch dazu verwendet, benutzerdefinierte Textblöcke zu erstellen, die dann mit einer speziellen Syntax dynamisch in andere Seiten geladen werden konnten. Dieser Inhalt wurde später in einen eigenen Namensraum "Vorlage:" verschoben.

Vorlagen sind Textblöcke, die dynamisch in eine andere Seite geladen werden können, wenn diese Seite angefordert wird. Das Template ist ein spezieller Link in doppelten geschweiften Klammern (zum Beispiel " {{Disputed|date=October 2018}}"), der das Template (in diesem Fall unter Template:Disputed ) aufruft , um anstelle des Template-Aufrufs zu laden.

Vorlagen sind strukturierte Dokumente, die Attribut-Wert-Paare enthalten . Sie werden mit Parametern definiert , denen beim Transkludieren auf einer Artikelseite Werte zugewiesen werden . Der Name des Parameters wird begrenzt durch ein von dem Wert Gleichheitszeichen . Eine Klasse von Vorlagen, die als Infoboxen bekannt sind, wird in Wikipedia verwendet, um eine Teilmenge von Informationen zu ihrem Thema zu sammeln und zu präsentieren, normalerweise oben (mobile Ansicht) oder oben rechts (Desktop-Ansicht) des Dokuments.

Eine verwandte Methode, genannt Templat Substitution (genannt durch Zugabe subst:zu Beginn des Templat - Link) Einsätze (wie ein Kopieren und Einfügen Betrieb) den Inhalt der Vorlage in der Zielseite, anstatt die Vorlage Inhalte dynamisch zu laden , wenn die Seite geladen wird . Dies kann bei der Verwendung von Vorlagen zu Inkonsistenzen führen, kann aber in bestimmten Fällen sinnvoll sein und erfordert in den meisten Fällen weniger Serverressourcen (die tatsächliche Höhe der Einsparungen kann je nach Wiki-Konfiguration und Komplexität der Vorlage variieren).

Vorlagen haben viele verschiedene Verwendungen gefunden. Vorlagen ermöglichen es Benutzern, komplexe Tabellenlayouts zu erstellen, die über mehrere Seiten hinweg konsistent verwendet werden und bei denen nur der Inhalt der Tabellen mithilfe von Vorlagenparametern eingefügt wird. Vorlagen werden häufig verwendet, um Probleme mit einem Wikipedia-Artikel zu identifizieren, indem eine Vorlage in den Artikel eingefügt wird. Diese Vorlage gibt dann eine grafische Box aus, die angibt, dass der Artikelinhalt umstritten ist oder einer anderen Aufmerksamkeit bedarf, und kategorisiert ihn auch, damit Artikel dieser Art gefunden werden können. Vorlagen werden auch auf Benutzerseiten verwendet, um Benutzern Standardnachrichten zu senden, die sie auf der Site begrüßen, ihnen Auszeichnungen für herausragende Beiträge geben, sie warnen, wenn ihr Verhalten als unangemessen angesehen wird, sie zu benachrichtigen, wenn sie für die Bearbeitung gesperrt sind und so weiter.

Gruppen und Zugangsbeschränkung

MediaWiki bietet Flexibilität beim Erstellen und Definieren von Benutzergruppen. Es wäre beispielsweise möglich, eine beliebige "Ninja"-Gruppe zu erstellen, die Benutzer blockieren und Seiten löschen kann und deren Änderungen standardmäßig im Protokoll der letzten Änderungen verborgen sind. Es ist auch möglich, eine Gruppe von "automatisch bestätigten" Benutzern einzurichten, der man nach einer bestimmten Anzahl von Änderungen und einer bestimmten Anzahl von Tagen angehört. Einige standardmäßig aktivierte Gruppen sind Bürokraten und Sysops. Bürokraten haben die Macht, die Rechte anderer Benutzer zu ändern. Sysops haben die Macht über den Seitenschutz und das Löschen und das Blockieren von Benutzern von der Bearbeitung. Die verfügbaren Kontrollen von MediaWiki zu Bearbeitungsrechten wurden als ausreichend erachtet, um wichtige Dokumente wie ein Handbuch der Standardarbeitsanweisungen in einem Krankenhaus zu veröffentlichen und zu pflegen .

Wenn eine Seite nur aus nutzlosen Inhalten besteht, gibt es mehrere Möglichkeiten, diesen Inhalt zu entfernen. Der einfachste Weg, der allen Benutzern zur Verfügung steht, besteht darin, die Seite einfach zu leeren. Dies beeinträchtigt jedoch die Seitenexistenzerkennung, es sei denn, eine Erweiterung wird installiert, um leere Seiten so zu behandeln, als wären sie nicht vorhanden. Durch das Ausblenden bleibt der Inhalt auch über die Verlaufsseite zugänglich, ein Ergebnis, das zwar möglicherweise die Transparenz erhöht, indem es Nicht-Sysops ermöglicht, die Entscheidung zum Entfernen von Inhalten leicht auf Angemessenheit zu überprüfen, in einigen Fällen jedoch inakzeptabel oder sogar rechtswidrig sein kann. Eine andere Möglichkeit besteht darin, dass ein Sysop die Seite löscht und dadurch verhindert, dass sie von Nicht-Sysops angezeigt wird. Eine andere Löschstufe, RevisionDelete genannt, kann von einer Gruppe (zB "Oversighters") verwendet werden, um zu verhindern, dass eine Seite von Nichtmitgliedern dieser Gruppe angezeigt wird. Es ist auch möglich, mit bestimmten Erweiterungen Inhalte aus den normalen Kanälen des Wikis zu entfernen oder sogar Revisionen vollständig aus der Datenbank zu löschen.

MediaWiki enthält eine Reihe grundlegender Funktionen zur Einschränkung des Zugriffs, aber sein ursprüngliches und fortlaufendes Design wird von Funktionen bestimmt, die sich hauptsächlich auf Inhalte und nicht auf die Inhaltstrennung beziehen. Infolgedessen hatte die Seitenzugriffskontrolle mit minimalen Ausnahmen (in Bezug auf bestimmte Tools und ihre zugehörigen "Spezialseiten") nie eine hohe Priorität in der Kernentwicklung und Entwickler haben erklärt, dass Benutzer, die sichere Benutzerzugriffs- und Autorisierungskontrollen benötigen, sich nicht darauf verlassen sollten MediaWiki, da es nie für solche Situationen entwickelt wurde. Es ist beispielsweise extrem schwierig, ein Wiki zu erstellen, in dem nur bestimmte Benutzer einige Seiten lesen und darauf zugreifen können. Hier bieten Wiki-Engines wie Foswiki , MoinMoin und Confluence mehr Flexibilität, indem sie erweiterte Sicherheitsmechanismen wie Zugriffskontrolllisten unterstützen .

Erweiterbarkeit

Die MediaWiki-Codebasis enthält verschiedene Hooks, die Callback- Funktionen verwenden , um zusätzlichen PHP-Code auf erweiterbare Weise hinzuzufügen . Auf diese Weise können Entwickler Erweiterungen schreiben, ohne den Kern unbedingt ändern oder ihren Code zur Überprüfung einreichen zu müssen. Die Installation einer Erweiterung besteht normalerweise darin, der Konfigurationsdatei eine Zeile hinzuzufügen, obwohl in einigen Fällen zusätzliche Änderungen wie Datenbank-Updates oder Core-Patches erforderlich sind.

Es wurden fünf Haupterweiterungspunkte erstellt, um es Entwicklern zu ermöglichen, Features und Funktionalitäten zu MediaWiki hinzuzufügen. Hooks werden jedes Mal ausgeführt, wenn ein bestimmtes Ereignis eintritt; zum Beispiel tritt der ArticleSaveCompleteHook auf, nachdem eine Anforderung zum Speichern von Artikeln verarbeitet wurde. Dies kann beispielsweise von einer Erweiterung genutzt werden, die ausgewählte Benutzer benachrichtigt, wenn eine Seitenbearbeitung im Wiki von neuen oder anonymen Benutzern erfolgt. Neue Tags können erstellt werden, um Daten mit öffnenden und schließenden Tags ( <newtag>...</newtag>) zu verarbeiten. Parserfunktionen können verwendet werden, um einen neuen Befehl ( {{#if:...|...|...}}) zu erstellen . Neue Sonderseiten können erstellt werden, um eine bestimmte Funktion auszuführen. Diese Seiten werden dynamisch generiert. Beispielsweise kann eine spezielle Seite alle Seiten anzeigen, die einen oder mehrere Links zu einer externen Site haben, oder es kann ein Formular erstellt werden, das von Benutzern übermitteltes Feedback liefert. Skins ermöglichen es Benutzern, das Erscheinungsbild von MediaWiki anzupassen. Ein kleiner Erweiterungspunkt ermöglicht die Verwendung von Amazon S3 zum Hosten von Bilddateien.

Erweiterungen

Ressourcen für Entwickler

MediaWiki kann durch seine Erweiterungen für verschiedene Zwecke erweitert und nützlicher gemacht werden. Diese Erweiterungen variieren stark in der Komplexität.

Die Wikimedia Foundation betreibt einen Git- Server, auf dem viele Erweiterungen ihr Repository hosten. Die meisten von ihnen haben auch eine Dokumentationsseite auf der MediaWiki-Website.

Die Überprüfung des MediaWiki- Codes wurde selbst historisch durch eine MediaWiki-Erweiterung erleichtert. Ab März 2012 erfolgt dies über Gerrit .

Seit Version 1.16 verwendet MediaWiki die jQuery- Bibliothek.

Textmanipulation

Tim Starling im Jahr 2008

Zu den beliebtesten Erweiterungen gehört eine Parser-Funktionserweiterung, ParserFunctions, mit der verschiedene Inhalte basierend auf dem Ergebnis bedingter Anweisungen gerendert werden können . Diese bedingten Anweisungen können Funktionen ausführen, z. B. das Auswerten, ob ein Parameter leer ist, das Vergleichen von Zeichenfolgen, das Auswerten mathematischer Ausdrücke und das Zurückgeben eines von zwei Werten, je nachdem, ob eine Seite vorhanden ist. Es wurde als Ersatz für ein notorisch ineffizientes Template namens {{Qif}} entwickelt. Schindler erzählt die Geschichte der ParserFunctions-Erweiterung wie folgt:

Im Jahr 2006 entdeckten einige Wikipedianer, dass sie durch ein kompliziertes und kompliziertes Zusammenspiel von Vorlagenfunktionen und CSS bedingten Wiki-Text erstellen konnten, dh Text, der angezeigt wurde, wenn ein Vorlagenparameter einen bestimmten Wert hatte. Dies beinhaltete wiederholte Aufrufe von Vorlagen innerhalb von Vorlagen, was die Leistung des gesamten Systems beeinträchtigte. Die Entwickler standen vor der Wahl, entweder die Verbreitung eines offensichtlich erwünschten Features durch Erkennen einer solchen Nutzung zu unterbinden und innerhalb der Software explizit zu untersagen oder eine effiziente Alternative anzubieten. Letzteres wurde von Tim Starling durchgeführt, der die Einführung von Parser-Funktionen ankündigte, Wiki-Text, der Funktionen aufruft, die in der zugrunde liegenden Software implementiert sind. Anfangs wurde nur bedingter Text und die Berechnung einfacher mathematischer Ausdrücke implementiert, was aber die Möglichkeiten für Wiki-Editoren bereits enorm erweitert hat. Mit der Zeit wurden weitere Parser-Funktionen eingeführt, die schließlich zu einem Framework führten, das das einfache Schreiben von Erweiterungsfunktionen ermöglichte, um beliebige Funktionalitäten hinzuzufügen, wie zB Geokodierungsdienste oder Widgets. Diesmal reagierten die Entwickler eindeutig auf die Forderung der Community und waren gezwungen, entweder die Lösung des von der Community gestellten Problems (dh bedingter Text) zu bekämpfen oder eine verbesserte technische Implementierung anzubieten, um die bisherige Praxis zu ersetzen und insgesamt ein besseres zu erreichen Leistung.

Eine weitere Parserfunktionserweiterung, StringFunctions, wurde entwickelt, um die Auswertung von Stringlänge, Stringposition usw. zu ermöglichen. Wikimedia-Gemeinschaften, die umständliche Problemumgehungen entwickelt hatten, um die gleiche Funktionalität zu erreichen, forderten, dass sie in ihren Projekten aktiviert wird. Ein Großteil seiner Funktionalität wurde schließlich in die ParserFunctions-Erweiterung integriert, wenn auch standardmäßig deaktiviert und von einer Warnung von Tim Starling begleitet, dass das Aktivieren von String-Funktionen es Benutzern ermöglichen würde, „ihre eigenen Parser in der hässlichsten und ineffizientesten Programmiersprache zu implementieren, die der Menschheit bekannt ist: MediaWiki Wikitext mit ParserFunctions."

Seit 2012 existiert mit Scribunto eine Erweiterung, die die Erstellung von „Modulen“ – also in der Skriptsprache Lua geschriebenen Wiki-Seiten  – ermöglicht, die dann innerhalb von Vorlagen und Standard-Wiki-Seiten ausgeführt werden können. Scribunto ist seit 2013 auf Wikipedia und anderen Wikimedia-Sites installiert und wird auf diesen Sites stark verwendet. Scribunto-Code läuft deutlich schneller als entsprechender Wikitext-Code mit ParserFunctions.

Für Fußnoten und wissenschaftsbezogene Anzeige

Eine weitere sehr beliebte Erweiterung ist eine Zitationserweiterung, die das Hinzufügen von Fußnoten zu Seiten mithilfe von Inline-Referenzen ermöglicht. Diese Erweiterung wurde jedoch dafür kritisiert, dass sie schwierig zu verwenden ist und vom Benutzer verlangt, sich eine komplexe Syntax zu merken. Ein Gadget namens RefToolbar versucht, das Erstellen von Zitaten mit gängigen Vorlagen zu vereinfachen. MediaWiki hat einige Erweiterungen, die sich gut für den akademischen Bereich eignen, wie z. B. Mathematikerweiterungen und eine Erweiterung, mit der Moleküle in 3D gerendert werden können .

Integration

Es existiert eine generische Widgets-Erweiterung, die es MediaWiki ermöglicht, sich in praktisch alles zu integrieren. Andere Beispiele für Erweiterungen, die ein Wiki verbessern könnten, sind Kategorievorschlagserweiterungen und Erweiterungen zum Einbinden von Flash-Videos , YouTube-Videos und RSS-Feeds . Metavid , eine Website, die Videomaterial von Verfahren des US-Senats und des US- Repräsentantenhauses archiviert , wurde mithilfe von Code erstellt, der MediaWiki in den Bereich der kollaborativen Videoerstellung erweitert.

Bekämpfung von Linkspam

Es gibt viele Spambots , die das Web nach MediaWiki-Installationen durchsuchen und ihnen Linkspam hinzufügen , obwohl MediaWiki das nofollow- Attribut verwendet, um solche Versuche der Suchmaschinenoptimierung zu verhindern . Ein Teil des Problems ist , dass Dritter Neuverleger, wie Spiegel , kann nicht unabhängig den nofollow - Tag auf ihren Websites implementieren, so Vermarkter noch bekommen können PageRank Nutzen von Links in den Seiten einfügen , wenn diese Einträge auf Websites Dritter erscheinen. Anti-Spam- Erweiterungen wurden entwickelt, um das Problem zu bekämpfen, indem sie CAPTCHAs einführen , bestimmte URLs auf die schwarze Liste setzen und das Massenlöschen von Seiten ermöglichen, die kürzlich von einem bestimmten Benutzer hinzugefügt wurden.

Suchen und Anfragen

MediaWiki ist mit einer standardmäßigen textbasierten Suche vorinstalliert. Es gibt Erweiterungen, die es MediaWiki ermöglichen, anspruchsvollere Suchmaschinen von Drittanbietern zu verwenden, darunter Elasticsearch (das seit 2014 auf Wikipedia verwendet wird), Lucene und Sphinx .

Es wurden auch verschiedene MediaWiki-Erweiterungen erstellt, um eine komplexere, facettierte Suche sowohl nach den im Wiki eingegebenen Daten als auch nach Metadaten wie dem Revisionsverlauf von Seiten zu ermöglichen. Semantic MediaWiki ist eine solche Erweiterung.

Datenbank

Ein Schema der MediaWiki-Datenbankstruktur

MediaWiki kann entweder das relationale Datenbankverwaltungssystem MySQL / MariaDB , PostgreSQL oder SQLite verwenden . Die Unterstützung für Oracle Database und Microsoft SQL Server wurde seit MediaWiki 1.34 eingestellt. Eine MediaWiki-Datenbank enthält mehrere Dutzend Tabellen , darunter eine pageTabelle, die Seitentitel, Seiten-IDs und andere Metadaten enthält; und eine revisionTabelle, zu der bei jeder Bearbeitung eine neue Zeile hinzugefügt wird, die die Seiten-ID, eine kurze Textzusammenfassung der durchgeführten Änderung, den Benutzernamen des Artikelredakteurs (oder seine IP-Adresse im Fall eines nicht registrierten Benutzers) enthält. und einen Zeitstempel.

In einem Zeitraum von 4½ Jahren hatte die MediaWiki-Datenbank 170 Schemaversionen . Möglicherweise wurde die größte Schemaänderung in MediaWiki 1.5 vorgenommen, als die Speicherung von Metadaten von der Speicherung von Inhalten getrennt wurde, um die Leistungsflexibilität zu verbessern. Als dieses Upgrade auf Wikipedia angewendet wurde, war die Site für die Bearbeitung gesperrt und das Schema wurde in etwa 22 Stunden in die neue Version konvertiert. Einige Vorschläge zur Softwareverbesserung, wie beispielsweise der Vorschlag, Artikelabschnitte über eine Watchlist anzusehen, wurden abgelehnt, da die notwendigen Schemaänderungen übermäßige Wikipedia-Ausfallzeiten erfordert hätten.

Leistung und Speicher

Da Wikipedia verwendet wird, um eine der am stärksten frequentierten Websites im Web zu betreiben, wurden die Leistung und Skalierbarkeit von MediaWiki stark optimiert. MediaWiki unterstützt Squid , Datenbankreplikation mit Lastenausgleich , clientseitiges Caching, Memcached oder tabellenbasiertes Caching für die Verarbeitung von Abfrageergebnissen, auf die häufig zugegriffen wird, einen einfachen statischen Dateicache, funktionsreduzierte Operationen, Revisionskomprimierung und eine Jobwarteschlange für Datenbankoperationen . MediaWiki-Entwickler haben versucht, die Software zu optimieren, indem sie teure Algorithmen, Datenbankabfragen usw. vermeiden, jedes Ergebnis, das teuer ist und einen zeitlichen Bezug hat, zwischenspeichern und sich durch Profiling auf die Hot Spots im Code konzentrieren .

Der MediaWiki-Code wurde entwickelt, um das Schreiben von Daten in eine Read-Wiki-Datenbank und das Lesen von Read-Only-Datenbanken zu ermöglichen, obwohl die Read-Wiki-Datenbank für einige Lesevorgänge verwendet werden kann, wenn die Read-Only-Datenbanken noch nicht auf dem neuesten Stand sind . Metadaten , wie z. B. Artikelrevisionshistorie, Artikelbeziehungen (Links, Kategorien usw.), Benutzerkonten und Einstellungen können in Kerndatenbanken gespeichert und zwischengespeichert werden; der eigentliche Revisionstext, der seltener verwendet wird, kann als reine Anfüge- Blobs im externen Speicher abgelegt werden . Die Software eignet sich für den Betrieb großer Wiki-Farmen wie Wikimedia , die im August 2011 etwa 800 Wikis umfasste. MediaWiki verfügt jedoch über keine integrierte GUI, um solche Installationen zu verwalten.

Empirische Beweise zeigen, dass sich die meisten Revisionen in MediaWiki-Datenbanken nur geringfügig von früheren Revisionen unterscheiden. Daher können nachfolgende Überarbeitungen eines Artikels verkettet und dann komprimiert werden, wodurch sehr hohe Datenkomprimierungsraten von bis zu 100x erreicht werden.

Weitere Informationen zur Architektur, z. B. wie Wikitext gespeichert und eine Seite zusammengestellt wird, finden Sie unter Externe Links .

Einschränkungen

Der Parser dient als De-facto- Standard für die MediaWiki-Syntax, da keine formale Syntax definiert wurde. Aufgrund dieses Fehlens einer formalen Definition war es schwierig, WYSIWYG- Editoren für MediaWiki zu erstellen , obwohl es mehrere WYSIWYG-Erweiterungen gibt, einschließlich des beliebten VisualEditor .

MediaWiki ist kein geeigneter Ersatz für dedizierte Online-Foren oder Blogging-Software, obwohl es Erweiterungen gibt, die beides ermöglichen.

Es ist üblich, dass neue MediaWiki-Benutzer bestimmte Fehler machen, z. B. vergessen, Beiträge mit vier Tilden (~~~~) zu signieren oder eine Klartext-Signatur manuell einzugeben, weil sie mit den idiosynkratischen Einzelheiten der Kommunikation auf MediaWiki-Diskussionsseiten nicht vertraut sind. Auf der anderen Seite wurde das Format dieser Diskussionsseiten von einem Pädagogen als Stärke angeführt, der angab, dass es detailliertere Diskussionsmöglichkeiten bietet als herkömmliche Diskussionsforen mit Threads. Anstatt beispielsweise auf eine ganze Nachricht zu „beantworten“, kann der Diskussionsteilnehmer zu einem beliebigen Wort der Originalseite einen Hyperlink zu einer neuen Wiki-Seite erstellen. Diskussionen sind leichter zu verfolgen, da der Inhalt über eine verlinkte Wiki-Seite verfügbar ist, anstatt eine Reihe von Antwortnachrichten in einem herkömmlichen Diskussionsforum mit Threads. Mit Ausnahme einiger weniger Fälle nutzten die Schüler diese Möglichkeit jedoch nicht, möglicherweise aufgrund ihrer Vertrautheit mit dem traditionellen linearen Diskussionsstil und fehlender Anleitung, wie der Inhalt „ linkreicher “ gemacht werden kann.

MediaWiki bietet standardmäßig wenig Unterstützung für die Erstellung dynamisch zusammengestellter Dokumente oder Seiten, die Daten von anderen Seiten aggregieren. Es wurden einige Untersuchungen durchgeführt, um solche Funktionen direkt in MediaWiki zu aktivieren. Die Semantic MediaWiki- Erweiterung bietet diese Funktionen. Es wird nicht auf Wikipedia verwendet, aber in mehr als 1.600 anderen MediaWiki-Installationen. Das Wikibase Repository und der Wikibase Repository-Client sind jedoch in Wikidata bzw. Wikipedia implementiert und bieten teilweise semantische Webfunktionen und die Verknüpfung von zentral gespeicherten Daten mit Infoboxen in verschiedenen Wikipedia-Artikeln.

Das Aktualisieren von MediaWiki erfolgt normalerweise vollständig automatisiert und erfordert keine Änderungen am Inhalt der Website oder der Vorlagenprogrammierung. In der Vergangenheit sind beim Upgrade von wesentlich älteren Versionen Probleme aufgetreten.

Sicherheit

MediaWiki-Entwickler haben Sicherheitsstandards eingeführt, sowohl für den Kerncode als auch für die Erweiterungen. SQL-Abfragen und HTML-Ausgaben erfolgen normalerweise über Wrapper-Funktionen, die Validierung, Escape- und Filterung zur Verhinderung von Cross-Site-Scripting und SQL-Injection durchführen . Viele Sicherheitsprobleme mussten nach der Veröffentlichung einer MediaWiki-Version gepatcht werden, und dementsprechend heißt es bei MediaWiki.org: "Der wichtigste Sicherheitsschritt, den Sie unternehmen können, ist, Ihre Software auf dem neuesten Stand zu halten", indem Sie den Ankündigungslistserv abonnieren und Sicherheitsupdates installieren, die werden angekündigt.

Entwickler-Community

MediaWiki-Entwickler sind auf der ganzen Welt verteilt, jedoch mit der Mehrheit in den USA und Europa. Seit 2004 finden ein- oder mehrmals im Jahr persönliche Treffen und Programmiersitzungen für MediaWiki-Entwickler statt.

Unterstützung

Die Unterstützung für MediaWiki-Benutzer besteht aus:

  • MediaWiki.org, einschließlich des Support Desk .
  • Eine offizielle Mailingliste, Mediawiki-l .
  • Über die Verwaltung von MediaWiki wurden mehrere Bücher geschrieben, darunter auch einige kostenlose Online-Bücher.

Vergleich mit anderer Online-Collaboration-Software

Benutzern von Online- Collaboration-Software sind die Funktionen und das Layout von MediaWiki aufgrund der bekannten Verwendung in Wikipedia bekannt. Im Vergleich zu anderen Wikis ist MediaWiki auch ziemlich ästhetisch, wenn auch einfach, und verfügt über ein leicht anpassbares Seitenmenü und ein Stylesheet . In einer Bewertung im Jahr 2006 wurde Confluence jedoch aufgrund seiner sehr benutzerfreundlichen API und der Fähigkeit, mehrere Wikis besser zu unterstützen, als ein überlegenes Produkt eingestuft. Die Wiki-Anbieter Socialtext und JotSpot haben/hatten Projektmanagementfunktionen , die MediaWiki fehlen.

An der University of Hong Kong wurde eine Studie durchgeführt, in der TWiki mit MediaWiki verglichen wurde . Die Autoren stellten fest, dass TWiki als kollaboratives Werkzeug für die Entwicklung von Lehrpapieren und technischen Projekten angesehen wurde, während MediaWiki die meistgesehene Verwendung auf Wikipedia findet. Obwohl beide Plattformen Diskussionen und das Nachverfolgen des Fortschritts ermöglichen, hat TWiki einen "Bericht"-Teil, der MediaWiki fehlt. Die Studierenden empfanden MediaWiki als einfacher und angenehmer als TWiki. Auf die Frage, ob sie die Verwendung von MediaWiki für Kursgruppenprojekte zum Wissensmanagement empfehlen, gaben 15 von 16 Befragten an, dass MediaWiki Antworten mit großer Sicherheit wie „natürlich“, „sicher“ geben würde. TWiki und MediaWiki verfügen beide über eine flexible Plug-in-Architektur.

Eine Studie, die die Erfahrungen von Studenten mit MediaWiki mit denen mit Google Documents verglich, ergab, dass Studenten letzterem eine viel höhere Bewertung hinsichtlich des benutzerfreundlichen Layouts gaben.

Siehe auch

Verweise

Externe Links