Epic #63909

Updated by Stefan Neufeind over 4 years ago

This issue collects all specs for a new EM.
It should run on PHP5.3+ so we can bundle it for 6.2 at a later stage.

h2. Desired functionality

h3. From the Backend

* Enable extension
* Disable extension
* Remove extension from disk

* Get extension from remote repository (also a specific version)
* Resolve dependencies on *download*
* Review changes (before install/update and after installation)


* Upload Extension *ZIP* via Browser

h3. From Command Line

* Enable Extension
* Disable Extension
* Get extension from remote repository
* Resolve dependencies on *install*
* Update all extensions
* Fetch lists of installed extensions and available updates


h3. General

* It should be possible to import data into tables that do not belong to the extension (#23965)
* It should be possible to sign packages (#30594)
* If an extension get excluded from updates, the locallang files *must not* be updated (#54287)
* Updating an extension must trigger an entry in sys_log (#19992)
* Should clear opcode caches in install/uninstall (#56969)
* Should clear classes cache "by package" if possible (#56323)
*
Updating an extension should create a backup first (#20664)
* Issue an error message when offline (#43080)

h3. UI

* Get List of all extensions that offer updates (no matter if uploaded manually or installed from TER)
* Offer the ability to search for an extension (but exclude meta-fields like "state")
* Set Focus to the searchfield onload (#29628)
* Reload List of Extensions after updating an extension (-#48867-)
* List of Extensions should be sortable and provide indicators of the current sorting state (#55140)
* Filter extentions by (#43177 / #37382 / #30508 / #54997):
** active
** inactive
** has update available
** state (alpha/beta/stable)
* Remote Extension list should *not* show installed extensions
* UI should show dependencies and conflicts
* UI should allow overriding errors (dependencies/version-requirements; "I know what I'm doing"-mode)

* UI should allow search by author and/or category
* UI should show reverse dependencies (installed extensions only) (#17573)
* UI should show the last update from TER *and* when the extension has been installed (#25202)
* Extension updates with security issues should be moved to the top (#37199)
* Extensions with security updates should provide a link to the bulletin (#37156)
* Refactor messages in confirmation dialogs, move HTML from PHP and locallang.xlf into Fluid templates
* UI should paginate search results in "Get Extensions"

h3. Directory Layout

<pre>
|-- Packages
| |-- Common
| | |-- my_global_ext
| |-- Application
| | |-- tt_news
| |-- Framework
| | |-- workspaces
| |-- Library
| | |-- doctrine
| | |-- dbal
| | |-- common
|-- Web (public Webroot)
|-- composer.json
</pre>

Back