Difference between revisions of "MediaWiki/archive/customizing"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
m (→‎Extensions of Interest: don't know why I had the same link twice)
(→‎Extensions of Interest: more data-management extensions)
Line 25: Line 25:
 
* '''data management''':
 
* '''data management''':
 
** [[metawikipedia:Attribute Extension|Attribute Extension]]: adds an "attribute" tab to all pages; stores attribute data in a table
 
** [[metawikipedia:Attribute Extension|Attribute Extension]]: adds an "attribute" tab to all pages; stores attribute data in a table
** [[mwsite:Extension:Labeled Section Transclusion|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]].
+
** [[mwsite:Extension:DynamicPageList|DynamicPageList]]: reporting tool; lists pages by category, with user-definable formatting (now in use on [[Issuepedia]])
 +
*** [[mwsite:Extension:DPLforum|DPLforum]]: fork of DynamicPageList 1.12 for displaying "forum-like layouts"
 +
** [[mwsite:Extension:Labeled Section Transclusion|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 [[Issuepedia]] and [[PsyCrit]].
 +
** [[mwsite:Extension:SimpleTable|SimpleTable]]: display [[CSV]] or tab-delimited spreadsheet data as a table
 +
** [[mwsite:Extension:StackFunctions|StackFunctions]]: mini programming language equivalent to [[PostScript]] without graphics
 
** [[metawikipedia:VariablesExtension|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?
 
** [[metawikipedia:VariablesExtension|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?
 
* '''[[MediaWiki user-group security|groups / security]]'''
 
* '''[[MediaWiki user-group security|groups / security]]'''

Revision as of 23:19, 8 July 2007

navbar

computing: software: web: MediaWiki: customization

Links

Articles

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
    • DynamicPageList: reporting tool; lists pages by category, with user-definable formatting (now in use on Issuepedia)
      • DPLforum: fork of DynamicPageList 1.12 for displaying "forum-like layouts"
    • 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 Issuepedia and PsyCrit.
    • SimpleTable: display CSV or tab-delimited spreadsheet data as a table
    • StackFunctions: mini programming language equivalent to PostScript without graphics
    • 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.