Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-vcm-dev] team and vcm compatibility?

> I would like to follow up a few points particularly on the UI presented 
by
> VCM 2.0.
> 
> In the VCM 1.0 enviroinment, provided that you could support the Team
> Streams model, you could
> effectively reuse the common menus/dialogs and implement the 
functionality
> required by the Interfaces in your
> Adapter/Plugin
> 
> In VCM 2.0 the statement  that a mechanism of providing a base Team menu 
set
> that will
> be accessible from current and future plugins is made.
> 
> What is the base menu set.    What functionality is exposed.  Is this
> required or can it be replaced completely by repository specific
> menus/dialogs

We will create a submenu labelled "Team" in the popup menu. You may 
add your actions to this menu, although technically you are not required
to. The only actions we will contribute to this submenu are "Configure
Project" and "Deconfigure Project"; I'll discuss these below.

In the package org.eclipse.team.ui.actions there exist a number of 
reusable
action classes. In some cases, a provider may find these useful as-is. 
These
actions are written against the generic ITeamProvider API, so the general
rule is that if your provider has more specific API for some operations 
(example
is that CVS requires a Comment to release files), these actions will not
suffice. To use the actions, all you need to do is supply the XML snippet
in your plugin.xml file to add the action to the Team menu. By not doing 
this
ourselves, we allow you the flexibility to extend, modify, or discard the
actions you do not want, or even to rename them in the UI (CVS renames
"Checkin" to "Commit", for example). The base action TeamAction also has 
some
useful helpers from which concrete actions may be created.

> What is the mechanism for extending standard dialogs.   Is this by
> replacement or extension.   For example adding a revision selector to
> check-out. The  ITeamProvider Checkout has no concept of revisions.

There are no standard dialogs [see * below]. The base team.ui has no
dialogs that I am aware of. These may be implemented in a 
provider-specific
manner and integrated into your actions in a way that is appropriate for
your workflow. As a concrete example, CVS does not use the CheckinAction 
from the base team.ui.
Instead, it creates its own subclass of TeamAction, whose run method pops 
up a dialog prompting
for a multi-line release comment, and then performs CVS-specific calls to 
release the file with the
given comment. You should do the same for your Checkout action.

[*] The only special dialog is the "Configure Project" wizard. We 
contribute this action to the
Team submenu. It brings up a wizard from which you select a provider which 
implements the
org.eclipse.team.ui.configurationWizard extension point. Then you click 
"Next" and you get
a provider-specific configuration page for that project. Once configured, 
a project must be
deconfigured before it can be attached to a different provider type. For 
an example of this
in action, see the CVS provider.

> Will the situation where there are two or more providers associated with
> projects in a workspace
> each introducing their own menus/dialogs be covered.   Can these by
> qualified by the Team provider so that
> menus for a project under CVS are not shown for a project under PVCS
> control.

Yes. Configuring a project adds a nature to that project. You should 
contribute your actions
such that they are only contributed to projects that contain your nature. 
So CVS actions only show
up on CVS projects. Configure Project and Deconfigure Project show up on 
all projects. Again,
see the org.eclipse.team.cvs.ui/plugin.xml for examples on how to filter 
actions based on
the nature ID, and see org.eclipse.team.cvs.core.CVSTeamProvider for an 
example of how
to configure a project's nature.

Hope this helps,

james


Back to the top