Difference between revisions of "Equinox p2 Meeting Week Jan 14-18 2008"
|Line 165:||Line 165:|
=== Ganymede, EPP ===
=== Ganymede, EPP ===
Revision as of 13:04, 16 January 2008
A number of meetings will be held the week of Jan 14 - 18, 2008 to make DECISIONS about the content of the release. All times listed are in Eastern Standard Time
- 1 Participants and times they cannot attend:
- 2 Schedule of topics and meetings
Participants and times they cannot attend:
- Dave Stevenson - Tues 11-12:30 EST; Wed 2-3
- Pascal Rapicault - Tues 8h - 12h EST
- John Arthorne Wed 2:30-6
- Scott Lewis - Wed 11am-2pm PT (2pm-5pm EST)
Schedule of topics and meetings
Update manager compatibility
When: Monday 1:30-2:30
Who: Simon, DJ, Dave S, John, Pascal
- RCP application will be able to run with only update manager, or only p2 or both at the same time.
- The SDK will be shipping all of the org.eclipse.update * plugins
- The old update ui will be disabled by default
- When both p2 and UM are available in one configuration, the two representations are kept in sync.
- In 1.0, groups will still be containing an artifacts for the feature.xml (and others). This feature.xml is kept for backward compatibility with PDE and will be removed from further release.
- Questions left to be answered:
- IUs mocked for plugins published on an update site needs to be replaced with complete IUs.
- Support for install handlers when installing from an update site through p2 UI.
- What were update manager policy files used for? Do we have an equivalent mechanism?
- How do we support feature patches?
- Do we keep the dropins folder concept?
- How does the old update UI is made visible or not?
When: Tuesday 2:30-4:30
Who: Darin, Susan, John, Pascal
- UI Workflows
- Change to pde ui code
- Relation PDE / update
- p2 target provisioner
- Feature selfhosting replacement
- Do we keep features
- editor work
- Authoring tooling
- Need to maintain editors for old stuff: update sites, features, etc
- Do we need an editor for authoring IUs directly? No. People will continue to author features, etc, and we will generate the p2 metadata behind the scenes.
- Not clear what changes are needed in product editor. Perhaps a flag/checkbox to specify whether p2 or UM is being used. Also a way to set the start level of bundles.
- Should we have tooling in PDE for browsing/publishing to remote repositories? No.
- Nice to have, but probably not for 1.0
- Target provisioner
- Currently there can only be one active target platform. Would like to evolve to support multiple active target platforms
- We will add a p2 target provisioner that can take things from a p2 repository, and fetch the IUs selected by the user.
- Launch tooling
- Need to be able to publish/export in either new format or old format
- Suppose I deploy an application that is entirely "new school". It contains no features, only IUs. Someone wants to author a feature that depends on a group in this new school application. How can the user specify this dependency in the feature editor? Currently this is broken in a p2-provisioned Eclipse SDK.
Shape of eclipse
When: Monday 4:30-
Who: Jeff, Susan, Simon, DJ, Andrew N, John, Pascal
- We will keep the old all-in-one zip downloads. No configuration: unzip and run.
- We will continue to ship the same feature.xmls for the SDK
- Zip layout is same as Eclipse 3.3, plus p2 stuff:
- eclipse/ - eclipse.exe - plugins/ - features/ - p2/
- Is all the p2 metadata pre-configured or generated on first startup?
- bundles.txt, profile/install registry, bundle pool
- Easiest solution is that nothing gets automatically spoofed up on startup. Packagers/builders must invoke the "p2-izer" to prepare their zips
- how many agents
- p2-ization, when, what for, what from
- Handling of multiple installation
- Support for Vista
User interaction scenarios
When: Tuesday 9:30-12:00
Who: Susan, Tim M, John, Jeff, DJ, Simon
- Support for drag & drop install <Susan>
- Do we keep the dropins folder concept <Susan>
- Do we keep the UI to add extension locations? <Susan>
- UI for drop-ins folder? <Susan>
- These are all related. Compelling use case: user got a jar from somewhere and wants to add to system
- Drag a zip/jar/URL/dir to available features list
- if drag source is a bundle, it goes to drop-ins folder, otherwise we are either:
- adding a repo (make metadata for this zip file and consider it a repo)
- adding content to the default drop-ins folder
- Drag a zip/jar/URL to installed features list - does above + install
- Repo properties control how often repo content is refreshed, are things automatically installed
- There is a default drop-in location but user can add more via these add repo scenarios
- Need to think about whether removing a repo ever automatically uninstalls everything that was in it if "install
automatically" was on. (Equivalent to remove extension location.)
- Prompting for trusted signers, relationship to licenses <Tim>
- Licenses is done and always happens as part of the install UI (because licenses known up front)
- Trust is verified during/after collect phase. Prompting happens in different places
- If user pre-downloaded due to autoupdates, then trust should be shown along with licenses in update wizard
- If user has already been in an install/update wizard and then does the download, the UI happens after
- John and Tim will work out details
- Do we keep the old ui? <Susan>
- We need to because we can't handle all of the old update sites
- We need to run in an either/or/both mode, default is p2 UI is on
- How to handle both of them making UI contributions. Update UI would still contribute to menu and probably hide its menu contributions in code somewhere if it finds that p2 is installed.
- Verify that all the update manager functionalities are covered in p2 <Susan>
- The various history and activity logs will be presented as needed in revert UI
- We think we are covered
- Do we want to keep the disable functionality, how do we implement it?
- We will not do it for 3.4/1.0
When: Tuesday 2-4
Who: Dave, John, Pascal, Jeff, Susan
- Metadata structure for an eclipse application
- product vs extension.
- Description of a "base" (to support firefox like model and allow the uninstallation of everything)
- UI issues
- "base" should be distinguished in installed features list. For example you can't uninstall it.
- "Installed Features" terminology - even if not implemented as features, the name is ok
- Available features - only show groups? Yes, and when a bundle is dropped into Eclipse a referring group IU will be generated. The IU generated for the bundle itself should match the original
- shape of new items:
- update - need to flesh out more metadata including description of update
- fix pack
- flavor - keep it even though we aren't using yet, change "tooling" to "default"
When: Wednesday 9:30-10:30
Who: Andrew O, Pascal
- basic idea:
- eclipse product (SDK, RCP app (ex. RSSOwl), etc.) layed down on disk by some means (RPM installation, etc.)
- product is a read-only location to users
- it is desirable that users still have the ability to add their own additional bundles
- some related documents: Equinox_p2_Shared_Install, Equinox_p2_Shared_Install_Plan
- system integrators will ship bundles but no agentData area
- system integrators will also ship metadata related to the bundles (or something to denote what IUs are root IUs)
- there will be no system-wide profile registry
- profiles will be spoofed upon invocation of a p2 operation from the running bundles (the shared bundles + any user bundles)
- additional sets of plugins (ex. EMF, CDT)
- RPM installation -- for example -- of these will need to just lay down the bits
- subsequent startup will need to pick up these bits of functionality
- running some sort of p2 installer post-installation doesn't work due to order of installation operations and will be fragile
- two options: directory watcher (a la links folder) or generating partial bundles.txt files to ship with the additional RPMs
- links folder isn't ideal (Pascal: please add reasons here)
- "higher-level" (ex. up the stack) dependencies must consume *all* of directory contents and would force people to create mirrored subsets of what they want
- links folder isn't ideal (Pascal: please add reasons here)
- partial bundles.txt:
- doesn't force any particular directory layout
- Outstanding issues:
- how to spoof a profile (use bundles.txt and metadata?)
- explore UI interaction
- writable locations
- indicating locked things
- dis-allowing updates to locked things
- generate subset of bundles.txt for extensions (ex. EMF, CDT, etc.)
- GC interaction (not really a big deal since it won't be able to write)
Who: Thomas H, John, Pascal, Andrew O, Andrew N
- Introducing a p2 installer for EPP packages has a number of benefits
- Allows for installing an Eclipse-based application into a common bundle pool, reducing client disk footprint
- Allows optimization of download: pack200 compression, adaptive mirror selection, download restart, etc.
- Need to add a step to the end of Gany-matic to produce p2 metadata against the Ganymede update site (p2-izer)
- Longer term (after Ganymede release), teams contributing to the release train would produce their own p2 metadata. Train-o-matic would then just aggregate/federate that data rather than maintain its own p2 repositories. This allows team to contribute more customized p2 metadata that cannot be reverse-engineered from the update site content.
- There may be a small number of teams (particularly platform team) that may need to produce their own custom p2 metadata for Ganymede release. We will investigate how this metadata can be picked up by Gany-matic and fed into the p2-izer.
For keener teams that want to produce their own metadata, what do we tell them to do?
- Run PDE build which produces p2 metadata in 3.4
- Invoke the p2 generator directly? (Eclipse app or Ant task)
- Distinguish between add-on providers and product providers (some projects do both)
- Producers can create a pre-installed product zip that already has p2/ folder with all attendant metadata
When: Wednesday 1-2
Who: Tim W, Scott, Tim M, Thomas H, John, Pascal, Stefan
- download manger
- download manager UI
- proxy support
- authentication (basic login/pwd prompting)
When: Wednesday 3-4
Who: Andrew N, Andrew O, Pascal
- What do we build from?
- What is being produced?
- Product build
When: Thursday 9-11
Who: Jeff, Susan, John, Pascal
- how many bundles
- do we have an API
Plan for SDK integration
When: Thursday 1-3
Who: Jeff, John, Pascal
- robustness level
No meeting assigned:
- Fwk admin
- What do we do with it?
- Will PDE need to use it?
- Repository support