Open a newly created specimen in specimen editor
[taxeditor.git] / eu.etaxonomy.taxeditor.editor / plugin.xml
index 0489ab4f0918438a087c445abda57af3743645bb..e681c8a01c067e1dcd1bb9b244eeff7ea0d275e2 100644 (file)
                id="eu.etaxonomy.taxeditor.editor.view.dataimport.GbifResponseImportView"
                name="%view.name.5">
          </view>
+         <view
+               allowMultiple="false"
+               category="eu.etaxonomy.taxeditor.editor.category"
+               class="eu.etaxonomy.taxeditor.editor.view.validation.ValidationProblemsView"
+               icon="icons/edit_16x16.gif"
+               id="eu.etaxonomy.taxeditor.editor.view.validation.problems"
+               name="%view.name.6">
+         </view>
       </extension>
-   <extension
+      
+       <!-- VALIDATION RELATED STUFF -->
+       <extension point="org.eclipse.core.resources.markers" name="%extension.name.0" id="eu.etaxonomy.taxeditor.markers.validationerror">
+               <super type="org.eclipse.core.resources.problemmarker"/>
+               <attribute name="databaseId"/>
+               <attribute name="userFriendlyTypeName"/>
+               <attribute name="userFriendlyDescription"/>
+               <attribute name="userFriendlyFieldName"/>
+               <attribute name="validatorMessage"/>
+               <attribute name="invalidValue"/>
+               <attribute name="validatorClass"/>
+               <attribute name="entityClass"/>
+               <attribute name="entityId"/>
+               <persistent value="false"/>
+       </extension>
+
+       <extension point="org.eclipse.ui.ide.markerSupport">
+           <markerContentGenerator
+                   id="eu.etaxonomy.taxeditor.editor.validation.ValidationProblemsMarkerGenerator" 
+                   name="%markerContentGenerator.name">  
+               <markerTypeReference id="eu.etaxonomy.taxeditor.markers.validationerror" />
+               
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyTypeName" visible="true" />
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyDescription" visible="true" />
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyFieldName" visible="true" />
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.validatorMessage" visible="true" />
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.invalidValue" visible="true" />
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.validatorClass" visible="false" />
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.entityClass" visible="false" />
+               <markerFieldReference id="eu.etaxonomy.taxeditor.markers.validation.entityId" visible="false" />
+           </markerContentGenerator>
+           
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.UserFriendlyTypeNameMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyTypeName"
+                       name="%marker.field.0">
+               </markerField>
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.UserFriendlyDescriptionMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyDescription"
+                       name="%marker.field.1">
+               </markerField>
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.UserFriendlyFieldNameMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.userFriendlyFieldName"
+                       name="%marker.field.2 = Attribute">
+               </markerField>
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.InvalidValueMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.invalidValue"
+                       name="%marker.field.3 = Problematic Value">
+               </markerField>
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.ValidatorMessageMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.validatorMessage"
+                       name="%marker.field.4 = Problem description">
+               </markerField>
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.ValidatorClassMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.validatorClass"
+                       name="%marker.field.5">
+               </markerField>
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.EntityClassMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.entityClass"
+                       name="%marker.field.6">
+               </markerField>
+               <markerField
+                       class="eu.etaxonomy.taxeditor.editor.view.validation.EntityIdMarkerField"
+                       id="eu.etaxonomy.taxeditor.markers.validation.entityId"
+                       name="%marker.field.7">
+               </markerField>
+       </extension>
+       
+  <extension
          point="org.eclipse.ui.elementFactories">
       <factory
             class="eu.etaxonomy.taxeditor.editor.TaxonEditorInputFactory"
                visible="true">
          </separator>
          <command
-               commandId="org.eclipse.ui.edit.delete"
+               commandId="eu.etaxonomy.taxeditor.editor.name.delete"
                label="%command.label.15"
                style="push">
             <visibleWhen>
                </reference>
             </visibleWhen>
          </command>
+         <command
+                  commandId="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
+                  label="%command.label.56"
+                  style="push">
+               <visibleWhen>
+                   <reference
+                         definitionId="isSynonym">
+                   </reference>
+                </visibleWhen>
+          </command>
          <separator
                name="taxeditor-editor.separator3"
                visible="true">
                visible="true">
          </separator>
          <command
-               commandId="org.eclipse.ui.edit.delete"
+               commandId="eu.etaxonomy.taxeditor.key.polytomous.delete"
                label="%command.label.21"
                style="push">
          </command>
                style="push">
          </command>
          <command
-               commandId="org.eclipse.ui.edit.delete"
+               commandId="eu.etaxonomy.taxeditor.key.polytomous.command.delete"
                label="%command.label.26"
                style="push">
          </command>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.descriptive">
          <command
