from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
< MediaWiki‎ | archive
Revision as of 13:56, 8 July 2007 by Woozle (talk | contribs) (→‎Extensions of Interest: don't know why I had the same link twice)
Jump to navigation Jump to search


computing: software: web: MediaWiki: customization



Managed Customization

MediaWiki will include the contents of mediawiki:Common.css, if found, in the CSS code it uses for defining the appearance of its pages. (The initial character in "Common" does not seem to be case-sensitive, even if the site has the initial-caps flag turned off.)

Extensions of Interest

Available MediaWiki extensions which look like they could be useful (full list with brief descriptions):

  • portal-type features:
    • My blog: blogging features
    • Tasks extension: rudimentary multi-user project management
    • WikiFeeds adds to the standard feeds: Newest pages, Recent changes by user, Newest pages by user, User watchlist, Recent changes for articles in a category, Newest articles in a category
  • data display:
  • data management:
    • Attribute Extension: adds an "attribute" tab to all pages; stores attribute data in a table
    • Extension:Labeled Section Transclusion (LST): sort of an extension of the "noinclude" and "includeonly" tags: allows multiple named sections which can be included or excluded. Pages can be set up which are just "data" to be presented in different formats by inclusion (works well with templates, generally speaking). Now in use on PsyCrit.
    • VariablesExtension is a different approach to storing data for re-use within the wiki. Due to the fact that the data has to fit inside a template call, available wiki-markup is more limited than with LST (above) but may have other strengths to compensate. Question: Can an included page "see" variables declared in the calling page?
  • groups / security
  • convenience:
  • experimental (keep an eye on these to see if they become useful):

Code Notes

(From Woozle 20:59, 15 Jun 2005 (CDT). Eventually to be given their own section, I expect.)

  • Everything obviously starts with index.php
  • For the purpose of displaying a page (not saving changes or doing anything else), this calls $wgArticle->view(), in Article.php (line 699)
  • $wgArticle->view() appears to be able to provide a few other formats besides the regular view (including difference engine and displaying redirections as subtitles), but I'm ignoring that for now
  • $wgOut seems to be the object which accumulates text to be output, via various methods:
    • $wgOut->addWikiText(...)
    • $wgOut->addHTML(...)
    • $wgOut->addPrimaryWikiText() # Display content and save to parser cache
    • $wgOut->addWikiText() # Display content, don't attempt to save to parser cache
    • $wgOut->setPageTitle()
    • $wgOut->transformBuffer(); # Put link titles into the link cache
    • $wgOut->addMetaTags(); # Add link titles as META keywords
  • ...and then it does these two lines:
    • $this->viewUpdates(); (found at line 1926 -- doesn't do much)
    • wfProfileOut( $fname );
  • It's not clear whether the navbar has already been pulled in by the time we hit viewUpdates -- possibly transformBuffer does it? The comment makes it sound like that, but the name "transformBuffer" in that case is not very descriptive. The code in there should probably be examined.