Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Equinox p2 Plan

Revision as of 15:16, 7 August 2007 by Pascal rapicault.ca.ibm.com (Talk | contribs) (Tasks)

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

M4 - December 14, 2007

M5 - February 8, 2008

Tasks

  • Artifact repo
    • partial downloads of new jars


  • 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
    • download in parallel
    • automatic picking of mirrors
    • download time estimation
    • https
    • bittorrent
    • socks
    • automatic retries
    • suspendable
    • resumable


  • Misc:
    • Shared install scenarios
    • Discovery mechanism for non eclipse things (JRE)
    • Mechanism to query the user for data
    • Make the agent dynamic
    • Scalability: reivew 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
    • List the installed content (allow for various granularity)
    • 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 webpage
    • 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