Difference between revisions of "MediaWiki/Presentation"

From Freephile Wiki
Jump to navigation Jump to search
(revert edits to fix search where character encoding was a problem)
(12 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<!--
 
 
 
== Preface ==
 
== Preface ==
 
This article is the basis for a presentation on MediaWiki that will be given at the January 14th 2009 meeting of the BostonPHP group.  [http://www.bostonphp.org/component/option,com_gigcal/task,details/gigcal_gigs_id,65/Itemid,42/ Please RSVP to the calendar item at the BostonPHP website] if you plan to attend.
 
This article is the basis for a presentation on MediaWiki that will be given at the January 14th 2009 meeting of the BostonPHP group.  [http://www.bostonphp.org/component/option,com_gigcal/task,details/gigcal_gigs_id,65/Itemid,42/ Please RSVP to the calendar item at the BostonPHP website] if you plan to attend.
  
  
 +
<!--
 
internal notes
 
internal notes
  
Line 22: Line 21:
  
 
== Intro ==
 
== Intro ==
<!--
 
 
 
Cue POTY slideshow and play in loop 30 minutes prior to presentation
 
Cue POTY slideshow and play in loop 30 minutes prior to presentation
Cue MediaWiki slideshow 5 minutes prior to presentation
+
Cue mediawiki slideshow 5 minutes prior to presentation
There is video, but so far I haven't been able to slice it and keep the audio track intact.
 
-->
 
These screenshots of [[:Category:MediaWiki Sites|sites running MediaWiki]] illustrate the breadth of usage in the software world, and also some compelling theming examples.
 
 
 
Audio of my presentation is at http://www.archive.org/details/collaboration.at.wiki.speed-audio-part1 <!-- and locally at http://freephile.com/mediawiki-greg.mp3 (45 minutes long) -->
 
 
 
== What's a Wiki? ==
 
Wiki is the Hawaiian word for quick, and Ward Cunningham - the inventor of the wiki - named his project after the wiki wiki shuttle. A backcronym that is probably equally apropos is WIKI stands for "What I Know Is..." MediaWiki is the free software (GPL) that runs Wikipedia under the auspices of the [http://www.wikimedia.org/ Wikimedia Foundation].
 
  
== Meet the speaker ==
+
What's a Wiki?  Wiki is the Hawaiian word for quick, and Ward Cunningham - the inventor of the wiki - named his project after the wiki wiki shuttle. A backcronym that is probably equally apropos is WIKI stands for "What I Know Is..." MediaWiki is the free software (GPL) that runs Wikipedia under the auspices of the [http://www.wikimedia.org/ Wikimedia Foundation].
[[Image:Thomas Jefferson rev.jpg|thumb|right|He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.]]
 
  
 
I'm Greg Rundlett [http://iic.harvard.edu/people] [http://freephile.com] [http://rundlett.com], a free software advocate who lives in Newburyport, MA with my wife and two sons.
 
I'm Greg Rundlett [http://iic.harvard.edu/people] [http://freephile.com] [http://rundlett.com], a free software advocate who lives in Newburyport, MA with my wife and two sons.
  
 +
[[Image:Thomas Jefferson rev.jpg|thumb|right|He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.]]What do I know about wikis in production?  Well, back in 1999 when I was a web developer at RagingBull, we used a wiki system as a content creation and management backend to our website front-end.  Starting in 2005, I used MediaWiki as the platform to organize operations, development and technology services at OASIS.  Most recently, I've been deploying MediaWiki in my new role at the IIC at Harvard.  I'm here to share some of that experience with you.  The great thing about sharing knowledge; like sharing free software; is... [http://en.wikiquote.org/wiki/Thomas_Jefferson quoting Thomas Jefferson] ''He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.''<ref>[http://press-pubs.uchicago.edu/founders/documents/a1_8_8s12.html Thomas Jefferson to Isaac McPherson], 13 Aug. 1813. ME 13:333</ref>
  
<!--
+
Plus our organizer Mark Withington has arranged through the BostonPHP association with O'Reilly Media for some free books to be given away as well.
What do I know about wikis in production?  Well, back in 1999 when I was a web developer at RagingBull, we used a wiki system as a content creation and management backend to our website front-end.  Starting in 2005, I used MediaWiki as the platform to organize operations, development and technology services at OASIS.  Most recently, I've been deploying MediaWiki in my new role at the IIC at Harvard.  I'm here to share some of that experience with you.  The great thing about sharing knowledge; like sharing free software; is... [http://en.wikiquote.org/wiki/Thomas_Jefferson quoting Thomas Jefferson] ''He who receives an idea from me, receives instruction himself without lessening mine; as he who lights his taper at mine, receives light without darkening me.''<ref>[http://press-pubs.uchicago.edu/founders/documents/a1_8_8s12.html Thomas Jefferson to Isaac McPherson], 13 Aug. 1813. ME 13:333</ref>
 
  
Plus our organizer Mark Withington has arranged through the BostonPHP association with O'Reilly Media for some free books to be given away as well.
 
-->
 
 
== Using it - Why? ==
 
== Using it - Why? ==
 
Wikis are immensely popular and come in many flavors.  It was late 2006 to early 2007 when 'wiki' reached it's zenith as a buzzword in the news.<ref>[http://www.google.com/trends?q=wiki Google Trends for keyword wiki]</ref>  But wikis have not faded into the sunset like last years fashion.  I'll point out a few reasons why you should choose MediaWiki as your wiki platform.
 
Wikis are immensely popular and come in many flavors.  It was late 2006 to early 2007 when 'wiki' reached it's zenith as a buzzword in the news.<ref>[http://www.google.com/trends?q=wiki Google Trends for keyword wiki]</ref>  But wikis have not faded into the sunset like last years fashion.  I'll point out a few reasons why you should choose MediaWiki as your wiki platform.
Line 52: Line 38:
 
The growth curve of MediaWiki is exponential.  The quality of the software is excellent.
 
The growth curve of MediaWiki is exponential.  The quality of the software is excellent.
 
Does your wiki have [http://wikimania2006.wikimedia.org/wiki/Main_Page conferences]?
 
Does your wiki have [http://wikimania2006.wikimedia.org/wiki/Main_Page conferences]?
[[Image:Logo Wikimania Buenos Aires.jpg|thumb|300px|WikiMania]]
+
[[Image:Logo Buenos Aires.jpg|thumb|300px|WikiMania]]
  
 
WikiPedia now has over ten million articles across 250 languages!
 
WikiPedia now has over ten million articles across 250 languages!
Line 82: Line 68:
 
; WYSIWYG editor :Weird Yucky Sucky Interference With Your Goodness
 
; WYSIWYG editor :Weird Yucky Sucky Interference With Your Goodness
  
<ol>
+
# [http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd WikEd] is a full wysiwyg editor with special features for MediaWiki.  You can install it for yourself in a single browser as a user script http://userscripts.org/scripts/show/12529 or you can install it into your mediawiki installation.
<li> [http://en.wikipedia.org/w/index.php?title=User:Cacycle/wikEd WikEd] is a full wysiwyg editor with special features for MediaWiki.  You can install it for yourself in a single browser as a user script http://userscripts.org/scripts/show/12529 or you can install it into your MediaWiki installation.
+
# FCK Editor is a full wysiwyg editor that includes page link searching as you type
{{Messagebox |
+
# Java project called Textile-J is now an Eclipse plugin called the "Mylyn WikiText component" that does wiki markup http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-1098.html
|type=normal
+
# Kaltura does a collaborative video editing solution http://corp.kaltura.com/wiki/index.php/MediaWiki_Extension
|text=wikEd is enabled sitewide on this wiki.  Turn it on in your [[Special:Preferences|Preferences]] settings}}
 
<li> FCK Editor is a full wysiwyg editor that includes page link searching as you type
 
<li> Java project called Textile-J is now an Eclipse plugin called the "Mylyn WikiText component" that does wiki markup http://www.eclipseplugincentral.com/Web_Links-index-req-viewlink-cid-1098.html
 
<li> Kaltura does a collaborative video editing solution http://corp.kaltura.com/wiki/index.php/MediaWiki_Extension
 
</ol>
 
  
 
==== WikEd ====
 
==== WikEd ====
Line 109: Line 90:
  
 
==== FCK Editor ====
 
==== FCK Editor ====
* http://www.MediaWiki.org/wiki/Extension:FCKeditor_(by_FCKeditor_and_Wikia)
+
* http://www.mediawiki.org/wiki/Extension:FCKeditor_(by_FCKeditor_and_Wikia)
 
In 2007 it was announced that a WYSIWYG editor would be built for MediaWiki.  Wikia (Jimmy Wales' for-profit venture) started work on it.  It still isn't ready for prime time.  Note that I had to patch a minor bug to get it to work and even then, it did funny things with my article (wanted to collapse a line-break between template tag and next line resulting in a space being inserted prior to the next line, resulting in preformatted text rendering for that line.
 
In 2007 it was announced that a WYSIWYG editor would be built for MediaWiki.  Wikia (Jimmy Wales' for-profit venture) started work on it.  It still isn't ready for prime time.  Note that I had to patch a minor bug to get it to work and even then, it did funny things with my article (wanted to collapse a line-break between template tag and next line resulting in a space being inserted prior to the next line, resulting in preformatted text rendering for that line.
  
Line 117: Line 98:
 
Other points about using MediaWiki
 
Other points about using MediaWiki
 
* Style sheets and
 
* Style sheets and
* Use this http://userscripts.org/scripts/show/6372 Greasemonkey script to show any MediaWiki page as a presentation
+
* Use this http://userscripts.org/scripts/show/6372 Greasemonkey script to show any mediawiki page as a presentation
  
  
Line 153: Line 134:
 
</dl>
 
</dl>
 
# Subpages
 
# Subpages
# [[Templates]] "[[transclusion]]"
+
# Templates "transclusion"
 
## <pre><noinclude> </noinclude> <includeonly></includeonly></pre> [[Template:Messagebox]] example.
 
## <pre><noinclude> </noinclude> <includeonly></includeonly></pre> [[Template:Messagebox]] example.
 
## arguments
 
## arguments
 
## Templates used on this page
 
## Templates used on this page
## copying from MediaWiki [[Special:ExpandTemplates]]
+
## copying from mediawiki [[Special:ExpandTemplates]]
 
# Categories
 
# Categories
 
# Navigation (talk about in Administration)
 
# Navigation (talk about in Administration)
 +
  
 
== Administering it ==
 
== Administering it ==
Line 172: Line 154:
 
</source>
 
</source>
  
One good practice is to have some sort of text version or other backup of your wiki in case the machine, webserver, or database that the system depends on is down.  As an administrator, you can use the dumpBackup.php script found in the <code>maintenance</code> directory of you MediaWiki installation.  Something like the following in a system [[cron]] would be good:
+
One good practice is to have some sort of text version or other backup of your wiki in case the machine, webserver, or database that the system depends on is down.  One tool that can come in handy is [[Special:Wiki2XML]] <ref>http://tools.wikimedia.de/~magnus/wiki2xml/README, see also [[Format_conversion]]</ref>
<source lang="bash">
 
/usr/bin/php /var/www/phase3/maintenance/dumpBackup.php --current --output=file:/var/backups/example.com/`date +%F`-wiki.text.export.txt
 
</source>
 
 
 
As a user, one tool that can come in handy is [[Special:Wiki2XML]] <ref>http://tools.wikimedia.de/~magnus/wiki2xml/README, see also [[Format_conversion]]</ref>
 
  
Another useful tool to the Administrator is the bulk image importer.  To import all the screenshots that I used at the start of this presentation, I did the following:
+
You can mass import images
<source lang="bash">
 
php importImages.php --user=Freephile --comment='Set of screenshots of sites using MediaWiki ' ~/Desktop/mediawiki/snaps/
 
</source>
 
Note how using a Category tag in the comment will automatically place the images in the Category specified.
 
  
 
== Developing it ==
 
== Developing it ==
Line 189: Line 162:
 
# Extensions
 
# Extensions
 
# Conversion of existing wikis and documents [[Format conversion]]
 
# Conversion of existing wikis and documents [[Format conversion]]
# [[API]]s are very useful to developers.  [[mw:Developers|MediaWiki Developers]] can use the [[mw:API|Application Programming Interface for MediaWiki]] which gets exposed at /api.php, as well as the http://meta.wikimedia.org/wiki/Pywikipediabot framework which helps to automate manipulation of the wiki.
 
# Database
 
  
 
=== Theming ===
 
=== Theming ===
Line 197: Line 168:
  
 
=== Extensions ===
 
=== Extensions ===
# [http://www.MediaWiki.org/wiki/Manual:Extensions The Manual]
+
# [http://www.mediawiki.org/wiki/Manual:Extensions The Manual]
# [http://www.MediaWiki.org/wiki/Extension_Matrix An incomplete list of extensions]
+
# [http://www.mediawiki.org/wiki/Extension_Matrix An incomplete list of extensions]
  
 
So many examples, which ones to highlight?
 
So many examples, which ones to highlight?
Line 208: Line 179:
 
* http://wiki.eclipse.org/index.php/Special:Version
 
* http://wiki.eclipse.org/index.php/Special:Version
  
See more at [[MediaWiki/Extensions]]
+
See [[MediaWiki/Extensions]]
  
 
==== Timelines  ====
 
==== Timelines  ====
# http://www.MediaWiki.org/wiki/Extension:EasyTimeline
+
# http://www.mediawiki.org/wiki/Extension:EasyTimeline
 
# http://www.ehartwell.com/InfoDabble/MediaWiki_extension:_Timeline
 
# http://www.ehartwell.com/InfoDabble/MediaWiki_extension:_Timeline
 
MIT's SIMILE project Timeline is integrated into Semantic MediaWiki
 
MIT's SIMILE project Timeline is integrated into Semantic MediaWiki
 
* e.g. http://semanticweb.org/wiki/Events
 
* e.g. http://semanticweb.org/wiki/Events
 
=== Database ===
 
The MediaWiki software uses a MySQL database backend to store content and other data.  The [[MediaWiki/Sql]] article offers a couple helpful queries; whereas [[mw:Manual:Database_access]] covers this area more completely including info on API functions and wrappers.
 
  
 
== Getting it, Installing it ==
 
== Getting it, Installing it ==
MediaWiki is developed using a Continuous Integration approach meaning that their trunk is tested and running in production http://www.MediaWiki.org/wiki/Version_lifecycle
+
MediaWiki is developed using a Continuous Integration approach meaning that their trunk is tested and running in production http://www.mediawiki.org/wiki/Version_lifecycle
  
 
{| class="datatable"
 
{| class="datatable"
Line 241: Line 209:
 
| bgcolor="#FF1000" | September 2008
 
| bgcolor="#FF1000" | September 2008
 
|}
 
|}
[http://www.MediaWiki.org/wiki/Download_from_SVN use svn] to get it, and that way updating your installation is as simple as <code>svn up</code>
+
[http://www.mediawiki.org/wiki/Download_from_SVN use svn] to get it, and that way updating your installation is as simple as <code>svn up</code>
  
  
Line 247: Line 215:
 
=== Creating Slideshows ===
 
=== Creating Slideshows ===
 
[[MediaWiki/Slideshow]]
 
[[MediaWiki/Slideshow]]
<pre><slide>pixel</slide></pre> will create a nice slideshow
+
<pre><slide>flower</slide></pre> will create a nice slideshow
<slide>pixel</slide>
+
<slide>flower</slide>
 
from http://meta.wikimedia.org/wiki/User:BR/S5_slide_for_mediawiki_documentation/en
 
from http://meta.wikimedia.org/wiki/User:BR/S5_slide_for_mediawiki_documentation/en
  
 
=== Integration with Software Development ===
 
=== Integration with Software Development ===
# CodeReview http://www.MediaWiki.org/wiki/Extension:CodeReview e.g. http://www.MediaWiki.org/wiki/Special:Code/MediaWiki/44245#c829
+
# CodeReview http://www.mediawiki.org/wiki/Extension:CodeReview e.g. http://www.mediawiki.org/wiki/Special:Code/MediaWiki/44245#c829
# [http://www.MediaWiki.org/wiki/Extension:ExtensionDistributor ExtensionDistributor] ([https://wikitech.leuksman.com/view/ExtensionDistributor info]) is a tool that automatically packages code from subversion and sends the user a tarball.  There is a lot of interesting information at wikitech that describes how the WikiMedia Foundation is operated technically
+
# [http://www.mediawiki.org/wiki/Extension:ExtensionDistributor ExtensionDistributor] ([https://wikitech.leuksman.com/view/ExtensionDistributor info]) is a tool that automatically packages code from subversion and sends the user a tarball.  There is a lot of interesting information at wikitech that describes how the WikiMedia Foundation is operated technically
  
 
=== Setup for an intranet and/or KB ===
 
=== Setup for an intranet and/or KB ===
Line 273: Line 241:
 
* http://commons.wikimedia.org/wiki/MediaWiki:UploadForm.js/Documentation
 
* http://commons.wikimedia.org/wiki/MediaWiki:UploadForm.js/Documentation
 
* http://commons.wikimedia.org/wiki/Commons:Redesigning_the_upload_form
 
* http://commons.wikimedia.org/wiki/Commons:Redesigning_the_upload_form
* http://www.MediaWiki.org/wiki/User:Pfctdayelise/Manual:Uselang_hack
+
* http://www.mediawiki.org/wiki/User:Pfctdayelise/Manual:Uselang_hack
  
 
== Resources ==
 
== Resources ==
Line 286: Line 254:
 
<references />
 
<references />
  
[[Category:MediaWiki Sites]]
 
[[Category:MediaWiki Sites|sites running MediaWiki]]
 
 
[[Category:Book references]]
 
[[Category:Book references]]
 
[[Category:Wiki]]
 
[[Category:Wiki]]
 
[[Category:Presentations]]
 
[[Category:Presentations]]
 
[[Category:Howto]]
 
[[Category:Howto]]

Revision as of 17:28, 14 January 2009