MediaWiki/extensions: Difference between revisions

    From Consumerium development wiki R&D Wiki
    (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..)
    (getting seriosus and starting to put into tables the info on the the most essential extensions..)
    Line 1: Line 1:
    = Headlined of the planned=
    = Headlined of the planned=
    * <tt>'''[[#HashTable]]'''</tt> - 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.
    {| class="wikitable"
    * <tt>'''[[#ArticleFeedback]]'''</tt> - ( stars of maximum stars ) for [[reviews]]*
    |-
    * <tt>'''[[#ArticleFeedbackv5]]'''</tt> - could be used to collect the [[feedback]] to a [[company]]
    ! Extension
    ! General description
    ! Consumium specific
    ! Implementation
    ! Compabilitys
    |-
    | <tt>'''[[#HashTable]]'''</tt>  
    | Ability to make [[w:hash table]]s 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
    |-
    | <tt>'''[[#ArticleFeedback]]'''</tt>
    | stars of maximum stars rating system with multple polls for different aspects
    for [[reviews]]
    |
    |-
    | <tt>'''[[#ArticleFeedbackv5]]'''</tt>
    | textbox feedback system
    | could be used to collect the [[feedback]] to a [[company]]
    |
    |
    |}


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

    Revision as of 11:29, 12 May 2012

    Headlined of the planned

    Extension General description Consumium specific Implementation Compabilitys
    #HashTable 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
    #ArticleFeedback stars of maximum stars rating system with multple polls for different aspects for reviews
    #ArticleFeedbackv5 textbox feedback system 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