Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Equinox p2 Plan"

m
(Pending Items)
Line 75: Line 75:
 
* Artifact repo
 
* Artifact repo
 
** partial downloads of new jars
 
** partial downloads of new jars
 
+
** Resilience to dl failures
 +
** Ability to restart failed download
  
 
* Engine
 
* Engine
Line 106: Line 107:
 
** proxy
 
** proxy
 
** authentication
 
** authentication
** download in parallel
 
** automatic picking of mirrors
 
** download time estimation
 
 
** https
 
** https
** bittorrent
 
 
** socks
 
** socks
 
** automatic retries
 
** automatic retries
 +
** automatic picking of mirrors
 +
** download time estimation
 
** suspendable
 
** suspendable
 
** resumable
 
** resumable
 
+
** download in parallel
  
 
* Misc:
 
* Misc:
Line 122: Line 121:
 
** Mechanism to query the user for data
 
** Mechanism to query the user for data
 
** Make the agent dynamic
 
** Make the agent dynamic
** Scalability: reivew the data structure and API for scalability
+
** Scalability: review the data structure and API for scalability
 
** Review the usage of rhino
 
** Review the usage of rhino
 
** Review the usage of xstream
 
** Review the usage of xstream
Line 150: Line 149:
  
 
* Touchpoints
 
* Touchpoints
* Support for discovering files to allow for configuration
+
** Support for discovering files to allow for configuration
 
** Native touchpoint
 
** Native touchpoint
 
*** Implement a native touchpoint
 
*** Implement a native touchpoint

Revision as of 21:18, 24 August 2007

As we have seen during the provisioning workshop, the problematic of provisioning can be quite broad. In order help us make focused progress, we will first be working on install / update / uninstall of plug-ins since one of our goal is to replace the current update manager. The other focus will be on trying to use our own technology as soon as possible (a.k.a "dog"-fooding).

Scenario title

Install/Update/Uninstall software from eclipse obtained from an SDK archive Scenario description: The user gets eclipse by downloading an archive of the SDK. It unzips it and run it. It goes to the update manager UI and decides to install / update / uninstall plug-ins.

Simplifying assumptions

The "agent" is part of the downloaded SDK and it will be running in process. The plugins folder of the install is the plug-in pool. Metadata and artifact repositories are delivered as part of the archive. All agent data necessary to represent the eclipse installed by the SDK is delivered as part of the archive.

Plan

M1 - August 2, 2007

Goals:

  • Operations supported: install, uninstall, update, rollback.
  • Self provisioning from a small download of the agent
  • The agent runs in process

Details:

  • Director / metadata:
    • Implement groups and selectors
    • Define constraints descriptors
    • Refine how fragments are being attached
  • Engine:
    • Define new phases and operations.
  • UI:
    • Browse what's installed in a profile
    • Invoke operations
    • Browse a repository
  • First run integration: ability to ship metadata / artifact repo / profile with eclipse
  • Investigate shared install problems

M2 - September 21, 2007

Goals:

  • Updating the running profile (self update with a reasonable UI)
  • Support for update / rollback in the director
  • Support for transaction in the engine

Details:

  • Director / metadata:
    • Implement groups and selectors
    • Refine and implement constraints descriptors
  • Engine:
    • Support for transaction
  • UI:
    • End user UI to install and update
    • Presentation of metadata repo content to the user
  • Misc
    • Move to ECF 1.0.2
    • Support for relative paths
    • Review the usage of framework admin:
      • How are we using it?
      • Why do we use it, what does it bring?
    • Discover the JRE being used to run
  • Shared install:
    • Initial implementation
  • Repository:
    • Support for filtering content presented to the user
    • Make the artifact repository writable and have support for post-processing
    • Have an artifact repository implementation to read update sites

M3 - November 2, 2007

M4 - December 14, 2007

M5 - February 8, 2008

Pending Items

If you are looking to be involved, feel free to pick any item listed below.

  • Artifact repo
    • partial downloads of new jars
    • Resilience to dl failures
    • Ability to restart failed download
  • Engine
    • undo/redo API
    • touchpoint API
    • define more phases and how phases are ordered, review Dave idea where everything is an operation
    • engine API


  • Director / Metadata
    • update
    • rollback
    • fixes
    • update
    • translation
    • disable (==> uninstall but keep the md and artifacts)?
    • variable / prereqs / checks
    • default selectors
    • nested profiles
    • Refine how fragments are being attached
    • Refine how operations to the engine are being constructed
  • Security
    • artifact validation
    • trust
    • signature check (disabled is trusted site)


  • Transports
    • proxy
    • authentication
    • https
    • socks
    • automatic retries
    • automatic picking of mirrors
    • download time estimation
    • suspendable
    • resumable
    • download in parallel
  • Misc:
    • Shared install scenarios
    • Discovery mechanism for non eclipse things (JRE)
    • Mechanism to query the user for data
    • Make the agent dynamic
    • Scalability: review the data structure and API for scalability
    • Review the usage of rhino
    • Review the usage of xstream


  • GC
    • Ability to remove metadata from the metadata cache
    • Ability to remove a plug-in from the bundle pool


  • Tooling
    • Mechanism to ship the install registry, artifact reg, etc. as part of the SDK


  • End user functionality (see also Equinox Provisioning User Interface)
    • Improved way to present licenses
    • Remember accepted licenses
    • Give the ability to name what is being installed
    • Installation by drag and drop on a running eclipse
    • Automatic installation
    • Ability to update to a new version of a base and keep other plug-ins
    • Ability to install from other eclipse installs on the machine
    • Install from a click on the web page
    • Silent installation
    • Support installation even when there are errors in the configuration


  • Touchpoints
    • Support for discovering files to allow for configuration
    • Native touchpoint
      • Implement a native touchpoint
    • Java touchpoint
      • Define the relationship between java touchpoint and eclipse touchpoint

Back to the top