Epic #63909
Updated by Nicole Cordes over 9 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-) (#23965) * It should be possible to sign packages (#-30594-) (#30594) * If an extension get excluded from updates, the locallang files *must not* be updated (#-54287-) (#54287) * Updating an extension must trigger an entry in sys_log (#-19992-) (#19992) * Should clear opcode caches in install/uninstall (#-56969-) (#56969) * Should clear classes cache "by package" if possible (#-56323-) (#56323) * Updating an extension should create a backup first (#-20664-, #-49297-) (#20664, #49297) * Issue an error message when offline (#-43080-) (#43080) * Updating dependencies should ask per update (#-50347-) (#50347) 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-) (#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-) (#55140) * Filter extentions by (#-43177- (#43177 / #-37382- #37382 / #-30508- #30508 / #-54997-): #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-) (#17573) * UI should show the last update from TER *and* when the extension has been installed (#-25202-) (#25202) * Extension updates with security issues should be moved to the top (#-37199-) (#37199) * Extensions with security updates should provide a link to the bulletin (#-37156-) (#37156) * Refactor messages in confirmation dialogs, move HTML from PHP and locallang.xlf into Fluid templates * UI should paginate search results in "Get Extensions" * Offer possibility to show changelog *prior* to installing an extension (#-43178-) (#43178) h3. Directory Layout <pre> |-- Packages | |-- Common | | |-- my_global_ext | |-- Application | | |-- tt_news | |-- Framework | | |-- workspaces | |-- Library | | |-- doctrine | | |-- dbal | | |-- common |-- Web (public Webroot) |-- composer.json </pre>