-               commandId="eu.etaxonomy.taxeditor.description.commands.adddescription"
+               commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.adddescription"
                label="%command.label.27"
                style="push">
          </command>
                visible="true">
          </separator>
          <command
-               commandId="eu.etaxonomy.taxeditor.editor.commands.description.moveDescriptionToTaxon"
+               commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
+               label="%command.label.51"
+               style="push">
+            <visibleWhen
+                  checkEnabled="true">
+               <and>
+                  <with
+                        variable="selection">
+                     <count
+                           value="+">
+                     </count>
+                  </with>
+                  <reference
+                        definitionId="isIndividualsAssociation">
+                  </reference>
+               </and>
+            </visibleWhen>
+         </command>
+         <command
+               commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionToTaxon"
                label="%command.label.28"
                style="push">
             <visibleWhen
             </visibleWhen>
          </command>
          <command
-               commandId="eu.etaxonomy.taxeditor.description.commands.moveDescriptionElements"
+               commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionElements"
                label="%command.label.29"
                style="push">
             <visibleWhen
                   checkEnabled="true">
                <or>
-                  <reference
-                        definitionId="isDescriptionElement">
-                  </reference>
                   <reference
                         definitionId="isFeatureNodeContainer">
                   </reference>
-               </or>
+                   <reference
+                        definitionId="isDescriptionElement">
+                  </reference>
+              </or>
             </visibleWhen>
          </command>
          <separator
                name="eu.etaxonomy.taxeditor.taxonDescriptionEditor.separator.afterNew"
                visible="true">
          </separator>
-         <command
-               commandId="org.eclipse.ui.edit.delete"
+                  <command
+               commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete"
                label="%command.label.30"
                style="push">
          </command>
                label="%command.label.31"
                style="push">
          </command>
+         <separator
+               name="eu.etaxonomy.taxeditor.editor.separator1">
+         </separator>
       </menuContribution>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.derivate.DerivateView">
+         <command
+               commandId="eu.etaxonomy.taxeditor.editor.derivate.delete"
+               label="%command.label.52"
+               style="push">
+         </command>
+         <command
+               commandId="eu.etaxonomy.taxeditor.editor.derivate.createFieldUnit"
+               label="%command.label.53"
+               style="push">
+         </command>
+         <command
+               commandId="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
+               icon="icons/deep-delete-16x16-32.png"
+               label="%command.label.54"
+               style="push">
+         </command>
          <dynamic
                class="eu.etaxonomy.taxeditor.editor.view.derivate.contextMenu.DerivateViewContextMenu"
                id="eu.etaxonomy.taxeditor.editor.view.derivate.DerivateContextMenu">
          </dynamic>
-         <command
-               commandId="org.eclipse.ui.edit.delete"
-               label="Delete"
-               style="push">
-         </command>
       </menuContribution>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.dataimport.SpecimenImportEditor">
                visible="true">
          </separator>
          <command
-               commandId="org.eclipse.ui.edit.delete"
+               commandId="eu.etaxonomy.taxeditor.editor.use.command.delete"
                label="%command.label.35"
                style="push">
          </command>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.editor.view.media">
          <command
-               commandId="taxeditor-editor.command.newimagegallery"
+               commandId="eu.etaxonomy.taxeditor.editor.media.command.newimagegallery"
                label="%command.label.37"
                style="push">
             <visibleWhen>
                visible="true">
          </separator>
          <command
-               commandId="taxeditor-editor.newimage"
+               commandId="eu.etaxonomy.taxeditor.editor.media.command.newimage"
                label="%command.label.38"
                style="push">
             <visibleWhen>
             </visibleWhen>
          </command>
          <command
-               commandId="taxeditor-editor.useExistingImage"
+               commandId="eu.etaxonomy.taxeditor.editor.media.command.useExistingImage"
                label="%command.label.50"
                style="push">
             <visibleWhen>
             </visibleWhen>
          </command>
          <command
-               commandId="taxeditor-editor.command.moveimgdown"
+               commandId="eu.etaxonomy.taxeditor.editor.media.command.moveimgdown"
                label="%command.label.39"
                style="push">
             <visibleWhen>
             </visibleWhen>
          </command>
          <command
-               commandId="taxeditor-editor.command.moveimgup"
+               commandId="eu.etaxonomy.taxeditor.editor.media.command.moveimgup"
                label="%command.label.40"
                style="push">
             <visibleWhen>
                visible="true">
          </separator>
          <command
