User:Zabien/Extension Store

Goal
Goal of an extension store is:
 * 1) The extension store is the "frontend" (website) to the "backend" of the extension repository (Github etc.)
 * 2) The extension store functions as a starting point for all questions concerning the extension – for consultants, developers and users.
 * 3) The documentation offers every aspect worth knowing about the extension in a concise and targeted manner: again for consultants, developers and users. (Different approaches, different background knowledge, different terminology!)

The documentation shall include:
 * 1) The user shall be able to easily identify the "best", the most downloaded, most actively patched, most actively supported, most often used extensions.
 * 2) Dependencies and compatibility information (was tested, was not tested) towards core and other extensions shall be clearly shown.

Connected to the extension store is the extension management:
 * 1) Extension management shall be easy for administrators and developers alike.
 * 2) Extension management shall be possible from within the wiki (Special page). It includeds installation, update, deactivation.
 * 3) 1-click-installation (update, deactivation etc.) shall be possible.
 * 4) Installation of skins shall also be possible via extension management.

Technical challenges:
 * 1) Compatibility testing of extension towards core and other extensions shall be improved and automated.
 * 2) Installation process shall include automatic compatibility testing before installation.

Questions

 * 1) What should the store feature? Just extensions, or also templates, skins, SMW packages?
 * 2) What possibilities for location of the store are out there? (MediaWiki.org, Magento new store)
 * 3) The ideal place is MediaWiki.org, what facts speak against having the store there?
 * 4) Paid extensions won't be accepted.
 * 5) What speaks against a store on a new, external platform?
 * 6) Duplicate content
 * 7) Time and effort to maintain
 * 8) What is the role of Bluespice in here?
 * 9) What could be a "give back" policy also for the store?
 * 10) E.g. a percentage of sales goes towards the maintenance of the platform/store and/or MediaWiki
 * 11) How to ensure content quality?
 * 12) What is in for WMF to support this?

To do:
 * 1) Update of feature list
 * 2) Next steps

Status quo
On MediaWiki.org currently a few thousand (how many exactly?) extensions are listed.

Technical info:

 * Release status/extension status: stable/beta/experimental/unstable/unknown/unmaintained
 * Latest version, latest preview version
 * Implementation type (numerous, e.g. special page, hook, wikipage, parser function)
 * Database changes Yes/No
 * Tables
 * Namespace, Parameter, Hooks used and provided
 * Vagrant roles
 * Links to open bugs in Phabricator

Installation info:

 * Compatibility notes: "MediaWiki 1.17+". "PHP 5.3" – Is this info sufficient?
 * Composer
 * Download link

Developer info:

 * Author/Developer
 * License note

Usage info:

 * Description
 * Image (Screenshots)
 * Example
 * Link to translation page

In fulltext:

 * Release notes
 * installation instructions
 * extension dependencies

Problems

 * Many extensions are outdated, the documentation, the status is not up-to-date.
 * The update process of extensions is non-automatic and tedious.
 * Extensions are not tested against new core releases.

Feature ideas
Feature ideas: see also Magento Connect and WordPress plugins

Content bundles

 * The store shall support distribution of content bundles. See [RFC Content bundler].

Rating system

 * New rating system for extensions: 1–5 stars for e.g. "Usefulness, Functions as Described, Developer Support"

Comment from Karsten: Re: Rating (pls only 3 stars in future), most parts of usage statistics, popularity, (text review) is actually already there at Wikipiary which is also already linked from every extension at mw.o - perhaps this needs to be fluffed up further and we need a way to sync this info into wm.o directly (a prototype is somethere in the water, too = Confirm Edit extension) the biggest issue here is to get compatibility info which is also teased by Wikiapiary though at a high performance burden.

Statistics

 * New statistics: Most wanted extensions, most downloaded extensions, most highly rated extensions (total, average, percentage)
 * Popularity score: The download statistics visualized in an icon with 5 versions.

Reviews

 * User text reviews with commenting functionality – extended talk page?

Follow this extension – via watchlist, but also via email, RSS/Atom

Developer information

 * Developer info – Contact possibilities and preferences (email, talk page etc.) – template that lets developers include a nice list of their extensions on their user page, statistics about the developer

Compatibility

 * Compatibility: "Tested with" – extended compatibility notes – "requires 1.21.x, compatible up to 1.25.3" (see WordPress!) – what has been tested, what is supported and what is assumed – also "intercompatibility", compatibility between extensions
 * BlueSpice ready
 * Known issues (not compatible with following extensions: ...)

Documentation

 * Enhancement of screenshots and use case examples – extend the existing "Example"
 * Short screencasts
 * Extended usage information beyond technical settings.
 * Info about CSS classes for styling.

Links

 * Link to WikiApiary

Examples

 * Live examples (would require installation of the extension on a wiki hosting the examples)

Paid extensions
Developers/Users can offer extensions and skins for money. This is not possible on MediaWiki.org. – To discuss!

Extension management for admins (on a special page):
Get notifications at new releases, choose automatic or manual update. Functions:
 * Install new
 * Install/revert to previous version
 * Activate/Deactivate
 * Delete
 * Edit settings