Translations of this page?:

Plugin Manager Rewrite

The rewrite of DokuWiki's Plugin Manager plugin is part of Google Summer of Code 2011 with Piyush MishraPiyush Mishra
piyushmishra

Balasore, India
as developer and Håkan SandellHåkanS
HakanS

Stockholm, Sweden
as mentor.

Summary: Currently we have already a plugin repository at plugins but this repository can't be browsed from the admin area of individual installations like this is possible with Wordpress. This idea is about improving the plugin manager that can already install plugins from a download URL to use the repository at dokuwiki.org.

Links

Release plan

  1. The project changes name to “extension manager”
  2. It is released as a normal (not bundled) plugin as soon as stable, preferable not to far away from the October release 2011
  3. In the April 2012 release, the current “plugin manager” is swapped for the “extension manager”

ToDo

May 12 - May 31 (start early to keep some buffer for college viva etc)

  • Make a list of terms to be translated.
  • Add caching to plugin-repo plugin.
  • Begin adding basic search to plugin manager. (basics already begun)

June 1 – June 30

  • Complete search and browse, with filters.
  • Add multi-select operations (download, activate, de-activate etc)
  • Add toggle click display info.
  • Add auto-ordering of plugins in plugin list (activated come on top)
  • Add first UI changes (color codes green for active, red for one with errors)
  • Add template search with screen shots (hot linked from server[s])

July1 - July 11

  • Pre mid term buffer for delays / college viva.
  • Write tests for pre mid term work.
  • Debug
  • Make mockups for people to ease out getting used to the new interface.

July 12 - Aug 10

  • Complete any features left from pre-mid term evaluations.
  • Add 1 click install for plugin dependencies
  • Add bulk mark and download + bulk upload for offline wikis
  • Add test activate for 10 minutes for plugins and preview for templates
  • Add broken plugin feedback to plugin-repo plugin.
  • Add report broken link (posts some statistical info like both version of DokuWiki and the plugin + optional additional info like a comment to know what happened and the server configuration if user allows it) to plugin manager.

Aug 10 - Aug 22

  • Buffer time for documenting the whole plugin manager.
  • Write tests
  • Debug and make a final release

NEXT MILESTONE: TBD

Plugin Manager Description

General Features

  1. Provide overview. List installed plugins AND templates with (a typical installation have 13 plugins, max known 136):
    • link to homepage
    • enabled/disabled status
    • update status by comparing installed version with lastupdate in meta data (see below)
    • compatibility status
    • maybe add TOC for wikis with a lot of plugins
    • list tags
  2. Display detailed information. Show all available information
    • from installed files: version, author, details, feedback/discussion
    • from repository API: similar plugins, more by same author etc
    • from plugin manager data: install date, enabled/disabled, compatibility which version of Dokuwiki, conflicts with other plugins, list required plugins
  3. Manage plugins/templates
    • Install, by browsing repository, or using URL textbox or upload a file (for wiki's with restrictive firewalls). For templates a “browse by screenshot” would be cool
    • Enable/disable all or a single plugin (Template special handling: one and only one template must be used at a time)
    • Uninstall (delete)
    • Update all needed or a single plugin (would also be interesting to have notifications for administrator, like notifications about new version of DokuWiki)

Today bundled plugins are shown in light red background, a signal not obvious to a new admin, which should be changed to something else. A bonus feature where if the plugin manager was compatible/aware of Wiki Farms with DokuWiki

MockUps

Plugin Manager Home

Plugin Manager Home

Plugin/Template Meta Data

The plugin manger should get info from dokuwiki.org, where the Repository Plugin exposes available plugins and templates as an XML API. This API was exclusively written for this project and is never used (yet) and might need adjustment. For example there is no caching currently.

  • there should be a config option for wikis without internet access

Plugin/Template Browser

  • provide a list with names and short description
  • expand additional info on click
    • author, links, popularity, …
    • show installed/not installed/update available status
    • install button
    • tags
  • search? (local or by querying dokuwiki.org?)
  • maybe group by stated compatibility
  • show warnings like “don't use in public wikis”

Security/Trust

  • How do people know what they download?
  • Maybe a config option to always install plugins as disabled
  • Maybe creating a web of trust by having trusted people (splitbrain, chimeric, Chris-S, foosel, …) who then can examine code by others and trust them?
  • Should we sign download URLs? Or maybe just servers (to make autoupdating github links easier)
  • Add code review before installing. Eg. download and extract to tmp, let user view the code before install
  • There should be more security warning levels, at least one that gives a warning but keeps the plugin visible. Used for “Don't use this plugin in public wikis”

Compatibility

  • It would be nice with a “I've tested this in my installation” button that could update compatibility information at DokuWiki.org
devel/ideas/pluginmanager.txt · Last modified: 2011/08/20 19:24 by HåkanS
 
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 3.0 Unported
Imprint Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki
WikiForumIRCBugsGitXRefTranslate