-               commandId="org.eclipse.ui.edit.delete"
+               commandId="eu.etaxonomy.taxeditor.editor.media.command.delete"
                label="%command.label.41"
                style="push">
          </command>
                visible="true">
          </separator>
          <command
-               commandId="org.eclipse.ui.edit.delete"
+               commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.delete"
                label="%command.label.44"
                style="push">
          </command>
                style="push">
             <visibleWhen>
                <reference
-                     definitionId="isGroup">
+                     definitionId="isGroupEditor">
                </reference>
             </visibleWhen>
          </command>
                commandId="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations"
                icon="icons/link_obj.gif"
                style="toggle"
-               tooltip="Show Only Individuals Associations">
+               tooltip="%command.tooltip">
          </command>
       </menuContribution>
       <menuContribution
             locationURI="popup:eu.etaxonomy.taxeditor.navigation.navigatorpopup?after=taxeditor-navigation.separator2">
          <command
                commandId="eu.etaxonomy.taxeditor.editor.handler.openDerivateView"
-               label="Open Associated Derivates"
+               label="%command.label.55"
                style="push">
             <visibleWhen
-                  checkEnabled="true">
-               <reference
-                     definitionId="isCdmStoreConnected">
-               </reference>
+                  checkEnabled="false">
+               <and>
+                  <reference
+                        definitionId="isCdmStoreConnected">
+                  </reference>
+                  <reference
+                        definitionId="isTaxonNode">
+                  </reference>
+               </and>
             </visibleWhen>
          </command>
          <separator
                visible="true">
          </separator>
       </menuContribution>
+      <menuContribution
+            locationURI="menu:eu.etaxonomy.taxeditor.menu.showView?after=org.eclipse.ui.views.showView.supplemental">
+         <separator
+               name="eu.etaxonomy.taxeditor.store.showViewMenu.validation.separator"
+               visible="true">
+         </separator>
+         <command
+               commandId="org.eclipse.ui.views.showView"
+               label="%command.name.40"
+               style="push">
+            <parameter
+                  name="org.eclipse.ui.views.showView.viewId"
+                  value="eu.etaxonomy.taxeditor.editor.view.validation.problems">
+            </parameter>
+         </command>
+      </menuContribution>
    </extension>
    <extension
          point="org.eclipse.ui.handlers">
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.name.handler.DeleteTaxonBaseHandler"
-            commandId="org.eclipse.ui.edit.delete">
+            commandId="eu.etaxonomy.taxeditor.editor.name.command.delete">
          <activeWhen>
             <and>
                <reference
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
-            commandId="org.eclipse.ui.edit.delete">
+            commandId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete">
           <activeWhen>
              <with
                    variable="activePartId">
                    <equals
                          value="eu.etaxonomy.taxeditor.editor.view.media">
                    </equals>
+                   <equals
+                       value="eu.etaxonomy.taxeditor.editor.view.uses">
+                               </equals>
                 </or>
-             </with>
-          </activeWhen>
+                </with>
+         </activeWhen>
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
-            commandId="org.eclipse.ui.edit.delete">
+            commandId="eu.etaxonomy.taxeditor.editor.key.polytomous.command.delete">
          <activeWhen>
             <with
                   variable="activePartId">
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.view.concept.handler.DeleteConceptRelationHandler"
-            commandId="org.eclipse.ui.edit.delete">
+            commandId="eu.etaxonomy.taxeditor.editor.view.concept.command.delete">
          <activeWhen>
             <with
                   variable="activePartId">
             </with>
          </activeWhen>
       </handler>
-      <handler
-            class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
-            commandId="org.eclipse.ui.edit.delete">
-         <activeWhen>
-            <with
-                  variable="activePartId">
-               <equals
-                     value="eu.etaxonomy.taxeditor.editor.view.uses">
-               </equals>
-            </with>
-         </activeWhen>
-      </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler"
             commandId="eu.etaxonomy.taxeditor.editor.handler.OpenChecklistEditorHandler">
       </handler>
       <handler
             class="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
-            commandId="org.eclipse.ui.edit.delete">
+            commandId="eu.etaxonomy.taxeditor.editor.view.derivate.command.delete">
          <activeWhen>
             <with
                   variable="activePartId">
             id="eu.etaxonomy.taxeditor.editor.name.swapSynonymAndAccepted"
             name="%command.name.6">
       </command>
+      <command
+            categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.MoveSynonymToAnotherAcceptedTaxonHandler"
+            id="eu.etaxonomy.taxeditor.editor.name.moveSynonymToAnotherAcceptedTaxon"
+            name="%command.name.46">
+      </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.SetBasionymHandler"
             id="eu.etaxonomy.taxeditor.editor.name.changeAcceptedToSynonym"
             name="Change Accepted Taxon to Synonym">
       </command>-->
