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

Difference between revisions of "Equinox/p2/User Interface"

< Equinox‎ | p2
(Random requirements)
 
(166 intermediate revisions by 3 users not shown)
Line 1: Line 1:
__TOC__
+
This page provides links to the various design and discussion documents surrounding the p2 User Interface.
  
== Provisioning UI Overview ==
+
== Workflows ==
Work on the Equinox Provisioning UI is in the very early stages and is currently focused on building a UI that helps the team develop, test, and use the provisioning infrastructure. Thus the UI exposes the underlying infrastructure and associated terminology to the end user, which is definitely not the approach we expect to take for end users.
+
* [[Equinox p2 UM workflows]] summarizes the Eclipse 3.3 Update Manager scenarios
 +
* [[Equinox p2 UI 3.4 workflows]] summarizes the goals for the Eclipse 3.4 (p2) Update UI. It includes scenarios and compares click counts to the 3.3 UI.
 +
* [[Equinox p2 UI 3.5 workflows]] provides mockups for proposed changes in 3.5
  
We call this user interface the "Admin UI," although this is a bit of a misnomer, since we are not building a UI focused on repository administrators or enterprise provisioning administrators.
+
== Design discussions ==
 +
* [[Equinox p2 UIWG Walkthrough|p2 UIWG First Walkthrough]] includes the both the prep info and the minutes from the 6/25/2008 walkthrough of the p2 UI at the UIWG.
 +
* [[Equinox p2 UI Use Cases]] includes discussion of user personas, important user scenarios, and discussion of changes that may be necessary in the 3.5 p2 UI
 +
*[[Equinox/p2/UIWG Walkthrough 2|p2 UIWG Second Walkthrough]] includes the prep info for the 10/1/2008 walkthrough of the p2 UI at the UIWG
  
For M1, the goal was to deliver a UI that allows early adopters to browse the infrastructure, and install/uninstall software into profiles.  After M1, work will continue on several fronts. 
+
== Development Plans ==
* The current UI will continue to evolve as the API for provisioning evolves and as we add function for the team.  Emphasis will be given to function that helps evolve the API or helps discover solutions to issues that would be encountered in any provisioning UI. 
+
* [[Equinox p2 UI Plan]] contains the working plan for the UI current release
* We will increase our focus on end-user workflows and defining a provisioning UI that can successfully replace the current Eclipse Update Manager UI. 
+
* [[Equinox p2 UI Eclipse 3.4 Plan]] contains milestone plans from the 3.4 release
* We will be refactoring the UI so that common building blocks can be shared across different user interfaces for provisioning.
+
=== Admin UI ===
+
The following items are planned for the current provisioning admin UI  
+
* Install IU's from a profile rather than from repository view (note this is the more typical workflow, analogous to current update manager)
+
** user browses repositories for software to install/update
+
** UI precomputes info such as download size/time, etc.
+
* Repository naming (at the repo and user level)
+
* The ability to hide "internal" (agent) repositories in the UI.
+
* Notification that a profile can be updated
+
* Evolve the current undo support to use the underlying engine history, not UI-level implementation
+
* General UI polish issues
+
** increased use of progress dialogs
+
** persisting user choices (view expansions, etc.)
+
** more flexible work flows (create a new profile from profile chooser, etc.)
+
  
=== Eclipse SDK UI ===
+
== Testing ==
We will be defining workflows to drive the development of this UI.  The following are some workflows that will need to be defined.  Note that we are not saying we are solving all of these problems.  Part of defining the workflow may be saying that we aren't addressing it yet.
+
* [[Equinox/p2/UI Manual Tests]] contains the UI manual tests
* User is notified that an update is available for software already installed
+
* Update happens automatically/silently
+
* User is looking for a specific software component to add to their environment
+
** Simple install
+
** Install requires updating (or downgrading) of existing components
+
** Conflicts arise in the requirements for various components
+
* User wants to remove a software component from their environment
+
** Simple uninstall
+
** Associated uninstall of required software
+
** How much does the user care about complete rollback (downgrading components that were upgraded by an install, etc.)
+
* User wants to know what software is available for download (browse, search by function or name, etc.)
+
* User's environment is defined explicitly by someone external (administrator)
+
** Upgrade or install to a new specification
+
** Compare current installation to required one
+
* User wants to return to some previously known state (rollback to a named state)
+
  
=== Common UI Components ===
+
== How-to's ==
As the UI evolves we intend to provide building blocks for building different kinds of provisioning UI.  This is the intention of having multiple plugins:
+
* [[Equinox/p2/Adding Self-Update to an RCP Application]]
* '''org.eclipse.equinox.prov.ui''' contains code we think is useful for any SWT/JFace-based provisioning UI.
+
* '''org.eclipse.equinox.prov.ui.admin''' is the current developer UI.
+
Here are some of the items already identified as being worthy of generalization:
+
* Content and label providers for showing provisioning objects in views
+
** Deferred content providers for repo access
+
** Iteration vs. collection
+
** View filtering using engine query infrastructure
+
* Generalized drag and drop adapters for performing provisioning operations
+
** need to separate prompting/app preference issues from identifying the source, target, and provisioning operation
+
* Widget groups for creating/editing provisioning objects
+
** IU's, profiles, repos
+
** consider UI forms vs. dialogs
+
* Input validators for provisioning info
+
** capabilities, touchpoint types, touchpoint data, version numbers, repo URL's
+
** separate the validation from presentation (forms vs. dialogs, error reporting, etc.)
+
  
== Milestone plan ==
+
[[Category:Equinox p2|User Interface]]
* M2
+
** Install and/or update IU's from running profile (note this is the more typical workflow, analogous to current update manager)
+
*** user browses repositories for software to install/update
+
*** UI precomputes info such as download size/time, etc.
+
** Repository naming (at the repo and user level)
+
** Better filtering of repos and IU's (show only what's relevant to end user)
+
** Refactor drag support into common UI project
+
** Use engine query infrastructure for content providers rather than view filtering
+
 
+
== Random requirements ==
+
Here are some requirements that have surfaced so far.  Add yours here. 
+
 
+
* 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
+
* Admin/tooling
+
** Repo management tools
+
** Defining and persisting profiles for mass deployment to users
+
 
+
== Past milestone plans ==
+
* M1
+
** Browse repositories
+
*** Add/remove repositories
+
*** Browse IU's in a metadata repository
+
*** Install IU from a metadata repository into a selected profile
+
** Browse profiles
+
*** Add/remove profiles
+
*** Browse IU's in a profile
+
*** Uninstall IU 
+
[[Category:Equinox|Provisioning]]
+
[[Category:Provisioning|User Interface]]
+

Latest revision as of 15:30, 3 January 2011

This page provides links to the various design and discussion documents surrounding the p2 User Interface.

Workflows

Design discussions

  • p2 UIWG First Walkthrough includes the both the prep info and the minutes from the 6/25/2008 walkthrough of the p2 UI at the UIWG.
  • Equinox p2 UI Use Cases includes discussion of user personas, important user scenarios, and discussion of changes that may be necessary in the 3.5 p2 UI
  • p2 UIWG Second Walkthrough includes the prep info for the 10/1/2008 walkthrough of the p2 UI at the UIWG

Development Plans

Testing

How-to's

Back to the top