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 13:58, 25 June 2007 by John arthorne.ca.ibm.com (Talk | contribs) (M1, July 25th)

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, July 25th

Goals: install, uninstall, update, rollback. The agent is in process.

  • Director / metadata: Implement groups, selectors and constraints, refine how fragments are being attached
  • Engine: define new phases and operations.
  • UI: Browse what's installed, invoke operations
  • First run integration: generate profile on startup. Ability to ship metadata with SDK
  • Investigate shared install problems

M2, August 30th

Goals: fixes, transaction/undo insfrastructure, support for translation

  • Director / metadata: support for more complex configuration dependencies among IUs, support for variables / checks / prerequisites.
  • Engine: implement transactionality
  • Touchpoint: support for transactionality
  • Eclipse and native TP: support for discovering files to allow for configuration

Tasks

  • Artifact repo
    • write access to the repo
    • partial downloads of new jars


  • Metadata repo
    • write access to the repo


  • 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
    • constraint descriptors
    • update
    • translation
    • disable (==> uninstall but keep the md and artifacts)?
    • variable / prereqs / checks
    • groups and selectors
    • default selectors


  • 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


  • 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

Back to the top