+      <command
+            categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.DeleteTaxonBaseHandler"
+            id="eu.etaxonomy.taxeditor.editor.name.delete"
+            name="%command.name.45">
+      </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.taxon.name.command.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.name.handler.DeleteAllEmptyNamesHandler"
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionElementHandler"
-            id="eu.etaxonomy.taxeditor.editor.description.createDescriptionElement"
+            id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.createDescriptionElement"
             name="%command.name.10">
       </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.CreateDescriptionHandler"
-            id="eu.etaxonomy.taxeditor.description.commands.adddescription"
+            id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.adddescription"
             name="%command.name.11">
       </command>
-      <command
-            categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionElementsHandler"
-            id="eu.etaxonomy.taxeditor.description.commands.moveDescriptionElements"
-            name="%command.name.12">
-      </command>
-      <command
-            categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionToOtherTaxonHandler"
-            id="eu.etaxonomy.taxeditor.editor.commands.description.moveDescriptionToTaxon"
-            name="%command.name.13">
+       <command
+             categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
+             defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
+             id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.delete"
+             name="%command.name.48">
       </command>
       <category
             id="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
             id="eu.etaxonomy.taxeditor.use.commands.adduse"
             name="%command.name.14">
       </command>
+      <command
+            categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseRecordHandler"
+            id="eu.etaxonomy.taxeditor.editor.use.createUseRecord"
+            name="%command.name.16">
+      </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseSummaryHandler"
             name="%command.name.15">
       </command>
       <command
-            categoryId="eu.etaxonomy.taxeditor.editor.view.uses.command.category"
-            defaultHandler="eu.etaxonomy.taxeditor.editor.view.uses.handler.CreateUseRecordHandler"
-            id="eu.etaxonomy.taxeditor.editor.use.createUseRecord"
-            name="%command.name.16">
+            id="eu.etaxonomy.taxeditor.editor.use.command.delete"
+            name="%command.name.47">
       </command>
       <category
             id="eu.etaxonomy.taxeditor.editor.media.category"
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.media.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.MoveImageDownInListHandler"
-            id="taxeditor-editor.command.moveimgdown"
+            id="eu.etaxonomy.taxeditor.editor.media.command.moveimgdown"
             name="%command.name.19">
       </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.media.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.AddImageGalleryHandler"
-            id="taxeditor-editor.command.newimagegallery"
+            id="eu.etaxonomy.taxeditor.editor.media.command.newimagegallery"
             name="%command.name.20">
       </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.media.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.CreateMediaHandler"
-            id="taxeditor-editor.newimage"
+            id="eu.etaxonomy.taxeditor.editor.media.command.newimage"
             name="%command.name.21">
       </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.media.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.AddExistingMediaHandler"
-            id="taxeditor-editor.useExistingImage"
+            id="eu.etaxonomy.taxeditor.editor.media.command.useExistingImage"
             name="%command.name.37">
       </command>
       <command
             categoryId="eu.etaxonomy.taxeditor.editor.media.category"
             defaultHandler="eu.etaxonomy.taxeditor.editor.view.media.handler.MoveImageUpInListHandler"
-            id="taxeditor-editor.command.moveimgup"
+            id="eu.etaxonomy.taxeditor.editor.media.command.moveimgup"
             name="%command.name.22">
       </command>
+       <command
+            categoryId="eu.etaxonomy.taxeditor.editor.media.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DeleteHandler"
+            id="eu.etaxonomy.taxeditor.editor.media.command.delete"
+            name="%command.name.49">
+      </command>
+      
       <category
             id="eu.etaxonomy.taxeditor.editor.new.category"
             name="%category.name.4">
             id="eu.etaxonomy.taxeditor.key.command.applyLayout"
             name="%command.name.31">
       </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.key.polytomous.handler.DeleteNodeHandler"
+            id="eu.etaxonomy.taxeditor.key.polytomous.command.delete"
+            name="%command.name.50">
+      </command>
       <category
             id="eu.etaxonomy.taxeditor.editor.view.concept.category"
             name="%category.name.6">
       </command>
       <command
             id="eu.etaxonomy.taxeditor.editor.handler.showOnlyIndividualAssociations"
-            name="Show Only Individual Associations">
+            name="%command.name.41">
       </command>
       <command
             defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenTaxonEditorHandler"
             id="eu.etaxonomy.taxeditor.editor.openTaxonEditor"
-            name="Open Taxon Editor">
+            name="%command.name.42">
          <commandParameter
                id="eu.etaxonomy.taxeditor.editor.taxonParameter"
