#
Synchronize Participants

###### Identifier:

org.eclipse.team.ui.synchronizeParticipants

###### Since:

3.0

###### Description:

This extension point is used to register a synchronize participant. A synchronize participant is a component that displays changes between resources and typically allows the user to manipulate the changes. For example, CVS defines a workspace synchronize participant that allows showing changes between workspace resources and the resources at a remote location that is used to share those resources. Synchronize participants are typically created via a synchronize participant wizard or they can be created via a plug-in action and then registered with the ISynchronizeManager. The Synchronize View displays synchronize participants.

A participant is a generic component that provides access to creating a page and is shown to the user and a configuration that defines common configuration parameters for the page. The Synchronize View doesn't enforce any restrictions on how changes are shown to the user, and instead only manages the participants.

###### Configuration Markup:

<!ELEMENT extension (participant)>

<!ATTLIST extension

point CDATA #REQUIRED

id CDATA #IMPLIED

name CDATA #IMPLIED>

- point - A fully qualified identifier of the target extension point
- id - An optional identifier of the extension instance.
- name - An optional name for this extension instance.

<!ELEMENT participant EMPTY>

<!ATTLIST participant

icon CDATA #IMPLIED

id CDATA #IMPLIED

class CDATA #IMPLIED

name CDATA #IMPLIED

persistent (true|false) >

- icon - An icon that will be used when showing this participant in lists and menus.
- id - A unique name that will be used to identify this type of participant.
- class - A fully qualified name of the class the extends `org.eclipse.team.ui.synchronize.AbstractSynchronizeParticipant`.
- name - The name of the participant. This will be shown in the UI.
- persistent - By default participants will be persisted between sessions. Set this attribute to false if this participant should not be persisted between sessions.

###### Examples:

    <extension
     point="org.eclipse.team.ui.synchronizeParticipants">
     <participant
      name="CVS Workspace"
      icon="icons/full/cview16/server.gif"
      class="org.eclipse.team.internal.ccvs.ui.subscriber.WorkspaceSynchronizeParticipant"
      id="org.eclipse.team.cvs.ui.cvsworkspace-participant">
     </participant>
     <participant
      name="CVS Merge"
      icon="icons/full/obj16/prjversions_rep.gif"
      class="org.eclipse.team.internal.ccvs.ui.subscriber.MergeSynchronizeParticipant"
      type="dynamic"
      id="org.eclipse.team.cvs.ui.cvsmerge-participant">
     </participant>
    </extension>

###### API Information:

The value of the `class` attribute must represent a class that implements `org.eclipse.team.ui.synchronize.AbstractSynchronizeParticipant`.

Copyright (c) 2004 IBM Corporation and others. All rights reserved. This program and the accompanying materials are made available under the terms of the Common Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/cpl-v10.html