• Customization as a key feature
    • each user is unique and uses the wiki in a slightly different way and with a slightly different purpose 

1. Actions

  • Install (multi/local wiki)
    • Resolve
    • Dependencies
    • Signatures
    • Execute custom script
  • Update
  • Remove / Uninstall
    • Simple remove the ext (all dependecies)
    • Remove a specific version
    • Rollback to other version
    • Migrate
    • Execute custom script
  • Enable
  • Disable

2. Use Cases

For a list of usercases, see image.

2.1 Basic Use Cases

  • UC2: Be able to list available extensions in the admin extension screen along with all installed versions
  • UC7: Install extension with dependencies check
  • UC8: Upgrade/migrate existing extension
  • UC9: Uninstall extension
  • UC13: Ability to remove one of the installed version for a given extension.

3. Requirement

  • R1: Allow users to quickly locate a particular extension by name or by type
  • R2: Provide simple, usable controls for basic extension operations
  • R3: Update check automatically by default. 
  • R4: Show progress on install action
  • R5: Make extensions discoverability easy (repo)
  • R6: Provide a usable, findable way for the manager to search all existing extensions
  • R7: Providing a way to determine if a particular extensions  may be causing problems: dependencies, untrusted, old version, security, etc.
  • R8:
  • R9:
  • R6:

Extension Description

  • Primary:
    • name (+ version)
    • icon
    • author (link)
    • description (curtailed after one line)
    • date last updated
    • a "more" link (launches Detail View of extension)
    • Buttons:
      • Disable/enable toggle button
  • Secondary (Details View):
    • full description
    • compatibility
    • ratings
    • last updated
    • list of contained | affected pages, jars
    • list of other extensions dependencies

- show normal ( selected ) / installed (enables - disabled - updateFound ) states