MediaWiki/extensions

Revision as of 11:09, 12 May 2012 by Jukeboksi (talk | contribs) (new section to bring more to the surface the most essential..Headlined of the planned.. need to get serious and re-figure-out how to make tables in wiki so we have slot for the types of implementation..)

Headlined of the planned

  • #HashTable - added storing and fetching to/from database so that database maybe manipulated from wiki and the wiki manipulated from the database. In some tasks #Arrays will be much more efficient, but as a catch-all way of storing values in templates in articles hash tables are an excellent idea.
  • #ArticleFeedback - ( stars of maximum stars ) for reviews*
  • #ArticleFeedbackv5 - could be used to collect the feedback to a company

Implementation types of extensions

The implementation strategy(s) employed in building this extension. This parameter is used to create categories that help programmers find examples of various MediaWiki specific implementation strategies or patterns. Although the values of this parameter sometimes coincide with the use case or purpose of an extension, that is not reason for this parameter. If the values you have chosen for this parameter do not adequately identify the purpose or possible use cases, we recommend you add additional category links as needed.

  • mw:parser - catchall for uncategorized parser extensions. If you have written a parser extension, please use one of the following more specific types:
    • mw:link - customized link markup, e.g. mw:...
    • mw:parser function - custom parameterized template markup, e.g. {{#name: ... }}
    • mw:tag - custom XML tag markup, e.g. <tagname>...</tagname>
    • mw:variable - custom unparameterized template markup, e.g. {{NAME}}
    • mw:extended syntax - Extensions that add non-standard wiki syntax (i.e. not tags, parser functions, or variables).
  • mw:access - catchall for user access extensions, that is, extensions that create, authenticate, grant permissions, revoke permissions, or monitor the activity of users. If you have written an access extension, please use one of the following more specific types:
    • mw:user activity - extensions that monitor user activity (logins, logouts, new user creation, etc.)
    • mw:user identity - extensions that create and delete users, and/or verify the identity of a user
    • mw:user rights - extensions to the rights management system, e.g. changes to the way rights are assigned, API, maintenance tools (does not include extensions that merely name the rights needed to use the features of that extension; for this purpose use the rights parameter)
  • interface - catchall for uncategorized user interface extensions.
    • mw:media - extensions that permit the embedding of multimedia content on wiki pages by registering a file extension with $wgMediaHandlers.
    • mw:mywiki - extensions that provide infrastructure so that users may personalize their MediaWiki experience and/or assist in the management of that infrastructure
    • mw:notify - extensions that email users, broadcast messages and provide other forms of community notification
    • mw:page action - extensions that enhance or modify page actions. This includes anything that implements an action that reads, writes, searches for, creates, renames, deletes, redirects or discusses a page. It does not include rights (use user rights) or logs (use user activity).
    • mw:search - extensions that search through and select articles for users.
    • mw:skin - extensions adding CSS or JavaScript, or implementing hook functions to change the look and feel of MediaWiki via the skins framework.
    • mw:ajax - extensions that use Ajax programming techniques.
    • mw:special - extensions that subclass the SpecialPage class, use one of its hooks, or patch one or more functions in SpecialPage.php. See Manual:Special pages for more information.
  • mw:other
    • mw:api - extensions that add a new API module or extend a core API module.
    • mw:hook - Hook extension - defines a new hook - see hook1, etc. below if you want to define hooks used by your extension


Current

Extensions currently installed on this development wiki. Also applicable to the implementation wiki.

Listing extensions that could be useful for the implementation wiki

Planned

A

Arrays

mw:Extension:Arrays - Allows parser functions that manipulate arrays

ArticleFeedback

ArticleFeedbackv5

  • mw:Extension:AutoCategoryInclude - Checks for categories and includes templates ( without messy wikitext ) into pages based on the categories. Could be very useful for constructing infoboxen on company / product pages.
  • mw:Extension:AutoLanguage - Displays a page in the language specified in a user preference. Looks very old and maybe not up-to-date but the source should be interesting reading for anyone looking to implement many languages in one wiki.

B

BADI Pages Created Links ( automatically color outgoing links with colors for "exists" and "doesn't exist

  • mw:Extension:BADI_Pages_Created_Links - Allows display of links in toolbox to other wiki or wiki-like sites whereby links will be colored differently depending on whether the page there has been created yet or not. Status determined by response code or Last-Modified HTTP HEAD requests.

Back Links Functions ( constructing the voting machinery probably can use at least functions from this

  • mw:Extension:BackLinksFunctions - This does what it's name says. The code is ancient, but will be essential reading to anyone developing a voting system where votes are kept in wiki pages

BrokenLinks

They on BrokenLinks:

Special Page which checks all links in table _externallinks and reports on those that return an HTTP response 4xx or 5xx

Us on BrokenLinks:

Obviously very useful for housekeeping the links to businesses.
  • mw:Extension:BucketVoting - The bucket voting extension to mediawiki allows people to distribute a number of votes between a number of options, so they can vote based on how important things are to them. This is known as w:cumulative voting.

C

Common Locale Data Repository

Useable to fetch proper localized string for countries, areas, languages and currencies

Call - ablility to pass variables to pages

  • mw:Extension:Call - ability to pass variables to templates to generate dynamic wiki pages

CategoryCloud and CategoryTagCloud - 2 competing w:tag cloud implementations


CategoryIndex - Using keys ( external to articles ) to make category associations ( Parser function )

They on CategoryIndex:

This extensions allows you to create categories of pages where the page is added with key value, which can be displayed on the lists of parties or categories used to select subset of pages from category.

Us on CategoryIndex:

Perhaps this could be utilized to enter datas for many pages in single pages and also propagated to all languages

CategoryIntersection - where are the other set operations ?

CategoryOnUpload

They on Extension:CategoryOnUpload:

Dropdown menu when uploading images to add the image to a category

Us on Extension:CategoryOnUpload:

Makes it easier and faster to categorize a file you are uploading to the file upload wiki.

Create_Page, CreateAPage and CreateArticle


They on Create_Page:

...

Us on Create_Page:

Trivial. Adds a textbox where you can enter the name of the new article. Maybe if chained with #NewArticleTemplates it might provide some ease of use to the end-consumer

CentralAuth

mw:Extension:CentralAuth - Unified loging accross wikis

CheckUser

mw:Extension:CheckUser - allows checking what IPs nicks use and what nicks are used by IPs

Cite

mw:Extension:Cite - Cite is an extension which allows a user to create footnotes.

CoAuthor

mw:Extension:CoAuthor - The CoAuthor extension provides a tool for finding the co-authors for a given wiki user

Comments

mw:Extension:Comments - Comments extension adds the <comments> parser hook tag to allow commenting on articles where the tag is present. Comments extension adds the <comments> parser hook tag to allow commenting on articles where the tag is present.

D

Data

mw:Extension:Data - This extensions is not actively developed but we really need something like this.

Data Aggregator

mw:Extension:Data Aggregator - ability to collect data across articles with uniform templates

DynamicSidebar

mw:Extension:DynamicSidebar - Provides dynamic sidebars based on user pages, groups, and categories.

E

EasyTimeline

mw:Extension:EasyTimeline for making timelines

Eval

mw:Extension:Eval The eval extension enables mathematical and logical operations in MediaWiki.

ExpandTemplates

mw:Extension:ExpandTemplates - helpful tool template makers

ExpensiveSubpageList or SubPageList

mw:Extension:ExpensiveSubpageList or mw:Extension:SubPageList provide navigational structures for sub-pages.

External Data

mw:Extension:External Data - The External Data extension allows MediaWiki pages to retrieve, filter, and format data from one or more sources. In addition to external URLs, data can also come from a regular wiki page, an uploaded file, an LDAP directory, or a relational database.


F

FaviconLink

mw:Extension:FaviconLink- Fethes the favicon and places it before the link - Why not ..

Form

mw:Extension:Form - The extension lets users create new articles with a form. Administrators create a form in the MediaWiki namespace, and this form can be used to create a new article using a particular template.


G

GeoData

mw:Extension:GeoData - The GeoData extension allows articles to specify their geographical coordinates and publishes these coordinates via the HTTP API.

GIS

mw:Extension:Gis - short for Geographic Information System. Likely need will arise for this.

GlobalUserGroups

mw:Extension:GlobalUserGroups - Allows the use of defined local user groups as global groups

GlobalUserrights

mw:Extension:GlobalUserrights - Allows easy management of global user rights through Special:GlobalUserrights

H

HashTables

mw:Extension:HashTables - Enhances the parser with hash table functions and a function to store all parameters given to a template.

Us on HashTables: BINGO! Now we need only a way to store these in a database and fetch them from the database and we're set for a system that we can edit wiki and get stored in database and edit database and wiki get affected.

Naturally using #Arrays can be much more efficient then a hash table when there is much sequential access of values / keys tables .. Using a hash table to store all things and no arrays certainly makes much more sense then using an array to store all things and no hash tables.

N

NewArticleTemplates

They on NewArticleTemplates:

...

Us on NewArticleTemplates:

Obviously does what it says. Enables per-namespace pre-loadable ( into the edit box ) texts for new articles i.e. we can have a skeleton for creating a new product, brand, company, area, country and NGO etc. no need to copy-paste. Whether the template given for an article can be given if not all things are split into separate namespaces is possible is not know.



List of possible extension types borrowed from http://www.mediawiki.org/wiki/Template:Extension#type under that clauses of GFDL