-               name="taxonUUID"
+               name="%commandParameter.name"
                optional="false"
                typeId="eu.etaxonomy.taxeditor.editor.taxonParameterType">
          </commandParameter>
             id="eu.etaxonomy.taxeditor.editor.taxonParameterType"
             type="eu.etaxonomy.cdm.model.taxon.TaxonBase">
       </commandParameterType>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.CreateFieldUnitHandler"
+            id="eu.etaxonomy.taxeditor.editor.derivate.createFieldUnit"
+            name="%command.name.43">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.derivate.handler.DeleteDerivateHandler"
+            id="eu.etaxonomy.taxeditor.editor.derivate.deepDelete"
+            name="%command.name.44">
+      </command>
+      <command
+            categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionToOtherTaxonHandler"
+            id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionToTaxon"
+            name="%command.name.13">
+      </command>
+       
+      <command
+            categoryId="eu.etaxonomy.taxeditor.editor.view.descriptive.command.category"
+            defaultHandler="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.MoveDescriptionElementsHandler"
+            id="eu.etaxonomy.taxeditor.editor.view.descriptive.command.moveDescriptionElements"
+            name="%command.name.12">
+      </command>
+      <command
+            defaultHandler="eu.etaxonomy.taxeditor.editor.handler.OpenDerivateViewHandler"
+            id="eu.etaxonomy.taxeditor.editor.openSpecimenEditor"
+            name="Open Specimen Editor">
+         <commandParameter
+               id="eu.etaxonomy.taxeditor.specimenUuidParameter"
+               name="Specimen UUID parameter"
+               optional="true"
+               typeId="eu.etaxonomy.taxeditor.specimenUuidParameterType">
+         </commandParameter>
+      </command>
+        
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <commandParameterType
+            converter="eu.etaxonomy.taxeditor.handler.UuidParameterConverter"
+            id="eu.etaxonomy.taxeditor.specimenUuidParameterType"
+            type="java.util.UUID">
+      </commandParameterType>
    </extension>
    <extension
          point="org.eclipse.core.expressions.definitions">
          </with>
       </definition>
       <definition
-            id="isGroup">
+            id="isGroupEditor">
          <with
                variable="activeEditor">
             <test
-                  property="taxeditor-bulkeditor.propertyTester.isGroup">
+                  property="taxeditor-bulkeditor.propertyTester.isGroupEditor">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isIndividualsAssociation">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.descriptions.propertyTester.isIndividualsAssociation">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isSequence">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSequence">
+            </test>
+         </with>
+      </definition>
+      <definition
+            id="isSingleRead">
+         <with
+               variable="selection">
+            <test
+                  property="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester.isSingleRead">
             </test>
          </with>
       </definition>
             class="eu.etaxonomy.taxeditor.editor.view.descriptive.handler.DescriptionsMenuPropertyTester"
             id="eu.etaxonomy.taxeditor.descriptions.PropertyTester"
             namespace="eu.etaxonomy.taxeditor.descriptions.propertyTester"
-            properties="isMedia,isDescription,isDescriptionElement,isDeletable,isFeatureNodeContainer,isImageGallery,isTaxonEditor,isBulkEditor,isDerivateEditor"
+            properties="isMedia,isDescription,isDescriptionElement,isDeletable,isFeatureNodeContainer,isImageGallery,isTaxonEditor,isBulkEditor,isDerivateEditor, isIndividualsAssociation"
             type="org.eclipse.jface.viewers.TreeSelection">
       </propertyTester>
       <propertyTester
             class="eu.etaxonomy.taxeditor.bulkeditor.command.BulkEditorPropertyTester"
             id="taxeditor-bulkeditor.PropertyTester"
             namespace="taxeditor-bulkeditor.propertyTester"
-            properties="isGroup"
+            properties="isGroupEditor"
             type="eu.etaxonomy.taxeditor.bulkeditor.BulkEditor">
       </propertyTester>
+      <propertyTester
+            class="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
+            id="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
+            namespace="eu.etaxonomy.taxeditor.editor.handler.SpecimenPropertyTester"
+            properties="isSequence,isSingleRead"
+            type="org.eclipse.jface.viewers.IStructuredSelection">
+      </propertyTester>
    </extension>
    <extension
          point="org.eclipse.ui.bindings">   
          </description>
       </wizard>
    </extension>
+    <extension
+          point="eu.etaxonomy.taxeditor.store.cdmViewer">
+       <cdmViewer
+             class="eu.etaxonomy.taxeditor.editor.EditorCdmViewer">
+       </cdmViewer>
+    </extension>
 </plugin>