Epic #63909

Updated by Nicole Cordes about 5 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>

Back