MediaWiki/extensions: Difference between revisions

    From Consumerium development wiki R&D Wiki
    (→‎Headlined of the planned: #Common Locale Data Repository mw:Extension:CLDR - The CLDR extension contains local language names for different languages, countries, and currencies extracted from w:Common Locale Data Repository data is obvi)
    (→‎Headlined of the planned: #LanguageSelector will enable people to have the MediaWiki interface localized based on accept langs the browser sends)
    Line 1: Line 1:
    = Headlined of the planned=
    = Headlined of the planned=
    Obviously we want to have [[#EVAL]], [[#HashTables]], [[#Arrays]] and [[#Math]].
    [[#BADI Pages Created Links]] - ability to color outgoing links based on "article exists in target wiki/site / article does not exist. For example this will be used to link to the relevant [[Wikitravel]] article.
    Obviously [[#BrokenLinks]] for housekeeping.


    [[#LinkedWiki]] so we can fetch from [[Wikipedia]] based datasets from category and infobox data things like:  
    [[#LinkedWiki]] so we can fetch from [[Wikipedia]] based datasets from category and infobox data things like:  
    Line 24: Line 18:
    #) Subsidiaries
    #) Subsidiaries
    #) Corporate web site
    #) Corporate web site
    Obviously we want to have [[#EVAL]], [[#HashTables]], [[#Arrays]] and [[#Math]] for starters. [[#BADI Pages Created Links]] - ability to color outgoing links based on "article exists in target wiki/site / article does not exist. For example this will be used to link to the relevant [[Wikitravel]] article.
    Obviously [[#BrokenLinks]] for housekeeping.


    {| class="wikitable"
    {| class="wikitable"
    Line 57: Line 56:




    [[#Common Locale Data Repository]] mw:Extension:CLDR - The CLDR extension contains local language names for different languages, countries, and currencies extracted from w:[[Common Locale Data Repository]] data is obviously useful for the i18n effort
    [[#Common Locale Data Repository]] mw:Extension:CLDR - The CLDR extension contains local language names for different languages, countries, and currencies extracted from w:[[Common Locale Data Repository]] data is obviously useful for the i18n effort.
     
    [[#LanguageSelector]] will enable people to have the MediaWiki interface localized based on accept langs the browser sends.


    = Implementation types of extensions =
    = Implementation types of extensions =

    Revision as of 11:46, 12 June 2012

    Headlined of the planned

    #LinkedWiki so we can fetch from Wikipedia based datasets from category and infobox data things like:

    1. ) Type of business entity
    2. ) Traded as stock X in stock exchange Y
    3. ) Industry/ies
    4. ) Founded in
    5. ) HQ location
    6. ) Area served / operates in
    7. ) Products
    8. ) Revenue
    9. ) Operating income
    10. ) Net income
    11. ) Total Assets
    12. ) Total equity
    13. ) Number of employees
    14. ) Subsidiaries
    15. ) Corporate web site

    Obviously we want to have #EVAL, #HashTables, #Arrays and #Math for starters. #BADI Pages Created Links - ability to color outgoing links based on "article exists in target wiki/site / article does not exist. For example this will be used to link to the relevant Wikitravel article.

    Obviously #BrokenLinks for housekeeping.


    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:HashTables Ability to make w:hash tables from template-data and to fill templates with data from hash tables. This combined with 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. mw:Parser function Tested on 1.17
    mw:Extension:ArticleFeedback stars of maximum stars rating system with multple polls for different aspects for reviews mw:API 1.18 and up only
    mw:Extension:ArticleFeedbackv5 textbox feedback system could be used to collect the feedback to a company mw:API 1.18


    #Common Locale Data Repository mw:Extension:CLDR - The CLDR extension contains local language names for different languages, countries, and currencies extracted from w:Common Locale Data Repository data is obviously useful for the i18n effort.

    #LanguageSelector will enable people to have the MediaWiki interface localized based on accept langs the browser sends.

    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

    • 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

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:HashTables Ability to make w:hash tables from template-data and to fill templates with data from hash tables. Enhances the parser with hash table functions and a function to store all parameters given to a template. This combined with 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. mw:Parser function Tested on 1.17 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.

    HeadersFooters

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:HeadersFooters Allows you to specify article headers and footers to be included on a global, namespace, category or page basis. Could be useful somewhere mw:Parser extension unknown, last version in Nov 2011

    HideEmptySections

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:HideEmptySections This extension hides any section that does not have any text associated with it. This will most likely be used so that the company and product articles have a big skeleton where people can fill in info but to only display the sections where info has already been added. <!-- comments --> naturally also count as 'empty' mw:Hook 1.14

    I

    I18nTags

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:I18nTags The i18nTags extension provides access to i18n functions for number formatting, grammar and plural in any available language. mw:Tag, mw:Parser functions

    ImageTagging

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:ImageTagging ImageTagging extension lets a user select regions of an embedded image and associate an article with that region. Images can be viewed by tag. Tagging is shown in a new tag log. Could have use in building visual navigation structures mw:Special page, User interface 1.11+

    Include WP

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:Include WP Possibility to include WP ( or other mediawiki installation ) content into articles Might be useful but not yet clear how / where should be used mw:Tag, mw:Parser functions, mw:API 1.16 and up

    J

    K

    KeyValue

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:KeyValue KeyValue is an extension that allows you to store one or more key/values on a mediawiki page by using the keyvalue function. Could be used to centrally store company data only once and then used in many articles mw:Parser function mw:Special page 1.16 -


    L

    Labeled Section Transclusion

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:Labeled Section Transclusion This extension allows selective transclusion of marked-off sections of text. Could be useful for transcluding product and brand page sections into the company page mw:Tag, mw:Parser function 1.7+

    LandingCheck

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:LandingCheck LandingCheck makes using localized and geotargeted landing pages easy. It was created as a replacement for the GeoLite extension. mw:Special page unknown

    LanguageSelector

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:LanguageSelector The LanguageSelector extension provides detection of the interface language to use for anonymous visitors, and a menu for selecting the user language on each page, for logged in users as well as anonymous visitors. mw:MyWiki, mw:Tag, mw:Locale 1.11+

    Lingo

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:Lingo Lingo is a glossary extension to MediaWiki, that lets you define abbreviations and their definitions on a wiki page. It displays these definitions whenever an abbreviation is hovered over in an article. mw:Extended syntax, mw:Skin 1.16+

    LinkedWiki

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension:LinkedWiki Ability to perform SPARQL queries mw:Parser extension, mw:Special page and mw:Data extraction 1.16 or higher

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    Extension General description Consumium specific Implementation Compabilities Other notes
    mw:Extension: mw:

    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